mutter/NEWS
Emmanuele Bassi a6e1bacfbd Release 0.5.0
2008-01-02 13:15:31 +00:00

401 lines
16 KiB
Plaintext

Clutter 0.5.0 (02/01/2008)
========================
* 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.
o The SDL backend can now be compiled under win32 with MingW; this
backend is still marked as experimental.
o The OSX backend allows the compilation of Clutter under OS X; this
backend is experimental.
* List of bugs fixed
o #423 - All actors should emit events rather than just the stage
o #424 - Interface definition files
o #443 - ClutterModel implementation
o #480 - Uninitialized variable in
path_alpha_to_position() [Gwenole Beauchesne]
o #511 - clutter_stage_get_actor_at_pos problem
o #512 - clutter window moves when stage actor is scaled
o #518 - XEMBED not supported in eglx backend
o #519 - Should have an Atom cache initialized on start up
o #520 - Delete after multibyte unicode chars in
ClutterEntry [Tommi Komulainen]
o #522 - Array out of bounds indexing [Tommi Komulainen]
o #523 - cogl portability fixes [Tommi Komulainen]
o #524 - missing config.h includes [Tommi Komulainen]
o #525 - Redundant include in cogl/gl [Tommi Komulainen]
o #531 - Extraneous "new-frame" signal generated
o #532 - clutter_actor_set_scale_with_gravityx()
precision [Gwenole Beauchesne]
o #544 - clutter_color_to_hlsx is broken [Neil Roberts]
o #546 - ClutterStageState doesn't make sense
o #550 - Wanted: Set Actor's position based on center or other
edges/corners of quadrangle
o #557 - ClutterScript should support complex properties for third
party classes
o #558 - Unmerge UI definitions
o #566 - ClutterEntry does not scroll the text to the
right [Gwenole Beauchesne]
o #577 - Inconsistent naming of behaviour properties
o #580 - Fix call to cogl_enable() [Gwenole Beauchesne]
o #582 - api naming inconsistence between
clutter_behaviour_path_append_knots and
clutter_behaviour_bspline_append
o #584 - Typo on clutter_effect_rotate_x documentation page
o #592 - Fix build on trunk [Gwenole Beauchesne]
o #596 - ClutterTexture tileing logic is a little borked
o #597 - ClutterGroups not pickable
o #600 - fix ClutterLabel layout computing when no box has been set
o #604 - Color param for Label constructor should be
const [Jonathon Jongsma]
o #606 - enable depth test in GL
o #608 - Control motion events frequency
o #614 - ClutterActor API inconsistencies
o #616 - ClutterTexture doesn't respect width set from clutterscript
o #617 - ClutterEffect Improvements
o #618 - ClutterScript name/id confusion
o #619 - clutter_behavior_rotate angle properties should accept
negative values
o #628 - clutter_actor_rotate_x() is a setter, not a modifier
o #629 - There is no clutter_actor_get_position()
o #634 - clutter_behaviour_path_new() documentation unclear
o #637 - add depth cueing support to the stage
o #645 - Fix crash in clutter_label_new_full() [Gwenole Beauchesne]
o #647 - Cannot hide the stage
o #648 - Hidden fullscreen stage doesn't come back as fullscreen
o #652 - reference needed on actor being source of last motion_event
o #661 - clutter_actor_set_width() documentation is vague
o #662 - clutter_actor_set_opacity() documentation doesn't describe values
o #665 - ClutterBehaviourEllipse tilts are broken
o #670 - Fix clutter_container_lower_child() [Gwenole Beauchesne]
o #673 - ClutterActor "captured-events" signal documentation wrong
o #674 - ClutterActor::get_depth() and set_depth() vfuncs not
used [Murray Cumming]
o #675 - update subregions of cluttertextures
o #678 - ClutterLabel size allocation still bogus
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.