27 std::string
hex()
const;
34 const std::vector<Color>&
swatches()
const {
return swatches_; }
58 bool show_alpha_ =
false;
59 std::vector<Color> swatches_;
61 enum class DragTarget { none, saturation_lightness, hue, alpha, swatch };
62 DragTarget drag_target_ = DragTarget::none;
66 Rect alpha_bar()
const;
67 Rect swatch_area()
const;
69 void update_from_hsl();
70 void update_from_color();
Definition canvas.hpp:240
void set_swatches(std::vector< Color > swatches)
Preset swatches.
Mode
Display mode.
Definition color_picker.hpp:37
@ hex_only
Definition color_picker.hpp:37
@ hsl
Definition color_picker.hpp:37
@ hsb
Definition color_picker.hpp:37
Color color() const
Definition color_picker.hpp:19
void on_mouse_drag(Point pos) override
void set_color(Color c)
Set/get the current color.
bool show_alpha() const
Definition color_picker.hpp:43
const std::vector< Color > & swatches() const
Definition color_picker.hpp:34
void on_mouse_up(Point pos) override
void on_mouse_event(const MouseEvent &event) override
Mouse down with full event context.
void set_hsl(HSL hsl)
Set/get as HSL.
void paint(canvas::Canvas &canvas) override
void set_show_alpha(bool show)
Show/hide alpha slider.
Definition color_picker.hpp:42
std::function< void(Color)> on_change
Callback when color changes.
Definition color_picker.hpp:30
HSL hsl() const
Definition color_picker.hpp:23
float intrinsic_height() const override
Definition color_picker.hpp:52
void set_hex(const std::string &hex)
Set/get as hex string (e.g., "#ff6600").
bool wants_mouse_input() const override
True if this widget handles mouse down/drag through virtual methods even when it does not expose JS p...
Definition color_picker.hpp:50
Mode mode() const
Definition color_picker.hpp:39
void on_mouse_down(Point pos) override
void set_mode(Mode m)
Definition color_picker.hpp:38
Definition affine_transform.hpp:24
Hover-cursor tracking for platform window hosts.
Definition fwd.hpp:27
canvas::Color Color
Definition theme.hpp:12
@ c
Definition input_events.hpp:39
@ m
Definition input_events.hpp:40
canvas::Color::HSL HSL
Definition theme_contrast.hpp:50
Rich mouse/pointer event with position, modifiers, button state, pointer ID, and stylus properties.
Definition input_events.hpp:104
Definition geometry.hpp:20