2#ifndef INKSCAPE_DISPLAY_CONTROL_CTRL_HANDLE_STYLING_H
3#define INKSCAPE_DISPLAY_CONTROL_CTRL_HANDLE_STYLING_H
20#include <unordered_map>
44template <>
struct std::hash<
Inkscape::Handles::TypeState>
48 return (
size_t{handle.
type} << 3) |
50 (
size_t{handle.
hover} << 1) |
51 (
size_t{handle.
click});
Template struct for properties with specificities.
void setProperty(T newValue, int newSpecificity)
Property(T val, int spec)
T const & operator()() const
Classes related to control handle styling.
Css parse_css(const std::string &css_file_name)
constexpr auto USER_CUSTOM_CSS_FILE_NAME
Helper class to stream background task notifications as a series of messages.
@ CANVAS_ITEM_CTRL_SHAPE_SQUARE
@ CANVAS_ITEM_CTRL_TYPE_DEFAULT
The result of parsing the handle styling CSS files, containing all information needed to style a give...
std::unordered_map< TypeState, Style > style_map
Struct containing all required styling for handles.
Property< float > opacity
Property< uint32_t > stroke
uint32_t getOutline() const
Property< float > outline_opacity
Property< float > stroke_opacity
Property< uint32_t > outline
Property< float > stroke_width
Property< CanvasItemCtrlShape > shape
Property< float > fill_opacity
Property< float > size_extra
uint32_t getStroke() const
Property< uint32_t > fill
Property< float > stroke_scale
Property< float > outline_width
Struct to manage type and state.
auto operator<=>(TypeState const &) const =default
size_t operator()(Inkscape::Handles::TypeState const &handle) const