mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-15 02:56:35 +01:00
change event propagation to be based on parent/child lineage, not z-axis stacking, plus some more alterations to try to get enter/leave working
This commit is contained in:
parent
9fb3247350
commit
88732abd01
8 changed files with 217 additions and 132 deletions
|
|
@ -150,10 +150,12 @@ protected:
|
|||
bool on_motion_notify_event (GdkEventMotion *);
|
||||
bool on_enter_notify_event (GdkEventCrossing*);
|
||||
bool on_leave_notify_event (GdkEventCrossing*);
|
||||
bool on_key_press_event (GdkEventKey*);
|
||||
bool on_key_release_event (GdkEventKey*);
|
||||
|
||||
bool button_handler (GdkEventButton *);
|
||||
bool motion_notify_handler (GdkEventMotion *);
|
||||
bool deliver_event (Duple, GdkEvent *);
|
||||
bool deliver_event (GdkEvent *);
|
||||
|
||||
void enter_leave_items (int state);
|
||||
void enter_leave_items (Duple const &, int state);
|
||||
|
|
@ -162,8 +164,10 @@ private:
|
|||
void item_going_away (Item *, boost::optional<Rect>);
|
||||
bool send_leave_event (Item const *, double, double) const;
|
||||
|
||||
/** Items that the pointer is currently within */
|
||||
std::set<Item const *> within_items;
|
||||
/** Item currently chosen for event delivery based on pointer position */
|
||||
Item const * _current_item;
|
||||
/** Item pending as _current_item */
|
||||
Item const * _new_current_item;
|
||||
/** the item that is currently grabbed, or 0 */
|
||||
Item const * _grabbed_item;
|
||||
/** the item that currently has key focus or 0 */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue