1
0
Fork 0
mutter-performance-source/NEWS
Emmanuele Bassi c1071f3661 Release 0.6.0
2008-02-18 15:53:19 +00:00

525 lines
21 KiB
Text

Clutter 0.6.0 (18/02/2008)
==========================
* List of changes between 0.5.6 and 0.6.0
o New documentation sections inside the API reference, describing
the animation framework.
o New API in ClutterActor for computing the actor's vertices in
the plane of a given ancestor and accessors to query whether an
actor is scaled or rotated
* List of bug fixed
o #613 - Extend point transformation API
o #779 - Rounding error in ClutterBehaviourScale [Havoc Pennington]
o #787 - tiled textures are broken
o #796 - segmentation fault when setting label text
Clutter 0.5.6 (11/02/2008)
==========================
* List of changes between 0.5.4 and 0.5.6
o Reverted a last minute change in the depth sorting function of
ClutterGroup.
o Added the clutter_actor_move_anchor_point() family of functions,
which will set the anchor point at the given coordinates while
adjusting the actor postion so that the relative position of the
actor toward its parent remains the same.
o Provide a fallback for finding the Clutter alpha functions inside
a UI definition for ClutterScript in case g_module_open() fails.
o Add initial Frame Buffer Objects support in ClutterTexture; using
FBOs, where supported by the hardware and drivers, it's possible to
create a ClutterTexture from any actor.
* List of bugs fixed
o #386 - Stage is white unless a timeline is present
o #439 - timing related pong lockup due to timeline rewind...
o #440 - 1 pixel line flickering
o #442 - Shader support
o #451 - Improve font rendering quality (Pango)
o #452 - Textures are shown with distortion on Solaris/SPARC
o #526 - OSX backend
o #533 - Clutter stage is not shown under some conditions
o #540 - ClutterStage isn't always respecting requests to change size
o #549 - Backend offscreen API is broken
o #613 - Extend point transformation API
o #635 - Fix buffer overflow in clutter_texture_get_pixbuf() [Gwenole
Beauchesne]
o #643 - Superfluous "filter-quality" setting in texture_upload_data()?
[Gwenole Beauchesne]
o #689 - Rotating actor through layers does not handle opacity
correctly [Josh Stewart]
o #710 - Make "box-blur" test shader work in some way [Gwenole Beauchesne]
o #719 - X11 backend does not check window field in events [Havoc
Pennington]
o #724 - ClutterLabel reports wrong height when lines > 1
o #749 - "reactive" property does not change
o #751 - missing XSync in clutter-event-x11.c:xembed_set_info() [Havoc
Pennington]
o #756 - clutter_actor_get_abs_size returns bogus values
o #769 - OSX backend fails to build
o #770 - OSX: passing incompatible pointer type
Clutter 0.5.4 (25/01/2008)
==========================
* List of changes between 0.5.2 and 0.5.4
o A clutter-x11-<major>.<minor> pkg-config file is installed along
with the clutter-<major>.<minor> and clutter-<backend>-<major>.<minor>
ones, for libraries and applications depending on the X11-based
backends (GLX and EGLX).
o Textures are correctly unrealized before changing and freeing the
main GL context.
o It is now possible to block the automatic call to clutter_main_quit()
when closing the stage window using the frame controls by connecting
an handler for the ::event signal on the Clutter stage and checking
for the CLUTTER_DELETE event type and returning TRUE. This allows
the usage of other main loops with GLib reactors (like Python's twisted)
with Clutter without triggering assertions by closing the stage window.
* List of bugs fixed
o #564 - Add more precise clutter_qdivx() [Gwenole Beauchesne]
o #614 - ClutterActor API inconsistencies
o #640 - ClutterTexture unrealized with no GL context
o #654 - Under heavy load clutter sometimes drops the last frame of
a timeline [Johan Bilien]
o #672 - Event handling in osx backend is broken [Tommi Komulainen]
o #684 - Improve test-scale by also using anchor point [Jaap A. Haitsma]
o #695 - clutter-shader: Invalid format string for
gssize [Tommi Komulainen]
o #696 - cogl_get_proc_address requires GLX [Tommi Komulainen]
o #709 - clutter_effect_scale inconsistent with clutter_actor_set_scale
o #714 - clutter_event_copy for enter/leave event generates
extra unref [Neil Roberts]
o #715 - Type errors in test-shader
o #720 - BehaviourScale not working in python after recent
API change [Josh Stewart]
Clutter 0.5.2 (14/01/2008)
==========================
* List of changes between 0.5.0 and 0.5.2
o ClutterModelDefault has been renamed to ClutterListModel
o ClutterModel now has vector-based variants for append, prepend and
insert methods; these methods are useful for bindings
o Add units-based variant for clutter_actor_move_by()
* List of bugs fixed
o #694 - Handle GLhandleARB on OS X [Tommi Komulainen]
o #700 - Fix for clutter_effect_rotate() [Neil Roberts]
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.