Commit Graph

9227 Commits

Author SHA1 Message Date
Emmanuele Bassi
246a84d528 Merge from stable: add XEMBED support
Add the XEMBED protocol support in the GLX backend, for embedding the
stage window into another X window. This allows cross-toolkit inclusion
and makes clutter-gtk possible.
2007-04-16 16:50:40 +00:00
Emmanuele Bassi
85d979fe78 Merge from stable: implement gravity in scale behaviour
Implement every ClutterGravity value inside the scale behaviour and make
the actors anchor to a gravity when scaling up and down.
2007-04-16 16:50:34 +00:00
Emmanuele Bassi
a80a330d0b Merge from stable: fix texture tiling
Revert to copying GdkPixbuf areas to correctly implement the texture
tiling. This fixes segmentation faults occurring with cards with a
small texture memory area.
2007-04-16 16:50:29 +00:00
Emmanuele Bassi
7359668c3d Freeze notification queue when changing multiple properties.
Call g_object_freeze_notify() (and take a reference on the actor) inside
clutter_actor_request_size() so that the notifications get unqueued at the
end of the size request.
2007-04-16 16:50:23 +00:00
Emmanuele Bassi
5e025f8e38 Add missing template files. 2007-04-16 16:50:15 +00:00
Emmanuele Bassi
173d38a284 Update changelogs for SVN merge. 2007-04-16 10:26:11 +00:00
Emmanuele Bassi
89f167eebd Return a ClutterBehaviour when splicing the b-spline behaviour. 2007-04-16 10:26:05 +00:00
Emmanuele Bassi
6f6950f4cc Add missing types and sections in the API documentation.
Fix the ClutterBehaviourBspline header file. Fix typos in
ClutterBehaviourRotate API documentation.
2007-04-16 10:25:53 +00:00
Emmanuele Bassi
05eedd6f8f Add ClutterBehaviourRotate section to the documentation. 2007-04-16 10:25:47 +00:00
Emmanuele Bassi
b76fb9804a Add API documentation to ClutterBehaviourRotate. Also add properties
handling.
2007-04-16 10:25:41 +00:00
Emmanuele Bassi
90ec410aef Add ClutterBehaviourRotate
Add initial implementation of a rotate behaviour; this behaviour rotates
actors along a chosen axis, with a chosen direction, between two angles.
Missing: API documentation and the implementation for the angle boundaries
setters (double and fixed API).
2007-04-16 10:25:30 +00:00
Emmanuele Bassi
bfacc08cc0 Hush compiler warning in ClutterBehaviourBspline.
Cast the knots to const ClutterKnot **; add type checks and use a variable
to hold the private pointer in order to kill off some of the indirections.
2007-04-16 10:25:25 +00:00
Emmanuele Bassi
1274e52f23 Use g_return_val_if_fail() in clutter_behaviour_is_applied().
Return FALSE if the parameters fail the ISA check, instead of returning void.
2007-04-16 10:25:19 +00:00
Tomas Frydrych
43593ab81f bezier spline behaviours 2007-04-12 12:42:07 +00:00
Matthew Allum
0085b75610 2007-04-07 Matthew Allum <mallum@openedhand.com>
* clutter/glx/clutter-backend-glx.c:
        Fix version check.
2007-04-07 21:01:49 +00:00
Tomas Frydrych
3944495569 fixed bug in fovy angle degree -> rad conversion, added glMultMatrixx() code 2007-03-29 11:30:30 +00:00
Tomas Frydrych
d1d746eab1 fixed typo in configure.ac; fixed point perspective() 2007-03-29 10:41:23 +00:00
Matthew Allum
120a489067 2007-03-27 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/Makefile.am:
        * clutter/cogl/cogl.h:
        * clutter/cogl/gles/Makefile.am:
        * clutter/cogl/gles/cogl.c:
        Begin poplulating cogl GLES code.

        * configure.ac:
        * clutter/egl/clutter-event-egl.c:
        * clutter/egl/clutter-stage-egl.c:
        * clutter/egl/clutter-stage-egl.h:
        * clutter/egl/clutter-backend-egl.c:
        * clutter/egl/clutter-backend-egl.h:
        * clutter/egl/clutter-egl.h:
        Add initial EGL/X backend work mostly ported from backend branch.
        Builds but untested as yet.

        * clutter/glx/clutter-stage-glx.c:
        Only include XFixes Header if we have have it.

        * clutter/clutter-behaviour.c: (clutter_behaviour_apply):
        * clutter/clutter-behaviour.h:
        Add clutter_behaviour_is_applied()
2007-03-27 21:09:11 +00:00
Emmanuele Bassi
9c8af2977d Remove the unused clutter_stage_flush() declaration, now that we
don't have the ClutterStage::flush vfunc anymore.
2007-03-27 11:20:59 +00:00
Emmanuele Bassi
57dfe85606 Fix 'Since' apidoc 2007-03-27 10:46:40 +00:00
Emmanuele Bassi
6663774c36 Ignore the clutter/cogl directory when building documentation, as it
is private API; remove the now private ClutterBackend API; add the
ClutterPerspective API to the documentation.
2007-03-27 09:39:00 +00:00
Emmanuele Bassi
219e97bda3 Reimplement the clutter_glx_set_stage_foreign() function, used to
set an existing X window as the window for the main stage.
2007-03-27 09:38:50 +00:00
Emmanuele Bassi
123dfb7886 Declare clutter_perspective_get_type() in the stage header. 2007-03-27 09:38:43 +00:00
Emmanuele Bassi
1833d77594 Add header and compiler guards. 2007-03-27 09:38:35 +00:00
Emmanuele Bassi
898f84c9c7 Do not check if the ClutterStageGlx parent paint vfunc is set: we
set it ourselves.
2007-03-27 09:38:27 +00:00
Matthew Allum
464f24fdc0 2007-03-27 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-feature.c:
        Rejig ifdef's a little. Make drm vblanking Linux only.

        * clutter/clutter-stage.c:
        * clutter/clutter-stage.h:
        Add a perspective boxed type.

        * clutter/glx/clutter-stage-glx.c:
        Add some FIXMEs

        * clutter/Makefile.am:
        * clutter/cogl/Makefile.am:
        * clutter/cogl/cogl.h:
        * clutter/cogl/gl/Makefile.am:
        * clutter/cogl/gl/cogl.c:
        * configure.ac:
        Very initial work on 'cogl' GL/GLES abstraction/utility code.
2007-03-26 23:18:39 +00:00
Emmanuele Bassi
f595460932 Add API for getting the scale bounds from a scale behaviour instance. 2007-03-25 22:37:28 +00:00
Emmanuele Bassi
f741107fcb Fix a dumb typo in last commit. 2007-03-25 22:37:21 +00:00
Emmanuele Bassi
6c7b0830b5 Lower the priority of the ClutterTimeline timeout function; this should
give the events queue processing a better slice of the main event loop.
2007-03-25 22:37:14 +00:00
Emmanuele Bassi
a88dfe3e7d Update ChangeLog for the last commit 2007-03-25 11:50:29 +00:00
Emmanuele Bassi
922aafbd2d Remove the unused ClutterEventFlags enum and the flags member of
the ClutterEvent structure. ClutterEvent objects are not added until
translated so they do not need a 'pending' state.
2007-03-25 11:48:02 +00:00
Emmanuele Bassi
e3ab4b5e08 Add clutter_get_default_backend() to the documentation 2007-03-25 11:47:53 +00:00
Emmanuele Bassi
831c5fd69e Update ChangeLog for SVN users 2007-03-25 11:47:48 +00:00
Emmanuele Bassi
4f39ee99d3 Really remove the flush vfunc from ClutterStagetClass 2007-03-25 11:47:43 +00:00
Emmanuele Bassi
fa93634d14 Move the get_actor_at_pos() inside ClutterStage, as it is pure
GL and not GLX. Removed the get_actor_at_pos() and flush() vfuncs
from ClutterStageClass: clutter_stage_flush() becomes the private
_clutter_stage_sync_viewport() function, which should only be used
internally.
2007-03-25 11:47:30 +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
0a112d5912 fix changelog for the last commit 2007-03-23 16:39:00 +00:00
Emmanuele Bassi
064d45266a 2007-03-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/glx/clutter-stage-glx.c:
	(clutter_stage_glx_allocate_coords): Make sure the top-left
	corner of the box is our origin.
2007-03-23 16:37:56 +00:00
Matthew Allum
810661f612 2007-03-23 Matthew Allum <mallum@openedhand.com>
* clutter/glx/clutter-stage-glx.c:
        (clutter_stage_glx_allocate_coords):
        Make new stage return correct width & height.
2007-03-23 16:35:18 +00:00
Emmanuele Bassi
83dafa5f9e 2007-03-23 Emmanuele Bassi <ebassi@openedhand.com>
Assorted build fixes to pass distcheck.

	* clutter/glx/Makefile.am: Install the clutter-glx.h header.

	* clutter/Makefile.am: Actually apply linker flags.

	* configure.ac: Use a more readable CLUTTER_API_VERSION instead
	of CLUTTER_MAJORMINOR; require gobject-2.0 with glib-2.0 >= 2.10,
	as we are using GObject and the slice allocator from glib 2.10.

	* clutter.pc.in: Add the apiversion variable.
2007-03-23 15:20:35 +00:00
Emmanuele Bassi
a694d6e154 2007-03-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-sections.txt: Remove duplicae symbol.
2007-03-23 15:20:19 +00:00
Emmanuele Bassi
26cd879acc always check changes in the build with a fresh checkout, you dolt 2007-03-23 11:37:39 +00:00
Emmanuele Bassi
89336e751f fix return value of the delete_event signal class handler 2007-03-23 10:00:47 +00:00
Emmanuele Bassi
fa88ede439 2007-03-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-event.c: Pop and peek the event queue
	from the tail - it's a queue, not a stack.

	* clutter/clutter-private.h:
	* clutter/clutter-main.c: Add a boolean signal accumulator.

	* clutter/clutter-stage.[ch]: Add an event argument to
	the 'delete-event' signal; rename the 'input-event' signal
	to 'event'; add the static scope flag to all the stage
	events.
2007-03-23 09:59:02 +00:00
Emmanuele Bassi
93d7454b37 2007-03-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-event.c: Pop and peek the event queue
	from the tail - it's a queue, not a stack.
2007-03-23 09:44:21 +00:00
Emmanuele Bassi
b9c9aaccb2 2007-03-22 Emmanuele Bassi <ebassi@openedhand.com>
* Makefile.am: Include the clutter-glx backend API.
2007-03-22 20:31:53 +00:00
Emmanuele Bassi
a1ea7d2051 2007-03-22 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-sections.txt: Update with the backend and API
	changes

	* Makefile.am: Don't check into the backend subdirs.
2007-03-22 20:23:29 +00:00
Emmanuele Bassi
26f1955463 2007-03-22 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.pc.in: Require gobject-2.0 too.

	* ChangeLog: Fix the previous commit log.
2007-03-22 20:04:28 +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