Commits

Reid van Melle  committed dd8cc07

Revamped the entire build system
- moved clutter dir --> src dir
- got most of the tests and examples working again
- moved stuff from clutter-cairo --> main src dir
- still not totally happy with the building and configuration

  • Participants
  • Parent commits 7d03c45

Comments (0)

Files changed (162)

-2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>
+2008-07-30  Reid van Melle  <rvanmelle@gmail.com>
 
-	Merge from pyclutter-0-6.
+	Initial version.
 
-	Bug #923 - Clutter.Color() undesired results on amd64 platform
 
-	* clutter/clutter-color.override: Use 'B' as the parser
-	format for the Color components. (Julius Caro, Tommi Komulainen)
-
-2008-04-24  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	Merge from pyclutter-0-6
-
-	* clutter-cairo/cluttercairo.defs: Add the new API from
-	clutter-cairo >= 0.7
-
-	* clutter-cairo/cluttercairo.override: Wrap the cairo context
-	into a PyObject inheriting from pangocairo.CairoContext; this
-	allows wrapping clutter_cairo_set_source_color(). Fix the
-	methods returning a cairo_t* in C to return a cluttercairo
-	CairoContext instead.
-
-	* clutter-cairo/cluttercairomodule.c: Remove cruft.
-
-	* examples/cairo-texture.py: Use cluttercairo.CairoContext's
-	method set_source_color() to test the extension of the pangocairo
-	CairoContext class.
-
-2008-04-24  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* configure.ac: Bump to 0.7.0
-
-2008-04-15  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* configure.ac: Post-release bump to 0.6.3
-
-2008-04-15  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* docs/reference/clutter-cluttertimeline.xml: Add more
-	documentation to the clutter.Timeline page.
-
-2008-04-15  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* README: Update the README with the revised dependency
-	from the previous commit.
-
-2008-04-15  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* configure.ac: Keep requiring python 2.4. We'll move
-	to python 2.5 in 0.7/0.8 to keep the stable cycle, well,
-	stable.
-
-2008-04-15  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	Bug #841 - pyclutter shader API doesn't seem to work
-
-	* clutter/__init__.py: Change the dlopen() flags; this should
-	fix the dlopen() errors that happen with nvidia cards. (thanks
-	to Blake Ramsdell)
-
-2008-04-15  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* INSTALL: Remove from revision control.
-
-	* README: Make the build time dependencies more explicit.
-
-	* autogen.sh: Prepare for the (future) switch to automake-1.10
-
-	* configure.ac: Fail if we don't find python 2.5, instead
-	of silently ignoring it.
-
-2008-03-06  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* tidy/Makefile.am: Add tidy-types.defs to the dist.
-
-2008-03-03  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* docs/Makefile.am:
-	* docs/reference/clutter-cluttertimeline.xml:
-	* docs/reference/clutter-ref.xml: Add initial page for
-	clutter.Timeline in the PyClutter API reference.
-
-2008-02-29  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* configure.ac: Post release bump to 0.6.1 - I should have done
-	this earlier.
-
-2008-02-26  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-behaviour.override: Update the BehaviourEllipse
-	constructor, so that the alpha parameter is marked as optional,
-	like for the other behaviours.
-
-2008-02-26  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* configure.ac: Require python2.5; anything older is probably
-	broken, leaking or worse.
-
-2008-02-25  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter.override: Fix error message for clutter.Stage()
-
-	* tidy/tidy-types.defs:
-	* tidy/tidy.override:
-	* tidy/tidymodule.c: Make tidy bindings actually work.
-
-2008-02-19  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* NEWS:
-	* README:
-	* configure.ac: Release 0.6.0
-
-2008-02-19  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* docs/Makefile.am: Update documentation build to be shipped
-	with the tarball and be installed in the right place.
-
-2008-02-19  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/__init__.py: Add more deprecation warnings
-
-2008-02-19  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* tidy/Makefile.am: Add clutter/ to the includes
-
-	* tidy/tidy-types.defs:
-	* tidy/tidy.defs: Update with the latest types/APIs
-
-	* tidy/tidy.override: Include pyclutter.h and ignore more
-	functions.
-
-2008-02-19  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/deprecation.py: Add a modified copy of the deprecation
-	module from gtk.
-
-	* clutter/Makefile.am: Add deprecation.py to the installed
-	modules.
-
-	* clutter/__init__.py: Make the initialization more safe, and
-	add the deprecation warning for clutter.stage_get_default().
-
-	* clutter/cluttermodule.c (init_clutter): Create the
-	DeprecationWarning and Warning exceptions in the clutter module.
-
-2008-02-18  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base.defs: Add missing
-	clutter_actor_box_get_from_vertices(); we do not wrap it yet,
-	as it needs some pythonization first.
-
-	* clutter/clutter.override: Override clutter.Stage.set_key_focus()
-	to accept None to give back the key focus to the stage.
-
-	* examples/entry.py: Add entry example, from Florent Thiery.
-
-2008-02-16  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* Makefile.am:
-	* configure.ac: Add tidy submodule; make all the submodules
-	depend on a --with configure switch, to make possible trimming
-	down the build.
-
-	* tidy/Makefile.am:
-	* tidy/tidy-types.defs:
-	* tidy/tidy.defs:
-	* tidy/tidy.override:
-	* tidy/tidymodule.c: Add initial Tidy bindings; roughly 80%
-	coverage (TidyStyle/TidyStylable is missing).
-
-2008-02-16  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-actor.override:
-	* clutter/clutter-base.defs: Add new relative transformation
-	API from Clutter core.
-
-2008-02-16  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* Makefile.am:
-	* configure.ac: Fill in the pyclutter pkg-config file and
-	install it in the right place.
-
-	* clutter/clutter-base.defs: Wrap clutter.texture_from_actor().
-
-	* clutter/pyclutter.c:
-	(pyclutter_callback_invoke), (pyclutter_alpha_func),
-	(pyclutter_effect_complete): Fix reference counting bugs
-	that caused alpha functions to leak. (#797, Tero Saarni)
-
-2008-02-11  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* NEWS:
-	* README: Release 0.5.2.
-
-2008-02-11  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* docs/Makefile.am:
-	* docs/reference/clutter-cluttertexture.xml:
-	* docs/reference/clutter-ref.xml: Add initial clutter.Texture
-	API reference.
-
-	* docs/reference/clutter-cluttercontainer.xml: Fix indentation
-	and typos.
-
-2008-02-10  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* docs/reference/clutter-cluttercontainer.xml: Finish the
-	clutter.Container API reference.
-
-2008-02-10  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-effect.override: Commit a fix for the
-	clutter.effect_scale() override that has been sittin in my
-	tree for days.
-
-2008-02-10  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* docs/reference/clutter-ref.xml: Add copyright and remove authors.
-
-2008-02-10  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base.defs: Mark the sibling argument in
-	clutter.Container.raise_child() and .lower_child() as optional;
-	by looking at the autogenerated code it seems that pycodegen
-	doesn't care, though.
-
-	* docs/reference/clutter-clutteractor.xml:
-	* docs/reference/clutter-clutterrectangle.xml: Fix some references.
-
-	* docs/Makefile.am:
-	* docs/reference/clutter-ref.xml:
-	* docs/reference/clutter-cluttercontainer.xml:
-	* docs/reference/clutter-cluttergroup.xml: add clutter.Group
-	and clutter.Container sections. clutter.Container is not finished.
-
-2008-02-10  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base.defs: Allow passing a clutter.Color when
-	constructing a rectangle.
-
-	* docs/Makefile.am:
-	* docs/reference/clutter-clutteractor.xml:
-	* docs/reference/clutter-cluttercolor.xml:
-	* docs/reference/clutter-clutterrectangle.xml:
-	* docs/reference/clutter-ref.xml: Add clutter.Rectangle reference.
-
-2008-02-10  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* docs/reference/clutter-clutteractor.xml: Add signals documentation
-	for clutter.Actor. (Daniel Schierbeck)
-
-2008-02-08  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-event.override: Fix modifier_state member
-	typo. (#748, Havoc Pennington)
-
-2008-02-08  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* configure.ac: Rename --enable-doc to --enable-docs, and
-	default it to "no" when building a developers snapshot.
-
-2008-02-07  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* examples/script.py: Add more checks.
-
-2008-02-07  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-script.override: Let pyclutter pick up
-	clutter.Script.connect_signals()
-
-	* clutter/clutter.override: Override clutter.Score.append()
-	so that the optional parent goes at the end of the arguments
-	tuple.
-
-	* examples/script.py: Add an example of clutter.Script.
-
-2008-02-06  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base.defs: Add the new move_anchor_point()
-	and move_anchor_point_from_gravity() methods.
-
-	* docs/Makefile.am: Fix indentation for the pdf generation; it
-	still doesn't quite work, unfortunately.
-	
-	* examples/Makefile.am:
-	* examples/test-scale.py: Add test-scale.py, exercising the
-	scale behaviour and the anchor point API
-
-	* examples/behave.py:
-	* examples/cairo-texture.py:
-	* examples/rects.py:
-	* examples/super-oh.py:
-	* examples/videosink.py: Update to clutter.Stage().
-
-2008-02-06  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* docs/Makefile.am: Fix the fixxref call.
-
-	* docs/reference/clutter-clutteractor.xml:
-	* docs/reference/clutter-cluttercolor.xml:
-	* docs/reference/clutter-overview.xml:
-	* docs/reference/clutter-ref.xml: More documentation: add the
-	overview from Clutter core and more descriptions on methods
-	properties and signals. (Daniel Schierbeck) 
-
-2008-02-06  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base.defs:
-	* clutter/clutter.override: Wrap clutter_stage_get_default()
-	as clutter.Stage(), so that it feels more pythonic. The
-	current clutter.stage_get_default() function is still there
-	for compatibility, but it should probably go away before 0.6.0.
-
-	* examples/hello.py: Update to test.
-
-2008-02-05  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* Makefile.am:
-	* configure.ac:
-	* docs/Makefile.am: Add build environment for the pyclutter
-	documentation. (#758, Daniel Schierbeck)
-
-	* docs/reference/clutter-clutteractor.xml:
-	* docs/reference/clutter-cluttercolor.xml:
-	* docs/reference/clutter-ref.xml: Add initial XML files for
-	the documentation; needs work, so patches accepted.
-
-2008-02-04  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base.defs: Remove clutter_actor_apply_shader()
-	and bind:
-
-	  clutter_actor_set_shader()
-	  clutter_actor_get_shader()
-
-2008-02-03  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base.defs: Update after upstream API changes
-	in clutter.Entry, clutter.BehaviourScale and
-	clutter.effect_scale. (based on a patch by Kashyap Ashwin)
-
-	* clutter/clutter-effect.override: Update clutter.effect_scale
-	and initialise all the optional arguments of the effects API
-	to Py_None, to avoid segfaults. (based on a patch by Tero Saarni)
-
-2008-01-25  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* configure.ac: Require stable releases of clutter-core and
-	clutter-gtk.
-
-	* README:
-	* NEWS: Release 0.5.1
-
-2008-01-23  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* autogen.sh:
-	* configure.ac: Require autotools >= 1.9 and clutter-gtk >= 0.5.1
-
-	* clutter-gtk/cluttergtk.defs:
-	* clutter-gtk/cluttergtk.override:
-	* clutter-gtk/cluttergtkmodule.c: Update after upstream changes
-	in the clutter-gtk integration library. No API changes for the
-	Python bindings.
-
-2008-01-22  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base.defs: Add BehaviourDepth and BehaviourOpacity
-	new methods.
-
-	* clutter/clutter-behaviour.override: Override the get_bounds()
-	methods of BehaviourDepth() and BehaviourOpacity()
-
-	* examples/behave.py: Remove the scale behaviour, as it was
-	just cluttering up.
-
-2008-01-21  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base.defs: Fix a typo in the set_gravity()
-	method definition of clutter.BehaviourScale.
-
-2008-01-17  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base.defs:
-	* clutter/clutter-behaviour.override:
-	* clutter/clutter-effect.override: Update for the upstream API
-	change in ClutterBehaviourScale and clutter_effect_scale()
-
-	* configure.ac: Require Clutter core 0.5.3.
-
-2008-01-10  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base.defs: Add function wrappers for the newly
-	defined CLUTTER_UNITS_* macros.
-
-2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base.defs: All the constructor parameters for
-	clutter.Timeline are optional (we provide sane defaults); add
-	the duration property, so you can do clutter.Timeline(duration=1000).
-
-	* clutter/clutter.override: Ignore clutter.timeline_new_for_duration()
-	as now clutter.Timeline also takes the duration argument.
-
-	* examples/behave.py: Update to show the construction of timelines
-	in the time domain, instead of the frames domain.
-
-2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base-types.defs:
-	* clutter/clutter-base.defs:
-	* clutter/clutter-model.override: Rename clutter.ModelDefault
-	into clutter.ListModel, following the upstream change.
-
-	* README:
-	* configure.ac: Update requirements.
-
-2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* configure.ac: Post-release bump to 0.5.1
-
-2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* NEWS:
-	* README: Release 0.5.0
-
-2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base-types.defs:
-	* clutter/clutter-boxed.override: Add the .origin and .size
-	read-only fields to clutter.ActorBox.
-
-2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-actor.override: As discovered in the Perl
-	bindings, the box argument in clutter.Actor.do_query_coords()
-	overridable method is an in-out parameter: instances are
-	supposed to get an ActorBox with the current coordinates and
-	return a tuple containing the coordinates of the new bounding
-	box.
-
-2008-01-08  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base-types.defs:
-	* clutter/clutter-base.defs: Add ClutterModelDefault type and
-	definitions.
-
-	* clutter/clutter-model.override: Bind:
-
-		clutter.Model.append()
-		clutter.Model.prepend()
-		clutter.Model.insert()
-
-	and fix a couple of signed/unsigned casts.
-
-2008-01-08  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-model.override: Update after API changes upstream:
-	clutter.Model() becomes clutter.ModelDefault(); implement
-	clutter.ModelIter.set() and clutter.ModelIter.get(); stub out
-	clutter.Model insert, append and prepend methods; implement
-	clutter.Model.foreach(), clutter.Model.set_sort() and
-	clutter.Model.set_filter().
-
-	* clutter/clutter.override: Fix GList->GSList usage.
-
-2008-01-04  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-model.override: Bind clutter.Model.set_types()
-	and clutter.Model.set_names().
-
-	* clutter/clutter-script.override: Ignore the ClutterScriptable
-	interface methods: they are used only by the clutter.Script class
-	and are not meant for external usage.
-
-	* clutter/clutter.override: Bind clutter.Score.list_timelines().
-
-2008-01-04  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base.defs: Declare the constructors for many
-	types using the new format (properties instead of parameters);
-	this allows the autogeneration to work for us. The clutter.Texture
-	constructor now accepts an optional pixbuf parameter, so
-	clutter.texture_new_from_pixbuf() has been removed in favour of
-	a more pythonic:
-
-	  try:
-	      from gtk import gdk
-	      tex = clutter.Texture(gdk.pixbuf_new_from_file("redhand.png"))
-	  except Exception:
-	      print "Unable to create texture from redhand.png"
-	      sys.exit(1)
-
-	* clutter/clutter-behaviour.override: Remove the overridden
-	constructors for clutter.BehaviourDepth, clutter.BehaviourOpacity,
-	clutter.BehaviourRotate and clutter.BehaviourScale, and use the
-	autogenerated ones. This implies a subtle API break: the alpha
-	argument now goes at the end of the list of parameters; to avoid
-	breakage, the named argument passing is preferred. E.g.:
-
-	  clutter.BehaviourDepth(alpha, -100, 0)
-	
-	becomes:
-
-	  clutter.BehaviourDepth(-100, 0, alpha)
-
-	or, better:
-
-	  clutter.BehaviourDepht(depth_start=-100, depth_end=0, alpha=alpha)
-
-	* examples/super-oh.py:
-	* examples/hello.py:
-	* examples/behave.py: Update with the new constructor syntax
-
-	* examples/Makefile.am:
-	* examples/videosink.py: Add a cluttergst.VideoSink example, written
-	by Florent Thiery.
-
-2008-01-04  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-effect.override: Mark the gravity parameter in
-	clutter.effect_scale() and the direction parameter in
-	clutter.effect_rotate() as optional, as they have a default value.
-
-2008-01-04  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter.override: Ignore clutter.texture_new_from_pixbuf();
-	implement clutter.Timeline.get_delta().
-
-2008-01-04  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-script.override: Fix coding style.
-
-2008-01-04  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* examples/cairo-texture.py: Update API usage.
-
-2008-01-04  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* examples/super-oh.py: Fix the super-oh example and update the
-	API usage.
-
-2008-01-03  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter.override: Avoid a segfault un the
-	clutter.Entry.handle_key_event(). (#622)
-
-2008-01-03  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-behaviour.override: Update after the
-	properties naming changes upstream.
-
-	* clutter/clutter-effect.override: Mark the constructor for
-	clutter.EffectTemplate as a new-style one.
-
-	* examples/behave.py: Update after API changes
-
-2008-01-03  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-behaviour.override: Remove the fixed point
-	variants as we now don't even have them in the defs files;
-	rename clutter.BehaviourBspline.append() to append_knots().
-
-	* clutter/clutter-effect.override: Ignore the construct()
-	method; implement clutter.Effect.rotate(), using a 3-element
-	tuple for the rotation center.
-
-	* clutter/clutter.override: Remove more fixed point ignored
-	API; remove the old clutter.Box wrappers.
-
-	* clutter/clutter-actor.override: Remove even mode fixed point
-	ignored API; implement clutter.Actor.get_anchor_point()
-
-2008-01-03  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base-types.defs:
-	* clutter/clutter-base.defs: Update with the latest API additions.
-
-2008-01-03  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-model.override: Fix the constructor.
-
-	* clutter/clutter.override: Add more checks in the handle_key_event()
-	method of clutter.Entry.
-
-	* clutter/clutter-base.defs: Remove and rename a couple of methods,
-	just enough to make pyclutter build.
-
-2007-11-28  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-script.override: Ignore ClutterScript
-	connect_signals_full() method.
-
-2007-11-28  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter.override: Ignore the threads idle/timeout
-	convenience API: we need to release the python lock when
-	holding the clutter one, and we cannot do that without
-	reimplementing the convienience API altogether.
-
-2007-11-28  Emmanuele Bassi <ebassi@openedhand.com>
-
-	* clutter/clutter-effect.override: Overrides for the
-	clutter-effect API.
-
-	* clutter/Makefile.am:
-	* clutter/clutter.override: Build glue for clutter-effect
-	overrides.
-
-	* clutter/pyclutter.[ch]: Add pyclutter_effect_complete().
-
-2007-11-27  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base.defs: Remove get_progressx()
-	definition from ClutterTimline.
-
-	* clutter/Makefile.am:
-	* clutter/clutter.override: Build glue for ClutterModel
-	overrides.
-
-	* clutter/clutter-model.override: Initial stabe at the
-	overrides for ClutterModel.
-
-2007-11-27  Emmanuele Bassi <ebassi@openedhand.com>
-
-	* clutter/Makefile.am: Add clutter-script.override
-
-	* clutter/clutter-script.override: Overrides for using
-	ClutterScript within python: get_objects() returns a list
-	of objects, while connect_signals() will connect python
-	callable objects found in the current namespace.
-
-	* clutter/clutter.override: Include clutter-script.override
-
-2007-11-27  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-actor.override: Override get_position()
-	and get_clip().
-
-2007-11-27  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base-types.defs:
-	* clutter/clutter-base.defs: Merge API additions from trunk.
-
-2007-11-27  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-actor.override: Fix typo in variable
-	declaration.
-
-	* clutter/clutter-base.defs: Remove deprecated and renamed
-	API from the definitions.
-
-2007-11-27  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	Initial work at porting the PyClutter bindings to the
-	API in trunk. this is going to be some overhaul, so please
-	be patient.
-
-	* clutter/clutter-actor.override: Add [sg]et_rotation() API
-
-	* clutter/clutter-base-types.defs:
-	* clutter/clutter-base.defs: Start pruning all the definitions
-	that have been removed/are to be removed from upstream.
-
-	* clutter/clutter-boxed.override: Ditto as above.
-
-	* clutter/clutter-event.override: Add ClutterEventCrossing and
-	make the event code a little more generic.
-
-	* clutter/pyclutter.[ch]: Remove C utility functions for the
-	types that have been removed.
-
-	* py-compile: Do not put py-compile under revision control.
-
-2007-09-17  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-behaviour.override: Initialise the ctor
-	parameters for every clutter.Behaviour; now it's possible
-	to create any behaviour instance without passing any parameter
-	to the constructors and change the parameters later on,
-	without having the python bindings segfault.
-
-2007-09-15  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-behaviour.override: Do not segfault when
-	an invalid number of arguments is passed to the various
-	behaviours constructors. (#506, Giuliani Vito Ivan)
-
-2007-09-15  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-color.override: Initialise the value of
-	the color components, so that clutter.Color() does the
-	right thing. (#507, Giuliani Vito Ivan)
-
-2007-09-13  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	Merge from pyclutter-0-4
-
-	* clutter/clutter-behaviour.override: Add more sanity checks
-	on the arguments passed to the alpha functions.
-
-2007-09-05  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* examples/super-oh.py:
-	* examples/redhand.png: Add the SuperOH example; ported from
-	the original C source by Paul Cooper.
-
-2007-09-03  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-behaviour.override: Fix up the names of the
-	properties in the clutter.BehaviourDepth constructor.
-
-2007-08-20  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* configure.ac: Bump up to 0.5.0 and require development branches
-	for all the modules.
-
-2007-08-20  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-boxed.override: Fix clutter.Margin() and
-	clutter.Padding() constructors.
-
-	* clutter/clutter-event.override: Ignore clutter_event_copy()
-	and clutter_event_free(), as we're not supposed to pass events
-	as boxed types.
-
-	* clutter/clutter-base.defs: Add fake constructors for
-	clutter.ActorBox, clutter.Margin and clutter.Padding.
-
-2007-08-20  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* configure.ac: Bump to 0.5.0 and required clutter 0.5 as well
-
-2007-08-19  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* examples/cairo-texture.py: Update example, add a cloned texture.
-
-2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base.defs: Add fake constructors for the boxes
-	types we wrap.
-
-	* clutter/clutter-actor.override: Override the set_geometry() and
-	get_geometry() methods to return and accept a 4-tuple.
-
-	* clutter/pyclutter.[ch]: Add a conversion function for PyObject
-	to ClutterGeometry.
-
-2007-08-07  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* configure.ac:
-	* README:
-	* NEWS: Update and release 0.4.0 (see svn log for details).
-
-2007-03-26  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* examples/Makefile.am:
-	* examples/hello.py: Add 'hello world' example.
-
-2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* configure.ac: Bump to 0.3.0.
-
-2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* configure.ac: Bump to 0.2.0.
-
-	* configure.ac:
-	* Makefile.am: Remove clutter-gst from the build
-	until it's fixed.
-
-	* README: Add README.
-
-2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter-gst/cluttergst.defs:
-	* clutter-gst/cluttergst.override:
-	* clutter-gst/cluttergstmodule.c:
-	* clutter-gst/Makefile.am: Update clutter.gst module for
-	the ClutterGst library.
-
-	* Makefile.am:
-	* configure.ac: Drop the ClutterGtk wrapper from the build;
-	compile ClutterGst wrapper conditionally if the clutter-gst
-	library is installed; require the newly release clutter 0.2.
-
-	* clutter/clutter-base.defs: Add missing methods.
-
-	* examples/behave.py: Add BehaviourScale object.
-
-2006-12-22  Matthew Allum  <mallum@openedhand.com>
-
-	* pyclutter.doap:
-	Fix so parse-able.
-
-2006-12-19  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter.override: Override clutter_label_set_color()
-	to use the tuple/object color API like the stage and rectangle
-	actors.
-
-2006-12-19  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-behaviour.override: Add more checks and
-	decrement reference count of the right objects.
-
-	* clutter/pyclutter.c: Do not decrement the reference count
-	of the callback arguments tuple after we're done with it,
-	and let the garbage collector do its thing (fixes a reference
-	counting bug in the alpha notify function).
-
-2006-12-15  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/Makefile.am:
-	* clutter/keysyms.py: Add the key symbols list, and use the
-	pygtk lazy loading facility (currently, calls gtk._lazyutils
-	but might be useful to install our own copy?) to load what's
-	needed only when it's needed.
-
-2006-12-15  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base.defs: Add the ClutterMedia virtual
-	functions, so that you can implement the ClutterMedia
-	interface in pure python.
-
-2006-12-15  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* examples/rects.py:
-	* examples/behave.py: Update examples code.
-
-2006-12-15  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-boxed.override: Remove the ClutterColor
-	overridden methods here and put them into clutter-color.override.
-
-	* clutter/pyclutter.h:
-	* clutter/pyclutter.c: Allow conversion from a 4-tuple to
-	a ClutterColor; this is a shortcut for functions taking only
-	a single color parameter, but must be explicitely overridden
-	to allow this behaviour.
-
-	* clutter/clutter-color.override: Put everything concerning
-	ClutterColor here; wrap ClutterColor into its own boxed type
-	to avoid having to reimplement color-related functions for
-	three types of data (integers, tuples and dictionaries); now
-	to create a color use clutter.Color(red,green,blue,alpha)
-	like pygtk; wrap color_from_hls() and color_from_pixel() as
-	package functions; wrap to_hls(), to_pixel(), shade(),
-	darken() and lighten() as instance methods.
-
-	* clutter/clutter.override: Include clutter-color.override;
-	update overridden color setters and color getters.
-
-	* clutter/clutter-base.defs:
-	* clutter/clutter-base-types.defs:
-	* clutter/Makefile.am: Update build and codegen glue.
-
-	* examples/rects.py:
-	* examples/behave.py: Update examples.
-
-2006-12-14  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter.override: Update the rest of the clutter
-	color API to accept tuples, except clutter.color_from_hls()
-	which will accept a tuple, a dictionary or three integers.
-
-2006-12-14  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* examples/rects.py:
-	* examples/behave.py: Update examples.
-
-2006-12-14  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base.defs: Add clutter_feature_available(),
-	clutter_color_equal(), clutter_actor_show_all() and
-	clutter_actor_hide_all().
-
-	* clutter/clutter.override: Provide the correct implementation
-	of clutter.color_parse(); ignore clutter_color_equal(), as
-	python already has an equality test for tuples; allow passing
-	a tuple instead of a tuple of args to clutter.Stage.set_color()
-	and clutter.Rectangle.set_color(): now we can use the
-
-		stage.set_color(clutter.color_parse('DarkSlateGray'))
-	
-	idiomatic construct and everything will work as expected; this
-	breaks backward compatibility: you *must* pass a tuple, not
-	four arguments.
-
-2006-12-12  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-behaviour.override: Add more checks in the
-	do_alpha_notify caller; fix a reference count bug: the alpha
-	value python object got unreffed twice.
-
-2006-12-11  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-behaviour.override: Check for a callable
-	function inside the clutter.Alpha constructor; wrap the
-	clutter.Behaviour.get_actors() method; override the alpha_notify
-	virtual method and proxy, and allow the creation of pure
-	python behaviours.
-
-	* clutter/clutter-base.defs: Add missing methods.
-
-	* clutter/pyclutter.c: Add some checks; use PyObject_CallObject()
-	instead of the generic PyObject_Call(): should be a bit faster.
-
-	* examples/behave.py: Add an example of a pure python behaviour.
-
-2006-12-11  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/pyclutter.h:
-	* clutter/pyclutter.c: Use a better callback mechanism
-	for the invocation of callable functions; still rough,
-	and needs type checking on the parameters.  one might
-	wonder why pygobject bindings don't provide such mechanism
-	in the first place.  machinery heavily borrowed from the
-	perl bindings.
-
-	* clutter/clutter.override:
-	* clutter/clutter-behaviour.override: Update PyClutterCallback
-	usage.
-
-	* examples/behave.py: Add another behaviour for testing.
-
-2006-12-07  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base.defs: Add declaration for the
-	vfunc ClutterBehaviour::alpha_notify; now you can
-	subclass clutter.Behaviour and override do_alpha_notify
-	to create a pure python behaviour.
-
-	* clutter/clutterpython.c:
-	* clutter/pyclutter.c: Rename the helper utils code.
-
-	* Makefile.am: Update with the renamed helper file.
-
-	* clutter-gst/clutter-gst.defs:
-	* clutter-gst/clutter-gst-types.defs: Add defs file
-	for the clutter-gst sub-module.
-
-	* configure.ac:
-	* Makfile.am: Add support for the sub-modules; use the
-	--with-clutter-gtk and --with-clutter-gst configure
-	switch to enable their compilation; fixed the --enable-doc
-	switch.
-
-	* clutter-gst/Makefile.am:
-	* clutter-gtk/Makefile.am: Build glue for the sub-modules.
-
-	* docs/reference/Makefile.am: Add.
-
-2006-12-06  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-behaviour.override: Ignore the single
-	knot clutter_behaviour_path_append_knot(): we have append_knots();
-	add more type error checking inside both the BehaviourPath
-	constructor and append_knots(): we accepts only tuples of
-	pairs, as a knot is immutable once inside the path.
-
-	* examples/behave.py: Add a append_knots() call to test it.
-
-2006-12-06  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter.override:
-	* clutter/clutter-base.defs:
-	* clutter/clutter-base-types.defs: Update with upstream
-	API additions:
-
-		clutter.Rectangle_get_border_color
-		clutter.Rectangle.set_border_color
-		clutter.Rectangle.get_border_width
-		clutter.Rectangle.set_border_width
-	
-	use the new style for constructors
-
-	* clutter/clutter-behaviour.override: Update the clutter.Alpha
-	constructor to accept a function and a timeline as optional
-	arguments; override the clutter.BehaviourPath constructor to
-	accept a tuple of (x, y) pairs as knots.
-
-	* clutter/clutterpython.c: Use the right object as the caller.
-
-	* clutter/__init__.py: Relay the MAX_ALPHA C macro as a module
-	variable; provide pure python implementations of the alpha
-	functions.
-
-	* docs/update-bindings.txt: Add a checklist for updating the
-	bindings when upstream changes.
-
-	* configure.ac: Add a check for building docs if xsltproc is
-	available; now all that's left to do is to use the pygtk
-	xslt and write the docs.
-
-	* examples/behave.py: Simple porting of the upstream behave
-	example program.
-
-2006-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-behaviour.override: Implement the
-	clutter.Knot boxed type as a tuple of two integers.
-
-2006-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	The coverage of global functions is 100.00% (18/18)
-	The coverage of methods is 100.00% (145/145)
-
-	* clutter/clutter-behaviour.override: Implement the
-	final missing method: clutter.BehaviourPath.append_knots().
-
-2006-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	The coverage of global functions is 100.00% (18/18)
-	The coverage of methods is 99.31% (144/145)
-
-	* clutter/clutter.override: Implement the
-	clutter.Group.get_children() method.
-
-	* clutter/clutter-behaviour.override: Remove the empty
-	clutter.BehaviourPath.append_knots() stub; implement the
-	clutter.BehaviourPath.get_knots() method.
-
-2006-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	The coverage of global functions is 100.00% (18/18)
-	The coverage of methods is 98.62% (143/145)
-
-	* clutter/pyclutter.h:
-	* clutter/clutterpython.c: Add and optional "caller" argument
-	to pyclutter_callback_invoke(): use this argument to change
-	the caller (i.e. the first argument) of the callback from the
-	default (the instance of the class).
-
-	* clutter/clutter.override: Implement clutter.Group.foreach().
-
-	* clutter/clutter-behaviour.override: Implement the
-	clutter.Behaviour.actors_foreach() method.
-
-	* examples/rects.py: Check if the clutter.Group.foreach()
-	method works.
-
-2006-11-18  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* configure.ac: Bump to 0.1.2.
-
-2006-11-18  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	The coverage of global functions is 100.00% (18/18)
-	The coverage of methods is 97.24% (141/145)
-
-	* clutter/Makefile.am: Move back clutter inside a non-versioned
-	module; we don't need the stuff pygtk uses to load the right
-	version.
-
-	* clutter/pyclutter.pc.in: Add Cflags section and the include
-	directory variable.
-
-	* clutter/pyclutter.h:
-	* clutter/clutterpython.c: Utility header for easier bindings;
-	added PyClutterCallback, a wrapper for invoking callbacks; this
-	should really go into pygtk, though - luckily for us, the Perl
-	bindings are more friendly.
-
-	* clutter/cluttermodule.c: Update with the correct prefix.
-
-	* clutter/clutter.override:
-	* clutter/clutter-behaviour.override: Implement the
-	missing clutter.Alpha.set_func() method using the newly
-	added PyClutterCallback.
-
-	* examples/rects.py: Print the version tuple.
-
-2006-11-18  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	The coverage of global functions is 100.00% (18/18)
-	The coverage of methods is 96.55% (140/145)
-
-	* clutter/clutter-behaviour.override: Add override for
-	behaviours and alpha objects; add the convenience alpha
-	functions to the ignore-list.
-
-	* clutter/Makefile.am:
-	* clutter/clutter.override: Update.
-
-2006-11-18  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	The coverage of global functions is 81.82% (18/22)
-	The coverage of methods is 95.24% (140/147)
-
-	* clutter/clutter-base-types.defs:
-	* clutter/clutter-base.defs: Reinstate the base files
-
-	* clutter/clutter-actor.override:
-	* clutter/clutter-boxed.override:
-	* clutter/clutter-event.override: Move out the overrides
-	to their own files, to keep things clean.
-
-	* clutter/Makefile.am: Update.
-
-	* Makefile.am:
-	* createdefs.py: Generates the .defs files.
-
-2006-11-17  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	The coverage of global functions is 76.19% (16/21)
-	The coverage of methods is 91.84% (135/147)
-
-	* clutter/clutter.defs: Sync with upstream API changes - hopefully,
-	the API should be a bit more stable now.
-
-2006-11-16  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	The coverage of global functions is 100.00% (16/16)
-	The coverage of methods is 92.31% (132/143)
-
-	* clutter/clutter.override: Update from upstream API changes.
-	
-	* clutter/Makefile.am:
-	* clutter/clutter-base.defs:
-	* clutter/clutter-base-types.defs:
-	* clutter/clutter.defs: Consolidate the definitions inside
-	a single file; there's no point making stuff more complicated
-	than already is.
-
-2006-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter.override:
-	* clutter/clutter-base.defs:
-	* clutter/clutter-base-types.defs: Update after upstream. Still
-	doesn't built, but it's a beginning.
-
-2006-07-08  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* configure.ac: Require clutter 0.1.1 and update our own version.
-
-2006-07-08  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter.override: Add accessors for the clutter.Event
-	object (Ross Burton, #104).
-
-	* clutter/clutter-base.defs:
-	* clutter/clutter-base-types.defs: Make clutter.event_new the
-	constructor for the clutter.Event object, and specify the boxed
-	type functions for copy and free.
-
-	* examples/rects.py: Change the example to include the usage of
-	the new event accessors.
-
-2006-07-06  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/clutter-base.defs:
-	* clutter/clutter-base-types.defs: Resync with the API changes
-	inside clutter.
-
-2006-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/__init__.py: Relay __version__ from the shared object
-	to the main package.
-
-2006-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/cluttermodule.c: Remove the debug messages and fix the
-	__version__ tuple generation.
-
-2006-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* clutter/Makefile.am: Install a _clutter shared object and then add
-	a __init__.py loading the right namespace.
-
-2006-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* pyclutter/*
-	* *: Move python bindings out of tree.
-
-2006-06-23  Ross Burton  <ross@openedhand.com>
-
-	* python/Makefile.am:
-	Fix -avoid-version so we don't install clutter.so.0.0.0.
-
-2006-06-22  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* python/Makefile.am:
-	* python/clutter.override:
-	* python/clutter-base.defs:
-	* python/clutter-base-types.defs: Bind updated clutter.Timeline API;
-	bind clutter.Media interface and clutter.VideoTexture.
-
-2006-06-22  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* python/Makefile.am:
-	* python/pyclutter.pc.in: Add a pkgconfig file in order to
-	check for bindings existence.
-
-2006-06-22  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* python/clutter-base-types.defs: Remove ClutterActorTransform.
-
-2006-06-13  Matthew Allum  <mallum@openedhand.com>
-
-	* ChangeLog:
-	* python/Makefile.am:
-	* python/clutter-base-types.defs:
-	* python/clutter-base.defs:
-	* python/clutter.override:
-	Rename element -> actor. 
-	Disable video texture bindings as to build again.
-
-2006-06-06  Matthew Allum  <mallum@openedhand.com>
-
-	* python/clutter-base.defs:
-	Add support for set/get_depth. Fix timeline declaration.
-
-2006-06-05  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* python/clutter-base-types.defs:
-	* python/clutter-base.defs:
-	* python/clutter.override: Wrap new API and objects.
-
-2006-05-27  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* python/clutter-base.defs: Make static functions appear like
-	package methods, e.g.: clutter_main() is clutter.main() and
-	not clutter.clutter_main().  Changed functions are:
-	    C name			  Python name
-	  - clutter_main		- clutter.main
-	  - clutter_stage		- clutter.stage
-	  - clutter_want_debug		- clutter.want_debug
-	  - clutter_redraw		- clutter.redraw
-	  - clutter_threads_enter	- clutter.threads_enter
-	  - clutter_threads_leave	- clutter.threads_leave
-	
-	* python/clutter.override: Ignore all X11 and GL related
-	functions, as we don't have type definitions for them; fix typos
-	and cut-and-paste errors; make the threads_enter and main static
-	function use the pygobject threading facilities.
-
-	* Makefile.am: Rework the build system.  The defs files have been
-	split in two: clutter-base-types.def for the type declarations
-	and clutter-base.defs for the methods and functions.  The python
-	glue code depends on two auto-generated files: clutter.defs and
-	clutter-types.defs; these two files includes the clutter-base
-	files.  If the API changes, run "make update-defs": it will
-	create a "clutter-api.defs" which should be hand-edited and
-	the new sections added to the clutter-base files.  This is needed
-	because we do some mangling of the namespace and static functions
-	names, so we can't rely on the h2defs generator.
-
-2006-05-27  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	API coverage:
-	  - global functions: 71.43% (10/14)
-	  - methods:          95.40% (83/87)
-
-	* python/clutter.override: Implement bindings for the missing
-	ClutterTexture methods:
-	  - get_base_size
-	  - get_n_tiles
-	  - get_x_tile_detail
-	  - get_y_tile_detail
-	
-	* python/clutter.override: Implement the ClutterGroup.add_many
-	method.
-
-2006-05-26  Emmanuele Bassi  <ebassi@openedhand.com>
-
-	* python/clutter-base.defs:
-	* python/clutter-base-types.defs:
-	* python/clutter.override: Fix ClutterGeometry bindings;
-	implement ClutterElementBox bindings.
-
-	* python/Makefile.am: Use variables instead of hard-coded
-	file names.
-

File GNUmakefile

-.PHONY: all clean force-ocamlbuild clutter_tags
-all: all.otarget
-
-# Do not match any implicit rules against GNUmakefile or myocamlbuild.ml
-GNUmakefile: ;
-
-configure: configure.ac aclocal.m4
-	autoconf
-aclocal.m4: configure.ac $(wildcard m4/*.m4)
-	aclocal -I m4
-config.status: configure
-	./$< --no-create
-CONFIG_TARGETS:=$(patsubst %.in,%,$(wildcard config/*.in))
-$(CONFIG_TARGETS): %: config.status %.in
-	./$<
-myocamlbuild_config.ml: | config/myocamlbuild_config.ml
-	ln -s config/myocamlbuild_config.ml $@
-
-varcc: clutter/varcc.ml4
-	cp clutter/varcc.ml4 _build/clutter
-	ocamlc.opt -c -pp "camlp4o -impl" -impl _build/clutter/varcc.ml4
-	ocamlc.opt -o _build/varcc _build/clutter/varcc.cmo
-propcc: clutter/propcc.ml4
-	cp clutter/propcc.ml4 _build/clutter
-	ocamlc.opt -c -pp "camlp4o -impl" -impl _build/clutter/propcc.ml4
-	ocamlc.opt -o _build/propcc _build/clutter/propcc.cmo
-
-%_tags.h %_tags.c %Enums.ml: %_tags.var varcc
-	./_build/varcc $<
-
-%Props.ml o%Props.ml: %.props propcc
-	./_build/propcc $<
-
-clutter_tags: varcc
-	make clutter/clutter_tags.h
-
-clean::
-	rm -rf configure aclocal.m4 config.status config.log autom4te.cache myocamlbuild_config.ml $(CONFIG_TARGETS)
-
-# Patterns matching all the targets we want to build using ocamlbuild
-OCAMLBUILD_TARGET_PATTERNS:= \
-  %.a \
-  %.byte \
-  %.cma \
-  %.cmi \
-  %.cmo \
-  %.cmx \
-  %.cmxa \
-  %.docdir/index.html \
-  %.exe \
-  %.ml \
-  %.mli \
-  %.native \
-  %.o \
-  %.odoc \
-  %.otarget \
-  %.passed \
-  %.tar.gz
-# This catchall rule runs ocamlbuild to rebuild all the targets that
-# have been demanded, but can't be built by make. It uses the phony
-# force-ocamlbuild target to make sure ocamlbuild is only called once,
-# even if multiple targets are demanded.
-$(OCAMLBUILD_TARGET_PATTERNS): force-ocamlbuild ;
-force-ocamlbuild: config/ocamlbuild-exe myocamlbuild_config.ml
-	$(shell cat $<) $(OCAMLBUILD_FLAGS) $(OCAMLBUILD_TARGETS) $(OCAMLBUILD_OUTPUT_PROCESSING)
-# The list of targets for ocamlbuild is the targets given to make, but
-# without any make specific targets.
-OCAMLBUILD_TARGETS:=$(filter $(OCAMLBUILD_TARGET_PATTERNS),$(MAKECMDGOALS))
-# If we have no explicit ocamlbuild targets, build all.otarget
-OCAMLBUILD_TARGETS:=$(if $(strip $(OCAMLBUILD_TARGETS)),$(OCAMLBUILD_TARGETS),all.otarget)
-# When running in a terminal without cursor movement support (emacs)
-# use the classic display
-OCAMLBUILD_FLAGS += $(if $(filter dumb,$(TERM)),-classic-display) -X ocaml
-# When running with FLYMAKE nonempty, add some sed post-processing to
-# put the ocaml messages on the same line as the file and line number
-# information
-OCAMLBUILD_OUTPUT_PROCESSING:=$(if $(FLYMAKE), | sed -e '/:$$/{N;s%\n% %;}',)
-
-clean::
-	rm -rf _build
-
-# Disable the built-in pattern rules.
-.SUFFIXES:

File MANIFEST

Empty file added.

File Make.rules.in

+# ocaml-libvirt
+# Copyright (C) 2007 Red Hat Inc., Richard W.M. Jones
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
+
+# This file is included by Makefiles in subdirectories.
+
+OCAMLFIND	= @OCAMLFIND@
+OCAMLDEP	= @OCAMLDEP@
+OCAMLC		= @OCAMLC@
+OCAMLOPT	= @OCAMLOPT@
+CAMLP4O         = @CAMLP4O@
+
+# Common rules for building OCaml objects.
+
+ifneq ($(OCAMLFIND),)
+.mli.cmi:
+	$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) -c $<
+.ml.cmo:
+	$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) -c $<
+.ml.cmx:
+	$(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) -c $<
+else
+.mli.cmi:
+	$(OCAMLC) $(OCAMLCFLAGS) $(OCAMLCINCS) -c $<
+.ml.cmo:
+	$(OCAMLC) $(OCAMLCFLAGS) $(OCAMLCINCS) -c $<
+.ml.cmx:
+	$(OCAMLOPT) $(OCAMLOPTFLAGS) $(OCAMLOPTINCS) -c $<
+endif
+
+%.ml %.mli: %.mly
+	ocamlyacc $<
+.mll.ml:
+	ocamllex $<
+
+# Dependencies.
+
+depend: .depend
+
+ifneq ($(OCAMLFIND),)
+.depend: $(wildcard *.mli) $(wildcard *.ml)
+	rm -f .depend
+	$(OCAMLFIND) ocamldep $(OCAMLCPACKAGES) $(OCAMLDEPFLAGS) $^ > $@
+else
+.depend: $(wildcard *.mli) $(wildcard *.ml)
+	rm -f .depend
+	$(OCAMLDEP) $(OCAMLCINCS) $(OCAMLDEPFLAGS) $^ > $@
+endif
+
+ifeq ($(wildcard .depend),.depend)
+include .depend
+endif
+
+.PHONY: depend dist check-manifest dpkg doc
+
+.SUFFIXES:      .cmo .cmi .cmx .ml .mli .mll .mly .ml4 .var

File Makefile.am

-SUBDIRS = clutter examples demos 
-
-if BUILD_CLUTTERGST
-SUBDIRS += clutter-gst
-endif
-
-if BUILD_CLUTTERGTK
-SUBDIRS += clutter-gtk
-endif
-
-if BUILD_CLUTTERCAIRO
-SUBDIRS += clutter-cairo
-endif
-
-if BUILD_TIDY
-SUBDIRS += tidy
-endif
-
-if ENABLE_DOCS
-SUBDIRS += docs
-endif
-
-pyclutter-$(PYCLUTTER_MAJOR_VERSION).$(PYCLUTTER_MINOR_VERSION).pc: pyclutter.pc
-	@cp -f $< $(@F)
-
-pkgfiles = pyclutter-$(PYCLUTTER_MAJOR_VERSION).$(PYCLUTTER_MINOR_VERSION).pc
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = $(pkgfiles)
-
-DIST_SUBDIRS = \
-	docs \
-	clutter \
-	examples \
-	clutter-gst \
-	clutter-gtk \
-	clutter-cairo \
-	tidy
-
-EXTRA_DIST = createdefs.py py-compile
-
-CLEANFILES = $(pkgfiles)
-
-# Extra clean files so that maintainer-clean removes *everything*
-MAINTAINERCLEANFILES = \
-	aclocal.m4 \
-	compile \
-	config.guess \
-	config.sub \
-        configure \
-	depcomp \
-	install-sh \
-	ltmain.sh \
-	Makefile.in \
-	missing \
-	config.h.in
-
+# virt-top
+# Copyright (C) 2007-2008 Red Hat Inc., Richard W.M. Jones
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
+
+PACKAGE		= @PACKAGE_NAME@
+VERSION		= @PACKAGE_VERSION@
+INSTALL		= @INSTALL@
+
+SUBDIRS		= src tests examples
+
+all opt depend install:
+	for d in $(SUBDIRS); do \
+	  $(MAKE) -C $$d $@; \
+	  if [ $$? -ne 0 ]; then exit 1; fi; \
+	done
+
+clean:
+	for d in . $(SUBDIRS); do \
+	  (cd $$d; rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a *.so *.opt *~ *.dll *.exe *.byte core *Props.ml); \
+	done
+
+distclean: clean
+	rm -f config.h config.log config.status configure
+	rm -rf autom4te.cache
+	rm -f Make.rules
+	rm -f Makefile
+	rm -f src/Makefile
+	rm -f tests/Makefile
+	rm -f examples/Makefile
+
+# Distribution.
+
+dist: ChangeLog
+	$(MAKE) check-manifest
+	rm -rf $(PACKAGE)-$(VERSION)
+	mkdir $(PACKAGE)-$(VERSION)
+	tar -cf - -T MANIFEST | tar -C $(PACKAGE)-$(VERSION) -xf -
+	$(INSTALL) -m 0755 configure $(PACKAGE)-$(VERSION)/
+	tar zcf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION)
+	rm -rf $(PACKAGE)-$(VERSION)
+	ls -l $(PACKAGE)-$(VERSION).tar.gz
+
+check-manifest:
+	hg manifest | sort > .check-manifest; \
+	sort MANIFEST > .orig-manifest; \
+	diff -u .orig-manifest .check-manifest; rv=$$?; \
+	rm -f .orig-manifest .check-manifest; \
+	exit $$rv
+
+ChangeLog:
+	hg log --style changelog > $@.new
+	mv $@.new $@
+
+.PHONY: all opt byte depend install clean distclean force

File acinclude.m4

-

File all.itarget

-examples/actor1.native
-examples/actor2.native
-examples/behave.native
-examples/cogl-actor.native
-examples/flowers.native
-examples/pong.native
-examples/ripples.native
-tests/test-effect.native
-tests/test-entry.native
-tests/test-rotate.native
-tests/test-depth.native
-tests/test-score.native
-tests/test-behave.native
-tests/test-project.native
-tests/test-cogl-tex-file.native

File clutter-cairo/_tags

-<*>: use_clutter, use_cairo, use_gtk

File clutter-cairo/clutterCairo.ml

-
-open OclutterProps
-open ClutterProps
-open Clutter
-  
-class cairo_skel obj = object (self)
-  inherit cairo_props
-  inherit ['a] ClutterActor.actor_skel (as_actor obj)
-  method obj : cairo obj = obj
-  method new_context = Cairo.new_context obj
-end
-
-class cairo_signals_impl obj = object
-  inherit ['a] gobject_signals obj
-  inherit actor_sigs
-end
-  
-class cairo obj = object
-  inherit cairo_skel (obj : [> `cairo] Clutter.obj)
-  method connect = new cairo_signals_impl obj
-end
-      
-let make_cairo ~create =
-  Cairo.make_params ~cont:
-    (fun pl ->
-       Actor.make_params pl ~cont:
-	 (fun pl () ->
-	    let (e : #cairo_skel) = create pl in
-	    e)
-    )
-    
-let create =
-  make_cairo [] ~create:
-    (fun pl ->
-       let t = Cairo.create pl in
-       new cairo t)

File clutter/_tags

-<*>: use_clutter, use_cluttercairo
-<clutterEnums.*> or <clutterProps.*> or <oclutterProps.*>: use_gtk, use_cairo
-<pangolibEnums.*>: use_gtk
-<coglEnums.*>: use_gtk
-<coglbox.*>: use_opengl
-<clutterActor.*> or <clutterBehaviour.*> or <clutterAlpha.*> or <clutterEllipse.*> or <clutterTimeline.*> or <clutterData.*>: use_gtk
-<clutter.*> or <structs.*>: use_gtk
-<ml_clutter.*>: use_gtk2
-<ml_texture.*>: use_gtk2
-<ml_cairo.*>: use_cluttercairo, use_gtk2
-

File clutter/clutter.ml

-
-(* Initialization *)
-external init : string array -> unit = "ml_clutter_init"
-let finalize () = ()
-    
-let _ =
-  init Sys.argv;
-  at_exit finalize
-
-external boom : unit -> 'a = "ml_abort"
-
-type 'a obj = 'a Gobject.obj
-type +'a event
-
-(* opaque abstract types*)
-type coords
-type coglhandle
-type units
-type angle
-
-let (+~) (a:units) (b:units) : units =
-  Obj.magic ((Obj.magic a) + (Obj.magic b))
-let (-~) (a:units) (b:units) : units =
-  Obj.magic ((Obj.magic a) - (Obj.magic b))
-let (>>~) (a:units) (b:int) : units =
-  Obj.magic ((Obj.magic a) lsr (Obj.magic b))
-let (<<~) (a:units) (b:int) : units =
-  Obj.magic ((Obj.magic a) lsl b)
-  
-type vertex = {vx:units; vy:units; vz:units}
-type actorbox = {x1:units; y1:units; x2:units; y2:units}
-(*type knot = {x:int; y:int}*)
-type knot = int*int
-type geometry = {left:int; top:int; width:int; height:int}
-
-type actor =     [`actor]
-type container = [`container]
-type behaviour = [`behaviour]
-type score     = [`score]
-type rectangle = [`rectangle|`actor]
-type cairo_actor = [`cairo|`actor]
-type cairo = cairo_actor
-type texture =   [`texture|`actor]
-type clone_texture = [`clonetexture|`actor]
-type label =     [`label|`actor]
-type entry =     [`entry|`actor]
-  
-type alpha =     [`alpha] 
-type stage =     [`container|`stage|`actor|`group] 
-type group =     [`container|`group|`actor] 
-    
-type behaviour_ellipse =   [`behaviour|`behaviourellipse]
-type behaviour_opacity =   [`behaviour|`behaviouropacity]
-type behaviour_bspline =   [`behaviour|`behaviourbspline]
-type behaviour_path    =   [`behaviour|`behaviourpath]
-type behaviour_depth   =   [`behaviour|`behaviourdepth]
-type behaviour_scale   =   [`behaviour|`behaviourscale]
-type behaviour_rotate   =   [`behaviour|`behaviourrotate]
-type behaviour_alpha   =   [`behaviour|`behaviouralpha]    
-	
-type timeline =  [`timeline] 
-type pixbuf =    GdkPixbuf.pixbuf
-
-type coglbox = [`coglbox|`actor]
-
-type alpha_fun_callback = alpha obj -> int
-let max_alpha = 0xffff
-type alpha_fun = [
-  `RAMP_INC
-| `RAMP_DEC
-| `RAMP
-| `SINE
-| `SINE_INC
-| `SINE_DEC
-| `SINE_HALF
-| `SQUARE
-| `SMOOTHSTEP_INC
-| `SMOOTHSTEP_DEC
-| `EXP_INC
-| `EXP_DEC
-| `CUSTOM of alpha_fun_callback]
-    
-(** top level clutter routines *)
-external clutter_main : unit -> unit = "clutter_main"
-external clutter_quit : unit -> unit = "clutter_main_quit"
-let main = clutter_main
-let quit = clutter_quit
-let main_quit = clutter_quit
-  
-external level : unit -> int = "clutter_main_level"
-external get_debug_enabled : unit -> bool = "clutter_get_debug_enabled"
-external get_show_fps : unit -> bool = "clutter_get_show_fps"
-external get_timestamp : unit -> int = "clutter_get_timestamp"
-external get_actor_by_gid : int -> actor obj = "clutter_get_actor_by_gid"
-external set_default_frame_rate : int -> unit
-  = "clutter_set_default_frame_rate"
-external get_default_frame_rate : unit -> int
-  = "clutter_get_default_frame_rate"
-external set_motion_events_enabled : bool -> unit
-  = "clutter_set_motion_events_enabled"
-external get_motion_events_enabled : unit -> bool
-  = "clutter_get_motion_events_enabled"
-external set_motion_events_frequency : int -> unit
-  = "clutter_set_motion_events_frequency"
-external get_motion_events_frequency : unit -> int
-  = "clutter_get_motion_events_frequency"
-external set_use_mipmapped_text : bool -> unit
-  = "clutter_set_use_mipmapped_text"
-external get_use_mipmapped_text : unit -> bool
-  = "clutter_get_use_mipmapped_text"
-    (* thread function: init, enter, leave, idle, timeout... *)
-external get_keyboard_grab : unit -> actor obj = "clutter_get_keyboard_grab"
-external get_pointer_grab : unit -> actor obj = "clutter_get_pointer_grab"
-external grab_keyboard : actor obj -> unit = "clutter_grab_keyboard"
-external grab_pointer : actor obj -> unit = "clutter_grab_pointer"
-external ungrab_keyboard : unit -> unit = "clutter_ungrab_keyboard"
-external ungrab_pointer : unit -> unit = "clutter_ungrab_pointer"
-    (* grab/ungrab pointer_for_device *)
-(*external do_event : Event.event -> unit = "clutter_do_event"*)
-
-(** Additional general glib functions *)
-
-(** unit conversion *)
-external units_to_int : units -> int = "ml_clutter_units_to_int"
-external int_to_units : int -> units = "ml_clutter_int_to_units"
-external units_to_float : units -> float = "ml_clutter_units_to_float"
-external float_to_units : float -> units = "ml_clutter_float_to_units"
-external angle_from_deg : float -> angle = "ml_clutter_angle_from_deg"
-external angle_to_deg : angle -> float = "ml_clutter_angle_to_deg"
-external angle_from_degx : units -> angle = "ml_clutter_angle_from_degx"
-external angle_to_degx : angle -> units = "ml_clutter_angle_to_degx"
-let units_from_float = float_to_units
-let units_from_int = int_to_units
-let to_device = units_to_int
-let from_device = int_to_units
-external from_stage_width_percentage : int -> units
-  = "ml_clutter_from_stage_width_percentage"
-external from_stage_height_percentage : int -> units
-  = "ml_clutter_from_stage_height_percentage"
-external from_parent_width_percentage : actor obj -> int -> units
-  = "ml_clutter_from_parent_width_percentage"
-external from_parent_height_percentage : actor obj -> int -> units
-  = "ml_clutter_from_parent_height_percentage"
-
-(** fixed points routines and constants *)
-external sini : angle -> units = "ml_clutter_sini"
-external cosi : angle -> units = "ml_clutter_cosi"
-external cfx_qdiv : units -> units -> units = "ml_clutter_cfx_qdiv"
-external cfx_one : unit -> units = "ml_clutter_cfx_one"
-external cfx_qmul : units -> units -> units = "ml_clutter_cfx_qmul"
-  
-(* FIXME: put some correct enforcement here *)
-external as_stage : 'a obj -> stage obj = "ml_clutter_as_container"
-external as_container : 'a obj -> container obj = "ml_clutter_as_container"
-external is_container : 'a obj -> bool = "ml_clutter_is_a_container"
-exception TypeError
-exception GError of string
-let as_stage a =
-  if Gobject.is_a a "ClutterStage" then Gobject.unsafe_cast a
-  else raise TypeError
-let as_actor a =
-  if Gobject.is_a a "ClutterActor" then Gobject.unsafe_cast a
-  else raise TypeError
-let as_behaviour a =
-  if Gobject.is_a a "ClutterBehaviour" then Gobject.unsafe_cast a
-  else raise TypeError
-let as_container c =
-  if is_container c then Gobject.unsafe_cast c
-  else raise TypeError
-
-
-(* FIXME: use gobject.connect instead of gtksignal.connect ? *)
-class ['a] gobject_signals obj = object
-  val obj : 'a obj = obj
-  val after = false
-  method after = {< after = true >}
-  method private connect : 'b. ('a,'b) GtkSignal.t -> callback:'b -> _ =
-    fun sgn ~callback -> GtkSignal.connect obj ~sgn ~after ~callback
-end
-
-module CoglBox = struct
-  external create : (actor obj -> unit) -> coglbox obj
-    = "ml_caml_coglbox_new"
-end
-  
-(**
-   ClutterActorBox wrapper object
-*)
-module ActorBox = struct
-  type t = Gpointer.boxed
-  external x1 : t -> units = "ml_clutter_actorbox_get_x1"
-  external y1 : t -> units = "ml_clutter_actorbox_get_y1"
-  external x2 : t -> units = "ml_clutter_actorbox_get_x2"
-  external y2 : t -> units = "ml_clutter_actorbox_get_y2"
-  external create : x1:units -> y1:units -> x2:units -> y2:units -> t
-    = "ml_clutter_actorbox_new"
-
-  let wrap k = {x1 = x1 k; y1 = y1 k; x2 = x2 k; y2 = y2 k; }
-  let unwrap k = create ~x1:k.x1 ~y1:k.y1 ~x2:k.x2 ~y2:k.y2
-    
-  let conv =
-    { Gobject.kind = `POINTER;
-      proj = (function `POINTER (Some k) -> wrap k
-		| `POINTER None -> raise Gpointer.Null
-		| _ -> failwith "GObj.get_object");
-      inj = (fun k -> `POINTER (Some (unwrap k))) }
-
-  let debug name b =
-    Printf.printf "%s: {x1=%d y1=%d x2=%d y2=%d}\n%!" name
-      (to_device b.x1) (to_device b.y1) (to_device b.x2) (to_device b.y2);
-end;;
-
-(** ClutterVertex object *)
-module Vertex = struct
-  type t
-  external x : t -> units = "ml_clutter_vertex_get_x"
-  external y : t -> units = "ml_clutter_vertex_get_y"
-  external z : t -> units = "ml_clutter_vertex_get_z"
-  external set_x : t -> units -> unit = "ml_clutter_vertex_set_x"
-  external set_y : t -> units -> unit = "ml_clutter_vertex_set_y"
-  external set_z : t -> units -> unit = "ml_clutter_vertex_set_z"
-  external create : x:units -> y:units -> z:units -> t = "ml_clutter_vertex_new"
-
-  class vertex_class obj = object
-    method as_vertex : t = obj
-    method x = x obj
-    method y = y obj
-    method z = z obj    
-    method set_x = set_x obj
-    method set_y = set_y obj
-    method set_z = set_z obj
-  end
-
-  let vertex ~x ~y ~z =
-    let k = create ~x ~y ~z in
-    new vertex_class k
-
-  let debug name v =
-    Printf.printf "%s {x=%d y=%d z=%d}\n%!" name
-      (to_device v.vx) (to_device v.vy) (to_device v.vz)
-end
-
-(**
-   ClutterColor wrapper object
-*)
-module Color = struct
-  type t = Gpointer.boxed
-  external red : t -> int = "ml_clutter_color_get_red"
-  external green : t -> int = "ml_clutter_color_get_green"
-  external blue : t -> int = "ml_clutter_color_get_blue"
-  external alpha : t -> int = "ml_clutter_color_get_alpha"
-  external set_red : t -> int -> unit = "ml_clutter_color_set_red"
-  external set_green : t -> int -> unit = "ml_clutter_color_set_green"
-  external set_blue : t -> int -> unit = "ml_clutter_color_set_blue"
-  external set_alpha : t -> int -> unit = "ml_clutter_color_set_alpha"
-  external parse : name:string -> t = "ml_clutter_color_parse"
-  external to_pixel : t -> int = "ml_clutter_color_to_pixel"
-  external to_string : t -> string = "ml_clutter_color_to_string"
-  external from_hls : int -> int -> int -> t = "ml_clutter_color_from_hls"
-  external add : t -> t -> t = "ml_clutter_color_add"
-  external subtract : t -> t -> t = "ml_clutter_color_subtract"
-  external lighten : t -> t = "ml_clutter_color_lighten"
-  external darken : t -> t = "ml_clutter_color_darken"
-  external shade : t -> float -> t = "ml_clutter_color_shade"
-  external to_hls : t -> (float*float*float) = "ml_clutter_color_to_hls"
-  external create : red:int -> green:int -> blue:int -> alpha:int -> t
-    = "ml_clutter_color_new"
-
-  class color obj = object
-    method as_color : t = obj
-    method obj : t = obj
-  end
-    
-  let rgba (red,green,blue,alpha) =
-    new color (create ~red ~green ~blue ~alpha)
-  let rgb (red,green,blue) =
-    new color (create ~red ~green ~blue ~alpha:0xff)
-  let parse name = new color (parse name)
-
-  let as_color (c : color) = c#as_color
-  let wrap_color w = new color w
-  let unwrap_color w = w#as_color
-  (*let conv_color_option =
-    { kind = `POINTER;
-      proj = (function `POINTER c -> may_map ~f:wrap_color c
-		| _ -> failwith "GObj.get_object");
-      inj = (fun c -> `POINTER (may_map ~f:unwrap_color c)) }*)
-  let conv_color =
-    { Gobject.kind = `POINTER;
-      proj = (function `POINTER (Some c) -> wrap_color c
-		| `POINTER None -> raise Gpointer.Null
-		| _ -> failwith "GObj.get_object");
-      inj = (fun c -> `POINTER (Some (unwrap_color c))) }
-      
-end;;
-
-
-
-
-
-
-
-
-
-
-

File clutter/clutter.props

-(* $Id: gtk.props,v 1.16 2003/07/23 03:06:03 garrigue Exp $ *)
-
-header {
-open Gtk
-open Gobject
-open Data
-open ClutterData
-open Clutter
-module Object = struct
-  let cast w : [`gobject] obj = try_cast w "GObject"
-  external _ref : 'a obj -> unit = "ml_g_object_ref"
-  let make ~classe params =
-    let obj = unsafe_create ~classe params in _ref obj;
-    obj
-end
-}
-
-oheader{
-open GtkSignal
-open ClutterProps
-
-(* Redefining saves space in bytecode! *)
-let set = set
-let get = get
-let param = param
-}
-
-conversions {
-  ClutterUnit "int"
-  ClutterKnot "Structs.conv_knot"
-  ClutterColor "Clutter.Color.conv_color"
-  ClutterActorBox "Clutter.ActorBox.conv"
-  (*ClutterTimeline "ClutterTimeline.conv"*)
-}
-
-boxed {
-  ClutterEvent "Event.any"
-  ClutterVertex "Clutter.vertex"
-  ClutterGeometry "Clutter.geometry"
-  (*ClutterColor "Clutter.Color.t"*)
-  (*ClutterKnot "Clutter.knot"*)
-  (*ClutterActorBox "Clutter.actorbox"*)
-}
-
-classes {
-  GdkPixbuf "GdkPixbuf.pixbuf"
-  ClutterAlpha "Clutter.alpha obj"
-  ClutterBehaviour "Clutter.behaviour obj"
-  ClutterTimeline "Clutter.timeline obj"
-  ClutterStage "Clutter.stage obj"
-  ClutterGroup "Clutter.group obj"
-}
-
-class Actor abstract set wrap wrapsig : Object {
-  "allocation"               ClutterActorBox       : Read
-  "anchor-x"                 gint                  : Read / Write
-  "anchor-y"                 gint                  : Read / Write
-  "clip"                     ClutterGeometry       : Read / Write
-  "depth"                    gint                  : Read / Write
-  "fixed-position-set"       gboolean              : Read / Write
-  "fixed-x"                  ClutterUnit           : Read / Write
-  "fixed-y"                  ClutterUnit           : Read / Write
-  "has-clip"                 gboolean              : Read
-  "height"                   gint                  : Read / Write
-  "min-height"               ClutterUnit           : Read / Write
-  "min-height-set"           gboolean              : Read / Write
-  "min-width"                ClutterUnit           : Read / Write
-  "min-width-set"            gboolean              : Read / Write
-  "name"                     string                : Read / Write
-  "natural-height"           ClutterUnit           : Read / Write
-  "natural-height-set"       gboolean              : Read / Write
-  "natural-width"            ClutterUnit           : Read / Write
-  "natural-width-set"        gboolean              : Read / Write
-  "opacity"                  guchar                : Read / Write
-  "reactive"                 gboolean              : Read / Write
-  "request-mode"             ClutterRequestModeType    : Read / Write
-  "rotation-angle-x"         gdouble               : Read / Write
-  "rotation-angle-y"         gdouble               : Read / Write
-  "rotation-angle-z"         gdouble               : Read / Write
-  "rotation-center-x"        ClutterVertex         : Read / Write
-  "rotation-center-y