Commit Graph

57 Commits

Author SHA1 Message Date
Matthew Allum
eb42f82f23 2007-05-10 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-backend.c:
        * clutter/clutter-backend.h:
        * clutter/clutter-event.c:
        * clutter/clutter-main.c:
        * clutter/clutter-private.h:
        * clutter/glx/clutter-backend-glx.c:
        * clutter/glx/clutter-backend-glx.h:
        * clutter/glx/clutter-event-glx.c:
        Rejig backend event code as to simplify a little.
        NOTE: This breaks non glx backends.

        * tests/Makefile.am:
        * tests/test-events.c:
        Add a very simple event test.

        * tests/test-textures.c: (main):
        Add some more sizes to the test.
2007-05-09 23:31:08 +00:00
Emmanuele Bassi
f1a1399927 Add clutter_backend_get_n_screens()
Add clutter_backend_get_n_screens(), which returns the number of screens
manager by the ClutterBackend, and change clutter_backend_get_screen_number()
to return the screen number of the currently used screen; this is semantically
equivalent to clutter_glx_get_default_screen(), but leaves the door open for
a "screen" abstraction in Clutter, handled by the backend. Update the GLX
and EGL backends to retrieve and set the screen_num and n_screens members of
ClutterBackend using Xlib calls.
2007-04-19 15:26:28 +00:00
Emmanuele Bassi
72e6ec70f1 Add documentation to the new ClutterBackend API
Add API documentation for the new functions in ClutterBackend. Fixes
the resolution computation.
2007-04-19 15:25:53 +00:00
Emmanuele Bassi
cd39202f23 Add API for getting properties of the ClutterBackend
Add functions to retrieve some of the properties of the screen used by
the backend, like its dimensions (also physical, in millimeters); the
number of screens. Also add setters and getters for the double click
time (in milliseconds) and distance.
2007-04-19 15:25:34 +00:00
Emmanuele Bassi
65d1a65b49 2007-03-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-backend.c: Clear the event queue when
	disposing the backend object; remove the initialisation
	of the backend structure members...

	* clutter/glx/clutter-backend-glx.c: ... and keep it here
	in the backends where it belongs.
2007-03-23 23:57:24 +00:00
Emmanuele Bassi
d0f1186e1d 2007-03-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-private.h:
	* clutter/clutter-backend.h: Move the backend functions
	into the private header.

	* clutter/glx/clutter-stage-glx.c:
	* clutter/glx/clutter-event-glx.c:
	* clutter/clutter-main.c:
	* clutter/clutter-stage.c: Update the calls to the private
	backend functions.

	* clutter/clutter-backend.[ch]: Add an ::init_features
	vfunc to ClutterBackend.
2007-03-23 17:55:13 +00:00
Emmanuele Bassi
4bd3fa583e 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.
2007-03-22 18:21:59 +00:00