1 Clutter 1.2.2 (15/03/2010)
2 ===============================================================================
4 • List of changes since Clutter 1.2.0
6 » Fix introspection annotations for ClutterBox
8 » Compilation fixes for the EGL native backend
10 » Fix ClutterX11TexturePixmap ::queue-damage-redraw default handler
11 registration to avoid a run-time warning
13 » Handle TEXTURE_RECTANGLE_ARB in the 2D sliced textures, and add
14 a test case for that extension to avoid regressions
16 » Improve the strictness of the JSON parser in the internal copy
17 of JSON-GLib to which we fall back in the absence of the system
20 » Fix a crasher on NVidia drivers when enabling the ARGB visuals
30 Clutter 1.2.0 (02/03/2010)
31 ===============================================================================
33 • List of changes since Clutter 1.1.14
35 » Improve the Animator API for consistency, and the implementation
36 to match the intended behaviour, as documented
38 » Add initial (and internal) support for queueing clipped region updates
39 and let the GLX texture-from-pixmap actor take advantage of it
41 » Support any pixel format in cogl_read_pixels()
43 » Conditionally use G_VALUE_COLLECT_INIT() in functions using variadic
46 » Consistently use :min-width and :min-height inside the Stage to define
47 the minimum size of the Stage window
49 » Implement the Scriptable interface for ClutterModel sub-classes; this
50 allows setting ClutterModel columns (both types and names) in
51 ClutterScript definitions
53 » Add support for unsigned integer indices in the VertexBuffer API
55 » Documentation fixes for Clutter: the coverage is now 100%
57 » Fixes for the EGL native backend
59 » Require libtool >= 2.2.6
61 » Improve tests coverage
72 Clutter 1.1.14 (24/02/2010)
73 ===============================================================================
75 • List of changes since Clutter 1.1.12
77 » Fix interaction between user resizable Stages and fullscreen on X11
79 » Define the semantics of ENTER and LEAVE events when actors are on the
80 border of the Stage window
82 » Take the InputDevice of an event into consideration when throttling
85 » Round the coordinates when clipping to a rectangle in window coordinates
87 » Always trust the user-provided coordinates when creating a CoglTexture
88 from a foreign GL texture
90 » Split Clutter's debug annotations from the pick and paint mode
93 » Improve the usage of the CLUTTER_ACTOR_NO_LAYOUT flag so that every
94 actor using a ClutterFixedLayout manager will automatically benefit
97 » Fix the packing order of ClutterBox so that the convention of
98 first-in-first-painted is maintained
100 » Documentation fixes
108 Clutter 1.1.12 (16/02/2010)
109 ===============================================================================
111 • List of changes since Clutter 1.1.10
113 » Fix compilation on 64bit platforms
115 » Fix some races of the Stage resizing on X11
117 » Documentation fixes for Cogl: the coverage is now 100%
119 » Fix rounding errors in the preferred height of the ClutterText
122 » Remove redundant type checks in clutter_actor_get_paint_opacity()
124 » Add support for the GLX_INTEL_swap_event extension; when using this
125 extension on GLX the glXSwapBuffers() call becomes non-blocking and
126 Clutter will use an event to control the master clock.
128 » Improve consistency between ClutterBox and ClutterGroup.
130 » On X11, do not set the _NET_WM_PID and WM_TITLE properties on a
131 Stage X window if the window was not created by Clutter itself
133 » Improve caching of GL constant values
135 » Optimize creating sub-textures of sub-textures
137 » Various fixes for the atlas and the journal
139 » Disable the atlas if FBOs are not supported
149 Clutter 1.1.10 (09/02/2010)
150 ===============================================================================
152 • List of changes since Clutter 1.1.8
154 » Fixed a regression in textures that caused all the textures to be
155 drawn as white rectangles.
157 » Fixed compilation with the Sun C compiler.
159 » Use SSE2 instructions to premultiply RGBA images, if available.
161 » Improve readability of ClutterActor::raise/::lower warnings.
168 Clutter 1.1.8 (08/02/2010)
169 ===============================================================================
171 • List of changes since Clutter 1.1.6
173 » Added ClutterAnimator, a class that allows defining complex
174 implicit animations involving multiple actors and states; this
175 class is mostly meant to be used through the ClutterScript
176 definition format, but it provides a convenience C API for
177 easily building animations.
179 » New experimental COGL API to expose "hardware" buffers such as PBOs or
180 drm surfaces. This API can be used, for instance, to make texture
183 » Fixed the issues with resizable stages getting a 1x1 window with
186 » Expose input devices for every event; by default, X11 and Windows
187 backends expose the core devices only.
189 » Add the ClutterStage:key-focus property, for key focus tracking.
191 » Allow setting transformable value types in ClutterAnimation when
192 calling clutter_animation_bind() and clutter_animation_update().
194 » Delay the creation of the default Stage until clutter_stage_get_default()
195 is actually called; this reduces the work of clutter_init().
197 » Implement Ctrl+Delete and Ctrl+Backspace in ClutterText
199 » Improve the extendability of CoglTexture with internal backends.
201 » Add implicit texture atlasing; Cogl will try to put every texture
202 inside the same texture atlas by default, to avoid state changes
203 in the driver and (hopefully) improve performance.
205 » Fix notification of the cursor and selection changes in ClutterText;
206 this improves the usage of Clutter from A11Y toolkits.
208 » Do not wait for a frame if the system clock goes backwards.
210 » Fix the dirtying of the clip state; this unbreaks cogl_path_fill().
212 » Documentation and build fixes.
225 Clutter 1.1.6 (18/01/2010)
226 ===============================================================================
228 • List of changes since Clutter 1.1.4
230 » Some fixes for the Win32 backend (bug #1905).
232 » Profiling support via the UProf library. Configure with
233 --enable-profile to get a report after each Clutter application is
236 » Improved conformance tests with coverage reports via gcov.
238 » ClutterTexture no longer tries to read back texture data into
239 g_malloc'd memory on unrealize (bug #1842).
241 » The CGL_• defines from cogl-defines.h have been removed. These
242 should not have been used by any applications, but if they were
243 being used then please replace them either with the Cogl enums or
244 with the appropriate GL_• enum if you are using GL directly.
246 » Added a delete-event signal to the stage.
248 » Fix for using cogl_rectangle with different texture coordinates
249 for multiple layers (bug #1937).
251 » Fix for using stencil and depth buffers in FBOs on Intel drivers
254 » Support for subtitles in ClutterMedia.
256 » ClutterGLX will now use an RGB visual by default. For
257 applications (and toolkit integration libraries) that want to
258 enable the ClutterStage:use-alpha property there is a new
259 function: clutter_x11_set_use_argb_visual().
261 » Fix ClutterText to allow using Pango markup and attributes in
262 the same actor (bug #1940).
274 Clutter 1.1.4 (03/01/2010)
275 ===============================================================================
277 • List of changes since Clutter 1.1.2
279 » Update the ClutterScript parser to be more resilient, and support
280 constructor and ChildMeta properties. The parser also respects the
281 order of the properties in the UI definitions when applying them,
282 and will apply the properties of an Actor after building the scene
285 » Simplified the implementation of LayoutManager sub-classes, and added
286 support for animating a layout manager.
288 » Allow short-circuiting some layout operations by setting a specific
289 flag on ClutterActor.
291 » Improve caching of the preferred size of a ClutterActor.
293 » Allow declaring "internal children" for a ClutterContainer
294 implementation: the memory management of these actors will be deferred
295 entirely to the Container.
297 » Let the ClutterStage honour the :opacity property and the alpha component
298 of the stage color. This requires support in the Clutter backend used.
300 » Improve Windows and OSX backends.
302 » Simplify the feature detection code for OpenGL; this also reduced the
303 required OpenGL version to 1.2.
305 » Improve the matrix stack handling code. The matrices can be debugged by
306 using the COGL_DEBUG environment variable, assuming that Clutter was
307 compiled with the right configure-time switch.
309 » Improve COGL API for draw buffers, and for offscreen buffer support.
311 » Add support for text direction to ClutterActor.
313 » Documentation, introspection and build fixes.
330 Clutter 1.1.2 (23/10/2009)
331 ===============================================================================
333 • List of changes since Clutter 1.0
335 » Add ClutterLayoutManager, an abstract proxy class for easily
336 writing layout management policies; also add ClutterLayoutMeta,
337 a class for storing layout properties.
339 » Add ClutterBox, a generic container actor that relies on a
340 ClutterLayoutManager instance to manage the layout of its
343 » Add the following layout managers:
345 - ClutterFixedLayout - a layout manager implementing the
346 policy used by ClutterGroup
348 - ClutterBinLayout - a layout manager for packing actors
349 as layers inside the same area, with per-actor alignment
351 - ClutterFlowLayout - a layout manager arranging actors as
354 - ClutterBoxLayout - a layout manager arranging actors as
357 » Remove the requirement for the backend-specific implementation
358 of ClutterStage to be a ClutterActor: a Stage implementation must
359 only implement the ClutterStageWindow interface. This cleans up
362 » COGL source tree clean up and rationalization; COGL now
363 knows the platform, and not only the driver (GL or GLES) so
364 we can migrate part of the low-level backend code from Clutter
365 to COGL where it makes sense.
367 » Remove code duplication across whole COGL.
369 » The GLES 2.0 driver for COGL, and the EGLX backend for Clutter
370 have been fixed and confirmed working.
372 » Add "dump-pick-buffer" to CLUTTER_DEBUG: this debug options
373 dumps the contents of each pick() buffer into a PNG file, for
376 » Allow interpolating intervals of ClutterUnits for animating
377 unit-based properties.
379 » Increase strictness and correctness of the ClutterUnits
382 » Add GValue transformation functions for ClutterPath to and
385 » Fix word movement in ClutterText; implement GObject getter for
386 :use-markup; emit notification for :position; decouple the
387 :text property from the :use-markup property.
389 » Do not queue redraws or relayouts on actors currently being
392 » Support #rrggbb and #rgb notations for ClutterColor.
394 » Multiple bug fixes.
396 » Provide _NET_WM_PID on the X11 stage implementation.
398 » Documentation and Introspection annotation fixes.
400 » Add test units for the ClutterActor size requesition.
404 » Use AM_SILENT_RULES if Automake 1.11 is detected, and fall
405 back to Shave on older Automake versions.
425 Clutter 1.0.0 (28/07/2009)
426 ===============================================================================
428 • List of changes since 0.9.8
430 » Allow per-stage disabling of motion event throttling; this should allow
431 platforms or applications that require all the motion events not for
432 drawing purposes to get them exactly like Clutter gets them from the
435 » Various documentation fixes.
437 » Add per-word key navigation inside ClutterText.
439 » Fix the RGB<->HLS conversion.
441 » Various fixes for the OSX backend.
443 » Various build-related fixes.
451 Clutter 0.9.8 (17/07/2009)
452 ===============================================================================
454 • List of changes since 0.9.6
456 » Add more introspection annotations for language bindings.
458 » Fix a bug in clutter_animation_set_alpha(), which also broke the
459 clutter_actor_animate_with_alpha() function.
461 » Check if the stage requires a relayout before showing it; this fixes
462 a bug in the X11-based backends, especially under compositing window
463 managers, where a 640x480 window would flicker before the default
464 stage was shown for the first time.
466 » Performance fixes for Cogl.
468 » Sliced textures were broken by the COGL journalling.
470 » Use the redraw cycle when asynchronously loading textures from
473 » Miscellaneous compilation fixes for the OS X and Windows backends.
475 » Allow querying from within the paint function of an Actor whether
476 the actor is currently being directly painted or by a Clone actor.
478 » In the GLX backend, when using the non-implicit sync-to-vblank inside
479 glXSwapBuffers(), call glFinish() to avoid potential tearing.
489 Clutter 0.9.6 (01/07/2009)
490 ===============================================================================
492 • List of changes since 0.9.4:
494 » Allow the manipulation of the actor's transformation matrix, so that is
495 is possible to apply additional transformations in a way that is
496 compatible with the transformations already applied by the scene graph.
498 » Fix a race in the X11 backend that happened between resizing the stage
499 drawable and the call to glViewport().
501 » Merge the cogl-journal-batching branch; this branch implements batching
502 the geometry of the elements of the scene graph before sending it to
503 OpenGL, thus minimizing the number of state changes and improving the
504 overall performance of Clutter-based applications.
506 » Add more debugging states for Clutter and COGL, which allow the developer
507 to track the state of the journal; to check the VBO fallback paths; to
508 disable picking for reliable profiling; to disable software-side matrix
509 transformations in favour of the driver/GPU ones.
511 » Improve the ability to "break out" of COGL by using gl_begin/gl_end
512 semantics; applications that drop into raw GL are, though, ignoring all
513 the caching performed by COGL and might incur in performance issues.
515 » Fixed the :load-async and :load-data-async properties of Texture by
516 removing the unneeded G_PARAM_CONSTRUCT flag.
518 » Added an initial migration guide that shows the porting process from
519 older releases of Clutter to the 1.0 API; the first chapter deals with
520 the migration from ClutterEffect to the new implicit animations API.
522 » Fixed MT-safety for the master clock.
526 Ole André Vadla Ravnås
529 Clutter 0.9.4 (19/06/2009)
530 ===============================================================================
532 • List of changes since 0.9.2:
534 » Set the layout height in ClutterText, so that wrapping and ellipsization
535 work correctly to fill all the allocated area.
537 » Remove all the units-based API, and migrate all the positional and
538 dimensional accessors to use floating point values when dealing with
539 pixels. All the properties dealing with pixels now that a floating
542 » Add the ability to track wether an actor is going to be painted or not,
543 using the "mapped" flag. This also allows Clutter to be more strict
544 in the handling of the scenegraph, ensuring correctness and avoiding
545 wasting resources on nodes that won't be painted.
547 » Add debugging facilities for COGL, similar to those of Clutter; through
548 them is also possible to have an on screen debugging mode that shows the
549 boundaries of each rectangle sent to the GPU.
551 » Rework "units" into real logical distance units that can be converted
552 between millimeters, typographic points and ems into pixels.
554 » Simplify the Animation class to avoid redundancy and the possibility
555 of it going out of sync with the Timeline and Alpha instances it uses.
557 » Move every operation into a single "master clock" source that advances
558 the timelines, dispatches events and redraws the stages in a predictable
559 sequence, thus avoiding unneeded redraws. The default is to follow the
560 sync-to-vblank cycle, if it is supported by the drivers.
562 » Cache the glyphs geometry into a vertex buffer object to avoid
563 resubmitting too much information to the GPU.
565 » Rework the behaviour of ClutterModel when a filter is applied.
567 » Allow submitting premultiplied texture data; this removes the need
568 for unpremultiplying data in CairoTexture.
570 » Add a simple API for submitting blending and texture combining modes
571 through a string description.
573 » Move Timelines to pure time-based objects.
575 » Lots of performance improvements.
577 » Removal of all the deprecated API.
579 » Removal of all the fixed point entry points.
581 » Lots of documentation fixes - the coverage is now 99% of the exported
582 1600 symbols for Clutter and 80%+ of the 300 exported symbols for COGL.
584 » Generate the GObject Introspection data for both Clutter and COGL
587 » Build environment fixes.
591 Owen W. Taylor <otaylor@fishsoup.net>
592 Thomas Wood <thomas.wood@intel.com>
593 Havoc Pennington <hp@pobox.com>
594 Bastian Winkler <buz@netbuz.org>
595 Chris Lord <chris@linux.intel.com>
596 Garry Bodsworth <gjb@camvine.com>
597 Rob Bradford <rob@linux.intel.com>
598 Johan Bilien <jobi@litl.com>
599 Jonas Bonn <jonas@southpole.se>
600 Raymond Liu <raymond.liu@intel.com>
601 Damien Lespiau <damien.lespiau@gmail.com>
602 Dan Winship <danw@gnome.org>
603 Marc-André Lureau <marcandre.lureau@gmail.com>
604 Robert Staudinger <robsta@gnome.org>
605 Tommi Komulainen <tko@litl.com>
607 Clutter 0.9.2 (16/03/2009)
608 ===============================================================================
611 [media] Fix the interface cast macro
612 Remove redundant declaration in clutter-text.h
615 [actor] Force a relayout on set_parent()
617 Christian Persch (1):
618 Bug 1429 - Redundant declaration in clutter-x11.h
621 Bug 1491 - Fix hardcoded lib path in .pc files
622 Typo in clutter-win32.pc.in introduced by commit 24ce19383
623 [animation] Enhance the bind API
626 [gitignore] update gitignore files for tests/
627 [build] Beautify autotools' output
629 [build] Fix interaction between shave, gtk-doc and libtool 1.x
630 [build] Fix dist for the newly introduced m4 macro directory
633 Emmanuele Bassi (111):
634 Post-release bump to 0.9.1
635 [text] Merge the attributes with markup enabled
636 [tests] Update the text-field interactive test
637 Add Actor::create_pango_layout()
638 [docs] Add clutter_text_set_markup()
639 [clone] Allow cloning unparented actors
640 [text] Use create_pango_layout()
641 [text] Rename :alignment to :line-alignment
642 [texture] Consolidate the quality to filter conversions
643 [texture] Check if the material is valid
644 [event] Extend KeyEvent for multi-input support
645 [actor] Check out parameters before setting them
646 [list-model] Make ClutterListModel subclassable
647 Bug 1440 - Add clutter_get_current_event_time()
648 [tests] Add TEST_CONFORM_SKIP() macro
649 [tests] Add conformance tests for ClutterModel
650 [ignore] Add the newly created conformance units
651 [actor] Revert part of commit 402e022c
652 [animation] Do not bind construct-only properties
653 [x11] Add backend-specific get_current_event_time()
654 Initialize a variable to avoid warnings
655 [cogl] Add cogl_is_material to cogl-material.h
656 [cogl] Provide GTypes for COGL types
657 [texture] Use COGL_TYPE_HANDLE for the handle properties
658 [docs] Clarify the set_cogl_texture() documentation
659 Merge branch 'build-enhancements'
660 [docs] Add a missing "return" annotation
661 [build] Pass the -s switch to cmp
662 Remove type functions for removed types
663 [docs] Update the sections file
664 [tests] Add TEST_CONFORM_TODO macro
665 [build] Show pkg-config file being generated
666 [build] Reference the headers with their full path
667 [docs] Update build for COGL API reference
668 [build] Update the EXTRA_DIST list
669 [build] Fix the ChangeLog generation rule
670 [build] Do not overwrite BUILT_SOURCES
671 [behaviour] Do not notify empty behaviours
672 [path] Do not accept NULL descriptions
673 [timeline] Set the n_markers out paramater
674 Do not use GL types in Clutter headers
675 [docs] Require gtk-doc 1.11
676 [docs] Use the --name-space option
677 [docs] Add the 1.0 symbols index
678 [docs] Rename cogl-docs from sgml to xml
679 Add build machinery for gobject-introspection data
680 [backend] Update the viewport when updating the GL context
681 [build] Move all the compiler flags to AM_CFLAGS
682 [ignore] Update with the introspection files
683 Add runtime debug messages for COGL
684 [actor] Remove usage of ClutterFixed
685 Make disable text mipmapping a command line switch
686 Make fuzzy picking a command line switch
687 [docs] Document envvars and command line switches
688 Remove stray fixed point macro usage
689 Use a dynamic array for the actors when delivering events
690 [media] Add sub-second resolution for the duration
691 [build] Put the X11 pc dependencies in another variable
692 [build] Do not shave typelib generation
693 Intern the ClutterScriptable type name
694 [backend] Constify font options
695 [cogl] Add a PANGO debug flag for CoglPango use
696 Clean up of the ClutterColor API
697 [shader] Unify code paths
698 Add pkg-config file for COGL
699 [build] Various fixes for distcheck
700 [docs] Clarify clutter_actor_animate() behaviour
701 [docs] Note that grabs are evil
702 [cogl-fixed] Add a double-to-fixed conversion macro
703 Move BehaviourScale to CoglFixed
704 Move ClutterBehaviourEllipse to CoglFixed
705 Move ClutterBehaviourRotate to CoglFixed
706 Move ClutterTimeline to CoglFixed
707 [cogl-fixed] Implement the CoglFixed fundamental GType
708 [tests] Test CoglFixed, not ClutterFixed
709 [interval] Update fixed-point handling
710 [stage] Coalesce fog and perspective API
711 [texture] Fix ClutterFixed usage
712 [text] Convert units to the right type
713 [tests] Use floats, not ClutterFixed
714 [units] Add more conversion functions
715 [fixed] Remove ClutterFixed API
716 [cogl] Fix hardcoded paths in the pc file
717 [docs] Remove ClutterFixed from the documentation
718 [docs] Update API reference
719 [animation] Add vector variants for ::animate()
720 [cogl] Initialize boolean flag in CoglContext
721 [cogl] Initialize all members of CoglContext
722 [color] Fixed HLS to RGB conversion
723 [docs] Calling g_object_ref() will not dispose an object
724 [docs] Document the commit message format
725 [tests] Animate the color during easing
726 [docs] Reword some of the coding practices
727 [docs] Add a bindings coding practices
728 Add more deprecation notices
729 [deprecated] Add Effect deprecation
730 Do not cause more size requisitions than necessary
731 [cogl] Avoid shadowing math.h symbols
732 [docs] Clarify Animation memory management
733 [animation] Add an emitter for ::completed
734 [animation] Add Animation getter
735 [tests] Remove unused variables
736 [docs] Add description of queue_redraw
737 [docs] Update after Animation API changes
738 [animation] Enhance consistency of the Animation API
739 [docs] Bring down the undocumented symbols to 2%
740 Fix release date of 0.9.0
742 [docs] Fix naming of the interval parameter
743 [docs] Ignore the TimeoutInterval internal API
747 [animation] Broken fixed:: properties
750 [group] Output the group name when debugging paint
752 Havoc Pennington (4):
753 Virtualize GL matrix operations and use a client-side matrix when GL is indirect
754 [actor] Add :clip-to-allocation property
755 [actor] Add ::queue-redraw signal
756 [cogl] Flush matrix before clip planes
758 Jonathan Matthew (1):
759 Declare the EnumValues for PixelFormat static
762 [cogl-material] Always bind the new texture handle
763 Fix building GLES 2 after the material branch merge
764 [cogl-texture] Fix the count for the number of enabled arrays
765 [cogl-gles2-wrapper] Remove the FIXME to adjust the fragment color
766 [clutter-clone] Override the parent opacity to self not self->parent
767 [clutter-texture] Release the temporary ref taken when setting a texture
768 [clutter-texture] Unref the Cogl material on dispose
769 [clutter-texture] Fix the no_slice property
770 [cogl-texture] Fix offset to next quad when flushing the log
771 [cogl-texture] Move the destruction of the material to _finalize
772 [cogl-texture] Fix uninitialised priv var in texture_finalize
773 Added a test for non-power-of-two sized textures
774 Emit CLUTTER_LEAVE events when the pointer leaves the stage
775 Call glActiveTexture and glClientActiveTexture through cogl_get_proc_address
776 [win32] Track mouse leave messages
777 [clutter-main] Fix the input device passed to set_motion_last_actor
778 Override the opacity when painting a clone instead of combining
779 Allow rotation angle properties to be negative
780 [ClutterBehaviourRotate] Fix up some breakage from the cogl-float branch merge
781 [tests/conform] Copy in redhand.png
782 Replaced ClutterFixed constants in color_{darken,lighten} with float
783 [cogl-gles2-wrapper] Convert texture unit settings to be a static sized array
784 [cogl-gles2-wrapper] Actually call glActiveTexture
785 Add an environment variable to disable mipmapped text
786 [tests/tools] Don't install libdisable-npots.so
787 [clutter-texture] Use a GThreadPool for loading async textures
788 [cogl-pango-glyph-cache] Fix compiler warning on 64-bit
789 Fix warning in clutter-backend-sdl
790 [eglnative] Add -I flags for the clutter dir in the src and build dirs
791 Set the mapped flag on the stage in the SDL and eglnative backends
792 Fix out of tree builds
793 Remove use of $(builddir)
794 [README] Small typo fix
795 Change cogl_path_rectangle and cogl_path_round_rectangle to take x1,y1,x2,y2
796 [cogl-path] Minor fix to gtk-doc
797 Count timeline frames using the FPS instead of an integer interval
800 Honor ACLOCAL_FLAGS in autogen.sh
801 Add gobject-introspection annotations
802 Fix x/y confusion for GL_TEXTURE_RECTANGLE_ARB
803 Use COGL to establish GL state for ClutterGLXTexturePixmap
804 Add (out) annotations for ClutterActor
805 Allow NULL for clutter_text_set_text()
806 Avoid drawing twice if relayout queues a draw
809 [text] Crash when multi-byte utf8 text exceeds max_length
810 [text] Insertion of multi-byte characters broken
813 [Cogl] Renames cogl_fog_set to cogl_set_fog for consistency
814 [cogl-material] Fixes some dirty flag checks
815 [cogl-vertex-buffer] Some fixes for texturing and color arrays
816 [docs] Various gtk-doc updates for Cogl
817 [tests] Some improvements for test-pixmap
818 [Cogl] cogl_clip_{set•,unset} renamed to cogl_clip_{push*,pop}
819 [Cogl] Renames cogl_paint_init to cogl_clear and adds a cogl_disable_fog function
820 [cogl-color.c] #include fix for the cogl_set_source_color prototype
821 [Cogl] the cogl_get_•_matrix functions now work with CoglMatrix types
822 [Cogl] Fixes automatic handling of the GL blend enable state.
823 [cogl-material] Always glBindTexture when flushing material state
824 [Cogl] Remove a debugging assert that was triggering on false positives
825 [test-vertex-buffer-contiguous] Improves the texturing test
826 [cogl-matrix] Adds padding to CoglMatrix
827 [cogl-matrix] Documents that CoglMatrix members should be considered read only
828 Removes need for casting (const float •) to (GLfloat *) in _cogl_set_clip_planes
830 Avoid casting CoglMatrix to a GLfloat • when calling glGetFloatv
831 Explicitly make the modelview-matrix current in cogl_{rotate,transform,etc}
832 Use Cogl enum when making modelview-matrix current in cogl_{rotate,transform,etc}
833 Finish GLES{1,2} support for client side matrix stacks
834 Maintain the Cogl assumption that the modelview matrix is normally current
835 Merge branch 'cogl-client-matrix-stacks'
836 [cogl-vertex-buffer] Add a flush of attribute changes in the •_draw() functions
837 [cogl-vertex-buffer] Allow querying back the number of vertices a buffer represents
838 [cogl-vertex-buffer] fix cogl_vertex_buffer_draw_elements prototype
839 [tests] Adds an interactive cogl vertex buffer unit test
840 [cogl] Don't endlessly print the same warning regarding layer fallbacks
842 Robert Staudinger (1):
843 [build] Add cogl.h to the built sources list
846 Bug 1434 - _NET_WM_NAME not set before realize
849 Fixed handling of enter and leave events in clutter_x11_handle_event()
850 Fix clutter_x11_texture_pixmap_get/set_property() following change of PROP_WINDOW type
851 [x11] Only update cached last event time if we have a real timestamp.
854 Added a mutex for clutter asynchronous textures threads.
855 Bail early in clutter_texture_paint if opacity == 0
856 Add a warning for recursive emit_event
857 Change the default size of thread pool from 3 to 1
858 [tests] Added test-texture-async
859 [clutter-texture] add option to not block on size for loaded images
860 [clutter-texture] remove load-size-async property
861 Merge commit 'origin/async-texture-thread-pool' into async-size
862 [clutter-texture] updated documentation.
863 [clutter-texture] fixed gtk-doc formatting, and init threads in test.
864 Merge branch 'async-texture-thread-pool'
866 Clutter 0.9.0 (30/01/2009)
867 ===============================================================================
869 • List of changes between 0.8.6 and 0.9.0
871 » ClutterText is a new actor allowing text display, text editing
872 both in multi-line and single-line modes, and text selection using
873 the pointer devices and the keyboard. ClutterText supercedes both
874 ClutterLabel and ClutterEntry.
875 » ClutterClone is a new actor that allows cloning of other actors,
876 both simple and composite. ClutterClone supercedes ClutterCloneTexture.
877 » ClutterBindingPool is a new API that allows to easily add key bindings
879 » ClutterAnimation is a new API for implicit animations, similar to
880 the tweening API used in toolkits like jQuery, Tween and Flash. This
881 new API supercedes the ClutterEffect API.
882 » ClutterAlpha uses "animation modes" instead of raw function
883 pointers; it is still possible to pass alpha functions. The alpha
884 functions provided by Clutter have been removed from the public
885 API. It is possible to register global alpha functions and use
886 them though a logical id.
887 » The interval of the ClutterAlpha:alpha property has been changed
888 to a floating point value in the [ -1.0, 2.0 ] range; this allowed
889 the addition of "overshooting" easing modes.
890 » COGL now supports backface culling.
891 » The COGL-based Pango renderer is public API and it is accessible
892 to developers. It is also possible to access the PangoContext used
893 by Clutter in order to create PangoLayouts to render text.
894 » The ClutterFixed API has been moved to COGL.
895 » COGL does not depend on Clutter data types anymore.
896 » The ClutterMedia interface has been overhauled: implementations
897 now must only override the interface properties. The ranges of
898 some properties have been changed to normalized values.
899 » COGL now exposes only floating point entry points, and reserves
900 the eventual conversion to fixed point only when needed. The
901 fixed point type and macros are publicly available for developers
902 concerned about floating point operations.
903 » COGL has a new Vertex Attribues API that allows submitting an
904 extensible number of vertex attributes to OpenGL in a way that
905 does not require format conversions and allows fast re-use.
906 » COGL has a new Material API that decouples paths from fills; it
907 is possible to create an arbitrary path and fill it with a COGL
908 texture. The Material API also allows setting multiple texture
909 layers and defining the blend modes and colors.
910 » ClutterTexture has the ability to use a worker thread to asynchronously
911 load an image from a file, as long as the GLib threading support has
912 been enabled prior to calling clutter_init().
913 » Clutter now supports localization of the help output, and it
914 also supports globally setting the text direction for non left to
916 » ClutterCairoTexture is a new actor that allows using Cairo
917 to draw on a ClutterTexture; since Cairo does not have an OpenGL
918 backend, the drawing is not hardware accelerated.
919 » Clutter has a unit testing suite, based on the GLib unit test
920 framework, which can be used to track regressions.
921 » A ClutterPath object has been added, and it is used by the
922 BehaviourPath. The Path object allows defining paths using a set
923 of coordinates and operations. A Path can be "painted" either using
924 COGL primitives or using Cairo primitives, allowing an easier way
925 to paint non-rectangular shaped actors.
926 » ClutterInterval is a simple object, used by ClutterAnimation, that
927 describes an interval between two values, and interpolates between
928 the initial and final values of the interval.
930 • List of bugs fixed since 0.8.6
932 » #835 - Optimize clutter_actor_real_pick()
933 » #851 - setting anchor point causes picking problem
934 » #883 - Outstanding COGL merge issues
935 » #1003 - Add clutter_actor_take_key_focus
936 » #1014 - Clutter Animation API Improvements.
937 » #1049 - Clutter doesn't support most GLSL uniforms
938 » #1051 - WebKit/Clutter product/component?
939 » #1058 - Build clutter-box2d with Clutter 0.8
940 » #1066 - Clipping regression in 0.8
941 » #1086 - virtualize stage_queue_redraw
942 » #1105 - low level access to PangoClutter
943 » #1106 - ClutterText instead of ClutterLabel and ClutterEntry
944 » #1108 - Enter/Leave events logics wrt. skipped motion events
945 » #1109 - clutter-0.8.0 fails to compile
946 » #1123 - Crash when FBO actor is used and the stage is MINIMIZED
947 » #1144 - Provide an option to load images asynchronously in ClutterTexture
948 » #1162 - Add unit testing for Clutter
950 » #1172 - Disjoint paths and clip to path
951 » #1189 - Backface culling
952 » #1209 - Move fixed point API in COGL
953 » #1210 - Add CoglColor API
954 » #1211 - Drop ClutterFeatureFlags usage from COGL
955 » #1212 - Allow only a single include file for Clutter
956 » #1215 - Move the Pango renderer to the public API
957 » #1219 - Clean up cogl.h
958 » #1231 - Build fails in gles flavour in revision 3442
959 » #1233 - CLUTTER_ALPHA_SINE_INC is broken in trunk
960 » #1251 - Merge the Cairo texture actor in core
961 » #1252 - Merge ClutterBehaviourPath and ClutterBehaviourBspline
962 » #1261 - [patch] Minimize differences between gl/cogl-texture.c and
964 » #1269 - mingw32 building failed at clutter-media.c
965 » #1270 - Update to mingw-cross-compile.sh
966 » #1271 - mingw compiling failed: undefined reference to
967 `_glDrawRangeElements@24'
968 » #1284 - Return something reasonable from clutter_x11_handle_event()
969 » #1300 - clutter_score_remove and clutter_score_remove_all are different
971 » #1310 - font rendering problem
972 » #1313 - Fix computation of camera distance
973 » #1314 - clutter_sinx() is more inaccurate than it needs to be
974 » #1321 - Get Matrix in float
975 » #1323 - ClutterBehaviorDepth conflicts with other behaviors
976 » #1325 - ClutterPath to cairo_path_t conversion functions
977 » #1330 - We should not queue redraw for non-visible actors
978 » #1334 - Default value for ClutterLabel::text should be "" instead of NULL
979 » #1344 - clutter_actor_transform_stage_point gives invalid coordinates
981 » #1352 - Weird cogl-pango.h includes in clutter-[entry|label].c
982 » #1354 - Floating point exception when set fps>1000 and start timeline
983 » #1361 - Unused ClutterStage::get_resolution() methods
984 » #1365 - ClutterEntry doesn't get the cursor when it should
985 » #1366 - disable-npots fails to build on mac
986 » #1380 - Return booleans from CLUTTER_ACTOR_IS_• macros
987 » #1386 - Wrong clipping dimensions for larger actors
988 » #1387 - Clarify new-frame signal emission with advance()
989 » #1388 - Clarify signal emission for advance_to_marker()
990 » #1395 - behaviour_apply and behaviour_get_nth_actor are opposite on
992 » #1397 - clutter command line is not localized.
993 » #1402 - Change default tile-waste from 64 to 63
994 » #1403 - ClutterMedia::get_uri() should return allocated string
995 » #1404 - ClutterMedia issues
996 » #1405 - Fix properties that have X11 types to be 'long'
997 » #1409 - Use G_SIGNAL_RUN_LAST with ::queue-redraw signal
998 » #1410 - [patch] Implements a generic ClutterActorClone class without fbos
999 » #1414 - avoid relayout of ClutterTexture if not syncing size
1000 » #1415 - short-circuit setting same clip again
1002 Clutter 0.8.2 (25/09/2008)
1003 ===============================================================================
1005 • List of changes between 0.8.0 and 0.8.2
1007 » Add constructor-only properties for the :container and :actor
1008 properties of ClutterChildMeta
1009 » Resync the Clutter keysyms with X.org ones.
1010 » Documentation fixes and improvements
1011 » Allow defining ClutterColor as an object or an array inside
1012 ClutterScript UI definitions
1013 » Added the missing :perspective property to ClutterStage
1014 » Fixed the upper and lower boundaries for ClutterUnit and
1015 ClutterFixed properties
1016 » Fix a bug that prevented disabling sorting on ClutterModel
1017 » Fix a bug in clutter_timeline_list_markers()
1018 » Queue a redraw when the clip is changed
1019 » Optimize calls to push and pop the matrix when painting
1020 » Add a variable to the pkgconfig file for extracting the
1021 COGL backend, for configure-time checks
1022 » Fix a typo in cogl_path_rel_curve_to()
1023 » Fix showing the cursor after it being hidden once
1024 » Add a function for obtaining Clutter's option group without
1025 initializing Clutter
1027 • List of bugs fixed since 0.8.0
1029 » #856 - Teardown sequence is borked
1030 » #945 - Clipping+fbo cloning bugs
1031 » #1010 - ClutterLabel does not update the layout (again)
1032 » #1020 - TFP resyncing on MapNotify/ConfigureNotify [Andy Wingo]
1033 » #1033 - Manually parsing command line options prevents
1034 initializing clutter
1035 » #1034 - Picking doesn't work on Eee PC
1036 » #1038 - Clutter 0.8 won't build due to redefined functions
1037 » #1044 - cogl_get_viewport error
1038 » #1047 - API documentation from release tarball is not
1039 installed by "make install" [Mirco Müller]
1040 » #1048 - SIGFPE in cogl_texture_set_region() with
1041 nvidia [Gwenole Beauchesne]
1042 » #1062 - clutter_actor_query_coords() replacement in
1043 0.8 [Gwenole Beauchesne]
1044 » #1069 - Warnings with ClutterScore
1045 » #1071 - clutter_timeline_get_duration doesn't always work
1046 » #1075 - Difficult to bind clutter_stage_new
1047 » #1080 - clutter_stage_read_pixels has upside-down y coordinate
1048 » #1082 - Texture bitmap is destroyed in wrong way
1049 » #1085 - Cursor is in wrong position on ClutterEntry if set
1051 » #1090 - Label somtimes returns natural_width < min_width [Johan Bilien]
1052 » #1091 - WM_MOUSEWHEEL (scroll-event) not handled
1053 correctly [Roman Yazmin]
1054 » #1099 - No ClutterScript API to get a list of IDs in a given
1056 » #1100 - WM_SIZE not handled correctly, user_resize and
1057 window_style correction
1058 » #1103 - Two typos in clutter documentation
1059 » #1121 - Setting anchor point doesn't work if set too early
1060 » #1124 - Clutter causes an additional size request in each
1061 allocation [Johan Bilien]
1062 » #1125 - Save an extra pango_layout_get_size in many
1063 cases [Johan Bilien]
1064 » #1130 - CLUTTER_MOTION is not emitted when time goes
1065 backwards. [Pierce Liu]
1066 » #1137 - Setting the anchor point does not trigger a re-paint
1067 » #1145 - Flicker on resize the window
1068 » #1154 - clutter_timeout_pool_new() documentation doesn't say
1069 how to free [Murray Cumming]
1071 Clutter 0.8.0 (10/07/2008)
1072 ===============================================================================
1074 • List of changes between 0.7.6 and 0.8.0
1076 » Assume that non-power-of-two sized textures are always supported
1077 if texture-from-pixmap support is present.
1079 » Increase documentation coverage.
1081 » Disable the XINPUT support by default.
1083 » Improve the behaviour of clutter_actor_get_transformed_size().
1085 » Fix a copy-and-paste bug which broke the vertex shaders.
1087 • List of bugs fixed since 0.7.6
1089 » #983 - cogl-bitmap-fallback.c compiler error/warning due to cast issue
1090 » #985 - MSC math.h / M_PI issue
1091 » #998 - clutter always captures X input events
1092 » #1000 - clutter-x11 should define gtypes for its enumerations
1093 » #1004 - Fix "edge-detect" shader
1094 » #1007 - Fix TFP fallback mechanism
1095 » #1008 - tfp still a bit borked
1096 » #1010 - ClutterLabel does not update the layout
1097 » #1011 - Fix TFP fallback mechanism (take 2)
1098 » #1012 - clutter_stage_read_pixels() has incorrect alpha data
1099 on some (most?) cards"
1100 » #1013 - Per device grabs are not obeyed in pointer device propagation.
1101 » #1015 - Cloning unparented actors with FBOs doesn't work with new
1103 » #1016 - Changing window-redirect-automatic property after creating
1104 ClutterX11TexturePixmap doesn't work
1105 » #1019 - clutter-frame-source.h not included by clutter.h
1106 » #1022 - extern inline functions in clutter-fixed.h
1107 » #1033 - Manually parsing command line options prevents initializing
1110 Clutter 0.7.6 (27/06/2008)
1111 ===============================================================================
1113 • List of changes between 0.7.4 and 0.7.6
1115 » Removed the ClutterBackend::get_display_size() and wrappers.
1117 » Verify that the vertex shaders are successfully compiled when binding
1120 » Increase safety of the ClutterGLXTexturePixmap
1122 • List of bugs fixed since 0.7.4
1124 » #993 - Underline colors are sometimes wrong
1126 Clutter 0.7.4 (25/06/2008), "Killer Koi"
1127 ===============================================================================
1129 • List of changes between 0.7.2 and 0.7.4
1131 » Fix the ClutterEntry actor after the clip API changes in COGL.
1133 » Update the shaders generated for GLES 2.0.
1135 » Add the ability to add search paths and look up files from
1136 ClutterScript. This allows defining directories to store the
1137 images to be loaded by a ClutterTexture.
1139 » Fix the GLES 1.1 support.
1141 » Warn if no usable pointer device are available on X11 backends.
1143 » Improve the request for the best pixel format on win32.
1145 » Fix a regression when sizing the ClutterStage on backends that
1146 only support fixed size stages; now setting any size will result
1147 in Clutter ignoring the request, like it happened in Clutter 0.6.
1149 » Add a method to ClutterBackend to retrieve the display size.
1151 » Fix clutter_sinx() for angles > CFX_2PI - CFX_ONE.
1153 • List of bugs fixed
1155 » #833 - ClutterEntry should clip glyphs rather than itself
1156 » #858 - Support for multiple devices (using XINPUT)
1157 » #879 - sampler2DRect used by test-shader.c doen't work with non-rect textures
1158 » #979 - Wrong call convension for SwapIntervalProc in win32 backend
1159 » #987 - clutter-event.c c99 variable declaration
1160 » #988 - cursor position wrong with multibyte invisible char
1161 » #989 - Add a search path for clutter script assets
1163 Clutter 0.7.2 (23/06/2008), "Kedoke"
1164 ===============================================================================
1166 • List of changes between 0.7.0 and 0.7.2
1168 » ClutterTexture has a new :keep-aspect-ratio property; when it is set
1169 to TRUE the texture will return a preferred width maintaining the
1170 aspect ratio with the given height and a preferred height maintaining
1171 the aspect ratio with the given width. This allows to set the width or
1172 the height and have the texture automatically request the height or the
1173 width respectively while maintaining the aspect ratio of the original
1176 » Added XINPUT support on the X11 backends; this provides an initial
1177 support for multiple input devices. The API is X11-specific, and
1178 provides support for querying at run-time support for XINPUT, for
1179 getting a list of input devices and for getting the type of each
1182 » The 'fruity' backend also features multiple device support.
1184 • List of bugs fixed
1186 » #816 - clutter_actor_request_coords() should take a const box.
1187 » #836 - Optimize clutter_label_query_coords()
1188 » #905 - Paint cursor directly
1189 » #918 - Group doesn't clip if it's children are clipped
1190 » #953 - Actors are not hidden before unrealized or disposed
1191 » #960 - PangoContext creation code should not be duplicated
1192 » #970 - clutter_actor_get_paint_area confusion
1193 » #971 - Minor ClutterActor cleanups
1194 » #972 - Better parenting
1195 » #973 - unreffing ClutterScore may segfault
1196 » #981 - clutter_stage_read_pixels temprow fix
1197 » #982 - __COGL_GET_CONTEXT MS compiler issue
1198 » #984 - pango_clutter_render_layout() declared void
1200 Clutter 0.7.0 (13/06/2008), "Booska"
1201 ===============================================================================
1203 • List of changes between 0.6 and 0.7.0
1205 » COGL, the underlying GL abstraction layer in Clutter, has been
1206 completely rewritten from the ground up. Its no longer a conceptual
1207 hack but a documented, fully featured library pretty much in its
1208 own right. COGL abstracts over Open GL, Open GL ES 1.1 and now
1209 OpenGL ES 2.0, providing a smart uniform API over these libraries
1210 with various utility features such as texture tiling abstractions,
1211 paths and primitive rendering, FBO, shaders, etc.
1213 » Clutter now provides an experimental backend for the Apple(tm)
1214 iPhone and iPod Touch families of products.
1216 » The Windows platform is now natively supported instead of
1217 relying on the SDL libraries. The win32 backend is still
1220 » The X11 based backends now feature support for Actors that wrap
1221 external X drawables (i.e the texture-from-pixmap extension and
1224 » Clutter now seamlessly supports multiple stages on the backends
1225 that allow this feature.
1227 » The custom Pango renderer has been completely rewritten, now using
1228 the more modern and maintained PangoCairo (instead of FT2), and avoids
1229 nasty subclassing hacks, supports smooth fast scaling of text, has
1230 many edge case issues fixed and it still is very efficient (using
1231 a texture glyph cache). It is even a little bit faster.
1233 » Better texture support, timeline improvements, ClutterLabel and
1234 ClutterEntry improvements, and container child properties are among
1235 the new features - too many to fit in the NEWS file.
1239 » #358 - "window resizing doesn't show scaled stage"
1240 » #425 - "COGL enhancements"
1241 » #439 - "timing related pong lockup due to timeline_rewind somtimes
1242 being ignored by timeline_timeout_func"
1243 » #450 - "ClutterScore API enhancements"
1244 » #641 - "add markers to timelines"
1245 » #666 - "Large font size leads to missing ""W"" and wrong ""J"" character"
1246 » #713 - "texture from pixmap"
1247 » #791 - "default actors to visible"
1248 » #800 - "CLUTTER_ALPHA_EXP_INC overflows"
1249 » #804 - "clutter_actor_get_opacity returns composited alpha"
1250 » #810 - "100 % CPU load with clutter_main()"
1251 » #815 - "Split up request
1252 » #816 - "clutter_actor_request_coords() should take a const box."
1253 » #822 - "Fix clutter_actor_lower()"
1254 » #823 - "Clean-up GLism's in clutter-core (below cogl)"
1255 » #824 - "ClutterEntry should handle its own key events"
1256 » #825 - "Removes GLisms from clutter-main.c"
1257 » #831 - "configure.ac missing osx flavour help"
1258 » #834 - "add ability to set anchor in json"
1259 » #836 - "Optimize clutter_label_query_coords()"
1260 » #839 - "Crash if put cursor over topmost pixel"
1261 » #840 - "Implement prepare-paint and finish-paint signals."
1262 » #848 - "Events dispatch doesn't work in GLX Xephyr"
1263 » #850 - "Impossible to set ClutterRectangle border opacity to a value
1264 different from the surface opacity"
1265 » #857 - "cogl_color doesn't work in PowerVR PC Viewer"
1266 » #860 - "ClutterAlpha leaks"
1267 » #864 - "Allow instantiating and subclassing of ClutterStage"
1268 » #871 - "Two problems with closing stages"
1269 » #873 - "clutter_x11/glx_texture_pixmap issues"
1270 » #874 - "Clipping on GL ES"
1271 » #875 - "Clutter Label Issues"
1272 » #881 - "Timelines require precise system timing"
1273 » #882 - "Allow child properties for containers implementing the
1274 ClutterContainer interface"
1275 » #884 - "Add clutter_alpha_set_closure"
1276 » #889 - "Error when building clutter-ivan with eglx"
1277 » #891 - "assertion failed when test-behave exits"
1278 » #892 - "Incorrect results using rotation-[center|angle] properties"
1279 » #894 - "Artifacts with the pango renderer"
1280 » #900 - "clutter_actor_lower() and friends do not queue redraw"
1281 » #906 - "Implement timing of the events"
1282 » #908 - "Support transform from G_TYPE_INT to ClutterUnit"
1283 » #909 - "OSX: missing NULL pointer handling"
1284 » #910 - "OSX: missing memory pool"
1285 » #911 - "OSX: add multistage support"
1286 » #912 - "Invalid use of int• as parameter for glGetIntegerv"
1287 » #913 - "cogl fails to build on OSX"
1288 » #914 - "ClutterEntry is confused about characters vs. bytes"
1289 » #915 - "clutter_entry_set_max_length(-1) misbehaves"
1290 » #916 - "ClutterKeyEvent:unicode_value is ignored"
1291 » #919 - "Replacement pango renderer"
1292 » #927 - "Created ports for clutter
1293 » #928 - "Reparenting a child that itself is a container doesn't work"
1294 » #930 - "add support for quartz imagebackend"
1295 » #931 - "suspicious size allocation for pixel data"
1296 » #933 - ""X Error of failed request" when attempting to call
1297 clutter_actor_request_coords()"
1298 » #934 - "Update clutter-tutorial to build with clutter from svn trunk."
1299 » #947 - "Destroying a stage is messy"
1300 » #948 - "Remove texture rectangle support"
1301 » #950 - "AltGr not handled"
1302 » #951 - "Fix clutter_entry_init() in trunk"
1303 » #952 - "Fix test-textures in trunk"
1304 » #953 - "Actors are not hidden before unrealized or disposed"
1305 » #955 - "ClutterLabel is missing fallback resolution handling"
1306 » #959 - "Multiple minor improvements"
1307 » #960 - "PangoContext creation code should not be duplicated"
1308 » #961 - "Fails to build on OSX (query/request_coords is gone)"
1309 » #964 - """unrealized"" signal of ClutterActor wrongly named"
1311 Clutter 0.6.0 (18/02/2008)
1312 ==========================
1314 • List of changes between 0.5.6 and 0.6.0
1316 » New documentation sections inside the API reference, describing
1317 the animation framework.
1319 » New API in ClutterActor for computing the actor's vertices in
1320 the plane of a given ancestor and accessors to query whether an
1321 actor is scaled or rotated
1325 » #613 - Extend point transformation API
1326 » #779 - Rounding error in ClutterBehaviourScale [Havoc Pennington]
1327 » #787 - tiled textures are broken
1328 » #796 - segmentation fault when setting label text
1330 Clutter 0.5.6 (11/02/2008)
1331 ==========================
1333 • List of changes between 0.5.4 and 0.5.6
1335 » Reverted a last minute change in the depth sorting function of
1338 » Added the clutter_actor_move_anchor_point() family of functions,
1339 which will set the anchor point at the given coordinates while
1340 adjusting the actor postion so that the relative position of the
1341 actor toward its parent remains the same.
1343 » Provide a fallback for finding the Clutter alpha functions inside
1344 a UI definition for ClutterScript in case g_module_open() fails.
1346 » Add initial Frame Buffer Objects support in ClutterTexture; using
1347 FBOs, where supported by the hardware and drivers, it's possible to
1348 create a ClutterTexture from any actor.
1350 • List of bugs fixed
1352 » #386 - Stage is white unless a timeline is present
1353 » #439 - timing related pong lockup due to timeline rewind...
1354 » #440 - 1 pixel line flickering
1355 » #442 - Shader support
1356 » #451 - Improve font rendering quality (Pango)
1357 » #452 - Textures are shown with distortion on Solaris/SPARC
1358 » #526 - OSX backend
1359 » #533 - Clutter stage is not shown under some conditions
1360 » #540 - ClutterStage isn't always respecting requests to change size
1361 » #549 - Backend offscreen API is broken
1362 » #613 - Extend point transformation API
1363 » #635 - Fix buffer overflow in clutter_texture_get_pixbuf() [Gwenole
1365 » #643 - Superfluous "filter-quality" setting in texture_upload_data()?
1366 [Gwenole Beauchesne]
1367 » #689 - Rotating actor through layers does not handle opacity
1368 correctly [Josh Stewart]
1369 » #710 - Make "box-blur" test shader work in some way [Gwenole Beauchesne]
1370 » #719 - X11 backend does not check window field in events [Havoc
1372 » #724 - ClutterLabel reports wrong height when lines > 1
1373 » #749 - "reactive" property does not change
1374 » #751 - missing XSync in clutter-event-x11.c:xembed_set_info() [Havoc
1376 » #756 - clutter_actor_get_abs_size returns bogus values
1377 » #769 - OSX backend fails to build
1378 » #770 - OSX: passing incompatible pointer type
1380 Clutter 0.5.4 (25/01/2008)
1381 ==========================
1383 • List of changes between 0.5.2 and 0.5.4
1385 » A clutter-x11-<major>.<minor> pkg-config file is installed along
1386 with the clutter-<major>.<minor> and clutter-<backend>-<major>.<minor>
1387 ones, for libraries and applications depending on the X11-based
1388 backends (GLX and EGLX).
1390 » Textures are correctly unrealized before changing and freeing the
1393 » It is now possible to block the automatic call to clutter_main_quit()
1394 when closing the stage window using the frame controls by connecting
1395 an handler for the ::event signal on the Clutter stage and checking
1396 for the CLUTTER_DELETE event type and returning TRUE. This allows
1397 the usage of other main loops with GLib reactors (like Python's twisted)
1398 with Clutter without triggering assertions by closing the stage window.
1400 • List of bugs fixed
1402 » #564 - Add more precise clutter_qdivx() [Gwenole Beauchesne]
1403 » #614 - ClutterActor API inconsistencies
1404 » #640 - ClutterTexture unrealized with no GL context
1405 » #654 - Under heavy load clutter sometimes drops the last frame of
1406 a timeline [Johan Bilien]
1407 » #672 - Event handling in osx backend is broken [Tommi Komulainen]
1408 » #684 - Improve test-scale by also using anchor point [Jaap A. Haitsma]
1409 » #695 - clutter-shader: Invalid format string for
1410 gssize [Tommi Komulainen]
1411 » #696 - cogl_get_proc_address requires GLX [Tommi Komulainen]
1412 » #709 - clutter_effect_scale inconsistent with clutter_actor_set_scale
1413 » #714 - clutter_event_copy for enter/leave event generates
1414 extra unref [Neil Roberts]
1415 » #715 - Type errors in test-shader
1416 » #720 - BehaviourScale not working in python after recent
1417 API change [Josh Stewart]
1419 Clutter 0.5.2 (14/01/2008)
1420 ==========================
1422 • List of changes between 0.5.0 and 0.5.2
1424 » ClutterModelDefault has been renamed to ClutterListModel
1426 » ClutterModel now has vector-based variants for append, prepend and
1427 insert methods; these methods are useful for bindings
1429 » Add units-based variant for clutter_actor_move_by()
1431 • List of bugs fixed
1433 » #694 - Handle GLhandleARB on OS X [Tommi Komulainen]
1434 » #700 - Fix for clutter_effect_rotate() [Neil Roberts]
1436 Clutter 0.5.0 (02/01/2008)
1437 ==========================
1439 • List of changes between 0.4.2 and 0.5.0
1441 » New event handling system: every actor with the CLUTTER_ACTOR_REACTIVE
1442 flag set will receive events from the underlying backend; the event
1443 propagation chain will be walked in two directions (from the actor to
1444 the top-level container and back) with the ability to block it in
1447 » ClutterShader, an abstraction over the programmable OpenGL pipeline.
1449 » ClutterScore, an object for controlling timelines; using a score
1450 instance is possible to start multiple timelines at once, or start
1451 a timeline after another has emitted the ::complete signal.
1453 » ClutterScript, an object for parsing a scene from an external file or
1454 a buffer; the scene is described using JSON (JavaScript Object Notation):
1455 every object is defined using its class and properties, and container
1456 objects can have their children defined as well. It is also possible
1457 do describe top-level objects such as timelines and behaviours, and to
1458 automatically connect signal handlers to signal names.
1460 » ClutterTimelines duration can now be set in milliseconds using the
1461 :duration property; the default framerate will be used to compute the
1462 actual duration in frames. The default framerate will be set by the
1463 backend, and can be overridden by the application.
1465 » ClutterTimelines direction can now be set using the :direction
1466 property; a timeline can be set to proceed forward or backward,
1467 and the direction can also be change while the timeline is still
1470 » New, experimental OSX backend.
1472 » Build environment for MS VisualStudio 2005.
1474 » ClutterModel, a generic list-based model object that can be used to
1475 implement actors following the Model-Viewer-Controller design pattern.
1476 Clutter provides a default implementation of ClutterModel, called
1477 ClutterModelDefault and using the GSequence data structure from GLib
1478 to optimize insertion and look up.
1480 » Add the ability to grab pointer and keyboard events: if an actor
1481 is set to have a grab it'll be the only one receiving events until
1482 it releases the grab.
1484 » Add the ability for an actor to receive the key focus; an actor
1485 with key focus will always receive the key events, even if it did
1486 not acquire the keyboard grab.
1488 » It is now possible to set the GL "fog" (also known as "depth cueing")
1489 effect on the ClutterStage; if the fog is enabled, actors farther
1490 away from the view point will fade into the stage background color.
1492 » Each actor now has an "anchor point", a point defined in the actor's
1493 coordinate space that will be used as the origin when scaling and
1494 rotation transformations.
1496 » Every pixel-based API has been doubled with a corresponding
1497 ClutterUnits-based function (postfixed with a '-u'), for instance:
1499 clutter_actor_set_position() - clutter_actor_set_positionu()
1500 clutter_actor_set_size() - clutter_actor_set_sizeu()
1501 clutter_actor_set_depth() - clutter_actor_set_depthu()
1503 This allows sub-pixel precision and device independence.
1505 » The ClutterLabel actor now tries very hard to provide a sane
1506 default size, if no bounding box has been requested; this fixes
1507 the :alignment property and allows the addition of the :justify
1510 » The SDL backend can now be compiled under win32 with MingW; this
1511 backend is still marked as experimental.
1513 » The OSX backend allows the compilation of Clutter under OS X; this
1514 backend is experimental.
1516 • List of bugs fixed
1518 » #423 - All actors should emit events rather than just the stage
1519 » #424 - Interface definition files
1520 » #443 - ClutterModel implementation
1521 » #480 - Uninitialized variable in
1522 path_alpha_to_position() [Gwenole Beauchesne]
1523 » #511 - clutter_stage_get_actor_at_pos problem
1524 » #512 - clutter window moves when stage actor is scaled
1525 » #518 - XEMBED not supported in eglx backend
1526 » #519 - Should have an Atom cache initialized on start up
1527 » #520 - Delete after multibyte unicode chars in
1528 ClutterEntry [Tommi Komulainen]
1529 » #522 - Array out of bounds indexing [Tommi Komulainen]
1530 » #523 - cogl portability fixes [Tommi Komulainen]
1531 » #524 - missing config.h includes [Tommi Komulainen]
1532 » #525 - Redundant include in cogl/gl [Tommi Komulainen]
1533 » #531 - Extraneous "new-frame" signal generated
1534 » #532 - clutter_actor_set_scale_with_gravityx()
1535 precision [Gwenole Beauchesne]
1536 » #544 - clutter_color_to_hlsx is broken [Neil Roberts]
1537 » #546 - ClutterStageState doesn't make sense
1538 » #550 - Wanted: Set Actor's position based on center or other
1539 edges/corners of quadrangle
1540 » #557 - ClutterScript should support complex properties for third
1542 » #558 - Unmerge UI definitions
1543 » #566 - ClutterEntry does not scroll the text to the
1544 right [Gwenole Beauchesne]
1545 » #577 - Inconsistent naming of behaviour properties
1546 » #580 - Fix call to cogl_enable() [Gwenole Beauchesne]
1547 » #582 - api naming inconsistence between
1548 clutter_behaviour_path_append_knots and
1549 clutter_behaviour_bspline_append
1550 » #584 - Typo on clutter_effect_rotate_x documentation page
1551 » #592 - Fix build on trunk [Gwenole Beauchesne]
1552 » #596 - ClutterTexture tileing logic is a little borked
1553 » #597 - ClutterGroups not pickable
1554 » #600 - fix ClutterLabel layout computing when no box has been set
1555 » #604 - Color param for Label constructor should be
1556 const [Jonathon Jongsma]
1557 » #606 - enable depth test in GL
1558 » #608 - Control motion events frequency
1559 » #614 - ClutterActor API inconsistencies
1560 » #616 - ClutterTexture doesn't respect width set from clutterscript
1561 » #617 - ClutterEffect Improvements
1562 » #618 - ClutterScript name/id confusion
1563 » #619 - clutter_behavior_rotate angle properties should accept
1565 » #628 - clutter_actor_rotate_x() is a setter, not a modifier
1566 » #629 - There is no clutter_actor_get_position()
1567 » #634 - clutter_behaviour_path_new() documentation unclear
1568 » #637 - add depth cueing support to the stage
1569 » #645 - Fix crash in clutter_label_new_full() [Gwenole Beauchesne]
1570 » #647 - Cannot hide the stage
1571 » #648 - Hidden fullscreen stage doesn't come back as fullscreen
1572 » #652 - reference needed on actor being source of last motion_event
1573 » #661 - clutter_actor_set_width() documentation is vague
1574 » #662 - clutter_actor_set_opacity() documentation doesn't describe values
1575 » #665 - ClutterBehaviourEllipse tilts are broken
1576 » #670 - Fix clutter_container_lower_child() [Gwenole Beauchesne]
1577 » #673 - ClutterActor "captured-events" signal documentation wrong
1578 » #674 - ClutterActor::get_depth() and set_depth() vfuncs not
1579 used [Murray Cumming]
1580 » #675 - update subregions of cluttertextures
1581 » #678 - ClutterLabel size allocation still bogus
1583 Clutter 0.4.0 (07/08/2007)
1584 ========================
1586 • List of changes between 0.3.1 and 0.4.0
1588 » Many documentation additions and improvements.
1590 » Display DPI now honours on backends its can be queried.
1592 » Various big endian related fixes.
1594 » ClutterBehaviourEllipse and ClutterBehaviourRotate API and
1595 internals improvements.
1597 » Add basic tslib support to eglnative backend (for touchscreen events)
1599 » clutter_stage_get_actor_at_pos should now work on 16bpp displays.
1601 » New ClutterEffect rotation calls.
1603 » Allowing user resizing of the stage now optional.
1604 (implemented by glx backend only currently)
1606 » ClutterEntry UTF8 fixes and improved automatic initial sizing.
1608 » Make ClutterActor GInitiallyUnowned.
1610 » New ClutterBox API: each box has now a colour and a margin (distance
1611 between the inner-border and the children); plus, each packed child
1612 has a padding. Margins and paddings are expressed in ClutterUnits,
1613 to ease the transition to the device independent units. You can use
1614 clutter_box_set_default_padding() if you want the same padding for
1618 » #390 - clutter_stage_get_actor_at_pos broken on 16bpp displays.
1619 » #398 - inconsistent type for return value of clutter_event_get_state
1620 » #403 - Critical error when removing texture actor
1621 » #404 - Solaris build error with OpenGL, missing
1622 GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB and GL_TEXTURE_RECTANGLE_ARB
1623 » #409 - depth mismatch between visual (32) and window (24)
1624 » #407 - metadata-available signal #ifdef'ed out
1625 » #413 - Clutter compile error with Sun Studio C compiler
1626 » #426 - typo in sdl_backend
1627 » #414 - ClutterEntry invisible if size not set
1628 » #434 - clutter_color_from_pixel incorrectly interprets alpha value
1629 » #435 - clutter_color_subtract does the opposite of its documentation
1630 » #436 - clutter-behaviour-depth always perform "from deep to shallow"
1632 Clutter 0.3.1 (06/07/2007)
1633 ========================
1635 • List of changes between 0.3 and 0.3.1
1636 » EGL. There are now 2 experimental EGL backends;
1637 - 'eglx', the former EGL on X11 implementation (now renamed)
1638 - 'eglnative', a new EGL 'native' backend which supporting non
1639 X11 EGL implementations (i.e framebuffer).
1641 » ClutterGroup now returns correct size when a child is removed.
1643 » Missing redhand.png added to distro tarball (fixing tests that require
1646 » Fix picking in ClutterBox
1648 » Rectangle border creation fixed.
1650 » Fix overflow in Exponential Alpha funcs.
1652 » Many API documentation fixes and improvements.
1654 » ClutterEffect cleanups.
1656 » ClutterEntry cleanups.
1658 » Check for versioned XFixes library (GLX backend).
1660 » More X error traps in GLX backend.
1662 Clutter 0.3 (29/06/2007)
1663 ========================
1665 • List of changes between 0.2.3 and 0.3
1666 » Clutter now supports both switchable windowing system and GL backends.
1667 Window systems supported include GLX, EGL and SDL.
1669 GL support includes OpenGL 1.2+ and OpenGL ES 1.1. This is
1670 provided by a small basic abstraction layer 'cogl.h'. Cogl is not
1671 yet documented - usage external to Clutter is not yet advised.
1673 Backends may provide specific command line options.
1679 The GLX backend is built by default and is currently the most
1680 developed, supported and featured windowing system backend. Only
1681 OpenGL is supported via GLX.
1685 Clutter has experimental support for using SDL. Open GL is supported as
1686 is OpenGL ES via Dogles (very experimental).
1690 Clutter has experimental support for using EGL. Only Open GL ES
1691 is supported by EGL.
1693 EGL support assumes an EGL implementation running atop X Windows.
1698 Clutter now has experimental support for Open GL ES.
1699 Current known issues;
1701 + Unrealising a ClutterTexture will not move pixel data from video
1702 into system memory but simply destroy it.
1703 + BGRA, YUV Texture data not currently supported.
1705 (Use the clutter_feature API to probe for above at runtime)
1707 Open Source ES implementations this has been tested against
1708 include `Vincent' and `dgles'. Support for commerical
1709 implementations may require modifications to the configure.ac
1712 vincent: http://ogl-es.sourceforge.net/
1713 (Also see: http://svn.o-hand.com/repos/misc/trunk/ogles/ )
1715 dgles: http://developer.hybrid.fi/dgles/index.html
1717 » New ClutterEffect class provides a simplified (and thus less flexible)
1718 API wrapping around behaviours, alphas and timelines.
1719 » New Behaviours - bspline, ellipsis, rotation.
1720 » New built in Alpha functions;
1721 CLUTTER_ALPHA_SINE_INC
1722 CLUTTER_ALPHA_SINE_DEC
1723 CLUTTER_ALPHA_SINE_HALF
1724 CLUTTER_ALPHA_SQUARE
1725 CLUTTER_ALPHA_SMOOTHSTEP_INC
1726 CLUTTER_ALPHA_SMOOTHSTEP_DEC
1727 CLUTTER_ALPHA_EXP_INC
1728 CLUTTER_ALPHA_EXP_DEC
1729 » New Actors and interfaces
1730 + ClutterLayout, for writing extended layout support in actors
1731 + ClutterContainer, for generic container actors
1732 + ClutterBox, ClutterVBox and ClutterHBox layout actors.
1733 + ClutterEntry, text entry actor
1734 » ClutterTexture now handles BGRA, YUV and premultiplied alpha data.
1735 » All internal math now fixed point based.
1736 » Clutter now has it own internal event queue.
1737 » ClutterStage new features;
1738 + Title property for naming in window decorations.
1739 + Perspective setting - The stages perspective can now be modified.
1740 » New Clutter_actor •project API calls allow for querying of tranformed
1741 actor vertices and points.
1742 » New Clutter Feature checks.
1743 » Initial ClutterUnit implementation for device independant positioning.
1744 • List of Bugs fixed
1745 » Various issues with very poor performance and Intel drivers.
1746 » #138 Fix typo in x rotation transform.
1748 Clutter 0.2.3 (2007-04-11)
1749 ==========================
1751 • List of changed between 0.2.2 and 0.2.3
1752 » Fixes to tile based textures and again clutter_texture_get_pixbuf(). [Matthew]
1753 » Implement Gravity for ClutterScaleBehaviour. [Matthew, Rob]
1755 Clutter 0.2.2 (2007-03-22)
1756 ==========================
1758 • List of changed between 0.2.1 and 0.2.2
1759 » Addition of basic XEMBED support for clutter stage. [Matthew]
1760 » Fixes to clutter_texture_get_pixbuf(). [Matthew]
1761 » Export clutter_group_remove_all and add associated fixes. [Matthew]
1763 Clutter 0.2.1 (2007-02-07)
1764 ==========================
1766 • List of changed between 0.2.0 and 0.2.1
1767 » Add even faster double to integer (and back) conversion
1769 » Fix some errors in the fixed point sine waveform
1771 » Use fixed point math in the Pango renderer. [Tomas]
1772 » Improve the GL version check. [Matthew]
1773 » Add a square waveform function. [Emmanuele]
1774 • List of bugs fixed
1775 » #215 - macro CLUTTER_MARK() not disabled for non-debug builds
1777 Clutter 0.2 (18-01-2007)
1778 ========================
1780 • List of changes between 0.2 and 0.1
1781 » Bindings, GStreamer and GTK+ dependencies moved out of tree:
1782 now Clutter strictly depends on Xlibs, OpenGL and GdkPixbuf only.
1783 » Actors now have an initial floating reference; this means you
1784 don't have to explicitely unref them: every memory an actor
1785 allocates will be freed when the group containing the actor will
1787 » Add basic run-time detection of GL features.
1788 + Use GL_TEXTURE_RECTANGLE_ARB if available.
1789 + Attempt to set up sync to vblank (set CLUTTER_VBLANK=none to disable)
1790 » Add API for behaviours. A ClutterBehaviour is an object which
1791 drives a set of actors using one or more properties depending
1792 on the value of an "alpha" function.
1793 + Provide simple behaviours: ClutterBehaviourOpacity,
1794 ClutterBehaviourPath and ClutterBehaviourScale.
1795 + Provide simple alpha functions for ramps and sine waveforms.
1796 » Add fixed point API for embedded platforms with no FPU.
1797 » Add support for command line switches to Clutter, like debug
1798 flags and abort on warnings; also allow application to hook up
1799 into the initialisation sequence to add their own command line
1801 » Add Pango GL renderer for Clutter, and use it to render text
1802 inside the ClutterLabel actor; this decrease texture memory
1804 » Redo Clutter Label widget, using the new Pango renderer.
1805 » Clutter Textures do not store local pixbuf copy (of texture).
1806 » Redo group and actor scale/sizing API and functionality.
1807 » Add memory management API for ClutterColor, and string parsing.
1809 » #199 - Little group handling fix?
1810 » #198 - Detect NPOT support on more systems
1811 » #197 - Tiled textures are broken
1812 » #196 - Rebuild the examples when the library changes
1813 » #156 - clutter_actor_set_position not using the absolute size
1814 » #155 - Don't test for XInitThreads [Bastien Nocera]
1815 » #154 - Key presses not working in super-oh example [Bastien Nocera]
1816 » #152 - Misc fixes [Bastien Nocera]
1817 » #143 - Faulty ref-counting in clutter_group_remove [Frederic Riss]
1818 » #141 - Copy-pasto in clutter_media_set_volume [Frederic Riss]
1819 » #101 - No package 'x11' found -- wrong configure [Tomasz Torcz]
1820 » #98 - Enabling trails in super-oh crashes
1822 Clutter 0.1 (22/06/2006)
1823 ========================
1825 • First 'official' release, expect bugs aplenty.
1827 » Hopefully enough functionality to build things.
1828 » Basic gstreamer 0.10 video playback support.
1829 » Fairly stable API, though in no way totally stable.
1830 Expect CHANGES in future versions.
1831 » Some simple examples ( also see OPT ).
1832 » An experimental GTK-Clutter widget.
1833 » Fairly complete Python bindings.
1834 » Non complete but hopefully useful API documentation.
1835 • If you want to help out see the TODO file.