mirror of
https://github.com/brl/mutter.git
synced 2024-11-10 07:56:14 -05:00
231 lines
7.9 KiB
Plaintext
231 lines
7.9 KiB
Plaintext
Clutter 0.4 README.
|
|
===================
|
|
|
|
Clutter it an open source software library for creating fast, visually
|
|
rich and animated graphical user interfaces.
|
|
|
|
Clutter currently requires:
|
|
|
|
* GLib >= 2.14.0
|
|
* GdkPixbuf
|
|
* Pango 1.x
|
|
* OpenGL >= 1.2 or OpenGL ES 1.1
|
|
* GLX, SDL or an EGL Implementation
|
|
|
|
The official website is:
|
|
http://www.clutter-project.org
|
|
The Clutter blog is at
|
|
http://www.clutter-project.org/blog
|
|
To subscribe to the Clutter mailing list, send mail to:
|
|
clutter+subscribe@o-hand.com
|
|
The official mailing list archive is:
|
|
http://lists.o-hand.com/clutter/
|
|
New bug page on Bugzilla:
|
|
http://bugzilla.o-hand.com/enter_bug.cgi?product=Clutter
|
|
|
|
Clutter is LGPL licensed.
|
|
|
|
|
|
INSTALLATION
|
|
====
|
|
|
|
See the INSTALL file. Info on specific Clutter options;
|
|
|
|
--enable-debug=[no/minimum/yes]
|
|
Turn on debugging (default=yes):
|
|
yes: All glib asserts, checks and runtime clutter verbose messages.
|
|
minimum: Just glib cast checks and runtime clutter verbose messagaes.
|
|
no: No glib asserts or checks and no runtime clutter verbose messages
|
|
(Only really of use in extreme performance cases)
|
|
|
|
--enable-maintainer-flags=[no/yes]
|
|
Use strict compiler flags (default=no)
|
|
|
|
--enable-gtk-doc
|
|
use gtk-doc to build API documentation (default=no). Requires gtk-doc
|
|
present on system
|
|
|
|
--enable-manual=[no/yes]
|
|
Build application developers manual. Requires jw and xmlto binaries.
|
|
Presently incomplete.
|
|
|
|
--without-fpu
|
|
Assume target hardware has no floating point unit. Useful only
|
|
for embedded targets such as ARM.
|
|
|
|
--with-flavour=[glx/eglx/eglnative/sdl]
|
|
Select the Clutter backend: (defualt=glx)
|
|
|
|
glx: Fully featured GLX backend. Using Open GL.
|
|
|
|
eglx: EGL/Open GL ES backend for EGL on X windows implementations
|
|
(experimental)
|
|
|
|
eglnative: EGL/Open GL ES backend on 'native windowing system' - i.e
|
|
raw framebuffer. Expects EGL implementation to provide a
|
|
createNativeWindow () call. Also optionally supports
|
|
tslib for touchscreen events.
|
|
(experimental)
|
|
|
|
sdl: Basic SDL backend, using Open GL. Should provide portability
|
|
to windows and possibly other OS's.
|
|
|
|
|
|
VERSIONING
|
|
====
|
|
|
|
Clutter uses the common "Linux kernel" versioning system, where
|
|
even-numbered minor versions are stable and odd-numbered minor
|
|
versions are development snapshots.
|
|
|
|
Different Minor versions break both API and ABI but are paralell
|
|
installable. The same Minor version with differing Micro version is
|
|
expected to be ABI compatible with other micro versions. Though this
|
|
is not guarenteed, especially for odd numbered minor releases, we'll
|
|
try our very hardest (promise).
|
|
|
|
|
|
HACKING
|
|
====
|
|
|
|
If you want to hack on and improve clutter check the contained TODO
|
|
file for pending tasks and HACKING for general coding guidelines.
|
|
|
|
|
|
BUGS
|
|
====
|
|
Bugs should be reported to the OpenedHand Bugzilla at:
|
|
|
|
http://bugzilla.o-hand.com/enter_bug.cgi?product=Clutter
|
|
|
|
You will need an account.
|
|
|
|
In the report you should include:
|
|
* what system you're running Clutter on;
|
|
* which version of GLib, GdkPixbuf and OpenGL you are using;
|
|
* which video card and which drivers you are using, including output of
|
|
glxinfo and xdpyinfo.
|
|
* how to reproduce the bug.
|
|
|
|
If you cannot reproduce the bug with one of the tests that come with Clutter
|
|
source code, you should include a small test case displaying the bad
|
|
behaviour.
|
|
|
|
If the bug exposes a crash, the exact text printed out and a stack trace
|
|
obtained using gdb are greatly appreciated.
|
|
|
|
|
|
PATCHES
|
|
====
|
|
Patches should be submitted using Bugzilla. Patches fixing a bug should be
|
|
attached to the bug report; patches for new features or for fixing bugs not
|
|
yet reported should be attached to a newly opened bug. Patches should always
|
|
be in the unified diff format.
|
|
|
|
|
|
RELEASE NOTES
|
|
====
|
|
|
|
Relevant information for developers with existing Clutter applications
|
|
wanting to port to newer releases (See NEWS for general new feature info).
|
|
|
|
Release Notes for Clutter 0.6.0
|
|
-------------------------------
|
|
|
|
* X11 related called for glx and eglx backends are now shared and moved into
|
|
a clutter_x11 prefix.
|
|
|
|
Release Notes for Clutter 0.4.0
|
|
-------------------------------
|
|
|
|
* clutter_actor_show_all does not recurse for groups at least (this is to
|
|
match the original group_show_all behaviour). This is like 0.3 but was
|
|
never noted.
|
|
|
|
* ClutterBox API has changed: clutter_box_pack_start() and
|
|
clutter_box_pack_end() have been removed in favour of the clutter_box_pack()
|
|
API.
|
|
|
|
* Both clutter_threads_enter() and clutter_threads_leave() have been
|
|
removed from the API, as they just created confusion and the wrong
|
|
idea that Clutter is either thread-safe or thread-aware. Full
|
|
thread-awareness is arriving in the next revision (see bug #429).
|
|
|
|
* The ClutterBehaviourRotate and ClutterBehaviourEllsipse APIs have been
|
|
overhauled.
|
|
|
|
Release Notes for Clutter 0.3.1
|
|
-------------------------------
|
|
|
|
* clutter_actor_apply_transform_to_point() parameters changed to use
|
|
ClutterVertices.
|
|
|
|
* New 'Native API' backend expects EGL implementation to provide a
|
|
CreateNativeWindow() API call.
|
|
|
|
* Exisiting X11 based egl backend public API calls now prefixed eglx.
|
|
|
|
Release Notes for Clutter 0.3
|
|
-----------------------------
|
|
|
|
* ClutterTexture changes:
|
|
+ clutter_texture_set_pixbuf() now takes a GError paremeter.
|
|
+ clutter_texture_upload_data has been split into two new and
|
|
more functional versions; clutter_texture_set_from_rgb_data(),
|
|
clutter_texture_set_from_yuv_data().
|
|
|
|
* The GLX specific API has been moved to the GLX backend code and
|
|
it's now under the ClutterGlx namespace.
|
|
|
|
* The priority of the various users of the GLib main loop has been
|
|
reviewed and changed were necessary. Every paint is queued with a
|
|
priority of G_PRIORITY_DEFAULT + 10; timelines are allocated with
|
|
a G_PRIORITY_DEFAULT + 30 priority; events are processed with a
|
|
G_PRIORITY_DEFAULT priority. This ensures that events are processed
|
|
before the paints take place.
|
|
|
|
* The ClutterActor::allocate_coords() has been renamed to
|
|
ClutterActor::query_coords(), in order to clarify its usage.
|
|
|
|
* Actors overriding ClutterActor::request_coords() and
|
|
ClutterActor::query_coords() must convert sizes obtained from the
|
|
public API from pixels to ClutterUnits, using the conversion
|
|
macros found in clutter-units.h. The conversion will be necessary
|
|
until the public API will switch over to returning the generic
|
|
units too.
|
|
|
|
* Users of Intel video cards should find that disabling sync-to-vblank
|
|
is no longer necessary. In case Clutter applications take really
|
|
long times for redrawing and appear stuck and unresponsive, the
|
|
sync-to-vblank feature might still be the culprit; in that case, use
|
|
"export CLUTTER_VBLANK=none" to disable it and file a bug reporting the
|
|
video card model, the driver version and the X server version.
|
|
|
|
* ClutterTimeline objects now share the same timeout pool (see the
|
|
ClutterTimeoutPool API). This might cause problems with heavily
|
|
threaded libraries without integration with the GLib main loop.
|
|
If an application experiences bad behaviours during animations
|
|
use "export CLUTTER_TIMELINE=no-pool" to disable the timeout pool.
|
|
|
|
* clutter_color_parse() now handles color definitions with alpha. Alpha
|
|
will default to fully Opaque rather than fully transparent if not specified.
|
|
|
|
* The Clutter examples/ directory has been removed and replaced with a
|
|
tests/ directory.
|
|
|
|
* The ClutterEvent API has been changed, and specific functions have been
|
|
removed in favour of event-agnostic ones.
|
|
|
|
* The ClutterStage::input-event signal has been removed. All the events now
|
|
emit the ClutterStage::event and ClutterStage::event-after signals, for
|
|
generic event handling.
|
|
|
|
* Runtime options now dependant on backend.
|
|
|
|
* ClutterGroup API to add, remove and list children has been deprecated in
|
|
favour of ClutterContainer API. The ClutterGroup::add and
|
|
ClutterGroup::remove signals have been deprecated:
|
|
ClutterContainer::actor-added and ClutterContainer::actor-removed should
|
|
be used instead.
|
|
|