2007-08-09  Emmanuele Bassi  <ebassi@openedhand.com>

	* Clutter.pm:
	* README:
	* NEWS: Bump up version, and release 0.402

2007-08-09  Emmanuele Bassi  <ebassi@openedhand.com>

	* Makefile.PL: Clean up a bit the Makefile.PL

2007-08-09  Emmanuele Bassi  <ebassi@openedhand.com>

	* xs/Clutter.xs: Add ->SUPPORTED_MODULES(), a module method that
	returns a list of supported modules against which Clutter was
	compiled.

	* tools/TestHelper.pm: Add the sub_module option, that allows
	to skip all the tests if Clutter wasn't compiled against the
	desired sub-module.

	* t/GtkClutterEmbed.t: Depend on being compiled against
	clutter-gtk.

2007-08-09  Emmanuele Bassi  <ebassi@openedhand.com>

	* xs/ClutterBox.xs: Document how to subclass a Clutter::Box.
	Change the way Clutter::Box::PACK_CHILD() works: we pass a
	Clutter::BoxChild with a zero-filled child_coords and we expect
	the child coordinates as a return value. Much more perl-ish
	than modifying the passed hashref.

2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>

	* t/ClutterBox.t:
	* t/ClutterHBox.t:
	* t/ClutterVBox.t: Add tests for Clutter::Box and subclasses.

2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>

	* t/ClutterAlpha.t:
	* t/ClutterTimeline.t: Add tests.

2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>

	* xs/ClutterBox.xs: Remove unused variable to fix a compiler warning.

2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>

	* Clutter.pm:
	* README: Release 0.401.

2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutterperl.h:
	* xs_files_gtk:
	* maps-gtk:
	* Makefile.PL: Add support for the clutter-gtk integration
	library, and dinamically generate the boot functions map.

	* xs/ClutterGtk.xs: Add wrappers for the GtkClutter widget
	and call the class Gtk2::ClutterEmbed.

	* Clutter.pm: Require Gtk2.

	* tools/TestHelper.pm: Add a Test::More wrapper module which
	should check whether we have a suitable environment for
	running the tests or not.

	* t/*.t: Update the tests to use Clutter::TestHelper.

	* MANIFEST: Update.

2007-08-07  Emmanuele Bassi  <ebassi@openedhand.com>

	* README:
	* Clutter.pm:
	* Makefile.PL: Bump up requirements and version to 0.400

2007-08-03  Emmanuele Bassi  <ebassi@openedhand.com>

	* AUTHORS:
	* MANIFEST: Update

	* t/ClutterBehaviourEllipse.t: Add test suite for the
	ellipse behaviour

	* xs/ClutterBehaviourEllipse.xs: Use arrayrefs for the
	center point, the size and the angles, to make the API
	more perlish. Actually, invert the parameters for the
	set_angle_tilt() method.

	* xs/ClutterEvent.xs: Fix apidoc.

2007-08-02  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1154)

	Bind ClutterBackend::get_resolution() and
	ClutterBackend::set_resolution()

	 These are the accessors for the backend resolution. You should use
	the resolution when transforming a font size from Pango units to
	pixels.

2007-08-02  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1152)

	Add examples/cairo.pl to the manifest



2007-08-01  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1147)

	Add a simple examples for Clutter::Cairo



2007-08-01  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1139)

	Add clutter_actor_get_r[xyz]ang() function bindings



2007-07-31  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1133)

	Bind ClutterStage:user-resizable accessors



2007-07-31  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1132)

	I should compile before committing code with typos in it



2007-07-31  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1117)

	Register a sink function for Clutter::Alpha

	 Like Clutter::Actor, the Alpha object reference count is set as
	initially floating. We need to register a sink function like in
	ClutterActor so that the Perl bindings can take ownership of the
	instance and garbage collect it when it's safe to do so.

2007-07-31  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1116)

	Add a stub for Clutter::Gst->init()

	 In case we are compiling the bindings without clutter-gst, we still
	need to provide a stub for the initialisation function to fail
	gracefully.

2007-07-31  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1115)

	Clean up clutter-cairo bindings generation

	 Use a list file for clutter-cairo, like we do for -core and -gst.
	Even if the clutter-cairo bindings are quite simple, at the moment,
	this setup guatantees more leeway in case they grow bigger.

2007-07-31  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1114)

	Bind clutter_gst_video_texture_get_playbin()

	 Include the right headers when compiling the integration libraries
	modules, so that we can use the libraries native types.

2007-07-29  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1099)

	Add list-style accessors to ClutterBehaviourEllipse

	 The ellipse behaviour has far too many accessors already, but lacks
	methods to set similar properties in one call. This patch adds a
	set_angles() method for setting the initial and final angles and a
	set_size() method for setting the width and height of the ellipsis;
	relative accessors are also provided.

2007-07-29  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1098)

	Update Clutter::Behaviour::Ellipse API

	 Add the new set_tilt() and get_tilt() methods, and add the axis
	parameter to set_angle_tilt() and get_angle_tilt().

2007-07-29  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1097)

	Add clutter-cairo typemap to the MANIFEST



2007-07-27  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1070)

	Mention Clutter::Texture::Cairo in the C API differences



2007-07-27  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1069)

	Bind ClutterCairo integration library

	 clutter-cairo is an integration library providing a single actor,
	ClutterCairo. The Clutter Perl bindings wrap this actor as
	Clutter::Texture::Cairo, following the naming convention of
	Clutter::Texture::Clone. If the clutter-cairo development files are
	found, the Clutter::Texture::Cairo actor is automatically built and
	exported under the Clutter namespace. With Clutter::Texture::Cairo
	you can get a Cairo::Context and draw on the actor with the Cairo
	drawin primitives (you need the Cairo Perl bindings in order to do
	this).

2007-07-27  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1068)

	Wrap Clutter::Effect animation API

	 Clutter::Effect is a though beast to bind. I've chosen the form of
	class methods under the Clutter::Effect package name, which is the
	form that most roughly matches the C library usage. The
	Clutter::Effect->move() method is not yet wrapped because it accepts
	a pointer to a static array of knots. This will probably need
	changing upstream, because we don't have a convenient append_knot()
	method here for dynamically allocated knots.

2007-07-26  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1066)

	Clean up Makefile.PL

	 Remove mentions of Gdk and some whitespace fixes.

2007-07-26  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1065)

	Add Clutter::Gst sub-module

	 Clutter::Gst is the wrapper module for the GStreamer integration
	library. If you have clutter-gst and the GStreamer Perl bindings
	installed, the build system will automatically build Clutter::Gst for
	you. Initially wrapped objects: Clutter::Gst::Audio, for audio
	streaming, and Clutter::Gst::VideoTexture, a Clutter::Texture that
	taps into a video stream. Instead of calling Clutter->init() you
	should call Clutter::Gst->init(). In alternative, import the Clutter
	module with:   use Clutter ':gst-init'; to automatically initialise
	Clutter and Clutter::Gst.

2007-07-26  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1064)

	Update ClutterBehaviourEllipse bindings

	 The tilt argument of the constructor has been dropped. The direction
	property accessor functions have been added.

2007-07-25  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1040)

	Update the boxes example

	 Add a better key and button presses event handlers, and exercise
	part of the events API.

2007-07-25  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1030)

	* examples/boxes.pl: Add small test case for the boxes.


2007-07-25  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1029)

	add missing files



2007-07-25  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:1028)

	* *: Port to clutter-0.3 API. The actual changes are too many
	to be listed here.


2007-04-25  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:625)

	* xs/ClutterActor.xs: Allow overriding the ClutterActor::paint()
	vfunc in order to draw actor subclasses using native GL calls.


2007-04-25  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:624)

	* Makefile.PL: Fix inclusion of the autogenerated Keysyms
	module.
	* examples/hello.pl: Test key symbols.


2007-04-25  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:623)

	* Clutter.pm: Post-release bump to VERSION 0.231.
	* MANIFEST:
	* tools/genkeysyms.pl: Use Gtk2 script to autogenerate the
	Clutter::Keysyms module containing the symbolic names for
	the key symbols from the installed C header file.
	* Makefile.PL: Add keysyms generation when building.


2007-04-25  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:622)

	Update DOAP file clutter-perl.doap



2007-04-25  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:621)

	* Clutter.pm: Bump to VERSION 0.230, support latest stable
	release in 0.2.
	(import): Support ':init' as well as '-init' and 'init'
	argument to initialise Clutter when importing the module.
	(square): Add pure-Perl square waveform generator function.
	(pod:SYNOPSIS): Update the example code.
	* xs/ClutterTypes.xs: Make Clutter::Color->parse() a
	valid class method; add support for accessing the members
	of Clutter::Knot.
	* xs/ClutterGroup.xs: Extend the stack beforehand with the
	size of the list returned by clutter_group_get_children(),
	instead of using XPUSHs; bind clutter_group_remove_all().
	* xs/ClutterActor.xs: Allow overriding the
	ClutterActor::request_coords() and ClutterActor::allocate_coords()
	vfuncs from Perl, and document how to do it.
	* examples/behaviour.pl: Test ':init' as initialisation
	pragma.
	* examples/hello.pl: Add a simple hello world using the
	same code of the SYNOPSIS.
	* examples/*.pl: Add copyright and license terms for the
	code in the examples.


2007-02-05  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:459)

	* Clutter.pm: Bump to VERSION 0.300, support Clutter 0.3.
	(import): Support ':init' as well as '-init' and 'init'
	argument to initialise Clutter when importing the module.
	(square): Add pure-Perl square waveform generator function.
	(pod:SYNOPSIS): Update the example code.
	* xs/ClutterTypes.xs: Make Clutter::Color->parse() a
	valid class method; add support for accessing the members
	of Clutter::Knot.


2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:435)

	update doap file



2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:432)

	* Makefile.PL: Depend on clutter-0.2.
	* README: Add informations on Clutter and installation
	instructions.
	* xs/ClutterActor.xs:
	* xs/ClutterBehaviour.xs:
	* xs/ClutterLabel.xs:
	* xs/ClutterTypes.xs: Add last bits of new upstream API.
	* xs/ClutterGroup.xs: Remove deprecated clutter_group_show_all()
	and clutter_group_hide_all().


2006-12-19  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:358)

	* xs/ClutterTypes.xs: Wrap lighen, darken and shade
	ClutterColor methods.


2006-12-19  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:357)

	* xs/ClutterAlpha.xs: Allow undef data by default in
	Clutter::Alpha::set_func().
	* xs/ClutterTypes.xs: Wrap the pixel packing functions;
	wrap the HLS colospace conversion functions; fix the equal
	functions.
	* Clutter.pm: Fix examples in SYNOPSIS.
	* examples/behaviour.pl: Fix default value for the angle-end
	property of the Clutter::Ex::Behaviour::Rotate.


2006-12-17  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:351)

	* xs/ClutterMedia.xs: Add _ADD_INTERFACES function, which
	should allow the implementation in pure perl of the
	Clutter::Media interface.


2006-12-13  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:340)

	* xs/ClutterActor.xs: Wrap clutter_actor_show_all()
	and clutter_actor_hide_all(); these currently clash
	with clutter_group_show_all() and clutter_group_hide_all()
	when using a Clutter::Group; will think on how to
	resolve this.


2006-12-13  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:339)

	* xs/ClutterTypes.xs: Wrap clutter_color_equal().
	* xs/ClutterBehaviourPath.xs: Use undef as default
	value for the knots argument in the constructor.
	* Clutter.pm: Overload the equality operator for
	the Clutter::Color object to call Clutter::Color::equal.


2006-12-11  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:331)

	* examples/behaviour.pl: Implement a rather dummy
	rotate behaviour; still needs work, but it's quite funny.


2006-12-11  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:330)

	* xs/ClutterBehaviour.xs: Add support for implementing
	a Clutter::Behaviour in pure perl; update the callback
	for the Clutter::Behaviour::actors_foreach() method;
	bind Clutter::Behaviour::get_actors().
	* examples/behaviour.pl: Show how the pure perl behaviour
	works; update the path behaviour method call - don't use
	an arrayref of arrayrefs: just append knots as arrayrefs.


2006-12-04  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:316)

	* xs/ClutterTypes.xs: Remove the virtual accessors:
	we threat a ClutterKnot as an array reference, and
	the type is too simple to warrant the extra-complexity
	of being a blessed reference.
	* doctypes: Add timestamp.


2006-12-04  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:314)

	update manifest



2006-12-04  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:313)

	add tests



2006-12-04  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:312)

	* xs/ClutterMedia.xs: Add the perl machinery needed
	in order to implement a Clutter::Media interface in
	pure perl.
	* xs/ClutterBehaviourPath.xs: Wrap ClutterKnot as
	an array of two elements; unwrap it from either an
	array or an hash references. This allows us to use
	the object created using the Clutter::Knot::new()
	constructor or to use perl native objects for brevity.
	Bind the clutter_knot_equal() function as a class
	method.
	Require an array of knots instead of an array
	reference in both the Clutter::Behavior::Path
	constructor and the add_knot() method.
	* t/ClutterBehaviourPath.t: Update the test suite.
	* Clutter.pm: Overload '==' for the Clutter::Knot
	object, using the equal() class method.


2006-12-04  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:310)

	* Clutter.pm: Add the difference from the C library
	to the Perl bindings to the Clutter pod.
	* examples/behave.pl: Add a bit of padding to the
	texture.
	* xs/ClutterBehaviourPath.xs: Collapse the add_knots()
	and add_knot() Clutter::Behaviour::Path methods into
	a single Clutter::Behaviour::Path::add_knot(), which
	accepts an array of Clutter::Knot objects.


2006-12-03  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:309)

	A examples/behaviour.pl
	A examples/redhand.png
	* examples/behaviour.pl: Add an example for the new
	behaviour API.
	* xs/ClutterAlpha.xs: Add symbolic name for the
	CLUTTER_ALPHA_MAX_ALPHA C macro.
	* xs/ClutterBehaviourOpacity.xs:
	* xs/ClutterBehaviourScale.xs: Allow passing undef
	as the Clutter::Alpha object.
	* Clutter.pm: Add pure perl implementation of the
	convenience alpha functions.


2006-12-03  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:307)

	A t/ClutterBehaviourPath.t
	* Makefile.PL: Clean up.
	* xs/ClutterBehaviourPath.xs: Allow passing undef as
	alpha object and knots inside the constructor; bind
	the remaining missing functions:
		clutter_behaviour_path_get_knots
		clutter_behaviour_path_clear
	* MANIFEST:
	* t/ClutterBehaviourPath.t: Add test suite for
	Clutter::Behaviour::Path methods.


2006-12-02  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:306)

	A xs/ClutterBehaviourPath.xs
	* doctypes: Add time_t.
	* maps: ClutterKnot is a boxed type, not a GObject, rename
	ClutterCloneTexture as Clutter::Texture::Clone.
	* xs/ClutterBehaviourPath.xs: Bind the path behaviour.
	* xs/ClutterTypes.xs: Add the ClutterKnot wrappers.
	* xs/ClutterCloneTexture.xs: Move the Clone object as a
	subpackage of the Clutter::Texture object.
	* t/ClutterGroup.t: Fix the test suite for Clutter::Group:
	the size is set on realize.
	* t/ClutterStage.t: Better check for the color components.


2006-12-02  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:304)

	* xs/ClutterTexture.xs:
	* xs/ClutterStage.xs:
	* xs/ClutterRectangle.xs:
	* xs/ClutterTimeline.xs: Synch with upstream API.


2006-12-02  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:303)

	add clutter-perl DOAP file



2006-12-02  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:302)

	D xs/ClutterVideoTexture.xs
	A xs/ClutterAlpha.xs
	A xs/ClutterBehaviourOpacity.xs
	A xs/ClutterBehaviourScale.xs
	A xs/ClutterBehaviour.xs
	* maps: Update types.
	* xs/ClutterAlpha.xs:
	* xs/ClutterBehaviour.xs: Bind new behaviour API.
	* xs/ClutterBehaviour*.xs: Bind the new behaviour objects.
	* xs/ClutterActor.xs:
	* xs/ClutterLabel.xs:
	* xs/ClutterStage.xs:
	* xs/Clutter.xs: Update API.
	* MANIFEST:
	* Clutter.pm:
	* Makefile.PL: Update version, clean up, remove the
	version macro generation: upstream now has it too.
	* doctypes: Add GdkPixbuf and Pango types.


2006-07-16  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:200)

	* xs/ClutterEvent.xs: Fix a typo in clutterperl_event_unwrap().


2006-07-15  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:198)

	* xs/ClutterEvent.xs: Bind the Clutter::Event object.
	* examples/rects.pl: Add an example of the Clutter::Event
	accessors.


2006-07-08  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:196)

	* t/*.t: Initialize Clutter when testing, otherwise most of
	the methods won't work.


2006-07-08  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:195)

	* Makefile.PL: Require clutter HEAD.


2006-07-06  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:189)

	* xs/*.xs: Remove the _noinc from all the classes inheriting from
	ClutterActor, as it is now a "floating" object.
	* xs/ClutterActor.xs: Re-sync with clutter API changes.


2006-06-26  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:185)

	* xs/ClutterCloneTexture.xs:
	* xs/ClutterVideoTexture.xs: Implement the remaining textures.
	* xs/ClutterMedia.xs: Implement Clutter::Media interface; only
	the C part works - implementing the interface in Perl will
	require some more black magic.


2006-06-25  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:184)

	* xs/ClutterCloneTexture.xs:
	* xs/ClutterVideoTexture.xs: Implement the remaining textures.
	* xs/ClutterMedia.xs: Implement Clutter::Media interface; only
	the C part works - implementing the interface in Perl will
	require some more black magic.


2006-06-24  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:183)

	A examples/rects.pl
	* MANIFEST:
	* examples/rects.pl: Add an example program (it's the same
	one used for the Python bindings).


2006-06-24  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:182)

	* xs/ClutterTexture.xs:
	* xs/ClutterTimeline.xs: Implemented Clutter::Texture and
	Clutter::Timeline.


2006-06-23  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:179)

	* xs/ClutterRectangle.xs: Implement Clutter::Rectangle
	* xs/ClutterTypes.xs: Implement Clutter::ActorBox
	* xs/ClutterActor.xs: Rename parameter name "self" to "actor", so
	that the apidoc is coherent with the object name.
	* xs/ClutterGroup.xs: Implement Clutter::Group::foreach(); rename
	Clutter::Group::add_many to ::add, so that the semantics is kept;
	implement the rest of Clutter::Group methods.
	* xs/ClutterLabel.xs: Implement Clutter::Label.  The constructor
	takes two optional parameters which are dogfed to the relative
	accessors.
	* t/ClutterGroup.t:
	* t/ClutterLabel.t:
	* t/ClutterRectangle.t: Add test suites for the newly wrapped
	objects.


2006-06-23  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:169)

	fix MANIFEST.SKIP



2006-06-23  Emmanuele Bassi  <ebassi@openedhand.com>  (rev:167)

	Initial import of the perl bindings