Clutter 0.4.2

good news everyone!

straight from the OH Towers a new, stable release of Clutter is now available for everyone to use and play with. as usual, the tarball is available here, ready to be compiled. here's the list of changes:

  • Removed the gdk-pixbuf-xlib.h include from clutter-stage.c
  • Fix the RGB textures on GL/ES
  • Add more checks for detecting the PowerVR SDK
  • Remove a possible deadlock when dispatching a source under the Clutter main thread lock
  • Call glFinish() before reading pixels in get_actor_at_pos [Kate Alhola]
  • Add a missing read surface in the EGLX backend [Kate Alhola]
  • Fix bug #481 - Preserve the event emission ordering
  • Fix bug #483 - Fix overall path length computation
  • Fix bug #486 - Fix actor rotation around X axis
  • Fix bug #488 - Fix border drawing [Neil Roberts]
  • Fix bug #498 - Only declare tsevent if we have tslib [Robert Bragg]
  • Fix bug #505 - Flag motion events in the EGL native backend [Shreyas Srinivasan]

along with Clutter core 0.4.2 we also released PyClutter, the Clutter Python bindings: the tarball is available here, and here you can see the NEWS file with the changes between 0.4.1 and 0.4.2.

thanks to those who opened bugs, submitted patches, helped on the #clutter IRC channel and in general helped us making Clutter rock even more; in particular, our thanks go to (in no particular order):

  • Neil Roberts
  • Robert Bragg
  • Shreyas Srinivasan
  • Kate Alhola
  • Giuliani Vito Ivan

have fun with Clutter!

Comments (4 total)

Hi! Great job everyone. Neat

Hi!

Great job everyone. Neat piece of software. :)

I was wondering if you could answer a quick question about your fabulous Python bindings for Clutter.

I have found the VBox class and can instantiate it, but for the life of me cannot figure out how to use it properly. Any suggestion how I would make a simple column of clutter textures 100px apart?

Thanks!

Greg

boxes in clutter work like in

boxes in clutter work like in HTML: you pack actors into them, providing a padding as a tuple of integers ordered like:

(padding-top, padding-right, padding-bottom, padding-left)

padding is expressed in clutter units, so you have to convert it for the time being (this will be dropped in 0.6, as we will have default units and the API for automatic conversions).

so, a possible answer for you question ("possible" because you can use different paddings to achieve the same end results):

vbox = clutter.VBox()
padding = (clutter.units_from_int(100), 0, 0, 0)
vbox.pack(your_child, clutter.PACK_START, padding)

will pad your_child by 100 pixels at the top when packing it into the box. you can also set a default padding, which will be used as a fallback with the pack_defaults() method and does the pixels-to-units conversion internally; this yields the same results as above:

vbox.set_default_padding(100, 0, 0, 0)
vbox.pack_defaults(your_child)

this is clearer in the C reference: unfortunately, there's no way to automatically build the python reference, so we'll have to write it by hand or wait for someone to step up and contribute to it hint nudge. :-)

Hi, Clutter looks lovely,

Hi,

Clutter looks lovely, congratulations. I'm in my last week at a company who make kiosks and signage systems for shops, bookmakers etc:

www.mrgsystems.co.uk

They are currently using GWT to make a web based control system for the screens. The screens themselves use a fullscreen Opera instance to display web content, with opengl used to display a simple scrolling line overlaid at the bottom.

I wish I had found Clutter before I got another job :)

The only thing it doesn't seem to have is support for rendering web content within the scene. How hard would this be to implement?

Congrats again on a lovely bit of code.

Sean

@sean - ah cool, yeah I guess

@sean - ah cool, yeah I guess you could make some pretty interesting signage with clutter - kind of comes to the 'atm' use case :).

Re rendering web content - I've heard rumours of someone hacking on a webkit clutter backend.. Only rumours so far though.