Commit Graph

1090 Commits

Author SHA1 Message Date
Neil J. Patel
214a2ead22 Added signal to track cursor movements\nMoved the curor painting function into the class functions so it can be sub-classed 2007-06-01 15:18:05 +00:00
Neil J. Patel
ac530eed12 Added a function to deal with ClutterKeyEvents. Handles the majority
of entry-related keyboard keys. However modifiers still need to be
        implemented.
2007-06-01 11:34:40 +00:00
Tomas Frydrych
e1a8434d64 Documentation updates 2007-06-01 10:00:35 +00:00
Neil J. Patel
e725b0c7fa Initial import of ClutterEntry, a text-entry actor 2007-05-31 18:33:42 +00:00
Tomas Frydrych
984ce646a5 fixed coordinance translation in clutter_actor_get_transformed_point 2007-05-31 18:22:41 +00:00
Tomas Frydrych
733de46f3b Fixed ellipse behaviour for negative angles; fixed double to int conversion for negative numbers; fixed CLUTTER_ANGLE_FROM_DEGX; added ClutterVertices and clutter_actor_get_transformed_vertices() 2007-05-31 09:29:12 +00:00
Matthew Allum
8310a87bfc 2007-05-31 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-behaviour-ellipse.c:
        Remove uneeded knot signal

        * clutter/clutter-behaviour-path.c:
        Fix so knot signal is emitted only when a knot is reached.

        * clutter/clutter-effect.c:
        * clutter/clutter-effect.h:
        Add a scale effect.

        * configure.ac:
        * doc/manual/Makefile.am:
        * doc/manual/clutter-manual.xml.in:
        * doc/manual/manual.xsl:
        * doc/manual/style.css:
        Add various bits for application developers manual.
2007-05-30 23:16:58 +00:00
Tomas Frydrych
5b0e0dbcbe removed ClutterSmoothstep type; renamed clutter_smoothstep_func to clutter_smoothstep_inc_func; added clutter_smoothstep_dec_func 2007-05-30 10:52:06 +00:00
Tomas Frydrych
bf8996215e ClutterBehaviourEllipse api changes; z_camera calculation 2007-05-25 12:07:24 +00:00
Tomas Frydrych
5e5d0bfd66 updated clutter-behaviour-ellipse.sgml template 2007-05-22 09:32:09 +00:00
Tomas Frydrych
a338a95796 removed ClutterReal; added clutter-units 2007-05-22 09:31:40 +00:00
Emmanuele Bassi
55388b8f50 Update ChangeLog (and fix last commit) 2007-05-17 12:07:17 +00:00
Emmanuele Bassi
b0395a1178 Remove ClutterLayout from the main branch 2007-05-17 12:03:43 +00:00
Tomas Frydrych
733a767657 added clutter_exp_inc_func() and clutter_exp_dec_func() 2007-05-17 07:09:24 +00:00
Emmanuele Bassi
507f04a8f6 Add base initialisation function
Add a semi-private function, called clutter_base_init(), which initialises
the basic Clutter functionalities (at the moment, just the GLib type system)
without calling in the backend-specific code. This function is only useful
for gtk-doc, to introspect the library when generating documentation for
signals, properties and class hierarchy.

Also, change the documentation build system to use clutter_base_init() when
launching the scanner program.
2007-05-16 15:00:41 +00:00
Tomas Frydrych
06bf2ddaef added clutter_sine_half_func() 2007-05-16 13:53:39 +00:00
Tomas Frydrych
9a10979e0f Fixed clutter_sine_inc_func(); added clutter_sine_dec_func() 2007-05-16 13:46:54 +00:00
Tomas Frydrych
9dfe31a542 implemented smoothstep alpha function 2007-05-16 11:32:50 +00:00
Tomas Frydrych
e61aed2146 cleaned up ClutterBehaviourEllipse api, added documentation 2007-04-30 08:39:20 +00:00
Emmanuele Bassi
a7a511ce79 2007-04-25 Emmanuele Bassi <ebassi@openedhand.com>
Merge from clutter.git/master

	* clutter/glx/clutter-event-glx.c:
	* clutter/glx/clutter-stage-glx.c: Implement the _NET_WM_PING
	protocol handling on the main stage window.

	* clutter/clutter-stage.h:
	* clutter/clutter-stage.c:
	* clutter/clutter-main.c: Handle CLUTTER_DELETE events internally,
	by calling clutter_main_quit(), and remove the ::delete-event
	signal from ClutterStage; clean up the signal emission sequence
	for the events: emit the ::event signal before emitting any signal
	and the ::event-after signal after the signal has been emitted; move
	the signal emission calls inside ClutterStage so we can call
	g_signal_emit() instead of g_signal_emit_by_name(), thus sparing us
	a lookup for each event.

	* examples/test.c: Remove ::delete-event signal handling.
2007-04-25 14:22:24 +00:00
Emmanuele Bassi
b2d01d86c2 Add support for WM_PROTOCOLS to the ClutterStage window
Supporting WM_PROTOCOLS allows handling the WM_DELETE_WINDOW ClientMessage,
which is then relayed to the ClutterStage actor in form of the "delete-event"
signal. Returning TRUE will block the propagation and won't close the
stage window.
2007-04-19 15:26:54 +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
ea0cd22e4b Add new ClutterBackend functions to the API documentation
Update the clutter-sections.txt to pick up the newly added functions.
2007-04-19 15:26:17 +00:00
Emmanuele Bassi
8b7504dea2 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-19 15:24:57 +00:00
Emmanuele Bassi
1722c6fec4 Add missing template files. 2007-04-19 15:22:49 +00:00
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
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
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
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
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
e3ab4b5e08 Add clutter_get_default_backend() to the documentation 2007-03-25 11:47:53 +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
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
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
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
Emmanuele Bassi
f52e6e9a20 2007-01-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-sections.txt: Add forgotten ClutterGroup API.
2007-01-18 12:36:43 +00:00
Emmanuele Bassi
39720f248b 2007-01-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-group.h: Add public functions
	clutter_group_get_n_children() and clutter_group_get_nth_child().

	* clutter/clutter-behaviour.h:
	* clutter/clutter-behaviour.c: Fix header alignment; fix argument
	name for apidoc.
2007-01-18 12:33:15 +00:00
Matthew Allum
f2291525fd Whoops fill in correct Changelog 2007-01-18 11:12:31 +00:00
Matthew Allum
8f8ad433b6 2007-01-18 Matthew Allum <mallum@openedhand.com>
* doc/reference/clutter-docs.sgml
        Update.
2007-01-18 11:11:18 +00:00
Tomas Frydrych
614cd7e895 documentation fixed for clutter-fixed 2007-01-18 10:33:24 +00:00
Emmanuele Bassi
763c7ca923 2007-01-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-sections.txt: Remove old cruft.

	* clutter-docs.sgml: Add index of symbols.

	* tmpl/clutter-fixed.sgml: Fix doc template.
2007-01-18 08:53:50 +00:00
Tomas Frydrych
7078dc5254 documentation for fixed point API 2007-01-17 16:00:00 +00:00
Emmanuele Bassi
9bd77e25b2 2007-01-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-feature.h:
	* clutter/clutter-feature.c: Move the GL headers from the
	header file to the body.

	* clutter/clutter-fixed.h:
	* clutter/clutter-fixed.c: Fix apidoc.

	* clutter/clutter-color.h:
	* clutter/clutter-color.c: Ditto.
2007-01-17 13:51:14 +00:00
Emmanuele Bassi
2f0737491b 2007-01-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-sections.txt: Remove clutter_vblank_method(): it's
	private.
2007-01-16 18:13:57 +00:00
Emmanuele Bassi
4e765d1a34 2007-01-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-feature.c: Use clutter_vblank_method() to
	get the VBlank method name from the environment variable OR
	the command line switch.

	(clutter_feature_do_init): Move the check on the features
	state here, to avoid an expensive function call, and inline
	the function.

	* clutter/clutter-fixed.c: Fix gtk-doc.

	* clutter/clutter-main.c: Add a --clutter-vblank command line
	switch controlling the VBlank method to be used: it overrides
	the CLUTTER_VBLANK environment variable.

	(pre_parse_hook), (clutter_init),
	(clutter_init_with_args): Move thread initialisation before
	type init, to avoid the warning that comes with newer GLib
	versions.

	* clutter/clutter-group.h:
	* clutter/clutter-group.c: Mark clutter_group_show_all() and
	clutter_group_hide_all() as deprecated.
2007-01-16 14:37:54 +00:00
Emmanuele Bassi
0033b539b8 2006-12-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-stage.[ch]:
	* clutter/clutter-event.[ch]: Revert changes; this is what
	happens when you keep old tree around.
2006-12-27 18:25:43 +00:00
Emmanuele Bassi
89de2fa269 2006-12-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-color.h:
	* clutter/clutter-color.c: Add clutter_color_to_string(),
	which creates a hex-encoded color string from a ClutterColor.
2006-12-27 18:19:34 +00:00
Emmanuele Bassi
9118c2ef99 2006-12-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-color.h:
	* clutter/clutter-color.c: Expose clutter_color_copy()
	and clutter_color_free() for the python bindings, so that
	they can manager the conversion automatically; use the
	slice allocator when copying/freeing a ClutterColor.
2006-12-14 22:19:08 +00:00
Emmanuele Bassi
2231c939d0 2006-12-13 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-sections.txt: Update.

	* tmpl/*.sgml: Update the templates.
2006-12-13 18:11:50 +00:00
Emmanuele Bassi
10fbfb1659 2006-12-12 Emmanuele Bassi <ebassi@openedhand.com>
Rework part of the show/hide machinery.  Allow groups sub-classes
	and composite actors to override show_all/hide_all in order to
	decide which children they wish to show/hide.  This means that
	if an actor overrides the default show/hide virtual methods, it'll
	have to chain up to the parent class show/hide.  While we're at it,
	provide the fully recursive clutter_actor_show_all() and
	clutter_actor_hide_all() methods.

	* clutter/clutter-behaviour-path.c: Add apidoc for the ClutterKnot
	functions; add pathological equality case for clutter_knot_equal().

	* clutter/clutter-event.h:
	* clutter/clutter-feature.h:
	* clutter/clutter-behaviour.c:
	* clutter/clutter-behaviour-scale.c:Fix parameters name so that
	gtk-doc doesn't complain.

	* clutter/clutter-actor.c:
	* clutter/clutter-event.c: Add apidoc

	* clutter/clutter-actor.h:
	* clutter/clutter-actor.c: Add a clutter_actor_show_all() and a
	clutter_actor_hide_all() functions; provide a mechanism for
	groups and composited actors to programmatically select what to
	show/hide when clutter_actor_show_all() and clutter_actor_hide_all()
	are called.  If you are overriding the ClutterActor::show or
	the ClutterActor::hide virtual methods you should chain up with
	the parent class.

	* clutter/clutter-group.c: Override show_all and hide_all and
	recursively show/hide every child inside the group;
	clutter_group_show_all() and clutter_group_hide_all() remain as non
	recursive versions of clutter_actor_show_all() and
	clutter_actor_hide_all() (maybe we should rename them in order
	to avoid name clashes with the bindings).

	* clutter/clutter-stage.c:
	* clutter/clutter-texture.c: Chain up with parent class show
	and hide vfuncs.

	* clutter/clutter-clone-texture.h:
	* clutter/clutter-clone-texture.c: Provide API for changing the
	parent texture of a clone texture actor.

	* examples/behave.c:
	* examples/super-oh.c:
	* examples/test.c: Use clutter_actor_show_all() instead of
	clutter_group_show_all().
2006-12-12 20:20:04 +00:00
Emmanuele Bassi
aa623df78f 2006-12-08 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour.h: Add a function prototype
	for the foreach function: we need something more specific
	than GFunc; add clutter_behaviour_get_actors(), used to
	get a list of the actors.

	* clutter/clutter-behaviour.c: Add debugging notes; add
	a warning for behaviour implementations missing the
	alpha_notify vfunc; add api documentation

	* clutter/clutter-behaviour-opacity.c:
	* clutter/clutter-behaviour-path.c:
	* clutter/clutter-behaviour-scale.c: Reimplement the
	alpha_notify functions using the new foreach function
	and, where possible, by directly iterating on the
	actors: this shaves off the number of recalculations
	of the property/alpha values, and the number of
	functions.
2006-12-08 16:12:52 +00:00
Emmanuele Bassi
b8b5d4e42c 2006-12-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-sections.txt: Update with the newly added API.

	* tmpl/clutter-event.sgml:
	* tmpl/clutter-fixed.sgml: Provide short and long descriptions.

	* tmpl/clutter-actor.sgml:
	* tmpl/clutter-alpha.sgml:
	* tmpl/clutter-behaviour-path.sgml:
	* tmpl/clutter-behaviour-scale.sgml:
	* tmpl/clutter-color.sgml:
	* tmpl/clutter-feature.sgml:
	* tmpl/clutter-main.sgml: Update templates.
2006-12-05 05:16:03 +00:00
Emmanuele Bassi
6d87b1479c 2006-12-04 Emmanuele Bassi <ebassi@openedhand.com>
Avoid clutter segfaulting when used without invoking
	clutter_init().  This is needed when using api documentation
	tools and every other tool relying on the GObject
	introspection API (esp. on a headless box).  see the
	note in clutter/clutter-feature.c:clutter_feature_init
	for a full explanation.

	* clutter/clutter-feature.c: Call clutter_feature_init()
	when needed by one of the accessors of the features
	structure.

	* clutter/clutter-main.c:
	* clutter/clutter-private.h: Remove clutter_feature_init()
	public declaration: the features support check is done the
	first time a feature is needed.

	* clutter/clutter-main.c: Do not ever access the clutter
	main context pointer directly; instead, obtain a pointer
	to it via clutter_context_get_default(), which will always
	return something valid.
2006-12-04 19:19:53 +00:00
Emmanuele Bassi
e4b9a507e3 2006-11-21 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Enable debug messages also when
	--enable-debug is set to "minimum".

	* clutter/Makefile.am:
	* clutter/clutter-debug.h: Move all debugging macros inside
	this private header; make all debug macros depend on the
	CLUTTER_ENABLE_DEBUG compile time define, controlled by
	the --enable-debug configure switch; add G_LOG_DOMAIN define.

	* clutter/clutter-main.c: Clean up the debug stuff; add
	command line argument parsing using GOption; the debug
	messages now are triggered like this:

	  CLUTTER_DEBUG=section:section:... clutter-app
	
	or like this:

	  clutter-app --clutter-debug=section:section:...
	
	where "section" is one of the sections listed in clutter-main.c,
	or "all", for all sections; each section is bound to a flag,
	which can be used to define a domain when adding a debug note
	using the CLUTTER_NOTE() macro; the old CLUTTER_DBG() macro is
	just a wrapper around that, under the CLUTTER_DEBUG_MISC domain;
	CLUTTER_NOTE() is used like this:

	  CLUTTER_NOTE (DOMAIN, log-function);
	
	where log function is g_printerr(), g_message(), g_warning(),
	g_critical() or directly g_log() - for instance:

	  CLUTTER_NOTE (PANGO, g_warning ("Cache miss: %d", glyph));

	will print the warning only if the "pango" flag has been
	set to the CLUTTER_DEBUG envvar or passed to the --clutter-debug
	command line argument.

	similar to CLUTTER_SHOW_FPS, there's also the --clutter-show-fps
	command line switch; also, the --display and --screen command
	line switches have been added: the first overrides the DISPLAY
	envvar and the second controls the X screen used by Clutter to
	get the root window on the display.

	* clutter/clutter-main.h:
	* clutter/clutter-main.c: Add extended support for GOption
	in Clutter; use clutter_init_with_args() to let Clutter
	parse your own command line arguments; use instead
	clutter_get_option_group() to get the GOptionGroup used by
	Clutter if you want to do the parsing yourself with
	g_option_context_parse(). The init sequence has been verified,
	updated and moved into common functions where possible.

	* clutter/pango/pangoclutter-render.c:
	* clutter/*.c: Include "clutter-debug.h" where needed; use
	CLUTTER_NOTE() instead of CLUTTER_DBG().

	* examples/super-oh.c: Use the new clutter_init_with_args()
	function, and add a --num-hands command line switch to
	the SuperOH example code controlling the number of hands at
	runtime.
2006-11-21 21:27:53 +00:00
Emmanuele Bassi
af0d04be7c 2006-11-20 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-rectangle.h:
	* clutter/clutter-rectangle.c: Add border to the ClutterRectangle
	actor; add "border-width", "border-color" and "has-border"
	properties, plus their accessors.  The border generation code is
	pretty lame, at the moment.

	* examples/behave.c: Add code to test the new rectangle properties.
2006-11-20 22:20:48 +00:00
Emmanuele Bassi
5cc29888af 2006-11-20 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/Makefile.am:
	* clutter/clutter.h:
	* clutter/clutter-version.h.in: Auto-generated versioning macros.

	* clutter/clutter-actor.h:
	* clutter/clutter-actor.c: Add a ClutterActor::parent-set signal,
	for notificating changes of an actor's parent; add api-doc for
	the actor's properties; add the ClutterActor "name" property; clean
	up a bit some functions; emit the "parent-set" signal when setting
	te parent and when unparenting; better warnings when lowering
	and raising an actor.

	* configure.ac:
	* clutter/Makefile.am: Add a --enable-debug configure option,
	with three levels of debugging: no, minimum and yes; default
	for development releases (odd minor version) is "yes"; update
	the version m4 defines; update the libtool macros: now just
	changed the clutter_interface_age when releasing will update
	everything else.
2006-11-20 12:02:24 +00:00
Emmanuele Bassi
c9b6a89d04 2006-11-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-path.h:
	* clutter/clutter-behaviour-path.c: Add "since" strings; add
	a "knot" property which can be used to append a knot to the path;
	fix apidoc.

	* clutter/clutter-alpha.c: Add "since" strings.

	* clutter/clutter-feature.c: Add apidoc.

	* clutter/clutter-behaviour-opacity.c: Add the "opacity-start"
	and "opacity-end" properties; rewrite constructor to use them.
2006-11-17 19:17:40 +00:00
Emmanuele Bassi
237496fa75 2006-11-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-path.h:
	* clutter/clutter-behaviour-path.c: Add a "knot-reached" signal,
	which is emitted when the path reaches a node in the nodes list;
	flesh out the documentation a bit; sync the parameters names
	so that gtk-doc doesn't complain about missing stuff.

	* clutter/clutter-behaviour.h:
	* clutter/clutter-behaviour.c: Add the alpha value to the
	ClutterBehaviour::alpha_notify vfunc, so you don't have to
	get the value from the alpha inside the behaviour implementations;
	add more documentation.

	* clutter/clutter-alpha.c: Flesh out the description.

	* clutter/clutter-actor.h: Update the header.

	* clutter/clutter-behaviour-opacity.c:
	* clutter/clutter-behaviour-scale.c: Update docs.
2006-11-17 18:45:31 +00:00
Emmanuele Bassi
252368901f 2006-11-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-private.h:
	* clutter/clutter-actor.c: Implement the defined
	clutter_actor_reparent() method; call unrealize
	when unparenting an actor.
2006-11-16 00:24:23 +00:00
Emmanuele Bassi
734f808fbc 2006-11-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-alpha.h:
	* clutter/clutter-alpha.c: Add a data parameter to
	the ClutterAlphaFunc; add a data+destroy parameter
	to clutter_alpha_set_func() and to clutter_alpha_new(),
	and turned the latter into clutter_alpha_new_full();
	add a simple, empty constructor clutter_alpha_new().

	These changes makes writing bindings a tad more easy,
	as bindings require passing their own functions in
	order to call the real alpha function.

	* clutter/clutter-behaviour.h: Clean up the header.

	* clutter/clutter-behaviours.[ch]:
	* clutter/clutter-behaviour-opacity.[ch]:
	* clutter/clutter-behaviour-path.[ch]:
	* clutter/clutter-behaviour-scale.[ch]: Split the
	ClutterBehaviourPath, ClutterBehaviourOpacity and
	ClutterBehaviourScale into their own files as they
	have been growing a bit. Fix ClutterBehaviourPath
	API.

	* clutter/clutter-media.h: Remove the commented
	"metadata_available" signal: gtk-doc chokes up on that.

	* clutter/clutter-timeline.h:
	* clutter/clutter-timeline.c: Remove the useless
	ClutterTimelineAlphaFunc signature; add missing accessor
	methods for the properties; clean up a bit.

	* clutter/clutter-util.h:
	* clutter/clutter-util.c: Remove unneeded function
	clutter_util_can_create_texture().

	* clutter/clutter-feature.h: Sync the name of
	clutter_feature_get_all() with the name declared
	in clutter-feature.h.

	* clutter/Makefile.am:
	* clutter/clutter.h: Update.

	* examples/behave.c: Update to the new ClutterAlpha
	constructor.

	* examples/super-oh.c: Use the right pointer and avoid
	the compiler making a fuss about it.
2006-11-15 23:37:53 +00:00
Emmanuele Bassi
3f62c72d07 2006-11-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-alpha.h:
	* clutter/clutter-alpha.c: ClutterAlpha is an initially
	floating object, as it makes sense only when bound to
	a ClutterBehaviour; add checks for public API.

	* clutter/clutter-behaviour.h:
	* clutter/clutter-behaviour.c: Remove the ClutterBehaviour
	constructor: ClutterBehaviour is an abstract class which
	must be implemented by subclassing; add checks for public
	API; unref the actors on finalize; sink the ClutterAlpha
	object.

	* clutter/clutter-behaviours.h: ClutterKnot is a boxed
	type: add the _get_type() function declaration and the
	type macro.
2006-11-14 14:12:56 +00:00
Emmanuele Bassi
164367e547 2006-09-14 Emmanuele Bassi <ebassi@openedhand.com>
D tmpl/clutter-video-texture.sgml

	* clutter-sections.txt:
	* clutter.types: Remove ClutterVideoTexture.
2006-09-14 17:34:59 +00:00
Jorn Baayen
458b4b47a7 2006-08-30 Jorn Baayen <jorn@openedhand.com>
* README:
	* clutter/Makefile.am:
	* clutter/clutter-audio.c:
	* clutter/clutter-audio.h:
	* clutter/clutter-main.c: (clutter_init):
	* clutter/clutter-media.c:
	* clutter/clutter-media.h:
	* clutter/clutter-video-texture.c:
	* clutter/clutter-video-texture.h:
	* clutter/clutter.h:
	* configure.ac:
	* examples/Makefile.am:
	* examples/README:
	* examples/video-cube.c:
	* examples/video-player.c:
	* gst/Makefile.am:
	* gst/clutterimagesink.:
	* gst/clutterimagesink.c:
	* gst/clutterimagesink.h:
	* gtk/Makefile.am:

	Remove gstreamer bits. There live in clutter-gst now.
2006-08-30 13:48:48 +00:00
Emmanuele Bassi
be1a805e3b 2006-07-06 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-sections.txt: Add clutter_actor_has_clip() and
	clutter_actor_unparent().
2006-07-06 18:55:25 +00:00
Emmanuele Bassi
5fa9fc161b 2006-07-06 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.h:
	* clutter/clutter-actor.c:
	
	(clutter_actor_class_init), (clutter_actor_set_property),
	(clutter_actor_get_property): Add the "clip" and "has-clip"
	properties.

	(clutter_actor_set_clip), (clutter_actor_remove_clip): Emit
	the notification for the changed properties.

	(clutter_actor_has_clip): Simple accessor to the "has-clip"
	property.
2006-07-06 18:12:19 +00:00
Emmanuele Bassi
212c4a0ee8 2006-07-06 Emmanuele Bassi <ebassi@openedhand.com>
Big rework of the actor management semantics: now ClutterActor
	objects behave like GtkObjects - that is they have an initial
	"floating" reference that gets "sunk" when they are added to
	a ClutterGroup.  This makes a group responsible of de-allocating
	each actor inside it, so you just have to destroy the group to
	get every child actor destroyed.  Also, now you can do:

	  clutter_group_add (group, clutter_video_texture_new ());
	
	without having to care about reference counting and explicit
	unreffing.

	* clutter/clutter-private.h: Add private flags setter and
	getter macros.

	* clutter/clutter-actor.h:
	* clutter/clutter-actor.c: Clean up; inherit from GInitiallyUnowned;
	add a "visible" property; add the "destroy", "show" and "hide"
	signals to ClutterActorClass.

	(clutter_actor_show), (clutter_actor_hide): Refactor a bit; emit
	the "show" and "hide" signals.

	(clutter_actor_set_property), (clutter_actor_get_property),
	(clutter_actor_class_init): Implement the "visible" property; add
	signals.

	(clutter_actor_finalize): Do not leak the actor's name, if it is
	set.
	
	(clutter_actor_dispose): Emit the "destroy" signal here.

	(clutter_actor_init): Sink the initial floating flag if needed.

	(clutter_actor_destroy): Add a function to explicitely destroy
	a ClutterActor.

	(clutter_actor_set_parent), (clutter_actor_get_parent),
	(clutter_actor_unparent): Make set_parent require a valid parent;
	add unparent; check on get_parent; ref_sink the actor when
	setting its parent and unref it when unsetting it.  Probably we'll
	need a function that does reparenting as unparent+set_parent in
	a single shot.

	* clutter/clutter-group.h:
	* clutter/clutter-group.c (clutter_group_dispose),
	(clutter_group_finalize), (clutter_group_add),
	(clutter_group_remove): Make the group destroy its children when
	disposing it; clean up, and use the newly-available
	clutter_actor_unparent().

	* clutter/clutter-stage.h:
	* clutter/clutter-stage.c (clutter_stage_init): ClutterStage is
	a top-level actor; clean up.

	* clutter/clutter-video-texture.h:
	* clutter/clutter-video-texture.c: Clean up.

	* examples/super-oh.c:
	* examples/test.c:
	* examples/video-player.c:
	* examples/test-text.c:
	* examples/video-cube.c: Remove the g_object_unref() call, as the
	ClutterStage object is destroyed on clutter_main_quit().
2006-07-06 17:52:57 +00:00
Matthew Allum
f2ecb3745c 2006-06-22 Matthew Allum <mallum@openedhand.com>
* web/index.html:
        Add Pango ref, authors info.
2006-06-22 15:27:42 +00:00
Iain Holmes
3d95e12687 Fix typos...74% 2006-06-22 13:56:04 +00:00
Iain Holmes
29353fc8eb iRemove clutter_util_can_create_texture 2006-06-22 13:49:42 +00:00
Iain Holmes
23cf8a892b More docs 2006-06-22 13:44:47 +00:00
Ross Burton
6113678457 2006-06-22 Ross Burton <ross@openedhand.com>
* tmp/*.sgml:
	Add lots of "no public members" and document some signals.
2006-06-22 13:39:34 +00:00
Iain Holmes
ae1eccdc6d Fix typos and move *_get_type t private sections
--his line, and those below, will be ignored--

M    clutter/clutter-actor.c
M    ChangeLog
M    doc/reference/clutter-sections.txt
M    doc/reference/ChangeLog
M    doc/reference/tmpl/clutter-enum-types.sgml
M    doc/reference/tmpl/clutter-color.sgml
M    doc/reference/tmpl/clutter-event.sgml
M    doc/reference/tmpl/clutter-group.sgml
2006-06-22 13:05:45 +00:00
Emmanuele Bassi
33d0c989ca 2006-06-22 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-timeline.h:
	* clutter/clutter-timeline.c: Add a "started" and a "paused"
	signals; add more sanity checks on the public functions.
	
	(clutter_timeline_get_loop): Add a getter function for the
	loop property.

	* clutter/clutter-marshal.list: Add marshallers.

	* clutter/clutter-timeline.h:
	* clutter/clutter-actor.h: Add padding for future expansion
	without breaking ABI.
2006-06-22 12:05:51 +00:00
Emmanuele Bassi
03122efbcb 2006-06-22 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-docs.sgml: Fix typos.
2006-06-22 09:29:35 +00:00
Ross Burton
1de2aebe48 2006-06-22 Ross Burton <ross@openedhand.com>
* tmpl/clutter-group.sgml:
	Fix braindead source parser.
2006-06-22 09:25:12 +00:00
Ross Burton
70b0ee6c1e 2006-06-22 Ross Burton <ross@openedhand.com>
* clutter.sections.txt:
	* clutter-sections.txt:
	Rename . to -, and add missing class members.

	* tmpl/*:
	Resync
2006-06-22 09:19:11 +00:00
Matthew Allum
83671f4b52 2006-06-22 Matthew Allum <mallum@openedhand.com>
* clutter-docs.sgml:
        Add copyright info.
2006-06-22 09:06:24 +00:00
Matthew Allum
2ccbe3001f 2006-06-22 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-main.h:
        Remove bogus xvisual call.
2006-06-22 08:40:37 +00:00
Iain Holmes
f4eee9ad3a Some more docs 2006-06-21 23:02:20 +00:00
Matthew Allum
c39b868aeb 2006-06-22 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        * clutter/clutter-clone-texture.c:
        * clutter/clutter-color.c:
        * clutter/clutter-event.c:
        * clutter/clutter-group.c:
        * clutter/clutter-label.c:
        * clutter/clutter-main.c:
        * clutter/clutter-media.c:
        * clutter/clutter-rectangle.c:
        * clutter/clutter-stage.c:
        * clutter/clutter-texture.c:
        * clutter/clutter-timeline.c:
        * clutter/clutter-util.c:
        * clutter/clutter-video-texture.c:
        * configure.ac:
        Documentation updates - add section headers.
2006-06-21 22:34:25 +00:00
Emmanuele Bassi
1b7b2bc573 2006-06-21 Emmanuele Bassi <ebassi@openedhand.com>
* examples/video-cube.c (main): Quit on key press.
2006-06-21 17:25:14 +00:00
Emmanuele Bassi
c8d963f80d 2006-06-21 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/Makefile.am:
	* bindings/python/Makefile.am:
	* Makefile.am: Fix distcheck
2006-06-21 15:54:46 +00:00
Matthew Allum
df92202c5f 2006-06-13 Matthew Allum <mallum@openedhand.com>
* clutter/Makefile.am:
        * clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        * clutter/clutter-clone-texture.c:
        * clutter/clutter-clone-texture.h:
        * clutter/clutter-element.c:
        * clutter/clutter-element.h:
        * clutter/clutter-group.c:
        * clutter/clutter-group.h:
        * clutter/clutter-label.c:
        * clutter/clutter-label.h:
        * clutter/clutter-main.c:
        * clutter/clutter-main.h:
        * clutter/clutter-rectangle.c:
        * clutter/clutter-rectangle.h:
        * clutter/clutter-stage.c:
        * clutter/clutter-stage.h:
        * clutter/clutter-texture.c:
        * clutter/clutter-texture.h:
        * clutter/clutter-video-texture.c:
        * clutter/clutter-video-texture.h:
        * clutter/clutter.h:
        * examples/super-oh.c:
        * examples/test-text.c:
        * examples/test-video.c:
        * examples/test.c:
        * examples/video-cube.c:
        * gtk/gtk-clutter-test.c:
        * gtk/gtk-clutter.c:
        * gtk/gtk-clutter.h:
        Element to Actor Renaming.
2006-06-13 13:17:45 +00:00
Emmanuele Bassi
f6fe9e7412 2006-06-05 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-color.h:
	* clutter-color.c: Reimplement ClutterColor as a boxed type;
	add convenience API for color handling, like: add, subtract,
	shade, HSL color-space conversion, packing and unpacking.

	* clutter-private.h: Update ClutterMainContext, and export the
	main context pointer here.

	* clutter-rectangle.h:
	* clutter-rectangle.c: Update the color-related code; make
	clutter_rectangle_new() and empty constructor and provide
	clutter_rectangle_new_with_color(); provide color setter
	and getter API.

	* clutter-label.h:
	* clutter-label.c: Rename the "font" property to "font-name";
	update the color-related code to the new ClutterColor object;
	rename clutter_label_new() to clutter_label_new_with_text(),
	and add setters and getters for the properties.

	* clutter-marshal.list: Add VOID:OBJECT and VOID:BOXED marshallers
	generators.

	* clutter-stage.h:
	* clutter-stage.c: Rework the API: provide a default constructor
	for a singleton object, named clutter_stage_get_default(), which
	supercedes the clutter_stage() function in clutter-main; provide
	new events: button-press-event, button-release-event,
	key-press-event and key-release-event; update the color-related
	code;

	(clutter_stage_snapshot): Allow negative width and height when
	taking a snapshot (meaning: use full width/height).

	(clutter_stage_get_element_at_pos): Rename clutter_stage_pick().

	* clutter-element.c (clutter_element_paint): Clean up the
	stage and color related code.

	* clutter-event.h:
	* clutter-event.c: Add generic ClutterAnyEvent type; add
	clutter_event_new(), clutter_event_copy() and clutter_event_free();
	make ClutterEvent a boxed type.

	* clutter-main.h:
	* clutter-main.c: Remove clutter_stage(); add clutter_main_quit(),
	for cleanly quitting from clutter_main(); add multiple mainloops
	support; allocate the ClutterCntx instead of adding it to the
	stack; re-work the ClutterEvent dispatching.

	* clutter-group.c (clutter_group_add), (clutter_group_remove): Keep
	a reference on the element when added to a ClutterGroup.

	* examples/rects.py
	* examples/test.c:
	* examples/test-text.c:
	* examples/video-cube.c:
	* examples/super-oh.c:
	* examples/test-video.c: Update.
2006-06-05 13:38:31 +00:00
Matthew Allum
342ea125f1 Merge gobject-branch into trunk 2006-05-29 08:59:36 +00:00