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