-
Martin Owens authored
Main movement of the previous color handling code: * Removal of color.cpp, which is now replaced by the class in colors/color * Removal of svg/svg-color.cpp, which is now replaced by colors/color for full color handling and colors/parser for parsing. * Removal of color-rgba.h which is now replaced by colors/color and ui/utils for Gdk conversions * Removal of color/color-conv.cpp into colors/parser * Removal of color/color-profile-cms-fns.h as all the cms encapsulation is already done above. * Removal of widgets/paintdef.cpp, which was a duplicate color structure, xml functionality moved to colors/xml-color.cpp * Removal of svg/svg-renderer.cpp color code, Gdk coversions moved to ui/utils and css code is now an Inkscape::Color object. * Removal of svg-color and oklab tests which are entirely replaced by colors/*tests * Refactor global-palettes.cpp to remove all custom rgb building and instead build Color objects directly. * Refactor color-icc-selector removing most of it's own code in favor of the cms and color space API * Moving of color/cmyk-conv.cpp into colors/spaces/cmyk and regularised into a color space class. * Moving of hsluv.cpp and oklab.cpp which are split and regularised into many colors/spaces/hsluv and ok color space classes * Moving of color/cms-* into colors/cms/* with some of the code from object/colorprofile.cpp to restrict the use of lcms2 to just this directory and make the accessing of cms profiles and transforms predictable and less error prone. * Moving of profile-manager.cpp functionality colors/tracker.cpp rewritten to create the new icc color space objects. * Moving of ui/selected-color.cpp functionality to colors/color-set rewritten to be a collection of trackable color objects. Refactoring actions: * Refactor style color to remove SPColor and Href values, add a private Inkscape::Color and getter/setter functions. * Refactor style alpha so it can be used as a double transparently without conversion. * Refactor SP-Stop color to bundle opacity and simplify how color is used. * Refactor filter constructors to stop constructing their own rgb css color formats * Remove extract color functions from preferences and replace with getColor and setColor which take the new color object. * Remove use of SPColor from anywhere it's being used and replace with Inkscape::Color object * Remove SP_RGBA32_G_F and similar macros to construct colors, or convert them from preferences. * Remove custom checkerboard darken and use new color utils and cairo utils * Remove custom HSL tweaking code from selected-style * Remove SPIPaint::read function used in sp-stop, it was basically just a color parser * Add cairo color functions into display/cairo-utils.cpp which centralise conversion to RGBA; to make it easier to replace later. * Use colors/utils `make_contrasted_color` for finding consistant contrasting colors, replacing copy pasta calculations. * Removal of icc profile specific code in display/nr-filter-* code * Use Color Tracker object in document.cpp instead of the now deleted Profile Manager * Use Color utils hex parsing for Gtk/css handling in themes instead of `sp_svg_write_color` * Use Color in lpe color values, removing duplicated color parsing and printing. * Use Color for item highlight color and plug into various gtk widgets. * Use average color util in GrDrag instead of internal rgb calculation. * Drag and drop colors using new xml and mime type code in colors/dragndrop.cpp * Convert SP Grid to use color objects instead of RGBA ints * Use color/cms framework instead of lcms2 directly in sp-image * Use getColor to handle opacity and color in gradients and mesh gradients * Use Color object in extensions param color. * Parse colors using new parsers in internal extensions. * Replace color average or blending with colors/utils average color methods * Use color module in swatches and palettes for parsing out any color needed * Use of HSL space inside color object instead of converting to and fro in color manipulation code * Use average_color_between for all color dividers such as gradient-dragging and desktop-style * Focus all uses of cairo context setting through display/cairo-utils.cpp color setting functions * Use a standard toColorRef function in emf/wmf extensions to convert colors. * Generate base64 from icc profiles found in pdf files using the cms object * Document properties to use the internal ColorProfile generator instead of it's own xml code * Convert tool and desktop prefs color from guint32 to optional Color objects for preference setting/getting * Use util Colors::lightness instead of SP_RGBA32_LUMINANCE * Fix TODO issue with selected color not calling update when dragging had finished * Move color wheels to use color objects and tie in where possible. * ColorPicker is now a derived widget instead of being a button in a button Other things: * Add `sp_repr_css_set_property_string` to xml/repr.h to handle setting std::string * Add gtk adjustment functions to ui/util.cpp to replace color-scale specific code * Give SPIScale24 a setter and getter for double instead of requiring the use of SP_SCALE24_TO/FROM_FLOAT at every use. * Removed a useless _cmp method in document-properties
0b4d3151
Loading