Emmanuele Bassi 6d87b1479c 2006-12-04 Emmanuele Bassi <ebassi@openedhand.com>
Avoid clutter segfaulting when used without invoking
	clutter_init().  This is needed when using api documentation
	tools and every other tool relying on the GObject
	introspection API (esp. on a headless box).  see the
	note in clutter/clutter-feature.c:clutter_feature_init
	for a full explanation.

	* clutter/clutter-feature.c: Call clutter_feature_init()
	when needed by one of the accessors of the features
	structure.

	* clutter/clutter-main.c:
	* clutter/clutter-private.h: Remove clutter_feature_init()
	public declaration: the features support check is done the
	first time a feature is needed.

	* clutter/clutter-main.c: Do not ever access the clutter
	main context pointer directly; instead, obtain a pointer
	to it via clutter_context_get_default(), which will always
	return something valid.
2006-12-04 19:19:53 +00:00

Clutter README.
===============

Clutter aims to give a nice easy GObject based API for creating fast,
mainly 2D single window stylalised applications such as media box
UI's, presentaions, kiosk style apps etc. It uses OpenGL for rendering.

Its not meant to be a full featured GUI toolkit for regular desktop
apps nor provide a general interface to *all* openGL functionality.

It currently uses fairly low end GL functionality with an aim to still
work well on open source graphics drivers as well as possibly making
an eventual GL ES port feasable.

Clutter currently requires GLib >= 2.8, GdkPixbuf and OpenGL >= 1.2.
Its also recommended you have some kind of working hardware OpenGL on
your target system.

Clutter is LGPL licensed.

If you want to hack on and improve clutter check the TODO file.
Description
Languages
C 98.9%
Meson 0.7%
Python 0.3%