I’ve just sent this to the Clutter mailing list, but I guess that more exposure is fine
as some of you might already know, we have started working on a reference “toolkit” based on Clutter called Tidy.
Tidy is a simple library containing some useful actors and interfaces which can be used by applications developers; it aims to be simple and yet provide some high-level classes that Clutter won’t provide.
it is by no mean complete, or aiming to replace other toolkits; you can think of it as a reference implementation for a toolkit based on Clutter.
Tidy works as a standalone toolkit, but it can also be used as a copy-and-paste repository, like libegg for the gtk+ stack; because of this, it doesn’t provide any kind of API or ABI guarantee, and it probably won’t be released in form of tarballs. it can be seen as a constant work in progress.
right now, Tidy is composed of these classes:
- TidyActor – a base actor class, implementing stylable actors, with padding and alignment
- TidyButton – a simple button class
- TidyFrame – a container capable of aligning its only child
- TidyListView – a list view using
ClutterModel
to introspect its structure and contents
- TidyCellRenderer – base cell renderer class
- TidyCellRendererDefault – default cell renderer
- TidyListColumn – base column class
- TidyListColumnDefault – default column
- TidyTextureFrame – a texture that efficiently clones a background image so that it can stretch the entire size allocation
- TidyProxyTexture – a texture class that efficiently caches the source file
- TidyTextureCache – a cache for textures loaded from on-disk data
- TidyTextureReflection – an actor using GL to compute a reflection of the parent texture (imported from the toys)
- TidyStylable – base interface for stylable objects
- TidyStyle – storage class for a style
- TidyScrollable – base interface for scrollable actors
- TidyAdjustment – object for clamping a value between two boundaries (with quantum increments support)
- TidyScrollBar – scroll bar actor controlling an adjustment
- TidyViewport – scrollable viewport controlled by a pair of adjustments
Update@2008-02-07T10:01Z: after this announcement, Chris added two new actors:
- TidyScrollView – a viewport with scoll bars
- TidyFingerScroll – a viewport with kinetic scrolling
Plus a lot of bug fixes.
there are examples for basically every class and functionality under the tests/ directory.
since everybody want screencasts these days:
this is still in the prototyping stage; meaning: if it breaks (and it will break) you get to keep both the pieces. also, there are rough edges and missing functionality. we’ll keep working on it and adding new classes between now and Clutter 0.6 (and after), and also use Tidy as a testing ground for Clutter functionality and staging ground for actors/data structures/interfaces.
you can check out Tidy from SVN using:
svn co http://svn.o-hand.com/repos/tidy/trunk tidy
or browse the repository from your web browser via:
http://svn.o-hand.com/repos/tidy/trunk/ (raw)
http://svn.o-hand.com/view/tidy/trunk/ (viewcvs)
in other, Clutter-related news:
- Iain has been working on a Clutter and WebKit-based browser actor; you’ll find a very cool screencast of it on Iain’s blog.
- In Clutter trunk we landed initial support for FBOs and we’re fixing bugs/updating bindings/updating documentation toward the 0.6.0 release.
- It’s a bit old, but I’ve been updating the Vala bindings for Clutter and Clutter-GTK, so you can now use all the bling with Vala; you’ll need Vala trunk, but it’s worth it.