[clutter: 8/11] gdk: Use the Stage state tracking
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [clutter: 8/11] gdk: Use the Stage state tracking
- Date: Thu, 26 Jan 2012 08:44:07 +0000 (UTC)
commit 8c184f53cb3d01ef8cbefbf856e173b7f6555a45
Author: Emmanuele Bassi <ebassi gnome org>
Date: Thu Jan 26 08:27:25 2012 +0000
gdk: Use the Stage state tracking
clutter/gdk/clutter-event-gdk.c | 32 +++++++++++---------------------
1 files changed, 11 insertions(+), 21 deletions(-)
---
diff --git a/clutter/gdk/clutter-event-gdk.c b/clutter/gdk/clutter-event-gdk.c
index 5d8f1a7..4e0e22f 100644
--- a/clutter/gdk/clutter-event-gdk.c
+++ b/clutter/gdk/clutter-event-gdk.c
@@ -226,12 +226,10 @@ clutter_gdk_handle_event (GdkEvent *gdk_event)
break;
case GDK_FOCUS_CHANGE:
- event = clutter_event_new (CLUTTER_STAGE_STATE);
- event->stage_state.time = 0; /* XXX: there is no timestamp in this GdkEvent */
- event->stage_state.changed_mask = CLUTTER_STAGE_STATE_ACTIVATED;
- event->stage_state.new_state = gdk_event->focus_change.in
- ? CLUTTER_STAGE_STATE_ACTIVATED
- : 0;
+ if (gdk_event->focus_change.in)
+ _clutter_stage_update_state (stage, 0, CLUTTER_STAGE_STATE_ACTIVATED);
+ else
+ _clutter_stage_update_state (stage, CLUTTER_STAGE_STATE_ACTIVATED, 0);
break;
case GDK_CONFIGURE:
@@ -263,23 +261,15 @@ clutter_gdk_handle_event (GdkEvent *gdk_event)
break;
case GDK_WINDOW_STATE:
- event = clutter_event_new (CLUTTER_STAGE_STATE);
- event->stage_state.changed_mask = 0;
- event->stage_state.new_state = 0;
- if (gdk_event->window_state.changed_mask & GDK_WINDOW_STATE_WITHDRAWN)
- {
- event->stage_state.changed_mask |= CLUTTER_STAGE_STATE_OFFSCREEN;
- event->stage_state.new_state |= (gdk_event->window_state.new_window_state & GDK_WINDOW_STATE_WITHDRAWN)
- ? CLUTTER_STAGE_STATE_OFFSCREEN
- : 0;
- }
-
if (gdk_event->window_state.changed_mask & GDK_WINDOW_STATE_FULLSCREEN)
{
- event->stage_state.changed_mask |= CLUTTER_STAGE_STATE_FULLSCREEN;
- event->stage_state.new_state |= (gdk_event->window_state.new_window_state & GDK_WINDOW_STATE_FULLSCREEN)
- ? CLUTTER_STAGE_STATE_FULLSCREEN
- : 0;
+ gboolean is_fullscreen;
+
+ is_fullscreen = (gdk_event->window_state.new_window_state & GDK_WINDOW_STATE_FULLSCREEN) != 0;
+ if (is_fullscreen)
+ _clutter_stage_update_state (stage, 0, CLUTTER_STAGE_STATE_FULLSCREEN);
+ else
+ _clutter_stage_update_state (stage, CLUTTER_STAGE_STATE_FULLSCREEN, 0);
}
break;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]