summaryrefslogtreecommitdiff
path: root/src/widget/eventbox.vala
diff options
context:
space:
mode:
Diffstat (limited to 'src/widget/eventbox.vala')
-rw-r--r--src/widget/eventbox.vala61
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;
+ }
}
}