2007-03-22 Emmanuele Bassi <ebassi@openedhand.com>
authorEmmanuele Bassi <ebassi@openedhand.com>
Thu, 22 Mar 2007 18:21:59 +0000 (18:21 +0000)
committerEmmanuele Bassi <ebassi@openedhand.com>
Thu, 22 Mar 2007 18:21:59 +0000 (18:21 +0000)
commit4bd3fa583e75407cabfc099aa8ca64565a6593bd
tree1458df53c1590379ecc5929af80fd1eec17a7f74
parent15970bba9b35efafd8340c15505c7b164e370934
2007-03-22  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-private.h: Remove inclusion of backend-specific
headers; update the main context object; add the declarations for
the event queue functions.

* clutter/clutter-backend.[ch]: Add the abstract ClutterBackend
object, which holds backend-specific settings, the main stage,
and the event queue. Every backend must implement a subclass of
ClutterBackend and ClutterStage.

* clutter/clutter-feature.c: Protect the GLX specific calls
behing #ifdef HAVE_CLUTTER_GLX.

* clutter/clutter-actor.c:
* clutter/clutter-group.c:
* clutter/clutter-clone-texture.c: Include GL/gl.h

* clutter/clutter-event.[ch]: Update public API and implement the
event queue private API; hold a reference on the event objects;
move out the keysym-to-unicode table; add the new event types.

* clutter/clutter-color.h: Include clutter-fixed.h

* clutter/clutter-main.c: Update API; get the main stage
from the backend object; process the event received from the
queue; lock/unlock the main mutex if we have one; move the
initialisation process sooner in the init sequence, in order to
have the backend object when we check for options; call the
backed vfuncs in the pre/post parse hooks.

* clutter/clutter-stage.c: Make ClutterStage and abstract class,
implemented by the backends.

* clutter/clutter/glx/clutter-glx.h:
* clutter/clutter/glx/clutter-backend-glx.[ch]:
* clutter/clutter/glx/clutter-event-glx.c:
* clutter/clutter/glx/clutter-stage-glx.[ch]:
* clutter/clutter/glx/Makefile.am: Add the GLX backend.

* clutter/clutter/egl/clutter-backend-egl.[ch]:
* clutter/clutter/egl/clutter-event-egl.c:
* clutter/clutter/egl/clutter-stage-egl.[ch]:
* clutter/clutter/egl/Makefile.am: Add the stub for a EGL backend.

* examples/*.c: Update for the new API.
46 files changed:
ChangeLog
clutter.pc.in
clutter/Makefile.am
clutter/clutter-actor.c
clutter/clutter-backend-glx.c [deleted file]
clutter/clutter-backend-glx.h [deleted file]
clutter/clutter-backend.c [new file with mode: 0644]
clutter/clutter-backend.h [new file with mode: 0644]
clutter/clutter-clone-texture.c
clutter/clutter-color.h
clutter/clutter-event.c
clutter/clutter-event.h
clutter/clutter-feature.c
clutter/clutter-group.c
clutter/clutter-keysyms-table.h [new file with mode: 0644]
clutter/clutter-main.c
clutter/clutter-main.h
clutter/clutter-private.h
clutter/clutter-stage-glx.c [deleted file]
clutter/clutter-stage.c
clutter/clutter-stage.h
clutter/clutter-texture.c
clutter/clutter-version.h.in
clutter/egl/Makefile.am [new file with mode: 0644]
clutter/egl/clutter-backend-egl.c [new file with mode: 0644]
clutter/egl/clutter-backend-egl.h [new file with mode: 0644]
clutter/egl/clutter-event-egl.c [new file with mode: 0644]
clutter/egl/clutter-stage-egl.c [new file with mode: 0644]
clutter/egl/clutter-stage-egl.h [new file with mode: 0644]
clutter/glx/clutter-backend-glx.c [new file with mode: 0644]
clutter/glx/clutter-backend-glx.h [new file with mode: 0644]
clutter/glx/clutter-event-glx.c [new file with mode: 0644]
clutter/glx/clutter-glx.h [moved from clutter/clutter-stage-glx.h with 62% similarity]
clutter/glx/clutter-stage-glx.c [new file with mode: 0644]
clutter/glx/clutter-stage-glx.h [new file with mode: 0644]
clutter/pango/pangoclutter.h
configure.ac
doc/reference/Makefile.am
doc/reference/tmpl/clutter-event.sgml
doc/reference/tmpl/clutter-main.sgml
doc/reference/tmpl/clutter-media.sgml
doc/reference/tmpl/clutter-stage.sgml
doc/reference/tmpl/clutter-util.sgml
examples/behave.c
examples/super-oh.c
examples/test.c