diff options
Diffstat (limited to 'src/widget/eventbox.vala')
-rw-r--r-- | src/widget/eventbox.vala | 61 |
1 files changed, 13 insertions, 48 deletions
diff --git a/src/widget/eventbox.vala b/src/widget/eventbox.vala index bee7cbc..6b715cc 100644 --- a/src/widget/eventbox.vala +++ b/src/widget/eventbox.vala @@ -20,15 +20,7 @@ public class EventBox : Gtk.EventBox { if (event.window == self.get_window() && event.detail != Gdk.NotifyType.INFERIOR) { this.set_state_flags(Gtk.StateFlags.PRELIGHT, false); - var hover_event = HoverEvent(); - hover_event.lost = false; - hover_event.time = event.time; - hover_event.x = event.x; - hover_event.y = event.y; - hover_event.modifier = event.state; - hover_event.mode = event.mode; - hover_event.detail = event.detail; - hover(hover_event); + hover(HoverEvent(event) { lost = false }); } }); @@ -36,58 +28,24 @@ public class EventBox : Gtk.EventBox { if (event.window == self.get_window() && event.detail != Gdk.NotifyType.INFERIOR) { this.unset_state_flags(Gtk.StateFlags.PRELIGHT); - var hover_event = HoverEvent(); - hover_event.lost = true; - hover_event.time = event.time; - hover_event.x = event.x; - hover_event.y = event.y; - hover_event.modifier = event.state; - hover_event.mode = event.mode; - hover_event.detail = event.detail; - hover_lost(hover_event); + hover_lost(HoverEvent(event) { lost = true }); } }); button_press_event.connect((event) => { - var click_event = ClickEvent(); - click_event.release = false; - click_event.time = event.time; - click_event.x = event.x; - click_event.y = event.y; - click_event.button = (MouseButton)event.button; - click_event.modifier = event.state; - click(click_event); + click(ClickEvent(event) { release = false }); }); button_release_event.connect((event) => { - var click_event = ClickEvent(); - click_event.release = true; - click_event.x = event.x; - click_event.y = event.y; - click_event.button = (MouseButton)event.button; - click_event.modifier = event.state; - click_release(click_event); + click_release(ClickEvent(event) { release = true }); }); scroll_event.connect((event) => { - var scroll_event = ScrollEvent(); - scroll_event.time = event.time; - scroll_event.x = event.x; - scroll_event.y = event.y; - scroll_event.modifier = event.state; - scroll_event.direction = event.direction; - scroll_event.delta_x = event.delta_x; - scroll_event.delta_y = event.delta_y; - scroll(scroll_event); + scroll(ScrollEvent(event)); }); motion_notify_event.connect((event) => { - var motion_event = MotionEvent(); - motion_event.time = event.time; - motion_event.x = event.x; - motion_event.y = event.y; - motion_event.modifier = event.state; - motion(motion_event); + motion(MotionEvent(event)); }); } } @@ -97,5 +55,12 @@ public struct MotionEvent { double x; double y; Gdk.ModifierType modifier; + + public MotionEvent(Gdk.EventMotion event) { + this.time = event.time; + this.x = event.x; + this.y = event.y; + this.modifier = event.state; + } } } |