Go to file
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
clutter 2006-07-06 Emmanuele Bassi <ebassi@openedhand.com> 2006-07-06 17:52:57 +00:00
doc 2006-07-06 Emmanuele Bassi <ebassi@openedhand.com> 2006-07-06 17:52:57 +00:00
examples 2006-07-06 Emmanuele Bassi <ebassi@openedhand.com> 2006-07-06 17:52:57 +00:00
gst Merge gobject-branch into trunk 2006-05-29 08:59:36 +00:00
gtk 2006-06-22 Matthew Allum <mallum@openedhand.com> 2006-06-22 08:40:37 +00:00
AUTHORS 2006-06-14 Matthew Allum <mallum@openedhand.com> 2006-06-13 22:29:51 +00:00
autogen.sh Merge gobject-branch into trunk 2006-05-29 08:59:36 +00:00
ChangeLog 2006-07-06 Emmanuele Bassi <ebassi@openedhand.com> 2006-07-06 17:52:57 +00:00
clutter.pc.in 2006-06-08 Iain Holmes <iain@openedhand.com> 2006-06-08 22:19:32 +00:00
configure.ac 2006-06-23 Ross Burton <ross@openedhand.com> 2006-06-23 11:36:54 +00:00
COPYING Merge gobject-branch into trunk 2006-05-29 08:59:36 +00:00
Makefile.am 2006-06-23 Ross Burton <ross@openedhand.com> 2006-06-23 11:36:54 +00:00
NEWS 2006-06-22 Matthew Allum <mallum@openedhand.com> 2006-06-22 14:57:25 +00:00
README 2006-06-14 Matthew Allum <mallum@openedhand.com> 2006-06-13 22:29:51 +00:00
TODO 2006-06-20 Matthew Allum <mallum@openedhand.com> 2006-06-20 20:29:45 +00:00

Clutter README.
===============

Clutter aims to give a nice easy GObject based API for creating fast,
mainly 2D single window stylalised applications such as media box
UI's, presentaions, kiosk style apps etc. It uses OpenGL for rendering.

Its not meant to be a full featured GUI toolkit for regular desktop
apps nor provide a general interface to *all* openGL functionality.

It currently uses fairly low end GL functionality with an aim to still
work well on open source graphics drivers as well as possibly making
an eventual GL ES port feasable.

Clutter currently requires GLib >= 2.8, GdkPixbuf, Gstreamer 0.10 and
OpenGL >= 1.2. Its also recommended you have some kind of working
hardware OpenGL on your target system.

Clutter is LGPL licensed.

If you want to hack on and improve clutter check the TODO file.