The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
======== Clutter 0.820 =======================================================

2008-10-02  Emmanuele Bassi  <ebassi@linux.intel.com>

	* Makefile.PL: Depend on Clutter 0.8.2.

	* Clutter.pm: Bump to 0.820.

	* NEWS:
	* README: Update

	* t/ClutterAlpha.t: Test manually advancing the timeline and
	retrieving the alpha value without a main loop spinning.

	* xs/ClutterCogl.xs: Fix cut-and-paste bug in cogl_frustum()
	binding.

	* xs/ClutterScript.xs: Add clutter_script_list_objects()
	binding, and more documentation.

2008-09-26  Emmanuele Bassi  <ebassi@linux.intel.com>

	* Cookbook.pod: Add another recipe to the Cookbook.

2008-09-26  Emmanuele Bassi  <ebassi@linux.intel.com>

	* Cookbook.pod:
	* MANIFEST:
	* Makefile.PL: Add a Cookbook document.

======== Clutter 0.802 =======================================================

2008-09-22  Emmanuele Bassi  <ebassi@linux.intel.com>

	* Makefile.PL:
	* Clutter.pm:
	* README:
	* NEWS: Release 0.802.

2008-09-22  Emmanuele Bassi  <ebassi@linux.intel.com>

	* xs/ClutterBehaviour.xs:
	* xs/ClutterEffect.xs: Documentation fixes.

2008-09-22  Emmanuele Bassi  <ebassi@linux.intel.com>

	* examples/behaviour.pl: Use a built-in alpha function.

	* t/ClutterAlpha.t: Test setting built-in alpha functions.

	* xs/ClutterAlpha.xs: Fix the handling of alpha functions
	using closures. Not sure why this has happened, but apparently
	switching to gperl_closure_new() broke the assignment from
	built-in alpha functions such as \&Clutter::Alpha::ramp_inc.
	Thanks to Andrew Ruthven for spotting this.

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

	* xs/ClutterTimeline.xs: Provide a sensible default value
	for the list_markers() method argument.

	* t/ClutterTimeline.t: Enhance the Clutter::Timeline test
	suite by exercising the markers API.

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

	* examples/behaviour.pl: Small fixes.

	* xs/ClutterBackend.xs: Bind the font options accessors of
	the Clutter::Backend class.

	* xs/ClutterContainer.xs: Documentation fixes.

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

	* tools/mk-html-docs.sh: Add a simple script using
	mpod2html to convert the pod files to HTML files. Still
	not hooked up to anything, so it needs to be run
	manually.

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

	* clutter.typemap:
	* clutterperl.h:
	* xs/ClutterCogl.xs: Start wrapping the COGL API for
	textures. It is stil very experimental, and should only
	be used for testing at this moment.

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

	* Makefile.PL: Update the WriteMakefile() parameters so that
	the META.yml that MakeMaker generates is finally useful. Remove
	the rpms magic from the postamble.

======== Clutter 0.801 =======================================================

2008-07-22  Emmanuele Bassi  <ebassi@openedhand.com>

	* xs/ClutterModel.xs:
	* xs/ClutterModelIter.xs: Finish the wrappers for implementing
	a ClutterModel and a ClutterModelIter in pure Perl; the
	ClutterModel::resort implementation is still missing.

2008-07-22  Emmanuele Bassi  <ebassi@openedhand.com>

	Miscellaneous fixes for the Debian packaging.

	* xs/ClutterContainer.xs: Use the right parameter for the
	FOREACH code reference generation.

	* xs/ClutterEntry.xs: Remove the deprecated handle_key_event()
	wrapper.

	* xs/ClutterEvent.xs: Remove an unused function.

	* xs/ClutterStageManager.xs: Include clutter-stage-manager.h,
	since Clutter 0.8.0 shipped with this header missing from the
	clutter.h collective header.

2008-07-22  Emmanuele Bassi  <ebassi@openedhand.com>

	* xs/ClutterGstAudio.xs: Bind the get_playbin() method.

	* xs/ClutterGstVideoSink.xs:
	* xs_files_gst: Add ClutterGstVideoSink bindings.

======== Clutter 0.800 =======================================================

2008-07-21  Emmanuele Bassi  <ebassi@openedhand.com>

	* xs/ClutterContainer.xs: Documentation fixes.

2008-07-21  Emmanuele Bassi  <ebassi@openedhand.com>

	* xs/ClutterContainer.xs: Add support for the child properties
	machinery in Perl - both for accessing and implementing. The
	implementation part is experimental and will need further
	testing.

	* t/ClutterContainer.t: Add Clutter::Container test suite,
	exercising the ChildMeta implementation as well.

2008-07-21  Emmanuele Bassi  <ebassi@openedhand.com>

	* xs/ClutterAlpha.xs: Simplify a lot of the Alpha bindings
	code by using clutter_alpha_set_closure() internally.

2008-07-21  Emmanuele Bassi  <ebassi@openedhand.com>

	* xs/ClutterTimeline.xs: Bind newly added markers API.

2008-07-21  Emmanuele Bassi  <ebassi@openedhand.com>

	* xs/ClutterActor.xs: Add more unit-based API.

2008-07-21  Emmanuele Bassi  <ebassi@openedhand.com>

	* examples/behaviour.pl: Update example.

2008-07-21  Emmanuele Bassi  <ebassi@openedhand.com>

	* Clutter.pm: Bump to 0.800

	* MANIFEST: Update.

	* Makefile.PL: Require 0.8 versions of core and suite.

	* clutter.typemap: Add typemap for manually wrapped types

	* clutterperl.h: Add new type conversion API.

	* doctypes: Update.

	* examples/custom-actor.pl:
	* examples/gtk-clutter.pl: Update the examples.

	* maps: Add new types.

	* t/ClutterActor.t: Update the subclassing test.

	* tools/genkeysyms.pl: Require clutter-0.8 to generate the
	keybindings symbols.

	* xs/ClutterCogl.xs: Add COGL bindings.

	* xs/Clutter.xs:
	* xs/ClutterActor.xs:
	* xs/ClutterAlpha.xs:
	* xs/ClutterChildMeta.xs:
	* xs/ClutterCloneTexture.xs:
	* xs/ClutterEvent.xs:
	* xs/ClutterFixed.xs:
	* xs/ClutterGroup.xs:
	* xs/ClutterGtk.xs:
	* xs/ClutterLabel.xs:
	* xs/ClutterRectangle.xs:
	* xs/ClutterShader.xs:
	* xs/ClutterStage.xs:
	* xs/ClutterStageManager.xs:
	* xs/ClutterTexture.xs:
	* xs/ClutterUnits.xs: Update the core bindings.

	* xs/ClutterCairo.xs:
	* xs/ClutterGstVideoTexture.xs:
	* xs/GtkClutterEmbed.xs:
	* xs/GtkClutterUtil.xs: Update the suite bindings.

	* xs_files:
	* xs_files_gtk: Add new XS files.

2008-05-08  Emmanuele Bassi  <ebassi@openedhand.com>

	* Clutter.pm: Bump to 0.621

	* README:
	* NEWS: Release 0.621

2008-05-08  Emmanuele Bassi  <ebassi@openedhand.com>

	* Clutter.pm: Bump to 0.620

	* Makefile.PL: Bump requirements:
		clutter-0.6 >= 0.6.2
		clutter-gtk-0.6 >= 0.6.1
		clutter-cairo-0.6 >= 0.6.1

	* tools/genkeysyms.pl: Require clutter-0.6

	* xs/ClutterCairo.xs: Add new ClutterCairo API.

	* xs/ClutterContainer.xs: Fix gperl_sv_is_defined().

	* xs/ClutterEntry.xs: Return a boolean in handle_key_event().

	* xs/ClutterScript.xs: Check if the GConnectFlags type has
	already been registered by Glib or Gtk2, and if not register
	it ourselves.

2008-02-19  Emmanuele Bassi  <ebassi@openedhand.com>

	* Makefile.PL: Require Clutter suite >= 0.6

	* Clutter.pm: Bump to 0.600

	* README:
	* NEWS: Release 0.600

2008-02-19  Emmanuele Bassi  <ebassi@openedhand.com>

	* examples/script.pl: Fix scale behaviour properties.

2008-02-19  Emmanuele Bassi  <ebassi@openedhand.com>

	* xs/ClutterActor.xs: Bind the relative transformation API.

	* xs/ClutterTexture.xs: Bind the from_actor constructor.

2008-02-03  Emmanuele Bassi  <ebassi@openedhand.com>

	* Makefile.PL: Require Clutter core >= 0.5.5

	* Clutter.pm: Bump to 0.550

	* xs/ClutterBehaviourScale.xs:
	* xs/ClutterEffect.xs:
	* xs/ClutterEntry.xs: Update after upstream API changes.

	* t/ClutterBehaviourScale.t: Update test.

2008-01-23  Emmanuele Bassi  <ebassi@openedhand.com>

	* Makefile.PL: Require trunk for clutter-gtk

	* clutterperl.h:
	* maps-gtk:
	* xs/ClutterGtk.xs: Update for upstream change.

2008-01-17  Emmanuele Bassi  <ebassi@openedhand.com>

	* Clutter.pm: Clean up some wording, and remove the old FSF address
	from the licesing notes (use the URL instead).

2008-01-17  Emmanuele Bassi  <ebassi@openedhand.com>

	* MANIFEST:
	* examples/gtk-clutter.pl: Add Gtk2::ClutterEmbed usage example.

2008-01-17  Emmanuele Bassi  <ebassi@openedhand.com>

	* Clutter.pm: Bump up to 0.530, as we require trunk

	* Makefile.PL: Require clutter-core 0.5.3

	* examples/custom-actor.pl: Fix SYNOPSIS.

	* t/ClutterBehaviourScale.t: Test the new Clutter::BehaviourScale
	accessors

	* xs/ClutterEffect.xs:
	* xs/ClutterBehaviourScale.xs: Update after the upstream API
	change in ClutterBehaviourScale and clutter_effect_scale()

	* xs/ClutterModel.xs: Use clutter_model_insertv() instead of
	calling clutter_model_insert_value().

2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>

	* t/ClutterModel.t: Update test suite.

2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>

	reviewed by: <delete if not using a buddy>

	* Clutter.pm: Bump up to 0.510 as we require the 0.5.1 release

	* README:
	* Makefile.PL: Update Clutter requirements

	* MANIFEST:
	* maps:
	* xs_files: s/ClutterModelDefault/ClutterListModel/

	* xs/ClutterListModel.xs: Update wrapper after rename

2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>

	* Clutter.pm: Post-release bump to 0.501

2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>

	* NEWS:
	* README: Release 0.500

2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>

	* examples/custom-actor.pl: Add a ::clicked signal and the
	event handling marshallers to emit it.

2008-01-08  Emmanuele Bassi  <ebassi@openedhand.com>

	* xs/ClutterActor.xs: Fix documentation

	* xs/ClutterTypes.xs: Add more documentation for the ::Color
	and ::ActorBox perldoc pages; add the convenience functions:

	  Clutter::ActorBox::origin
	  Clutter::ActorBox::size
	
	for getting the origin and the size of and actor box.

2008-01-08  Emmanuele Bassi  <ebassi@openedhand.com>

	* MANIFEST: Add the new custom actor example

	* examples/custom-actor.pl: Custom actor example; show how to
	subclass Clutter::Actor and override key methods. Requires
	the OpenGL module installed.

	* xs/ClutterActor.xs: Fix a lot of bugs in the overridable
	virtual functions; unfortunately, the ActorBox passed to
	QUERY_COORDS() is an in-out parameter, so we need it on the
	stack as well. subclasses will receive the box on the stack
	and will have to return an array of coordinates (x1, y1, x2, y2)
	with the new bounding box. Actors don't usually need the box
	on the stack and can just ignore it, though.

	* t/ClutterActor.t: There's no point in chaining up QUERY_COORDS;
	make sure we get the right box size in subclasses; chain up
	REQUEST_COORDS, which is instead needed.

2008-01-08  Emmanuele Bassi  <ebassi@openedhand.com>

	* xs/ClutterActor.xs: Allow overriding the PICK virtual function.

2008-01-08  Emmanuele Bassi  <ebassi@openedhand.com>

	* MANIFEST:
	* maps:
	* xs_files: Add xs/ClutterShader.xs and its types.

	* xs/ClutterActor.xs: Bind Clutter::Actor shaders API.

	* xs/ClutterShader.xs: Bind Clutter::Shader, the OpenGL
	programmable pipeline abstraction.

2008-01-08  Emmanuele Bassi  <ebassi@openedhand.com>

	* xs/ClutterModel.xs: Bind:

	  clutter_model_set_sort()
	  clutter_model_set_filter()

	and start providing basic functionality for subclassing
	Clutter::Model with a pure-perl implementation.

2008-01-07  Emmanuele Bassi  <ebassi@openedhand.com>

	* examples/script.pl: Fix the timeline to be used by the
	behaviours, and quit when the score terminates.

	* xs/ClutterModel.xs: Use the vector based API for appending
	and prepending rows to the model.

	* t/ClutterModel.t: Fix the Clutter::Model API test

2008-01-07  Emmanuele Bassi  <ebassi@openedhand.com>

	* Makefile.PL: Require unstable GLib, for gperl_sv_defined()

2008-01-07  Emmanuele Bassi  <ebassi@openedhand.com>

	* Clutter.pm: Add overloading for Clutter::Container::ForeachFunc
	invocation.

	* xs/ClutterContainer.xs: Finally wrap the FOREACH virtual
	function of the Clutter::Container interface.

	* xs/ClutterModel.xs:
	* xs/ClutterModelDefault.xs:
	* xs/ClutterModelIter.xs: Wrap more Clutter::Model and
	Clutter::Model::Iter API; still not completely working: requires
	API changes upstream for the append and prepend methods to
	work correctly.

	* t/ClutterModel.t: Add tests for Clutter::Model.

	* maps:
	* MANIFEST:
	* xs_files: Add new files

2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>

	* MANIFEST:
	* maps:
	* xs_files:
	* xs/ClutterModel.xs: Initial bindings for Clutter::Model.

	* t/ClutterModel.t: Test suite for Clutter::Model API.

2007-12-10  Emmanuele Bassi  <ebassi@openedhand.com>

	* xs/ClutterBehaviourEllipse.xs: Use the mPUSH?() macros to
	avoid the sv_2mortal(newSV?v()) tediousness.

	* t/ClutterBehaviourEllipse.t: Fix the alignment.

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

	* xs/ClutterActor.xs:
	* xs/ClutterAlpha.xs:
	* xs/ClutterBehaviour.xs:
	* xs/ClutterUnits.xs: Even more documentation.

	* examples/behaviour.pl: Use a custom alpha function, and exercise
	the Clutter::Timeline->get_progress() API at the same time.

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

	* xs/ClutterActor.xs: Port some of the C API documentation
	and description to the Perl bindings.

	* examples/script.pl: Remove a useless signal handler definition.

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

	* xs/ClutterScript.xs: Fix documentation

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

	* MANIFEST: Update

	* xs/ClutterScript.xs: Actually add ClutterScript bindings
	to the repository.

	* examples/script.pl: Example code for both ClutterScript
	and ClutterScore.

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

	* xs_files: Add ClutterScript.xs

	* xs/ClutterScript.xs: Add bindings for ClutterScript.

	* Clutter.pm: Implement Clutter::Script::connect_signals().

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

	* xs_files: Add ClutterScore.xs

	* xs/ClutterScore.xs: Add bindings for ClutterScore.

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

	* *: Sync up with upstream C API changes. As much as I hate
	doing huge commits, this is the only way to keep the bindings
	in a sane state.

	Missing bits:
	  - ClutterTimeoutPool: still need to think of a nice way to
	    wrap it up in Perl
	  - ClutterScore
	  - ClutterScript
	  - ClutterShader: this will have to wait until the dust
	    settles upstream

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

	* Clutter.pm: Bump to 0.500.

	* xs/Clutter.xs: Support the new thread-safety API, and put it
	under the Clutter::Threads namespace.

	* xs/ClutterEffect.xs: Bind clutter_effect_depth().

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

	* xs/ClutterEffect.xs: Call the Perl callback only if there
	is one; add Clutter::Effect->rotate_[xyz]() package methods.

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

	* xs/ClutterEffect.xs: Fix title for the description section.

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

	* xs/ClutterLayoyt.xs: Allow pure Perl implementations of the
	ClutterLayoyt::tune-request() virtual function. Document
	the arguments and return values of the Clutter::Layout methods.

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

	* xs/ClutterUnits.xs: Explain what Clutter::Units are and
	when you need to use them.

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

	* xs/ClutterActor.xs: Rework QUERY_COORDS() so that it can be
	used as a fallback when subclassing, like:

	  return $self->SUPER::QUERY_COORDS()
	
	just like Clutter::Box::PACK_CHILD().
	
	* t/ClutterActor.t: Add Clutter::Actor subclassing tests.

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

	* Clutter.pm: Post-release bump to 0.403

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