24 bool intersects(
float rx,
float ry,
float rw,
float rh)
const {
81 float x = std::min(start_x_, current_x_);
82 float y = std::min(start_y_, current_y_);
83 float w = std::abs(current_x_ - start_x_);
84 float h = std::abs(current_y_ - start_y_);
98 canvas.fill_rect(rect.x, rect.y, rect.width, rect.height);
101 canvas.set_line_width(1.0f);
102 canvas.stroke_rect(rect.x, rect.y, rect.width, rect.height);
120 bool active_ =
false;
121 float start_x_ = 0, start_y_ = 0;
122 float current_x_ = 0, current_y_ = 0;
Definition canvas.hpp:240
void paint(canvas::Canvas &canvas) override
Definition lasso.hpp:88
LassoComponent()
Definition lasso.hpp:34
void end_selection()
End the selection.
Definition lasso.hpp:66
SelectionRect selection_rect() const
Get the current selection rectangle.
Definition lasso.hpp:80
std::function< void(const SelectionRect &)> on_selection_changed
Called during drag with the current selection rectangle (in parent coords).
Definition lasso.hpp:40
void on_mouse_up(Point) override
Definition lasso.hpp:113
std::function< void(const SelectionRect &)> on_selection_complete
Called when the drag ends with the final selection rectangle.
Definition lasso.hpp:43
bool is_active() const
Whether a lasso selection is currently active.
Definition lasso.hpp:77
void begin_selection(float x, float y)
Start a new lasso selection at the given point.
Definition lasso.hpp:46
void on_mouse_drag(Point pos) override
Definition lasso.hpp:109
void update_selection(float x, float y)
Update the selection rectangle during drag.
Definition lasso.hpp:56
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 lasso.hpp:117
void on_mouse_down(Point pos) override
Definition lasso.hpp:105
void set_visible(bool v)
Show or hide this view.
Definition view.hpp:343
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
@ px
Absolute pixels.
Definition geometry.hpp:393
@ h
Definition input_events.hpp:39
@ y
Definition input_events.hpp:42
@ x
Definition input_events.hpp:41
@ w
Definition input_events.hpp:41
static constexpr Color rgba8(uint8_t r, uint8_t g, uint8_t b, uint8_t a=255)
Construct from 8-bit channels [0,255] — convenience for legacy/hex code.
Definition canvas.hpp:61
Definition geometry.hpp:20
float x
Definition geometry.hpp:21
float y
Definition geometry.hpp:21
Rectangle in parent coordinates.
Definition lasso.hpp:17
float height
Definition lasso.hpp:18
float x
Definition lasso.hpp:18
bool contains(float px, float py) const
Definition lasso.hpp:20
float y
Definition lasso.hpp:18
float width
Definition lasso.hpp:18
bool intersects(float rx, float ry, float rw, float rh) const
Definition lasso.hpp:24