OSX: add multistage support
authorTommi Komulainen <tommi.komulainen@iki.fi>
Thu, 5 Jun 2008 21:27:58 +0000 (21:27 +0000)
committerTommi Komulainen <tommi.komulainen@iki.fi>
Thu, 5 Jun 2008 21:27:58 +0000 (21:27 +0000)
commitb8e8a80a4033f2937b7a743df39283d1e9715c9c
tree123f4944ac7e63769b21f7661081420b09d9c434
parentcba23c0b265a5a1215fba678c45f1b4bfd0db9c1
OSX: add multistage support

Bug #911 - OSX: add multistage support

* clutter/osx/clutter-backend-osx.{c,h}
(clutter_backend_osx_init_stage, clutter_backend_osx_get_stage,
clutter_backend_osx_redraw, clutter_backend_osx_create_stage,
clutter_backend_osx_ensure_context, clutter_backend_osx_class_init,
clutter_backend_osx_dispose, ClutterGLView:drawRect:):
* clutter/osx/clutter-stage-osx.{c,h} (clutter_stage_osx_realize,
ClutterGLWindow:setFrameSize:):
Adapt to new multistage backend API. Don't keep a pointer to
default stage. Derive from ClutterActor instead of ClutterStage.
Implement ClutterStageWindow interface. Paint, resize and
otherwise manipulate the wrapper rather than self when necessary.

(clutter_backend_post_parse): Create our singleton GL context
here. We could probably create the context when the default
stage is created, but I think this is more clean.

* clutter/osx/clutter-event-osx.c (clutter_event_osx_translate)
* clutter/osx/clutter-stage-osx.c (clutter_stage_osx_state_update,
ClutterGLWindow:windowShouldClose:):
* clutter/osx/clutter-stage-osx.h: Export ClutterGLWindow interface
for clutter-event-osx.c to easily get the stage for NSWindow.
Fill in ClutterEventAny::stage on our events.

Consistently use 'stage_osx' and 'wrapper' as variable names
when referring to ClutterStageOSX and ClutterStage objects
respectively.
ChangeLog
clutter/osx/clutter-backend-osx.c
clutter/osx/clutter-backend-osx.h
clutter/osx/clutter-event-osx.c
clutter/osx/clutter-stage-osx.c
clutter/osx/clutter-stage-osx.h