[clutter: 5/11] osx: Use the Stage state tracking
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [clutter: 5/11] osx: Use the Stage state tracking
- Date: Thu, 26 Jan 2012 08:43:52 +0000 (UTC)
commit 2c9a693c14fb97dfb091ff00109e084de4b9caca
Author: Emmanuele Bassi <ebassi gnome org>
Date: Wed Jan 25 21:25:59 2012 +0000
osx: Use the Stage state tracking
clutter/osx/clutter-stage-osx.c | 60 +++++++++++++++------------------------
clutter/osx/clutter-stage-osx.h | 2 -
2 files changed, 23 insertions(+), 39 deletions(-)
---
diff --git a/clutter/osx/clutter-stage-osx.c b/clutter/osx/clutter-stage-osx.c
index c93c066..8363ea3 100644
--- a/clutter/osx/clutter-stage-osx.c
+++ b/clutter/osx/clutter-stage-osx.c
@@ -50,12 +50,6 @@ G_DEFINE_TYPE_WITH_CODE (ClutterStageOSX,
G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_STAGE_WINDOW,
clutter_stage_window_iface_init))
-/* FIXME: this should be in clutter-stage.c */
-static void
-clutter_stage_osx_state_update (ClutterStageOSX *self,
- ClutterStageState unset_flags,
- ClutterStageState set_flags);
-
static ClutterActor *
clutter_stage_osx_get_wrapper (ClutterStageWindow *stage_window);
@@ -87,7 +81,7 @@ clutter_stage_osx_get_wrapper (ClutterStageWindow *stage_window);
CLUTTER_NOTE (BACKEND, "[%p] windowShouldClose", self->stage_osx);
event.type = CLUTTER_DELETE;
- event.any.stage = CLUTTER_STAGE (self->stage_osx->wrapper);
+ event.any.stage = self->stage_osx->wrapper;
clutter_event_put (&event);
return NO;
@@ -104,26 +98,34 @@ clutter_stage_osx_get_wrapper (ClutterStageWindow *stage_window);
- (void) windowDidBecomeKey:(NSNotification*)aNotification
{
+ ClutterStage *stage;
+
CLUTTER_NOTE (BACKEND, "[%p] windowDidBecomeKey", self->stage_osx);
- if (self->stage_osx->stage_state & CLUTTER_STAGE_STATE_FULLSCREEN)
+ stage = self->stage_osx->wrapper;
+
+ if (_clutter_stage_is_fullscreen (stage))
[self setLevel: CLUTTER_OSX_FULLSCREEN_WINDOW_LEVEL];
- clutter_stage_osx_state_update (self->stage_osx, 0, CLUTTER_STAGE_STATE_ACTIVATED);
+ _clutter_stage_update_state (stage, 0, CLUTTER_STAGE_STATE_ACTIVATED);
}
- (void) windowDidResignKey:(NSNotification*)aNotification
{
+ ClutterStage *stage;
+
CLUTTER_NOTE (BACKEND, "[%p] windowDidResignKey", self->stage_osx);
- if (self->stage_osx->stage_state & CLUTTER_STAGE_STATE_FULLSCREEN)
+ stage = self->stage_osx->wrapper;
+
+ if (_clutter_stage_is_fullscreen (stage))
{
[self setLevel: NSNormalWindowLevel];
if (!self->stage_osx->isHiding)
[self orderBack: nil];
}
- clutter_stage_osx_state_update (self->stage_osx, CLUTTER_STAGE_STATE_ACTIVATED, 0);
+ _clutter_stage_update_state (stage, CLUTTER_STAGE_STATE_ACTIVATED, 0);
}
- (NSSize) windowWillResize:(NSWindow *) sender toSize:(NSSize) frameSize
@@ -143,7 +145,7 @@ clutter_stage_osx_get_wrapper (ClutterStageWindow *stage_window);
- (void)windowDidChangeScreen:(NSNotification *)notification
{
- clutter_stage_ensure_redraw (CLUTTER_STAGE (self->stage_osx->wrapper));
+ clutter_stage_ensure_redraw (self->stage_osx->wrapper);
}
@end
@@ -244,28 +246,6 @@ EVENT_HANDLER(tabletProximity)
@end
/*************************************************************************/
-static void
-clutter_stage_osx_state_update (ClutterStageOSX *self,
- ClutterStageState unset_flags,
- ClutterStageState set_flags)
-{
- ClutterStageStateEvent event;
-
- event.new_state = self->stage_state;
- event.new_state |= set_flags;
- event.new_state &= ~unset_flags;
-
- if (event.new_state == self->stage_state)
- return;
-
- event.changed_mask = event.new_state ^ self->stage_state;
-
- self->stage_state = event.new_state;
-
- event.type = CLUTTER_STAGE_STATE;
- event.stage = CLUTTER_STAGE (self->wrapper);
- clutter_event_put ((ClutterEvent*)&event);
-}
static void
clutter_stage_osx_save_frame (ClutterStageOSX *self)
@@ -281,7 +261,7 @@ clutter_stage_osx_set_frame (ClutterStageOSX *self)
{
g_assert (self->window != NULL);
- if (self->stage_state & CLUTTER_STAGE_STATE_FULLSCREEN)
+ if (_clutter_stage_is_fullscreen (self->wrapper))
{
/* Raise above the menubar (and dock) covering the whole screen.
*
@@ -528,11 +508,17 @@ clutter_stage_osx_set_fullscreen (ClutterStageWindow *stage_window,
*/
if (fullscreen)
{
- clutter_stage_osx_state_update (self, 0, CLUTTER_STAGE_STATE_FULLSCREEN);
+ _clutter_stage_update_state (CLUTTER_STAGE (self->wrapper),
+ 0,
+ CLUTTER_STAGE_STATE_FULLSCREEN);
clutter_stage_osx_save_frame (self);
}
else
- clutter_stage_osx_state_update (self, CLUTTER_STAGE_STATE_FULLSCREEN, 0);
+ {
+ _clutter_stage_update_state (CLUTTER_STAGE (self->wrapper),
+ CLUTTER_STAGE_STATE_FULLSCREEN,
+ 0);
+ }
clutter_stage_osx_set_frame (self);
diff --git a/clutter/osx/clutter-stage-osx.h b/clutter/osx/clutter-stage-osx.h
index be1f338..cb2c126 100644
--- a/clutter/osx/clutter-stage-osx.h
+++ b/clutter/osx/clutter-stage-osx.h
@@ -65,8 +65,6 @@ struct _ClutterStageOSX
gint requisition_width;
gint requisition_height;
- ClutterStageState stage_state;
-
gboolean acceptFocus;
gboolean isHiding;
gboolean haveRealized;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]