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.
This commit is contained in:
Emmanuele Bassi
2007-03-22 18:21:59 +00:00
parent 15970bba9b
commit 4bd3fa583e
46 changed files with 4361 additions and 2851 deletions

View File

@ -77,7 +77,7 @@ expand_content_files=
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
INCLUDES=-I$(top_srcdir) $(CLUTTER_CFLAGS)
GTKDOC_LIBS=$(top_builddir)/clutter/libclutter-@CLUTTER_MAJORMINOR@.la $(CLUTTER_LIBS)
GTKDOC_LIBS=$(top_builddir)/clutter/libclutter-@CLUTTER_FLAVOUR@-@CLUTTER_MAJORMINOR@.la $(CLUTTER_LIBS)
# This includes the standard gtk-doc make rules, copied by gtkdocize.
include $(top_srcdir)/gtk-doc.make

View File

@ -29,6 +29,7 @@ Windowing events handled by Clutter.
@CLUTTER_BUTTON_PRESS:
@CLUTTER_2BUTTON_PRESS:
@CLUTTER_BUTTON_RELEASE:
@CLUTTER_STAGE_STATE:
<!-- ##### STRUCT ClutterAnyEvent ##### -->
<para>
@ -122,51 +123,6 @@ Windowing events handled by Clutter.
@Returns:
<!-- ##### FUNCTION clutter_button_event_time ##### -->
<para>
</para>
@buttev:
@Returns:
<!-- ##### FUNCTION clutter_button_event_x ##### -->
<para>
</para>
@buttev:
@Returns:
<!-- ##### FUNCTION clutter_button_event_y ##### -->
<para>
</para>
@buttev:
@Returns:
<!-- ##### FUNCTION clutter_key_event_time ##### -->
<para>
</para>
@keyev:
@Returns:
<!-- ##### FUNCTION clutter_key_event_state ##### -->
<para>
</para>
@keyev:
@Returns:
<!-- ##### FUNCTION clutter_key_event_symbol ##### -->
<para>

View File

@ -32,9 +32,8 @@ Error codes for the Clutter initialisation process.
@CLUTTER_INIT_SUCCESS: Clutter was successfully initialised
@CLUTTER_INIT_ERROR_UNKOWN: Unknown error while initialising Clutter
@CLUTTER_INIT_ERROR_THREADS: Unable to initialise threading
@CLUTTER_INIT_ERROR_DISPLAY: Unable to open the X display
@CLUTTER_INIT_ERROR_BACKEND:
@CLUTTER_INIT_ERROR_INTERNAL: Internal Clutter error
@CLUTTER_INIT_ERROR_OPENGL: Unable to initialise OpenGL
<!-- ##### FUNCTION clutter_init ##### -->
<para>
@ -97,38 +96,6 @@ Error codes for the Clutter initialisation process.
<!-- ##### FUNCTION clutter_xdisplay ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION clutter_xscreen ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION clutter_root_xwindow ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION clutter_want_debug ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION clutter_threads_enter ##### -->
<para>

View File

@ -23,6 +23,21 @@ clutter-media
</para>
<!-- ##### SIGNAL ClutterMedia::eos ##### -->
<para>
</para>
@cluttermedia: the object which received the signal.
<!-- ##### SIGNAL ClutterMedia::error ##### -->
<para>
</para>
@cluttermedia: the object which received the signal.
@arg1:
<!-- ##### ARG ClutterMedia:buffer-percent ##### -->
<para>

View File

@ -90,12 +90,12 @@ Macro evaluating to the height of the #ClutterStage
</para>
<!-- ##### ARG ClutterStage:fullscreen ##### -->
<!-- ##### ARG ClutterStage:cursor-visible ##### -->
<para>
</para>
<!-- ##### ARG ClutterStage:hide-cursor ##### -->
<!-- ##### ARG ClutterStage:fullscreen ##### -->
<para>
</para>
@ -111,12 +111,19 @@ Macro evaluating to the height of the #ClutterStage
</para>
@parent_class:
@set_fullscreen:
@set_cursor_visible:
@set_offscreen:
@get_actor_at_pos:
@draw_to_pixbuf:
@flush:
@input_event:
@button_press_event:
@button_release_event:
@key_press_event:
@key_release_event:
@motion_event:
@stage_state_event:
@_clutter_stage1:
@_clutter_stage2:
@_clutter_stage3:
@ -132,25 +139,6 @@ Macro evaluating to the height of the #ClutterStage
@Returns:
<!-- ##### FUNCTION clutter_stage_get_xwindow ##### -->
<para>
</para>
@stage:
@Returns:
<!-- ##### FUNCTION clutter_stage_set_xwindow_foreign ##### -->
<para>
</para>
@stage:
@xid:
@Returns:
<!-- ##### FUNCTION clutter_stage_set_color ##### -->
<para>
@ -193,12 +181,3 @@ Macro evaluating to the height of the #ClutterStage
@Returns:
<!-- ##### FUNCTION clutter_stage_get_xvisual ##### -->
<para>
</para>
@stage:
@Returns:

View File

@ -17,21 +17,6 @@ clutter-util
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION clutter_util_trap_x_errors ##### -->
<para>
</para>
<!-- ##### FUNCTION clutter_util_untrap_x_errors ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION clutter_util_next_p2 ##### -->
<para>