mutter/NEWS
2007-12-21 17:19:41 +00:00

332 lines
13 KiB
Plaintext

Clutter 0.5.0 (??/??/????)
========================
* List of changes between 0.4.2 and 0.5.0
o New event handling system: every actor with the CLUTTER_ACTOR_REACTIVE
flag set will receive events from the underlying backend; the event
propagation chain will be walked in two directions (from the actor to
the top-level container and back) with the ability to block it in
both phases.
o ClutterShader, an abstraction over the programmable OpenGL pipeline.
o ClutterScore, an object for controlling timelines; using a score
instance is possible to start multiple timelines at once, or start
a timeline after another has emitted the ::complete signal.
o ClutterScript, an object for parsing a scene from an external file or
a buffer; the scene is described using JSON (JavaScript Object Notation):
every object is defined using its class and properties, and container
objects can have their children defined as well. It is also possible
do describe top-level objects such as timelines and behaviours, and to
automatically connect signal handlers to signal names.
o ClutterTimelines duration can now be set in milliseconds using the
:duration property; the default framerate will be used to compute the
actual duration in frames. The default framerate will be set by the
backend, and can be overridden by the application.
o ClutterTimelines direction can now be set using the :direction
property; a timeline can be set to proceed forward or backward,
and the direction can also be change while the timeline is still
running.
o New, experimental OSX backend.
o Build environment for MS VisualStudio 2005.
o ClutterModel, a generic list-based model object that can be used to
implement actors following the Model-Viewer-Controller design pattern.
Clutter provides a default implementation of ClutterModel, called
ClutterModelDefault and using the GSequence data structure from GLib
to optimize insertion and look up.
o Add the ability to grab pointer and keyboard events: if an actor
is set to have a grab it'll be the only one receiving events until
it releases the grab.
o Add the ability for an actor to receive the key focus; an actor
with key focus will always receive the key events, even if it did
not acquire the keyboard grab.
o It is now possible to set the GL "fog" (also known as "depth cueing")
effect on the ClutterStage; if the fog is enabled, actors farther
away from the view point will fade into the stage background color.
o Each actor now has an "anchor point", a point defined in the actor's
coordinate space that will be used as the origin when scaling and
rotation transformations.
o Every pixel-based API has been doubled with a corresponding
ClutterUnits-based function (postfixed with a '-u'), for instance:
clutter_actor_set_position() - clutter_actor_set_positionu()
clutter_actor_set_size() - clutter_actor_set_sizeu()
clutter_actor_set_depth() - clutter_actor_set_depthu()
This allows sub-pixel precision and device independence.
o The ClutterLabel actor now tries very hard to provide a sane
default size, if no bounding box has been requested; this fixes
the :alignment property and allows the addition of the :justify
property.
* List of bugs fixed
o
Clutter 0.4.0 (07/08/2007)
========================
* List of changes between 0.3.1 and 0.4.0
o Many documentation additions and improvements.
o Display DPI now honours on backends its can be queried.
o Various big endian related fixes.
o ClutterBehaviourEllipse and ClutterBehaviourRotate API and
internals improvements.
o Add basic tslib support to eglnative backend (for touchscreen events)
o clutter_stage_get_actor_at_pos should now work on 16bpp displays.
o New ClutterEffect rotation calls.
o Allowing user resizing of the stage now optional.
(implemented by glx backend only currently)
o ClutterEntry UTF8 fixes and improved automatic initial sizing.
o Make ClutterActor GInitiallyUnowned.
o New ClutterBox API: each box has now a colour and a margin (distance
between the inner-border and the children); plus, each packed child
has a padding. Margins and paddings are expressed in ClutterUnits,
to ease the transition to the device independent units. You can use
clutter_box_set_default_padding() if you want the same padding for
each child.
* List of bug fixed
o #390 - clutter_stage_get_actor_at_pos broken on 16bpp displays.
o #398 - inconsistent type for return value of clutter_event_get_state
o #403 - Critical error when removing texture actor
o #404 - Solaris build error with OpenGL, missing
GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB and GL_TEXTURE_RECTANGLE_ARB
o #409 - depth mismatch between visual (32) and window (24)
o #407 - metadata-available signal #ifdef'ed out
o #413 - Clutter compile error with Sun Studio C compiler
o #426 - typo in sdl_backend
o #414 - ClutterEntry invisible if size not set
o #434 - clutter_color_from_pixel incorrectly interprets alpha value
o #435 - clutter_color_subtract does the opposite of its documentation
o #436 - clutter-behaviour-depth always perform "from deep to shallow"
Clutter 0.3.1 (06/07/2007)
========================
* List of changes between 0.3 and 0.3.1
o EGL. There are now 2 experimental EGL backends;
- 'eglx', the former EGL on X11 implementation (now renamed)
- 'eglnative', a new EGL 'native' backend which supporting non
X11 EGL implementations (i.e framebuffer).
o ClutterGroup now returns correct size when a child is removed.
o Missing redhand.png added to distro tarball (fixing tests that require
it)
o Fix picking in ClutterBox
o Rectangle border creation fixed.
o Fix overflow in Exponential Alpha funcs.
o Many API documentation fixes and improvements.
o ClutterEffect cleanups.
o ClutterEntry cleanups.
o Check for versioned XFixes library (GLX backend).
o More X error traps in GLX backend.
Clutter 0.3 (29/06/2007)
========================
* List of changes between 0.2.3 and 0.3
o Clutter now supports both switchable windowing system and GL backends.
Window systems supported include GLX, EGL and SDL.
GL support includes OpenGL 1.2+ and OpenGL ES 1.1. This is
provided by a small basic abstraction layer 'cogl.h'. Cogl is not
yet documented - usage external to Clutter is not yet advised.
Backends may provide specific command line options.
Notes;
GLX
---
The GLX backend is built by default and is currently the most
developed, supported and featured windowing system backend. Only
OpenGL is supported via GLX.
SDL
---
Clutter has experimental support for using SDL. Open GL is supported as
is OpenGL ES via Dogles (very experimental).
EGL
---
Clutter has experimental support for using EGL. Only Open GL ES
is supported by EGL.
EGL support assumes an EGL implementation running atop X Windows.
Open GL ES.
-----------
Clutter now has experimental support for Open GL ES.
Current known issues;
+ Unrealising a ClutterTexture will not move pixel data from video
into system memory but simply destroy it.
+ BGRA, YUV Texture data not currently supported.
(Use the clutter_feature API to probe for above at runtime)
Open Source ES implementations this has been tested against
include `Vincent' and `dgles'. Support for commerical
implementations may require modifications to the configure.ac
script.
vincent: http://ogl-es.sourceforge.net/
(Also see: http://svn.o-hand.com/repos/misc/trunk/ogles/ )
dgles: http://developer.hybrid.fi/dgles/index.html
o New ClutterEffect class provides a simplified (and thus less flexible)
API wrapping around behaviours, alphas and timelines.
o New Behaviours - bspline, ellipsis, rotation.
o New built in Alpha functions;
CLUTTER_ALPHA_SINE_INC
CLUTTER_ALPHA_SINE_DEC
CLUTTER_ALPHA_SINE_HALF
CLUTTER_ALPHA_SQUARE
CLUTTER_ALPHA_SMOOTHSTEP_INC
CLUTTER_ALPHA_SMOOTHSTEP_DEC
CLUTTER_ALPHA_EXP_INC
CLUTTER_ALPHA_EXP_DEC
o New Actors and interfaces
+ ClutterLayout, for writing extended layout support in actors
+ ClutterContainer, for generic container actors
+ ClutterBox, ClutterVBox and ClutterHBox layout actors.
+ ClutterEntry, text entry actor
o ClutterTexture now handles BGRA, YUV and premultiplied alpha data.
o All internal math now fixed point based.
o Clutter now has it own internal event queue.
o ClutterStage new features;
+ Title property for naming in window decorations.
+ Perspective setting - The stages perspective can now be modified.
o New Clutter_actor *project API calls allow for querying of tranformed
actor vertices and points.
o New Clutter Feature checks.
o Initial ClutterUnit implementation for device independant positioning.
* List of Bugs fixed
o Various issues with very poor performance and Intel drivers.
o #138 Fix typo in x rotation transform.
Clutter 0.2.3 (2007-04-11)
==========================
* List of changed between 0.2.2 and 0.2.3
o Fixes to tile based textures and again clutter_texture_get_pixbuf(). [Matthew]
o Implement Gravity for ClutterScaleBehaviour. [Matthew, Rob]
Clutter 0.2.2 (2007-03-22)
==========================
* List of changed between 0.2.1 and 0.2.2
o Addition of basic XEMBED support for clutter stage. [Matthew]
o Fixes to clutter_texture_get_pixbuf(). [Matthew]
o Export clutter_group_remove_all and add associated fixes. [Matthew]
Clutter 0.2.1 (2007-02-07)
==========================
* List of changed between 0.2.0 and 0.2.1
o Add even faster double to integer (and back) conversion
functions. [Tomas]
o Fix some errors in the fixed point sine waveform
function. [Tomas]
o Use fixed point math in the Pango renderer. [Tomas]
o Improve the GL version check. [Matthew]
o Add a square waveform function. [Emmanuele]
* List of bugs fixed
o #215 - macro CLUTTER_MARK() not disabled for non-debug builds
Clutter 0.2 (18-01-2007)
========================
* List of changes between 0.2 and 0.1
o Bindings, GStreamer and GTK+ dependencies moved out of tree:
now Clutter strictly depends on Xlibs, OpenGL and GdkPixbuf only.
o Actors now have an initial floating reference; this means you
don't have to explicitely unref them: every memory an actor
allocates will be freed when the group containing the actor will
be destroyed.
o Add basic run-time detection of GL features.
+ Use GL_TEXTURE_RECTANGLE_ARB if available.
+ Attempt to set up sync to vblank (set CLUTTER_VBLANK=none to disable)
o Add API for behaviours. A ClutterBehaviour is an object which
drives a set of actors using one or more properties depending
on the value of an "alpha" function.
+ Provide simple behaviours: ClutterBehaviourOpacity,
ClutterBehaviourPath and ClutterBehaviourScale.
+ Provide simple alpha functions for ramps and sine waveforms.
o Add fixed point API for embedded platforms with no FPU.
o Add support for command line switches to Clutter, like debug
flags and abort on warnings; also allow application to hook up
into the initialisation sequence to add their own command line
switches.
o Add Pango GL renderer for Clutter, and use it to render text
inside the ClutterLabel actor; this decrease texture memory
usage.
o Redo Clutter Label widget, using the new Pango renderer.
o Clutter Textures do not store local pixbuf copy (of texture).
o Redo group and actor scale/sizing API and functionality.
o Add memory management API for ClutterColor, and string parsing.
* List of bug fixed
o #199 - Little group handling fix?
o #198 - Detect NPOT support on more systems
o #197 - Tiled textures are broken
o #196 - Rebuild the examples when the library changes
o #156 - clutter_actor_set_position not using the absolute size
o #155 - Don't test for XInitThreads [Bastien Nocera]
o #154 - Key presses not working in super-oh example [Bastien Nocera]
o #152 - Misc fixes [Bastien Nocera]
o #143 - Faulty ref-counting in clutter_group_remove [Frederic Riss]
o #141 - Copy-pasto in clutter_media_set_volume [Frederic Riss]
o #101 - No package 'x11' found -- wrong configure [Tomasz Torcz]
o #98 - Enabling trails in super-oh crashes
Clutter 0.1 (22/06/2006)
========================
* First 'official' release, expect bugs aplenty.
* Contains:
o Hopefully enough functionality to build things.
o Basic gstreamer 0.10 video playback support.
o Fairly stable API, though in no way totally stable.
Expect CHANGES in future versions.
o Some simple examples ( also see OPT ).
o An experimental GTK-Clutter widget.
o Fairly complete Python bindings.
o Non complete but hopefully useful API documentation.
* If you want to help out see the TODO file.