The clutterhs package

[Tags: lgpl, library]

Clutterhs is a binding to the Clutter C library. Clutter is an open source software library for creating fast, visually rich, portable and animated graphical user interfaces. Clutter uses OpenGL for rendering but with an API which hides the underlying GL complexity from the developer. The Clutter API is intended to be easy to use, efficient and flexible.

[Skip to ReadMe]


Change logNone available
Dependenciesarray, base (>3 && <5), cairo, glib (>=0.10.1), gtk (>=0.10.1), haskell98, mtl, X11 [details]
Copyright(c) 2009 Matthew Arsenault
AuthorMatthew Arsenault
UploadedSun Nov 29 04:12:01 UTC 2009 by MatthewArsenault
Downloads293 total (15 in last 30 days)
0 []
StatusDocs not available [build log]
All reported builds failed as of 2015-09-28 [all 6 reports]



debugEnable debug supportDisabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainers' corner

For package maintainers and hackage trustees

Readme for clutterhs-0.1

=== Clutterhs README ==

Bindings for the Clutter ( animation
library for Haskell.

This currently depends on Gtk2hs from darcs, mostly using the
Glib/GObject bindings.


The closest things to examples are in clutter/demo in the git repo,
the most useful of which is probably ClutterGame.

This library is currently incomplete. Most of the core parts of
Clutter are bound. Basic actors and animations should all be bound
(however incompletely tested). Documentation is partially complete. It
is mostly copied from the Clutter C documentation, and some parts have
not been Haskellified yet. There's also quite a bit of mess internally
that will be cleaned up eventually.

If you have any comments, complaints, or suggestions on the API or
anything, feel free to email me (

The only major components that are somewhere between entirely unbound
or effectively so are ClutterUnits, ClutterModel related things, and
perhaps ClutterScriptable and Animatable. Also many random lower level
functions, and things involving threads or timeouts are unbound. Also
I haven't started binding COGL yet, but that's also planned.

I've only tested on Linux, and only partially have the X11 backend
specific stuff bound (which you also can't yet disable, so this is
more or less X11-backend-only for right now). Clutter-gtk is in the source
tree, but pretend it doesn't exist since nothing is actually there
right now.

As another GObject based GUI library, use should be similar to gtk2hs
in many ways. As a simple example of animations, you do something like

  animate rectangle EaseOutBounce 3000 [ actorX :-> rnd1 * w,
                                         actorY :-> rnd2 * h / 2 + h / 2,
                                         actorRotationAngleZ :-> ang,
                                         actorOpacity :-> 0 ]

where the last argument to the animate function is a list of
attributes and their ending values in the animation. Any writable
property of the Clutter Actor you are animating should work, paired
with it's ending value with ':->'. The best example currently would be
ClutterGame.hs in the demo folder. Better examples and a tutorial are

In general, anything in the Clutter C API that takes a string name of
a property and a Gvalue uses an Attribute.