[mutter] window: Use event data getters in event handling code
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] window: Use event data getters in event handling code
- Date: Wed, 23 Jul 2014 22:18:24 +0000 (UTC)
commit 38e4906f724e81bc20e3105673ab9ab0c8b8648a
Author: Carlos Garnacho <carlosg gnome org>
Date: Tue Jul 22 01:06:22 2014 +0200
window: Use event data getters in event handling code
This makes these functions more independent wrt touch vs pointer events
https://bugzilla.gnome.org/show_bug.cgi?id=733631
src/core/window.c | 42 +++++++++++++++++++++++-------------------
1 files changed, 23 insertions(+), 19 deletions(-)
---
diff --git a/src/core/window.c b/src/core/window.c
index ac40979..21b94d8 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -6073,9 +6073,13 @@ static void
end_grab_op (MetaWindow *window,
const ClutterEvent *event)
{
- meta_display_check_threshold_reached (window->display,
- event->button.x,
- event->button.y);
+ ClutterModifierType modifiers;
+ gfloat x, y;
+
+ clutter_event_get_coords (event, &x, &y);
+ modifiers = clutter_event_get_state (event);
+ meta_display_check_threshold_reached (window->display, x, y);
+
/* If the user was snap moving then ignore the button
* release because they may have let go of shift before
* releasing the mouse button and they almost certainly do
@@ -6090,16 +6094,14 @@ end_grab_op (MetaWindow *window,
meta_window_tile (window);
else
update_move (window,
- event->button.modifier_state & CLUTTER_SHIFT_MASK,
- event->button.x,
- event->button.y);
+ modifiers & CLUTTER_SHIFT_MASK,
+ x, y);
}
else if (meta_grab_op_is_resizing (window->display->grab_op))
{
update_resize (window,
- event->button.modifier_state & CLUTTER_SHIFT_MASK,
- event->button.x,
- event->button.y,
+ modifiers & CLUTTER_SHIFT_MASK,
+ x, y,
TRUE);
/* If a tiled window has been dragged free with a
@@ -6112,13 +6114,16 @@ end_grab_op (MetaWindow *window,
update_tile_mode (window);
}
}
- meta_display_end_grab_op (window->display, event->any.time);
+ meta_display_end_grab_op (window->display, clutter_event_get_time (event));
}
gboolean
meta_window_handle_mouse_grab_op_event (MetaWindow *window,
const ClutterEvent *event)
{
+ ClutterModifierType modifier_state;
+ gfloat x, y;
+
switch (event->type)
{
case CLUTTER_BUTTON_PRESS:
@@ -6146,22 +6151,21 @@ meta_window_handle_mouse_grab_op_event (MetaWindow *window,
return TRUE;
case CLUTTER_MOTION:
- meta_display_check_threshold_reached (window->display,
- event->motion.x,
- event->motion.y);
+ modifier_state = clutter_event_get_state (event);
+ clutter_event_get_coords (event, &x, &y);
+
+ meta_display_check_threshold_reached (window->display, x, y);
if (meta_grab_op_is_moving (window->display->grab_op))
{
update_move (window,
- event->button.modifier_state & CLUTTER_SHIFT_MASK,
- event->motion.x,
- event->motion.y);
+ modifier_state & CLUTTER_SHIFT_MASK,
+ x, y);
}
else if (meta_grab_op_is_resizing (window->display->grab_op))
{
update_resize (window,
- event->button.modifier_state & CLUTTER_SHIFT_MASK,
- event->motion.x,
- event->motion.y,
+ modifier_state & CLUTTER_SHIFT_MASK,
+ x, y,
FALSE);
}
return TRUE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]