34 const std::string&
text()
const {
return text_; }
39 std::string text_ =
"Badge";
54 std::string label_ =
"Heads up.";
55 std::string message_ =
"";
71 std::string title_ =
"Saved";
72 std::string subtitle_;
87 std::string message_ =
"Nothing here yet";
104 double value()
const {
return value_; }
106 if (!std::isfinite(lo) || !std::isfinite(hi))
return;
107 if (lo > hi) std::swap(lo, hi);
114 if (!std::isfinite(lo))
return;
116 if (max_ < min_) max_ = min_;
121 if (!std::isfinite(hi))
return;
123 if (min_ > max_) min_ = max_;
128 if (std::isfinite(
s) &&
s > 0.0) {
139 double step()
const {
return step_; }
164 double s = wheel_step_ > 0.0 ? wheel_step_ : step_;
173 void set_editing_(
bool editing) {
177 int zone_at_(
float x)
const;
178 double value_ = 0.0, min_ = -24.0, max_ = 24.0, step_ = 1.0;
179 double wheel_step_ = 0.0;
180 std::string suffix_ =
"";
181 bool editing_ =
false;
182 std::string edit_buffer_;
183 int hover_zone_ = -1;
184 int pressed_zone_ = -1;
185 float press_y_ = 0.0f;
186 double drag_start_value_ = 0.0;
187 bool scrubbing_ =
false;
188 bool designed_overlay_ =
false;
196 float value()
const {
return value_; }
212 void set_from_x(
float x);
242 std::string title_ =
"Are you sure?";
243 std::string message_;
244 std::string confirm_ =
"Confirm";
245 std::string cancel_ =
"Cancel";
246 bool destructive_ =
false;
259 void set_pan(
float v) { pan_ = std::clamp(
v, -1.0f, 1.0f); }
260 float level()
const {
return level_; }
261 float pan()
const {
return pan_; }
274 void handle_pointer_(
Point pos);
275 std::string label_ =
"Ch";
299 float phase()
const {
return phase_; }
303 float progress_ = -1.0f;
317 double value()
const {
return value_; }
318 void set_range(
double lo,
double hi) { min_ = lo; max_ = hi; }
345 void set_editing_(
bool editing) {
349 int zone_at_(
float x)
const;
350 double value_ = 0.0, min_ = -24.0, max_ = 24.0, step_ = 1.0;
352 bool editing_ =
false;
353 std::string edit_buffer_;
354 int hover_zone_ = -1;
355 int pressed_zone_ = -1;
356 float press_y_ = 0.0f;
357 double drag_start_value_ = 0.0;
358 bool scrubbing_ =
false;
Definition canvas.hpp:240
Badge(std::string text, Tone tone=Tone::neutral)
Definition gap_widgets.hpp:30
Tone tone() const
Definition gap_widgets.hpp:35
void set_tone(Tone t)
Definition gap_widgets.hpp:33
float intrinsic_height() const override
Definition gap_widgets.hpp:37
void paint(canvas::Canvas &canvas) override
const std::string & text() const
Definition gap_widgets.hpp:34
void set_text(std::string t)
Definition gap_widgets.hpp:32
void on_mouse_down(Point pos) override
float level() const
Definition gap_widgets.hpp:260
bool wants_wheel_value() const override
True if this widget adjusts its VALUE on a scroll-wheel over it (knobs, faders, sliders,...
Definition gap_widgets.hpp:268
float pan() const
Definition gap_widgets.hpp:261
std::function< void(float)> on_pan_change
Definition gap_widgets.hpp:263
ChannelStrip()
Definition gap_widgets.hpp:256
void paint(canvas::Canvas &canvas) override
void set_level(float v)
Definition gap_widgets.hpp:258
void on_wheel(float delta_y) override
Adjust the widget's value by a scroll-wheel delta (delta_y positive = scrolled down).
void set_label(std::string s)
Definition gap_widgets.hpp:257
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 gap_widgets.hpp:269
void set_pan(float v)
Definition gap_widgets.hpp:259
std::function< void(float)> on_level_change
Definition gap_widgets.hpp:262
void on_mouse_drag(Point pos) override
Definition gap_widgets.hpp:78
std::function< void()> on_action
Definition gap_widgets.hpp:82
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 gap_widgets.hpp:85
void set_action(std::string s)
Definition gap_widgets.hpp:81
void paint(canvas::Canvas &canvas) override
void set_message(std::string s)
Definition gap_widgets.hpp:80
void on_mouse_down(Point pos) override
Definition gap_widgets.hpp:229
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 gap_widgets.hpp:240
void set_message(std::string s)
Definition gap_widgets.hpp:232
void set_cancel_label(std::string s)
Definition gap_widgets.hpp:234
std::function< void()> on_cancel
Definition gap_widgets.hpp:237
void set_confirm_label(std::string s)
Definition gap_widgets.hpp:233
void on_mouse_down(Point pos) override
std::function< void()> on_confirm
Definition gap_widgets.hpp:236
void paint(canvas::Canvas &canvas) override
void set_destructive(bool d)
Definition gap_widgets.hpp:235
void set_title(std::string s)
Definition gap_widgets.hpp:231
Definition gap_widgets.hpp:45
void set_label(std::string s)
Definition gap_widgets.hpp:48
float intrinsic_height() const override
Definition gap_widgets.hpp:51
void set_message(std::string s)
Definition gap_widgets.hpp:49
void paint(canvas::Canvas &canvas) override
void set_tone(Tone t)
Definition gap_widgets.hpp:47
void on_hover_move(Point local_pos) override
Pointer moved over this view with no button held, reported in this view's LOCAL coordinates.
bool is_editing() const
Definition gap_widgets.hpp:321
void set_range(double lo, double hi)
Definition gap_widgets.hpp:318
float intrinsic_height() const override
Definition gap_widgets.hpp:339
void on_mouse_drag(Point pos) override
void on_focus_changed(bool gained) override
Called when this view gains or loses focus.
void paint(canvas::Canvas &canvas) override
int hovered_zone() const
Which ‹/› zone is currently hovered / pressed (0 = down, 1 = up, -1 = none).
Definition gap_widgets.hpp:324
void on_mouse_up(Point pos) override
void set_step(double s)
Definition gap_widgets.hpp:319
bool wants_wheel_value() const override
True if this widget adjusts its VALUE on a scroll-wheel over it (knobs, faders, sliders,...
Definition gap_widgets.hpp:336
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 gap_widgets.hpp:337
int pressed_zone() const
Definition gap_widgets.hpp:325
void on_text_input(const TextInputEvent &event) override
Text input from keyboard/IME (separate from key events).
NumberBox()
Definition gap_widgets.hpp:315
std::function< void(double)> on_change
Definition gap_widgets.hpp:326
double value() const
Definition gap_widgets.hpp:317
void on_mouse_leave() override
void on_wheel(float delta_y) override
Adjust the widget's value by a scroll-wheel delta (delta_y positive = scrolled down).
Definition gap_widgets.hpp:338
void on_mouse_down(Point pos) override
bool on_key_event(const KeyEvent &event) override
Key event with modifiers and up/down state.
void set_suffix(std::string s)
Definition gap_widgets.hpp:320
Definition gap_widgets.hpp:193
std::function< void(float)> on_change
Definition gap_widgets.hpp:197
void paint(canvas::Canvas &canvas) override
float value() const
Definition gap_widgets.hpp:196
void on_mouse_leave() override
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 gap_widgets.hpp:206
void on_mouse_drag(Point pos) override
void on_wheel(float delta_y) override
Adjust the widget's value by a scroll-wheel delta (delta_y positive = scrolled down).
Definition gap_widgets.hpp:207
bool wants_wheel_value() const override
True if this widget adjusts its VALUE on a scroll-wheel over it (knobs, faders, sliders,...
Definition gap_widgets.hpp:205
void on_mouse_down(Point pos) override
void on_mouse_enter() override
void advance_animations(float dt) override
Advance any per-widget non-CSS animation state (hover glows, thumb tweens, spinner phase) by dt secon...
Definition gap_widgets.hpp:203
float hover_scale() const
Definition gap_widgets.hpp:204
float intrinsic_height() const override
Definition gap_widgets.hpp:208
Definition gap_widgets.hpp:218
void set_title(std::string s)
Definition gap_widgets.hpp:220
void paint(canvas::Canvas &canvas) override
float phase() const
Definition gap_widgets.hpp:299
Spinner()
Definition gap_widgets.hpp:289
void paint(canvas::Canvas &canvas) override
void set_progress(float p)
Definition gap_widgets.hpp:292
float intrinsic_height() const override
Definition gap_widgets.hpp:301
float progress() const
Definition gap_widgets.hpp:297
void advance_animations(float dt) override
Advance any per-widget non-CSS animation state (hover glows, thumb tweens, spinner phase) by dt secon...
Definition gap_widgets.hpp:298
void set_step(double s)
Definition gap_widgets.hpp:127
void set_suffix(std::string s)
Definition gap_widgets.hpp:140
void on_text_input(const TextInputEvent &event) override
Text input from keyboard/IME (separate from key events).
void on_mouse_up(Point pos) override
void on_mouse_drag(Point pos) override
bool on_key_event(const KeyEvent &event) override
Key event with modifiers and up/down state.
void set_maximum(double hi)
Definition gap_widgets.hpp:120
bool is_editing() const
Definition gap_widgets.hpp:145
std::function< void(double)> on_change
Definition gap_widgets.hpp:150
Stepper()
Definition gap_widgets.hpp:98
double value() const
Definition gap_widgets.hpp:104
double step() const
Definition gap_widgets.hpp:139
void on_hover_move(Point local_pos) override
Pointer moved over this view with no button held, reported in this view's LOCAL coordinates.
int hovered_zone() const
Which −/+ zone is currently hovered / pressed (0 = minus, 1 = plus, -1 = none).
Definition gap_widgets.hpp:148
void on_mouse_leave() override
void set_value_silent(double v)
double maximum() const
Definition gap_widgets.hpp:138
void on_mouse_down(Point pos) override
bool designed_overlay() const
Definition gap_widgets.hpp:144
void on_wheel(float delta_y) override
Adjust the widget's value by a scroll-wheel delta (delta_y positive = scrolled down).
Definition gap_widgets.hpp:162
float intrinsic_height() const override
Definition gap_widgets.hpp:167
void paint(canvas::Canvas &canvas) override
void set_designed_overlay(bool enabled)
Marks a browser-captured control as a live replacement.
Definition gap_widgets.hpp:143
void set_minimum(double lo)
Definition gap_widgets.hpp:113
int pressed_zone() const
Definition gap_widgets.hpp:149
void on_focus_changed(bool gained) override
Called when this view gains or loses focus.
void set_range(double lo, double hi)
Definition gap_widgets.hpp:105
bool wants_wheel_value() const override
True if this widget adjusts its VALUE on a scroll-wheel over it (knobs, faders, sliders,...
Definition gap_widgets.hpp:160
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 gap_widgets.hpp:161
double minimum() const
Definition gap_widgets.hpp:137
Definition gap_widgets.hpp:60
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 gap_widgets.hpp:68
void set_action(std::string s)
Definition gap_widgets.hpp:64
float intrinsic_height() const override
Definition gap_widgets.hpp:69
void on_mouse_down(Point pos) override
std::function< void()> on_action
Definition gap_widgets.hpp:65
void paint(canvas::Canvas &canvas) override
void set_title(std::string s)
Definition gap_widgets.hpp:62
void set_subtitle(std::string s)
Definition gap_widgets.hpp:63
Lightweight, embeddable value animator for widget members.
Definition animation.hpp:293
void request_repaint()
Request that this view's host invalidate and schedule a repaint.
void set_cursor(CursorStyle c)
Definition view.hpp:2760
@ vertical_resize
↕ Up-down resize (SplitView, row borders)
Definition view.hpp:2745
void set_continuous_repaint(bool on)
Opt a custom view into per-vsync repaints — required for live content (meters/spectrum,...
Definition view.hpp:2373
bool enabled() const
CSS :disabled equivalent — blocks input, reduces opacity.
Definition view.hpp:715
void set_focusable(bool f)
Definition view.hpp:669
Definition affine_transform.hpp:24
Hover-cursor tracking for platform window hosts.
Definition fwd.hpp:27
Tone
Definition gap_widgets.hpp:23
@ success
Definition gap_widgets.hpp:23
@ neutral
Definition gap_widgets.hpp:23
@ danger
Definition gap_widgets.hpp:23
@ info
Definition gap_widgets.hpp:23
@ s
Definition input_events.hpp:41
@ d
Definition input_events.hpp:39
@ p
Definition input_events.hpp:40
@ x
Definition input_events.hpp:41
@ v
Definition input_events.hpp:41
@ t
Definition input_events.hpp:41
@ warning
Definition design_ir.hpp:696
@ info
Definition design_ir.hpp:695
Rich key event with key code, modifiers, and repeat state.
Definition input_events.hpp:193
Definition geometry.hpp:20
Text input from IME or keyboard composition (separate from KeyEvent).
Definition input_events.hpp:210