From 0f2398d1f622cce37925f52d978d92e6cce1c7a9 Mon Sep 17 00:00:00 2001 From: Benji Dial Date: Tue, 9 Mar 2021 11:24:11 -0500 Subject: making mouse movements only reported to widgets in raleigh if they request it, and making it continue while the mouse is outside the widget (but inside the window) --- src/user/include/cxx/raleigh/w/button.h | 1 - src/user/include/cxx/raleigh/w/colorpicker.h | 2 +- src/user/include/cxx/raleigh/w/multicontainer.h | 1 - src/user/include/cxx/raleigh/w/padding.h | 1 - src/user/include/cxx/raleigh/window.h | 3 +++ 5 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src/user/include/cxx') diff --git a/src/user/include/cxx/raleigh/w/button.h b/src/user/include/cxx/raleigh/w/button.h index 0e40f81..71ccae2 100644 --- a/src/user/include/cxx/raleigh/w/button.h +++ b/src/user/include/cxx/raleigh/w/button.h @@ -14,7 +14,6 @@ namespace raleigh { void handle_click(coord window_coords, enum mouse_packet::mouse_button click_type, bool up) override; void notify_child_size_change(widget &child, coord old_size) override; void notify_has_opaque_parent(widget *parent) override; - void on_mouse_move(coord window_coords) override; private: widget &inner; void (*on_click)(button &); diff --git a/src/user/include/cxx/raleigh/w/colorpicker.h b/src/user/include/cxx/raleigh/w/colorpicker.h index a282c9e..471787d 100644 --- a/src/user/include/cxx/raleigh/w/colorpicker.h +++ b/src/user/include/cxx/raleigh/w/colorpicker.h @@ -19,7 +19,7 @@ namespace raleigh { uint8_t resolution; uint8_t inv_res; - enum {NO, R, G, B} selected; + enum {R, G, B} selected; }; } diff --git a/src/user/include/cxx/raleigh/w/multicontainer.h b/src/user/include/cxx/raleigh/w/multicontainer.h index 5ced74f..8a3497f 100644 --- a/src/user/include/cxx/raleigh/w/multicontainer.h +++ b/src/user/include/cxx/raleigh/w/multicontainer.h @@ -12,7 +12,6 @@ namespace raleigh { void handle_click(coord window_coords, enum mouse_packet::mouse_button click_type, bool up) override; void notify_has_opaque_parent(widget *parent) override; void notify_child_size_change(widget &from, coord old_size) override; - void on_mouse_move(coord window_coords) override; protected: //do not modify this list afterward diff --git a/src/user/include/cxx/raleigh/w/padding.h b/src/user/include/cxx/raleigh/w/padding.h index ab732f1..1bdb9ee 100644 --- a/src/user/include/cxx/raleigh/w/padding.h +++ b/src/user/include/cxx/raleigh/w/padding.h @@ -13,7 +13,6 @@ namespace raleigh { void handle_click(coord window_coords, enum mouse_packet::mouse_button click_type, bool up) override; void notify_has_opaque_parent(widget *parent) override; void notify_child_size_change(widget &child, coord old_size) override; - void on_mouse_move(coord window_coords) override; private: widget &inner; uint32_t pad_by; diff --git a/src/user/include/cxx/raleigh/window.h b/src/user/include/cxx/raleigh/window.h index 0dd9341..2b759d5 100644 --- a/src/user/include/cxx/raleigh/window.h +++ b/src/user/include/cxx/raleigh/window.h @@ -22,6 +22,7 @@ namespace raleigh { void notify_needs_paint(widget &from); void notify_widget_size_change(widget &from, coord old_size); + void notify_wants_movements(widget &from, enum mouse_packet::mouse_button while_down); enum try_actions_return_t {NONE, GOOD, DELETE}; try_actions_return_t try_actions(); void show(); @@ -32,6 +33,8 @@ namespace raleigh { coord size; widget &root; widget *focussed; + widget *drag_reciever; + enum mouse_packet::mouse_button drag_until; _pixel_t bg_color; bool needs_repaint; void paint_full(); -- cgit v1.2.3