2007-08-20 Emmanuele Bassi * Makefile.PL: Require the new stable release of Clutter. * Clutter.pm: * README: * NEWS: Bump up to 0.410 and release. 2007-08-20 Emmanuele Bassi * t/ClutterActor.t: fix comment * examples/boxes.pl: Print dump of the clicked child. 2007-08-20 Emmanuele Bassi * 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 * xs/ClutterEffect.xs: Call the Perl callback only if there is one; add Clutter::Effect->rotate_[xyz]() package methods. 2007-08-10 Emmanuele Bassi * xs/ClutterEffect.xs: Fix title for the description section. 2007-08-10 Emmanuele Bassi * 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 * xs/ClutterUnits.xs: Explain what Clutter::Units are and when you need to use them. 2007-08-09 Emmanuele Bassi * 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 * Clutter.pm: Post-release bump to 0.403 2007-08-09 Emmanuele Bassi * Clutter.pm: * README: * NEWS: Bump up version, and release 0.402 2007-08-09 Emmanuele Bassi * Makefile.PL: Clean up a bit the Makefile.PL 2007-08-09 Emmanuele Bassi * 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 * 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 * t/ClutterBox.t: * t/ClutterHBox.t: * t/ClutterVBox.t: Add tests for Clutter::Box and subclasses. 2007-08-08 Emmanuele Bassi * t/ClutterAlpha.t: * t/ClutterTimeline.t: Add tests. 2007-08-08 Emmanuele Bassi * xs/ClutterBox.xs: Remove unused variable to fix a compiler warning. 2007-08-08 Emmanuele Bassi * Clutter.pm: * README: Release 0.401. 2007-08-08 Emmanuele Bassi * 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 * README: * Clutter.pm: * Makefile.PL: Bump up requirements and version to 0.400 2007-08-03 Emmanuele Bassi * 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 (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 (rev:1152) Add examples/cairo.pl to the manifest 2007-08-01 Emmanuele Bassi (rev:1147) Add a simple examples for Clutter::Cairo 2007-08-01 Emmanuele Bassi (rev:1139) Add clutter_actor_get_r[xyz]ang() function bindings 2007-07-31 Emmanuele Bassi (rev:1133) Bind ClutterStage:user-resizable accessors 2007-07-31 Emmanuele Bassi (rev:1132) I should compile before committing code with typos in it 2007-07-31 Emmanuele Bassi (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 (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 (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 (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 (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 (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 (rev:1097) Add clutter-cairo typemap to the MANIFEST 2007-07-27 Emmanuele Bassi (rev:1070) Mention Clutter::Texture::Cairo in the C API differences 2007-07-27 Emmanuele Bassi (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 (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 (rev:1066) Clean up Makefile.PL Remove mentions of Gdk and some whitespace fixes. 2007-07-26 Emmanuele Bassi (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 (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 (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 (rev:1030) * examples/boxes.pl: Add small test case for the boxes. 2007-07-25 Emmanuele Bassi (rev:1029) add missing files 2007-07-25 Emmanuele Bassi (rev:1028) * *: Port to clutter-0.3 API. The actual changes are too many to be listed here. 2007-04-25 Emmanuele Bassi (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 (rev:624) * Makefile.PL: Fix inclusion of the autogenerated Keysyms module. * examples/hello.pl: Test key symbols. 2007-04-25 Emmanuele Bassi (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 (rev:622) Update DOAP file clutter-perl.doap 2007-04-25 Emmanuele Bassi (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 (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 (rev:435) update doap file 2007-01-18 Emmanuele Bassi (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 (rev:358) * xs/ClutterTypes.xs: Wrap lighen, darken and shade ClutterColor methods. 2006-12-19 Emmanuele Bassi (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 (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 (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 (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 (rev:331) * examples/behaviour.pl: Implement a rather dummy rotate behaviour; still needs work, but it's quite funny. 2006-12-11 Emmanuele Bassi (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 (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 (rev:314) update manifest 2006-12-04 Emmanuele Bassi (rev:313) add tests 2006-12-04 Emmanuele Bassi (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 (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 (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 (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 (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 (rev:304) * xs/ClutterTexture.xs: * xs/ClutterStage.xs: * xs/ClutterRectangle.xs: * xs/ClutterTimeline.xs: Synch with upstream API. 2006-12-02 Emmanuele Bassi (rev:303) add clutter-perl DOAP file 2006-12-02 Emmanuele Bassi (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 (rev:200) * xs/ClutterEvent.xs: Fix a typo in clutterperl_event_unwrap(). 2006-07-15 Emmanuele Bassi (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 (rev:196) * t/*.t: Initialize Clutter when testing, otherwise most of the methods won't work. 2006-07-08 Emmanuele Bassi (rev:195) * Makefile.PL: Require clutter HEAD. 2006-07-06 Emmanuele Bassi (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 (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 (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 (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 (rev:182) * xs/ClutterTexture.xs: * xs/ClutterTimeline.xs: Implemented Clutter::Texture and Clutter::Timeline. 2006-06-23 Emmanuele Bassi (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 (rev:169) fix MANIFEST.SKIP 2006-06-23 Emmanuele Bassi (rev:167) Initial import of the perl bindings