Diffusion Krita 7bd37aa8cdf0

Big KisVisualColorSelector refactor, Part 1 (adding code)

Authored by mwein on Aug 22 2019, 8:30 PM.

Description

Big KisVisualColorSelector refactor, Part 1 (adding code)

Basically, this makes KisVisualColorSelectorShape and subclasses as
dumb as possible and let the selector itself decide how to handle stuff.
The selector uses raw color model values as much as possible, this
avoids a number of problems like jumpy handles and unnecessary re-rendering.

  • Move code for conversion between color and shape coordinates from shape to selector class, along with a number of required class attributes
  • Change mouse event handler to only care about the shape's handle position; Handles will now smoothly follow mouse, including movements outside the actual shape.
  • Only re-render the background image when the channels for it changed
  • Get rid of (failed) attempts to compress update signals; The selector really should be as smooth as possible IMO, signal compression is better done outside of the actual selector (as already done for the dialog)

Note: HDR color ranges are currently not selectable, but it appears
it was broken anyway, among some things in non-RGB color spaces that still
need fixing as well.

Details

Committed
mweinAug 30 2019, 7:57 PM
Parents
R37:2fc8fe45d7f5: (coding style) make some function const
Branches
Unknown
Tags
Unknown