commit a7cc84a483a7d4e21c84ce0567f66c04c47f48f6 Author: Emmanuele Bassi Date: Mon Jun 13 17:24:28 2011 +0100 Release Clutter 1.7.2 (snapshot) NEWS | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.in | 27 ++++++++++++++++ configure.ac | 2 +- 3 files changed, 125 insertions(+), 1 deletions(-) commit 86d96dbcc1bb38cef0a1b6ac176d6af1943088a9 Author: Emmanuele Bassi Date: Mon Jun 13 23:14:39 2011 +0100 build: Put back ChangeLog.pre-git-import to unbreak distcheck ChangeLog.pre-git-import |15743 +++++++++++++++++++++++++++++++++ build/autotools/Makefile.am.changelog | 3 +- doc/ChangeLog.pre-git-import |15743 --------------------------------- 3 files changed, 15744 insertions(+), 15745 deletions(-) commit e8bd46b82b1f62082440eb8e5ebe2bc1f1c0c540 Author: Emmanuele Bassi Date: Mon Jun 13 17:20:19 2011 +0100 build: Fix up ChangeLog build generation Since the pre-git-import ChangeLog has been moved, we need to put it back in the list temporarily when generating the rest. build/autotools/Makefile.am.changelog | 41 +++++++++++++++++---------------- 1 files changed, 21 insertions(+), 20 deletions(-) commit fbdc9675751014b9382aa28c540f9dfc8854d0d0 Author: Emmanuele Bassi Date: Mon Jun 13 16:32:24 2011 +0100 release rules: Add note for snapshots build/autotools/Makefile.am.release | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) commit 494629d4b9eac31afa3910ef130404030656bc4e Author: Philippe Normand Date: Fri Feb 4 12:33:53 2011 +0100 clutter-text: new clutter_text_get_layout_offsets API This new function can be used to retrieve the coordinates where the ClutterText will draw the PangoLayout representing the text. http://bugzilla.clutter-project.org/show_bug.cgi?id=2553 clutter/clutter-text.c | 38 +++++++++++++++++++++++++++- clutter/clutter-text.h | 4 +++ doc/reference/clutter/clutter-sections.txt | 1 + 3 files changed, 42 insertions(+), 1 deletions(-) commit 74a9b7106038b74690856fe45b658edbab5d6a8b Author: Emmanuele Bassi Date: Mon Jun 13 15:58:46 2011 +0100 effect: Rename RunFlags to PaintFlags Since run() was replaced and both paint() and pick() use the enumeration. https://bugzilla.gnome.org/show_bug.cgi?id=651700 clutter/clutter-actor.c | 6 +++--- clutter/clutter-effect-private.h | 16 ++++++++-------- clutter/clutter-effect.c | 18 +++++++++--------- clutter/clutter-effect.h | 34 ++++++++++++++++------------------ clutter/clutter-offscreen-effect.c | 6 +++--- tests/conform/test-pick.c | 8 ++++---- 6 files changed, 43 insertions(+), 45 deletions(-) commit 0ede622f5132843bf1c1dc88d9322a5ca514790e Author: Tomeu Vizoso Date: Thu Jun 2 14:16:23 2011 +0200 Give a chance to effects for running when picking Some effects can change the actor's shape and position, so they need to run when picking. https://bugzilla.gnome.org/show_bug.cgi?id=651700 clutter/clutter-actor.c | 169 +++++++++++++++++--------------- clutter/clutter-effect-private.h | 2 + clutter/clutter-effect.c | 21 ++++ clutter/clutter-effect.h | 6 +- tests/conform/test-pick.c | 200 +++++++++++++++++++++++++++++--------- 5 files changed, 273 insertions(+), 125 deletions(-) commit 700c543850caf51c4041afd5c1d53940c2d15c5c Author: Tomeu Vizoso Date: Mon Jun 6 08:44:11 2011 +0200 Rename ClutterEffect::run to ClutterEffect::paint In preparation for adding ClutterEffect::pick https://bugzilla.gnome.org/show_bug.cgi?id=651700 clutter/clutter-actor.c | 2 +- clutter/clutter-effect-private.h | 2 +- clutter/clutter-effect.c | 40 ++++++++++++++++++------------------ clutter/clutter-effect.h | 4 +- clutter/clutter-offscreen-effect.c | 10 ++++---- 5 files changed, 29 insertions(+), 29 deletions(-) commit 165b2f959984bc075cba789d8768b68007eebc71 Author: Emmanuele Bassi Date: Mon Jun 13 15:36:07 2011 +0100 docs: Fix Clutter API reference clutter/clutter-gesture-action.h | 6 ++++++ doc/reference/clutter/clutter-sections.txt | 2 ++ doc/reference/clutter/clutter.types | 2 ++ 3 files changed, 10 insertions(+), 0 deletions(-) commit cd2b36ed916b1b8230f28c53055d370547b47f89 Merge: 4f0769d 80dd60e Author: Emmanuele Bassi Date: Mon Jun 13 14:39:03 2011 +0100 Merge branch 'swipe-action' * swipe-action: test-swipe-action: Clean up the test code docs: Add the new actions to the API reference gesture-action: Remove the multi-device entry points swipe-action: Remove the required devices call swipe-action: Clean up gesture-action: Clean up Add ClutterSwipeAction and ClutterGestureAction commit 4f0769d69d4216d197be325ab84059f2d6822ece Author: Emmanuele Bassi Date: Mon Jun 13 13:27:46 2011 +0100 docs: Update missing documentation clutter/clutter-actor.c | 16 +++++++++++----- clutter/clutter-backend.c | 27 +++++++++++++++++++++++++++ clutter/clutter-script.c | 1 + doc/reference/clutter/clutter-sections.txt | 2 ++ 4 files changed, 41 insertions(+), 5 deletions(-) commit 8625f07c3bd3fb1dc50e3c1584b44d6d28b502bd Author: Emmanuele Bassi Date: Mon Jun 13 13:08:26 2011 +0100 script: Plug a leak The SignalInfo structure gained a couple of string fields that should be deallocated when destroying the structure. clutter/clutter-script.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit a9dd5abfcccd96a4da6210e2eedbb115ea5bfa74 Author: Emmanuele Bassi Date: Mon Jun 13 13:07:04 2011 +0100 script: Allow warping to states Do not just allow animating states connected to signals: add a "warp" optional key that ends up calling clutter_state_warp_to_state(). This is useful for debugging. clutter/clutter-script-parser.c | 10 ++++++++-- clutter/clutter-script-private.h | 1 + clutter/clutter-script.c | 27 +++++++++++++++++++++++---- 3 files changed, 32 insertions(+), 6 deletions(-) commit 3017a48228a5416a455bfaa7d8a631501d8488c2 Author: Emmanuele Bassi Date: Mon Jun 13 12:11:45 2011 +0100 Skip introspection for GValue ↔ CoglFixed API It's pointless to introspect an API that it's not meant to be used through introspection. clutter/clutter-fixed.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit d9c1a2ebbbf395aa4d255b2a31f17ce8d0e2377a Author: Emmanuele Bassi Date: Sun Jun 12 11:27:34 2011 +0100 script: Use a weak ref to remove the signal emission hook When an object goes away we should remove the emission hook for the state transitions, to avoid leaving hooks around. clutter/clutter-script.c | 27 ++++++++++++++++++++++----- 1 files changed, 22 insertions(+), 5 deletions(-) commit b33973f9f8ff87d2cb5d9083149b8bfd7f4130c0 Author: Emmanuele Bassi Date: Sat Jun 11 13:30:02 2011 +0100 script: Rename "state" → "states" Make it clear that the key used when defining a state-based signal is linked to the states of a ClutterState. clutter/clutter-script-parser.c | 6 +- clutter/clutter-script.c | 70 +++++++++++++++++++++++++--------- clutter/clutter-script.h | 8 ++-- tests/data/test-script-signals.json | 8 ++-- 4 files changed, 62 insertions(+), 30 deletions(-) commit 29d7c5a2979d63e9ce78a901090da6c0e82d85a8 Author: Emmanuele Bassi Date: Fri Jun 10 17:16:45 2011 +0100 script: Allow resolving signals states added from code Currently, defining states for object signals can only be done by defining a ClutterState inside the ClutterScript definition. We should allow creating a (named) ClutterState in code, and associating it to a ClutterScript instance — and have the Script resolve the "state" field of a signal definition correctly. clutter/clutter-script-parser.c | 31 +++++--------- clutter/clutter-script.c | 78 +++++++++++++++++++++++++++++++++++- clutter/clutter-script.h | 83 ++++++++++++++++++++------------------ 3 files changed, 131 insertions(+), 61 deletions(-) commit e745ce52e77211ecff131245e6871cef6b97539a Author: Emmanuele Bassi Date: Mon Feb 7 13:57:16 2011 +0000 test-interactive: Add signal-based state transitions Use the newly added support for binding signal emissions to state changes on a ClutterState. tests/data/Makefile.am | 3 +- tests/data/test-script-signals.json | 68 +++++++++++++++++++++++++++++++++ tests/interactive/Makefile.am | 3 +- tests/interactive/test-state-script.c | 54 ++++++++++++++++++++++++++ 4 files changed, 126 insertions(+), 2 deletions(-) commit dd8cf63a62018704b59a84f76eb73e9568257ebb Author: Emmanuele Bassi Date: Mon Feb 7 13:48:58 2011 +0000 script: Allow connecting signal to ClutterState states One of the uses of a ClutterState state machine along with ClutterScript is to provide a quick way to transition from state to state in response to signal emitted on specific instances. Connecting a real function, in code, to a specific signal does not improve the ease of use of ClutterScript to define scenes. By adding a new signal definition to the current one we can have both a simple way to define application logic in code and in the UI definition file. The new syntax is trivial: { "name" : , "state" : , "target-state" : } The ClutterState instance is identified by its script id, and the target state is resolved at run-time, so it can be defined both in ClutterScript or in code. Ideally, we should find a way to associate a default ClutterState instance to the ClutterScript one that parses the definition; this way we would be able to remove the "state" member, or even "style" the behaviour of an object by replacing the ClutterState instance. The implementation uses a signal emission hook, to avoid knowing the signal signature; we check the emitter of the signal against the object that defined the signal, to avoid erroneous state changes. clutter/clutter-script-parser.c | 116 +++++++++++++++++++++++++------------- clutter/clutter-script-private.h | 4 + clutter/clutter-script.c | 113 ++++++++++++++++++++++++++++++++---- 3 files changed, 181 insertions(+), 52 deletions(-) commit 2c2bdc1d2c2ce6caebdbdc8ce034146fefd9e90f Author: Marek Černocký Date: Mon Jun 13 13:54:32 2011 +0200 Updated Czech translation po/cs.po | 329 ++++++++++++++++++++++++++++++++------------------------------ 1 files changed, 168 insertions(+), 161 deletions(-) commit 0409840d18604f9a2c23b45ca5ab3628d4a6f2cd Author: Matej Urbančič Date: Sat Jun 11 17:36:23 2011 +0200 Updated Slovenian translation po/sl.po | 419 ++++++++++++++++++++++++++++++++----------------------------- 1 files changed, 220 insertions(+), 199 deletions(-) commit 7b4f7cd3e054121a64c113cb696502faaa90540b Author: Robert Bragg Date: Fri Jun 10 17:48:54 2011 +0100 build: include not cairo.h is intended to be included as not as is the style for clutter.h. If you have installed cairo to a custom prefix then using cairo/cairo.h can result in unintentional use of the system cairo headers, or if they aren't installed then it will result in a failure to find the header. clutter/clutter-stage.c | 2 +- tests/conform/test-path.c | 2 +- tests/interactive/test-bin-layout.c | 2 +- tests/interactive/test-flow-layout.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) commit 80dd60ecbb4b7cf0fcb00f663a33662fcb3f49b8 Author: Emmanuele Bassi Date: Fri Jun 10 15:01:13 2011 +0100 test-swipe-action: Clean up the test code Remove unused code, and be more strict at discarding swipes on constrained actors. Add a note on the behaviour of each rectangle/action pair. http://bugzilla.clutter-project.org/show_bug.cgi?id=2585 tests/interactive/test-swipe-action.c | 132 ++++++++++++++++++++++++++------- 1 files changed, 105 insertions(+), 27 deletions(-) commit 9b4ad40f048fe2dc383d09dff97a75fcc0f662cd Author: Emmanuele Bassi Date: Fri Jun 10 14:47:16 2011 +0100 docs: Add the new actions to the API reference http://bugzilla.clutter-project.org/show_bug.cgi?id=2585 doc/reference/clutter/clutter-docs.xml.in | 2 + doc/reference/clutter/clutter-sections.txt | 36 ++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 0 deletions(-) commit 2c791da70ae489c9fcbb367071bf2d4401e889bf Author: Emmanuele Bassi Date: Fri Jun 10 14:45:50 2011 +0100 gesture-action: Remove the multi-device entry points GestureAction supports a single device/touch point. We'll need touch events supported in Clutter before adding the ability to set required device/touch points on gestures. http://bugzilla.clutter-project.org/show_bug.cgi?id=2585 clutter/clutter-gesture-action.c | 63 ++++++++----------------------------- clutter/clutter-gesture-action.h | 4 -- 2 files changed, 14 insertions(+), 53 deletions(-) commit f9ce9014961e245bc6162bf20249a836d0bdf98d Author: Emmanuele Bassi Date: Fri Jun 10 14:44:06 2011 +0100 swipe-action: Remove the required devices call The SwipeAction requires one device/touch point, and that is the default for GestureAction — if GestureAction supported multiple devices/touch points. http://bugzilla.clutter-project.org/show_bug.cgi?id=2585 clutter/clutter-swipe-action.c | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) commit 11d961b6058b1413b47276654e5d939814f6b646 Author: Emmanuele Bassi Date: Fri Jun 10 14:33:20 2011 +0100 swipe-action: Clean up Clean up the documentation, and use a type safe GFlags marshaller for the ::swept signal's @direction argument - instead of a generic integer marshaller. http://bugzilla.clutter-project.org/show_bug.cgi?id=2585 clutter/clutter-marshal.list | 2 +- clutter/clutter-swipe-action.c | 78 +++++++++++++-------------------------- clutter/clutter-swipe-action.h | 17 +++++---- 3 files changed, 37 insertions(+), 60 deletions(-) commit 0058c78b799596c1f856c92e705b92015dd7bf6a Author: Emmanuele Bassi Date: Fri Jun 10 14:32:00 2011 +0100 gesture-action: Clean up The GestureAction is marked as abstract, but it has a constructor. It should be possible to create simple gesture recognizers through signal handling alone, so we might as well have GestureAction be a concrete class from the start. http://bugzilla.clutter-project.org/show_bug.cgi?id=2585 clutter/clutter-gesture-action.c | 36 +++++++++++++++++++---------- clutter/clutter-gesture-action.h | 46 ++++++++++++++++++------------------- 2 files changed, 45 insertions(+), 37 deletions(-) commit ba72235b66ee956977ad6e5c7a8510f9f23a3517 Author: Tomeu Vizoso Date: Wed Mar 9 10:06:44 2011 +0100 Add ClutterSwipeAction and ClutterGestureAction To allow actors to handle gestures in a more organized way. http://bugzilla.clutter-project.org/show_bug.cgi?id=2585 clutter/Makefile.am | 4 + clutter/clutter-gesture-action.c | 500 +++++++++++++++++++++++++++++++++ clutter/clutter-gesture-action.h | 120 ++++++++ clutter/clutter-marshal.list | 1 + clutter/clutter-swipe-action.c | 249 ++++++++++++++++ clutter/clutter-swipe-action.h | 117 ++++++++ clutter/clutter.h | 2 + tests/interactive/Makefile.am | 1 + tests/interactive/test-swipe-action.c | 109 +++++++ 9 files changed, 1103 insertions(+), 0 deletions(-) commit d151d789f668a0b2f79eb052ff904a0521409552 Author: Neil Roberts Date: Mon Mar 7 18:53:07 2011 +0000 clutter-text: Use the ink rect in the paint volume Previously ClutterText was just reporting the allocation as the paint volume. The preferred size of a ClutterText is just the logical rectangle of the layout. A pango layout can sometimes draw outside of its logical rectangle for example with an italicised font with large serifs. Additionally, ClutterText doesn't make any attempt to clip the text if the actor gets allocated a size too small for the text so it would also end up drawing outside of the paint volume in that case. To fix this, the paint volume is now reported as the ink rect of the Pango layout. The rectangle for the cursor and selection is also unioned into that because it won't necessarily be within the ink rectangle. The function for drawing the selection rectangles has been split up into a generic function that calculates the rectangles that need to be drawn and a function that draws them. That way the get_paint_volume virtual can share the code to calculate the rectangles. http://bugzilla.clutter-project.org/show_bug.cgi?id=2599 clutter/clutter-text.c | 369 ++++++++++++++++++++++++++++++++++++------------ 1 files changed, 276 insertions(+), 93 deletions(-) commit a20a8071ed835496f26712093f0cfb72aabfd8c8 Author: Neil Roberts Date: Tue Mar 8 17:30:04 2011 +0000 clutter-text: Don't move the cursor to the left when at pos 0 When the cursor is at the leftmost position in the text the drawn pixel position is moved to the left by the size of the cursor. There's no explanation for why this happens and it doesn't seem to make any sense so this patch removes it. It makes multi-line texts looks odd because the cursor ends up at a different horizontal position when it is on the first line from any other line. It also makes using priv->cursor_pos difficult in any other part of the code because the paint function modifies it. The original patch that added this can be traced back to Tidy commit c356487c15. There's no explanation in the commit message either. http://bugzilla.clutter-project.org/show_bug.cgi?id=2599 clutter/clutter-text.c | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-) commit 501208758808c9dd05f754d46e883766c4c1264b Author: Emmanuele Bassi Date: Fri Jun 10 09:39:09 2011 +0100 clutter.modules: Update the moduleset Reflect the changes in the repository location for a bunch of modules, and add the Cogl dependency to Clutter. build/clutter.modules | 21 +++++++++++++++++---- 1 files changed, 17 insertions(+), 4 deletions(-) commit 7d1d1acbbb757162bde1b22182cd9f59bf8c44c1 Author: Emmanuele Bassi Date: Thu Jun 9 15:58:34 2011 +0100 docs: Update the releasing checklist doc/RELEASING | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) commit 4944a5e7d1602ae80eeb3d4b0323a4f6b392b85e Author: Emmanuele Bassi Date: Thu Jun 9 15:53:29 2011 +0100 Move some old doc files under doc/ ChangeLog.pre-git-import is useless since the Git log contains the pre-Git history anyway. AUTHORS is not really useful, as many more people have been committing to Clutter for a while now. AUTHORS | 17 - ChangeLog.pre-git-import |15743 ------------------------------------------ doc/AUTHORS.old | 17 + doc/ChangeLog.pre-git-import |15743 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 15760 insertions(+), 15760 deletions(-) commit 9636a4f12588e91777bb425b272875192b8374a0 Author: Emmanuele Bassi Date: Thu Jun 9 15:40:57 2011 +0100 docs: Fix up new symbols for the API reference doc/reference/clutter/Makefile.am | 1 + doc/reference/clutter/clutter-sections.txt | 8 ++++++++ 2 files changed, 9 insertions(+), 0 deletions(-) commit 46cab9c8c6298b773442b6f00f69f2f441826007 Author: Emmanuele Bassi Date: Thu Jun 9 15:40:26 2011 +0100 event: Add clutter_event_set_source() declaration The function was defined but not declared in the header. clutter/clutter-event.h | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit b91ec2a82e371e22a89d5cf95d31a78290e7df65 Author: Emmanuele Bassi Date: Thu Jun 9 15:28:39 2011 +0100 Fix deprecation guards for ClutterGLXTexturePixmap clutter/glx/clutter-glx-texture-pixmap.c | 4 ++-- clutter/glx/clutter-glx-texture-pixmap.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) commit 8b70260528c02db27c3e4546bf7b28b2a4286b24 Author: Emmanuele Bassi Date: Thu Jun 9 14:42:31 2011 +0100 test-bin-layout: Use the long-press signal on ClickAction tests/interactive/test-bin-layout.c | 29 +++++++++++++++++++++++++++-- 1 files changed, 27 insertions(+), 2 deletions(-) commit 23a9980c721c3f6c2dbd35336ab70f05dda72031 Author: Emmanuele Bassi Date: Wed May 18 11:21:58 2011 +0100 click-action: Add support for long press detection A long press is a special form of click action; the default implementation uses a single signal with multiple states: query, action and cancel. On click we use the "query" state to check whether the ClutterClickAction supports long presses; if the callback returns TRUE then we install a timeout and we either emit the "activate" state when the timeout expires or we emit the "cancel" state if the pointer leaves the actor, or if the pointer moves outside a certain threshold. If the long press reached the "activate" state then we skip the clicked signal emission. clutter/clutter-click-action.c | 362 +++++++++++++++++++++++++++++++++++++++- clutter/clutter-click-action.h | 32 ++++- clutter/clutter-marshal.list | 1 + 3 files changed, 384 insertions(+), 11 deletions(-) commit 93207d08f80c66628f9dbf673a6f7dadc9fc9845 Author: Emmanuele Bassi Date: Thu Jun 9 14:33:17 2011 +0100 settings: Add the :long-press-duration A property to control the minimum time that has to elapse before a press is recognized as a long press. This will be used by ClutterClickAction, but it can be shared across touch-based gestures. clutter/clutter-settings.c | 32 ++++++++++++++++++++++++++++++++ 1 files changed, 32 insertions(+), 0 deletions(-) commit 2b81d90dd7399c409cf23d7324ff909351dbefa3 Author: Emmanuele Bassi Date: Tue Jun 7 15:49:20 2011 +0100 Eliminate G_CONST_RETURN The G_CONST_RETURN define in GLib is, and has always been, a bit fuzzy. We always used it to conform to the platform, at least for public-facing API. At first I assumed it has something to do with brain-damaged compilers or with weird platforms where const was not really supported; sadly, it's something much, much worse: it's a define that can be toggled at compile-time to remove const from the signature of public API. This is a truly terrifying feature that I assume was added in the past century, and whose inception clearly had something to do with massive doses of absynthe and opium — because any other explanation would make the existence of such a feature even worse than assuming drugs had anything to do with it. Anyway, and pleasing the gods, this dubious feature is being removed/deprecated in GLib; see bug: https://bugzilla.gnome.org/show_bug.cgi?id=644611 Before deprecation, though, we should just remove its usage from the whole API. We should especially remove its usage from Cally's internals, since there it never made sense in the first place. clutter/cally/cally-actor.c | 18 +++++++------- clutter/cally/cally-text.c | 6 ++-- clutter/cally/cally-util.c | 8 +++--- clutter/clutter-actor-meta-private.h | 39 +++++++++++++++----------------- clutter/clutter-actor-meta.c | 4 +- clutter/clutter-actor-meta.h | 16 ++++++------ clutter/clutter-actor-private.h | 8 +++--- clutter/clutter-actor.c | 12 ++++++++- clutter/clutter-actor.h | 2 +- clutter/clutter-animator.c | 2 +- clutter/clutter-animator.h | 16 ++++++------ clutter/clutter-backend.c | 2 +- clutter/clutter-backend.h | 2 +- clutter/clutter-binding-pool.c | 2 +- clutter/clutter-binding-pool.h | 2 +- clutter/clutter-color.c | 4 +- clutter/clutter-color.h | 8 +++--- clutter/clutter-event.c | 2 +- clutter/clutter-event.h | 3 +- clutter/clutter-input-device.c | 2 +- clutter/clutter-input-device.h | 2 +- clutter/clutter-interval.c | 2 +- clutter/clutter-interval.h | 2 +- clutter/clutter-model.c | 2 +- clutter/clutter-model.h | 2 +- clutter/clutter-private.h | 2 +- clutter/clutter-script.c | 2 +- clutter/clutter-script.h | 2 +- clutter/clutter-scriptable.c | 2 +- clutter/clutter-scriptable.h | 2 +- clutter/clutter-shader-types.c | 6 ++-- clutter/clutter-shader-types.h | 30 ++++++++++++------------ clutter/clutter-shader.c | 4 +- clutter/clutter-shader.h | 8 +++--- clutter/clutter-stage.c | 2 +- clutter/clutter-stage.h | 2 +- clutter/clutter-state.c | 8 +++--- clutter/clutter-state.h | 8 +++--- clutter/clutter-text.c | 4 +- clutter/clutter-text.h | 4 +- clutter/clutter-units.c | 2 +- clutter/clutter-units.h | 6 ++-- clutter/clutter-util.c | 2 +- clutter/egl/clutter-backend-egl.c | 2 +- clutter/egl/clutter-backend-egl.h | 3 +- clutter/glx/clutter-backend-glx.c | 2 +- clutter/glx/clutter-backend-glx.h | 3 +- clutter/win32/clutter-backend-win32.c | 2 +- clutter/win32/clutter-backend-win32.h | 2 +- clutter/x11/clutter-backend-x11.c | 2 +- clutter/x11/clutter-x11.h | 2 +- doc/CODING_STYLE | 8 +++--- doc/cookbook/examples/cb-button.c | 2 +- doc/cookbook/examples/cb-button.h | 2 +- 54 files changed, 148 insertions(+), 146 deletions(-) commit 343f54e65921eb00a97d4937d515da1751dc78f2 Author: Kjartan Maraas Date: Tue Jun 7 16:46:55 2011 +0200 Added Norwegian bokmål translation po/nb.po | 746 ++++++++++++++++++++++++++++++++++---------------------------- 1 files changed, 412 insertions(+), 334 deletions(-) commit c28218b240a1ba81cafe572021e721c77ca39af9 Author: Kjartan Maraas Date: Tue Jun 7 16:45:45 2011 +0200 Add Norwegian bokmål translation. po/nb.po | 2040 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 2040 insertions(+), 0 deletions(-) commit 70bdb342d15c6170b901ba90855b67f63fa23ad8 Author: Matej Urbančič Date: Tue Jun 7 15:45:45 2011 +0200 Updated Slovenian translation po/sl.po | 60 ++++++++++++++++++++++++++++++------------------------------ 1 files changed, 30 insertions(+), 30 deletions(-) commit e636a0bbce2b24fdb4e99dcf2d4385eb25d0247a Author: Tomeu Vizoso Date: Wed May 18 16:10:18 2011 +0200 Sync allocation in ClutterBoxLayout with the one in GtkBox https://bugzilla.gnome.org/show_bug.cgi?id=650487 Signed-off-by: Emmanuele Bassi clutter/clutter-box-layout.c | 512 ++++++++++++++++++++++++++++++------------ 1 files changed, 370 insertions(+), 142 deletions(-) commit 9ecddeb1c3fce7bbd3fdb0096713e05a50e6ffcd Author: Craig R. Hughes Date: Mon May 9 09:39:55 2011 -0700 osx: Handle bare modifier keypresses http://bugzilla.clutter-project.org/show_bug.cgi?id=2644 clutter/osx/clutter-event-osx.c | 85 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 80 insertions(+), 5 deletions(-) commit 22cc9b35cb78e9b7a867a3c356647e15bf005c85 Author: Emmanuele Bassi Date: Tue Jun 7 14:34:19 2011 +0100 stage: Bail out of do_update() when no impl is set If the Stage has been destroyed the StageWindow implementation is not going to be available, but the IN_DESTRUCTION flag will have already been cleared. http://bugzilla.clutter-project.org/show_bug.cgi?id=2656 clutter/clutter-stage.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) commit 19c986c0c6e0aa08ae76ab7d992fbf70ae5e44a0 Author: Emmanuele Bassi Date: Tue Jun 7 14:25:17 2011 +0100 actor: Avoid queueing redraws during destruction If an actor or the stage to which it belongs are being destroyed then there is no point in queueing a redraw that will not be seen anyway. Bailing out early also avoids the case in which a redraw is queued during destruction wil cause redraw entries will be added to the Stage, which will take references on it and cause the Stage never to be finalized. http://bugzilla.clutter-project.org/show_bug.cgi?id=2652 clutter/clutter-actor.c | 18 ++++++++++++------ 1 files changed, 12 insertions(+), 6 deletions(-) commit 835fc2381c94fc46d5b6f6eef7f9d17db7e97411 Author: Emmanuele Bassi Date: Wed May 25 16:23:08 2011 +0100 Deprecate ClutterShader With the instantiatable ClutterShaderEffect, the only reason for ClutterShader to exist is to make the ClutterActor::paint implementation miserable. Yes, ClutterShader doesn't use a FBO, so it's "more efficient" on ClutterTextures. It's also generally wrong unless you know *exactly* how the actor's pipeline is set up — something we cannot even guarantee internally unless we start doing lame type checks. clutter/clutter-actor.c | 11 +++++++++ clutter/clutter-actor.h | 2 + clutter/clutter-shader-types.h | 1 - clutter/clutter-shader.c | 46 ++++++++++++++++++++++++++++++++++++-- clutter/clutter-shader.h | 13 +++++++++++ clutter/clutter-types.h | 2 + tests/interactive/test-shader.c | 2 + 7 files changed, 73 insertions(+), 4 deletions(-) commit 941d8d23fa3ebb54f5c27c5f8cfa883903dbb24e Author: Emmanuele Bassi Date: Wed May 25 15:38:56 2011 +0100 test-constrains: Use a ShaderEffect Demonstrate how to use a ShaderEffect instance. tests/interactive/test-constraints.c | 42 +++++++++++++++++++++++++++++++-- 1 files changed, 39 insertions(+), 3 deletions(-) commit 53483896a822b2814c1fbe06b5d08e26d67f0301 Author: Emmanuele Bassi Date: Wed May 25 15:37:45 2011 +0100 shader-effect: Allow instantiating ShaderEffect ClutterShaderEffect doesn't require to be sub-classed in order to be useful. It is possible to just create an instance, set the source and the uniforms, and attach it to an actor. This should effectively replace ClutterShader for good. clutter/clutter-shader-effect.c | 41 ++++++++++++++++++++++++++++++++------ clutter/clutter-shader-effect.h | 30 +++++++++++++++------------- 2 files changed, 50 insertions(+), 21 deletions(-) commit 9ed5f2842a3c4c97d51d8f3434d8bf25f8f21cc2 Author: Marek Černocký Date: Tue Jun 7 11:38:01 2011 +0200 Updated Czech translation po/cs.po | 64 +++++++++++++++++++++++++++++-------------------------------- 1 files changed, 30 insertions(+), 34 deletions(-) commit ad78242f55857f5366dca1fb82b91a8973257c9c Author: Daniel Mustieles Date: Mon Jun 6 22:23:32 2011 +0200 Updated Spanish translation po/es.po | 75 +++++++++++++++++++++++++++++--------------------------------- 1 files changed, 35 insertions(+), 40 deletions(-) commit 1a85b87fc9846879be0774a49993d3095eee36d1 Author: Alexandre Franke Date: Thu Jun 2 20:56:22 2011 +0200 Fix typo clutter/clutter-media.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 588d97c2c7f8108e84fd2a32fdae071a4629d283 Author: Robert Bragg Date: Thu Jun 2 12:10:59 2011 +0100 culling: Use vertex_count not '4' to determine partial culls We were mistakenly using the constant 4 to determine the number of vertices that need to be culled for a paint-volume to be considered fully culled too. This is only ok for 2d volumes and was resulting in some 3d volumes being considered culled whenever 4 out of 8 vertices were culled. This fix is simply to reference the vertex_count variable instead of assuming 4. clutter/clutter-paint-volume.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit ba8cc8e064c43d79676d20eb09b24e1085587a95 Author: Øyvind Kolås Date: Wed Jun 1 22:42:41 2011 +0100 stage: ensure correct stage is current when picking _clutter_stage_do_pick called by interactive picking and clutter_stage_get_actor_at_pos could be accidentally reading back the wrong actor id's if an other stage has had a more recent render due to animation. This should resolve some multi stage / ClutterGtk related pick id warnings. clutter/clutter-stage.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit eed174461286ce983e06893a73592edc50a64373 Author: Emmanuele Bassi Date: Wed Jun 1 18:33:27 2011 +0100 stage: Use the debug name for the pick buffer dump stem This avoids overwriting files in the multi-stage case. clutter/clutter-stage.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) commit b03288af519ae64bc089cfa5a4baf287044b12e6 Author: Kristjan SCHMIDT Date: Wed Jun 1 19:22:39 2011 +0200 Add Esperanto translation po/eo.po | 2122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 2122 insertions(+), 0 deletions(-) commit c836b8c53c473e7d309c6c0c9d25b3ec74c827ff Author: Peter Ward Date: Sat May 28 00:12:15 2011 +1000 device: Prevent segfault When disposing a slave device without a master. http://bugzilla.clutter-project.org/show_bug.cgi?id=2655 clutter/clutter-input-device.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 0b0d4e12397f425b075e449c38dc9777f75ab3d6 Author: Emmanuele Bassi Date: Wed May 25 16:22:31 2011 +0100 test-binding-pool: Remove usage of deprecated get_gid() Use the actor name instead of a random, internal numeric id. tests/interactive/test-binding-pool.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) commit e83a7851ad2cf64e778465620b23fe3c111c7164 Author: Dan Winship Date: Thu May 19 10:46:24 2011 -0400 clutter-id-pool: fix warning on bad pick Commit 13ac1fe7 purported to extend the _clutter_id_pool_lookup() warning to the case where the id referred to a deleted actor, but did not actually do so, because _clutter_id_pool_remove() set deleted IDs to 0xdecafbad, not NULL. Fix this. https://bugzilla.gnome.org/show_bug.cgi?id=650597 clutter/clutter-id-pool.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) commit 46aadb745b819b2f69b69b119ce70ce84ab04cb9 Author: Alejandro Piñeiro Date: Thu May 19 12:58:36 2011 +0200 [cally] Removed default actions on CallyActor clutter/cally/cally-actor.c | 99 +++++-------------------------------------- 1 files changed, 11 insertions(+), 88 deletions(-) commit d007155ac4a4b8a171a6503757d01f8c739b13f6 Author: Alejandro Piñeiro Date: Fri May 20 14:18:09 2011 +0200 [cally] CallyRoot is the parent of any CallyStage object http://bugzilla.clutter-project.org/show_bug.cgi?id=2597 clutter/cally/cally-root.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit 58adcb4022935fe13487b440acf8f3c35b292616 Author: Alejandro Piñeiro Date: Fri May 20 14:13:14 2011 +0200 [cally] Added old cally Changelog (pre clutter-cally merge) http://bugzilla.clutter-project.org/show_bug.cgi?id=2484 clutter/cally/ChangeLog.pre-cally-merge | 986 +++++++++++++++++++++++++++++++ 1 files changed, 986 insertions(+), 0 deletions(-) commit 153532297c864be693b16714c76accd4129c8b85 Author: Alejandro Piñeiro Date: Fri May 20 14:07:47 2011 +0200 [cally] Removing default name and description Those were added on the old "just for automatic testing" times. That was somewhat silly on that moment. Now is just silly (ie: having the stage returning as default name "Stage"). The real description should be set by the app, or provided by the context of a specific actor feature (like the tooltip on StWidget). The current information provided by the default description can be mostly obtained from the ATK_ROLE, and the indirect debugging advantage of having always a meaningful description is just not enough to justify them, and you can solve that by proper debug logging. Fixes: http://bugzilla.clutter-project.org/show_bug.cgi?id=2482 clutter/cally/cally-clone.c | 21 +------------------- clutter/cally/cally-rectangle.c | 21 +------------------- clutter/cally/cally-stage.c | 40 --------------------------------------- clutter/cally/cally-texture.c | 19 ------------------ 4 files changed, 2 insertions(+), 99 deletions(-) commit 247c8d49ae9a75ec7ae279b0bf787a3eb6fe0a2f Author: Alejandro Piñeiro Date: Fri May 20 14:00:35 2011 +0200 [cally] Fix a crash on some a11y examples if there isn't accessibility support Most of the accessibility tests can be executed without the accessibility support, although it is clear that they will not work properly (ie using accerciser). But in some specific cases (right now just the atk event test), the test will crash if no accessibility support is enabled Fixes http://bugzilla.clutter-project.org/show_bug.cgi?id=2447 tests/accessibility/cally-atkevents-example.c | 7 ++++++- tests/accessibility/cally-examples-util.c | 10 +++++++--- tests/accessibility/cally-examples-util.h | 2 +- 3 files changed, 14 insertions(+), 5 deletions(-) commit e59fff7a3f2d490b7a9b8dc8e149dfc20831a141 Author: Tomeu Vizoso Date: Fri May 20 11:15:07 2011 +0200 clutter-offscreen-effect: use target size when setting up the viewport https://bugzilla.gnome.org/show_bug.cgi?id=650650 clutter/clutter-offscreen-effect.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) commit c18a83baa3239cc635be0732e8d0a859604b6d4c Author: Neil Roberts Date: Mon May 16 18:57:37 2011 +0100 test-cogl-depth-test: Update to new Cogl API The Cogl depth state API has changed to have a separate CoglDepthState struct so this test was no longer building. This patch updates it to use CoglPipeline and the new depth state API. tests/conform/test-cogl-depth-test.c | 30 ++++++++++++++++-------------- 1 files changed, 16 insertions(+), 14 deletions(-) commit 86dce2fd98efe934b0223580e00424bace043809 Author: Neil Roberts Date: Mon May 16 16:07:19 2011 +0100 test-cogl-pixel-buffer: Use the new name for CoglPixelArray Cogl has changed the name of the experimental CoglPixelArray API to CoglPixelBuffer. This updates the test to reflect that so it will continue to build. tests/conform/test-cogl-pixel-buffer.c | 20 ++++++++++---------- 1 files changed, 10 insertions(+), 10 deletions(-) commit 7d233241f1def912ab0a7688777482f6b4a4e7b6 Author: Neil Roberts Date: Mon May 16 16:04:27 2011 +0100 Fix include location for cogl-pango.h In Cogl, cogl-pango.h has moved to . When using the experimental 2.0 API (which Clutter does) it is no longer possible to include it under the old name of so we need to update the include location. clutter/clutter-main.c | 2 +- clutter/clutter-private.h | 2 +- clutter/clutter-text.c | 2 +- doc/cookbook/examples/text-shadow.c | 2 +- tests/interactive/test-box-layout.c | 2 +- tests/interactive/test-table-layout.c | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) commit 07ecaf569ff66e01327e5fdb23c495a8f148250b Author: Marek Černocký Date: Sun May 15 21:09:17 2011 +0200 Updated Czech translation po/cs.po | 591 ++++++++++++++++++++++++++++++++------------------------------ 1 files changed, 306 insertions(+), 285 deletions(-) commit 8ad780af37cc13dfcd5b50fe7dae75b6986dc003 Author: Daniel Mustieles Date: Sun May 15 17:46:33 2011 +0200 Updated Spanish translation po/es.po | 570 ++++++++++++++++++++++++++++++++------------------------------ 1 files changed, 296 insertions(+), 274 deletions(-) commit c2f7e5916efe08d0856621829f8765241fc35450 Author: Matej Urbančič Date: Sat May 14 19:49:39 2011 +0200 Updated Slovenian translation po/sl.po | 600 ++++++++++++++++++++++++++++++++------------------------------ 1 files changed, 308 insertions(+), 292 deletions(-) commit f9d7650b97c3788763e14ce3b39f21f19edc41bb Author: Chris Lord Date: Mon Mar 28 16:10:59 2011 +0100 actor: Ensure the validity of the queue_redraw_entry pointer In _clutter_actor_queue_redraw_with_clip, there was the possibility that the actor will add itself to the stage's redraw queue without keeping track of the allocated list member. In clutter_actor_unparent, the redraw queue entry was being invalidated before the mapped notify signal was being fired, meaning that queueing a redraw of an unmapped actor in the mapped notification callback could cause a crash. http://bugzilla.clutter-project.org/show_bug.cgi?id=2621 clutter/clutter-actor.c | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-) commit 5aa8ed93cef370be0ef2d840c3356a847fb95dbe Author: Adam Jackson Date: Mon May 2 12:15:28 2011 -0400 test-cogl-sub-texture: Allow single-bit rendering error Signed-off-by: Adam Jackson http://bugzilla.clutter-project.org/show_bug.cgi?id=2640 tests/conform/test-cogl-sub-texture.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit 7beb222d3f27740cb3c1a8a75859aee74712a9cd Author: Adam Jackson Date: Mon May 2 12:13:57 2011 -0400 test-cogl-blend-strings: Allow single-bit rendering error Signed-off-by: Adam Jackson http://bugzilla.clutter-project.org/show_bug.cgi?id=2640 tests/conform/test-cogl-blend-strings.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) commit b7a3ccf35c587c724386ff6f27ba256a5d50d47e Author: Øyvind Kolås Date: Fri May 13 21:44:49 2011 +0100 doap: fix a typo in a url clutter.doap | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit ba4615cd4bb6c1c230bb864b4b5bc43a4d143f6a Author: Emmanuele Bassi Date: Fri May 13 14:26:22 2011 +0100 text: Check the has_focus flag in selection_paint() It is the only place were it is used, so it should only be checked there, and not in the general paint() implementation. clutter/clutter-text.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) commit 729e9985c1aec44f008e9687cdd1bf0818acc95d Author: Emmanuele Bassi Date: Fri May 13 14:17:39 2011 +0100 text: Implement the ::has_overlaps virtual Since ClutterText has overlapping primitives when selecting, or a visible cursor, then we need to report that to Clutter, to avoid bleeding colors through when a Text actor is non-fully opaque. clutter/clutter-text.c | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) commit 94c9c075099da0972ed07866e11b12c5255685c7 Author: Jasper St. Pierre Date: Wed Mar 2 12:02:56 2011 -0500 clutter-text: Add a selected-text-color http://bugzilla.clutter-project.org/show_bug.cgi?id=2595 clutter/clutter-text.c | 185 ++++++++++++++++++++++++++++++++++++++++++------ clutter/clutter-text.h | 5 ++ 2 files changed, 167 insertions(+), 23 deletions(-) commit 0a8ec7f7d575423ca984f10171998d85ef035a13 Author: Jasper St. Pierre Date: Thu Mar 3 06:33:42 2011 -0500 tests: Add test for selected-text-color http://bugzilla.clutter-project.org/show_bug.cgi?id=2595 tests/interactive/test-text-field.c | 2 ++ tests/interactive/test-text.c | 2 ++ 2 files changed, 4 insertions(+), 0 deletions(-) commit d95258e987178a9d1a2316db60bd89685e030929 Author: Neil Roberts Date: Fri May 13 15:29:50 2011 +0100 clutter-actor: Store the queue_redraw_entry when queueing a redraw _clutter_stage_queue_actor_redraw returns a pointer to the ClutterStageQueueRedrawEntry struct which it allocates. The actor is expected to store a pointer to this so that it doesn't need to search the list of queued redraws next time a queue redraw is called. However _clutter_actor_queue_redraw_full wasn't storing this pointer which meant that it thought every queue redraw was the first queue redraw. That meant that queueing a redraw with a clip or an effect would override any previous attempts to queue a redraw instead of trying to combine them. I think this happened because the old queue_redraw_with_clip also didn't store the pointer and queue_redraw_full was based on that. clutter/clutter-actor.c | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) commit 701440efd8b4df1b38976a3b5b2abf7f456c2c38 Author: Neil Roberts Date: Mon Mar 14 16:30:53 2011 +0000 clutter-actor: Add a 'has_overlaps' virtual This adds a virtual to ClutterActor so that an actor subclass can report whether it has overlapping primitives. ClutterActor uses this to determine whether it needs to use ClutterFlattenEffect to implement the opacity property. The default implementation of the virtual returns TRUE which means that most actors will end up being redirected offscreen when the opacity != 255. ClutterTexture and ClutterRectangle override this to return FALSE because they should never need to be redirected. ClutterClone overrides it to divert to the source. The values for the ClutterOffscreenRedirect enum have changed to: AUTOMATIC_FOR_OPACITY The actor will only be redirected if has_overlaps returns TRUE and the opacity is < 255 ALWAYS_FOR_OPACITY The actor will always be redirected if the opacity < 255 regardless of the return value of has_overlaps ALWAYS The actor will always be redirected offscreen. This means that the property can't be used to prevent the actor from being redirected but only to increase the likelihood that it will be redirected. ClutterActor now adds and removes the flatten effect depending on whether flattening is needed directly in clutter_actor_paint(). There are new internal versions of add/remove_effect that don't queue a redraw. This means that ClutterFlattenEffect is now just a no-op subclass of ClutterOffscreen. It is only needed because ClutterOffscreen is abstract. Removing the effect also makes it so that the cached image will be freed as soon as an actor is repainted without being flattened. clutter/clutter-actor.c | 236 ++++++++++++++++++++-------- clutter/clutter-actor.h | 28 +++- clutter/clutter-clone.c | 14 ++ clutter/clutter-flatten-effect.c | 101 +------------ clutter/clutter-flatten-effect.h | 2 - clutter/clutter-rectangle.c | 9 + clutter/clutter-texture.c | 9 + doc/reference/clutter/clutter-sections.txt | 1 + tests/conform/test-offscreen-redirect.c | 55 ++++++- 9 files changed, 272 insertions(+), 183 deletions(-) commit 2a09a04c2a1478278f58bfe6426ccb65f2715664 Author: Neil Roberts Date: Fri Mar 4 16:48:59 2011 +0000 Add a conformance test for the offscreen-redirect property This adds a conformance test for redirecting offscreen. It verifies that the redirected actor has the right paint opacity, that it gets redrawn only when the image cache needs to be invalidated and that it ends up with the right appearance. tests/conform/Makefile.am | 1 + tests/conform/test-conform-main.c | 1 + tests/conform/test-offscreen-redirect.c | 283 +++++++++++++++++++++++++++++++ 3 files changed, 285 insertions(+), 0 deletions(-) commit 7f78237ee53c6d1ec1981a2aec47e5aa651923d5 Author: Neil Roberts Date: Mon Feb 28 15:05:51 2011 +0000 clutter-actor: Add an 'offscreen-redirect' property This adds a property which can be used to redirect the actor through an FBO before painting so that it becomes flattened in an image. The image can be used as a cache to avoid having to repaint the actor if something unrelated in the scene changes. It can also be used to implement correct opacity even if the actor has overlapping primitives. The property is an enum that takes three values: CLUTTER_OFFSCREEN_REDIRECT_NEVER: The default behaviour which is to never flatten the actor. CLUTTER_OFFSCREEN_REDIRECT_ALWAYS: The actor is always redirected through an FBO. CLUTTER_OFFSCREEN_REDIRECT_ONLY_FOR_OPACITY: The actor is only redirected through an FBO if the paint opacity is not 255. This value would be used if the actor wants correct opacity. It will avoid the overhead of using an FBO whenever the actor is fully opaque. The property is implemented by installing a ClutterFlattenEffect. ClutterFlattenEffect is a new internal class which subclasses ClutterOffscreen to redirect the painting to an FBO. When ClutterOffscreen paints, the effect sets an opacity override on the actor so that the image will always contain the actor at full opacity. The opacity is then applied to the resulting image before painting it to the stage. This means the actor does not need to be redrawn while the opacity is being animated. The effect has a high internal priority so that it will always occur before any other effects and it gets hidden from the application. clutter/Makefile.am | 2 + clutter/clutter-actor.c | 180 +++++++++++++++++++++++++- clutter/clutter-actor.h | 24 ++++ clutter/clutter-flatten-effect.c | 151 +++++++++++++++++++++ clutter/clutter-flatten-effect.h | 75 +++++++++++ doc/reference/clutter/Makefile.am | 6 +- doc/reference/clutter/clutter-sections.txt | 3 + doc/reference/clutter/offscreen-redirect.png | Bin 0 -> 4821 bytes 8 files changed, 438 insertions(+), 3 deletions(-) commit 8df8d4ff0fa667cb25148b451ef754115f5c954b Author: Neil Roberts Date: Tue Mar 1 16:39:22 2011 +0000 clutter-actor: Redraw or relayout when clearing effects or constraints When calling clutter_actor_clear_constraints the layout of the actor may change so we need to queue a relayout. Similarly when the effects are cleared we need to queue a redraw. clutter/clutter-actor.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit 942321478332794e27f96ea63767c93af3f5fc24 Author: Neil Roberts Date: Tue Mar 1 15:37:04 2011 +0000 clutter-actor-meta: Add an internal 'priority' property This adds a priority property to all ClutterActorMetas. The ClutterMetaGroup keeps the list sorted so that higher priority metas remain at the beginning of the list. The priority is a signed integer with the default as zero. An actor meta can therefore be put before all default metas with a positive number, or after with a negative number. There are constants to set an 'internal' priority. The intention is that applications wouldn't be allowed to use these values so that we can keep special internal metas to that are before or after all application metas. The property isn't a real GObject property because for now it is completely internal and only used to implement the 'transparency' property of ClutterActor. ClutterMetaGroup doesn't currently resort the list if the property changes so if we wanted to make it public we should either make it construct-only or make the meta group listen for changes on the property and resort accordingly. The methods in ClutterActor that get the list of metas now use a new function that filters out internal metas from the meta group. Similarly for clearing the metas, the internal metas are left in. clutter/clutter-actor-meta-private.h | 26 ++++++++ clutter/clutter-actor-meta.c | 117 +++++++++++++++++++++++++++++++++- clutter/clutter-actor.c | 23 ++----- 3 files changed, 148 insertions(+), 18 deletions(-) commit 00b733a85ad4c7781166ffce61c44f15116fa6ba Author: Neil Roberts Date: Mon Feb 28 12:16:55 2011 +0000 clutter-effect: Add clutter_effect_queue_rerun This adds a new public function to queue a rerun of an effect. If nothing else queues a redraw then when the effect's actor is painted the effect will be run without the CLUTTER_EFFECT_RUN_ACTOR_DIRTY flag. This allows parametrised offscreen effects to report that they need to redraw the image without having to redraw the underlying actor. This will be used to implement the 'transparency' effect of ClutterActor. If multiple redraws are queued with different effects then redrawing is started from the one that occurs last in the list of effects. Internally the function is a wrapper around the new function _clutter_actor_queue_redraw_full. This is intended to be the sole point of code for queuing redraws on an actor. It has parameters for the clip and the effect. The other two existing functions to queue a redraw (one with a clip and one without) now wrap around this function by passing a NULL effect. clutter/clutter-actor-private.h | 5 + clutter/clutter-actor.c | 310 +++++++++++++++++----------- clutter/clutter-effect.c | 60 ++++++ clutter/clutter-effect.h | 2 + doc/reference/clutter/clutter-sections.txt | 1 + 5 files changed, 261 insertions(+), 117 deletions(-) commit 11443ed4801be02e8433abb34c776e32bd0c253a Author: Neil Roberts Date: Fri Feb 25 11:24:23 2011 +0000 clutter-offscreen-effect: Don't redraw the actor if cached offscreen When painting an actor, it now tries to determine if the last paint of the offscreen was using the same matrix and the actor isn't dirty. If so, it can skip calling clutter_actor_continue_paint and avoid actually painting the actor. Instead just the offscreen image will be painted. clutter/clutter-offscreen-effect.c | 80 +++++++++++++++++++++++++++++------- 1 files changed, 65 insertions(+), 15 deletions(-) commit c3aa4d24bf32a7aacdcd96b0807ba780738431a1 Author: Neil Roberts Date: Wed Mar 2 16:55:10 2011 +0000 clutter-effect: Add a 'run' virtual This adds a new virtual to ClutterEffect which is intended to be a more flexible replacement for the pre and post_paint functions. The implementation of a run virtual would look something like this: void effect_run (ClutterEffect *effect, ClutterEffectRunFlags flags) { /* Set up state */ /* ... */ /* Chain to the next item in the paint sequence */ clutter_actor_continue_paint (priv->actor); /* Clean up state */ /* ... */ } ClutterActor now just calls this virtual instead of the pre_paint and post_paint functions. It keeps track of the next effect in the list so that it knows what to do when clutter_actor_continue_paint is called. clutter_actor_continue_paint is a new function added just for implementing effects. The default implementation of the run virtual just calls pre_paint and post_paint so that existing effects will continue to work. An effect is allowed to conditionally skip calling clutter_actor_continue_paint(). This is useful to implement effects that cache the image of an actor. The flags parameter can be used to determine if the actor is dirty since the last paint. ClutterActor sets this flag whenever propagated_one_redraw is TRUE which means that a redraw for this actor or one of its children was queued. clutter/clutter-actor.c | 140 +++++++++++++++------------- clutter/clutter-actor.h | 1 + clutter/clutter-effect-private.h | 2 + clutter/clutter-effect.c | 124 ++++++++++++++++++------- clutter/clutter-effect.h | 19 ++++- doc/reference/clutter/clutter-sections.txt | 2 + 6 files changed, 189 insertions(+), 99 deletions(-) commit 05a7419e11eb557932326b13182a5b7acd6af029 Author: Miguel Bouzada Date: Thu May 12 13:18:02 2011 +0200 Updated Galician translations po/clutter-1.0.pot | 1085 +++++++++++++++++++++--------------------- po/gl.po | 1345 +++++++++++++++++++++++++++------------------------- 2 files changed, 1239 insertions(+), 1191 deletions(-) commit 9b0e013322bfd4ab7ab30c69afb0107608e2b298 Author: Emmanuele Bassi Date: Wed May 11 10:11:59 2011 +0100 po: Remove a non existent file in POTFILES.in po/POTFILES.in | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) commit 66b08ec96144d9a194ab0e91dab15a013df675d0 Author: Daniel Mustieles Date: Tue May 10 21:07:12 2011 +0200 Updated Spanish translation po/es.po | 52 ++++++++++++++++++++++++++++++++-------------------- 1 files changed, 32 insertions(+), 20 deletions(-) commit f5ace7b2a5ed177271a44536351d0780df982fef Author: Neil Roberts Date: Thu Apr 21 16:52:54 2011 +0100 win32: Use the Cogl WGL winsys Cogl now has a full WGL winsys so Clutter doesn't need to directly deal with WGL itself. clutter/win32/clutter-backend-win32.c | 348 ++++++++------------------------- clutter/win32/clutter-backend-win32.h | 6 +- clutter/win32/clutter-event-win32.c | 8 + clutter/win32/clutter-stage-win32.c | 59 ++++--- clutter/win32/clutter-stage-win32.h | 3 +- 5 files changed, 125 insertions(+), 299 deletions(-) commit 36e3a19722140b4d3f70d80359a1536c8987e952 Author: Daniel Mustieles Date: Mon May 9 19:24:30 2011 +0200 Updated Spanish translation po/es.po | 113 +++++++++++++++++++++++++++++++++---------------------------- 1 files changed, 61 insertions(+), 52 deletions(-) commit 044df4ab1e8b2db3aa642745d698e4d39f8df443 Author: Daniel Mustieles Date: Sun May 8 17:09:33 2011 +0200 Updated Spanish translation po/es.po | 60 +++++++++++++++++++++++++++++++++--------------------------- 1 files changed, 33 insertions(+), 27 deletions(-) commit 043f804452a9ac12e59b1aed3bf1f2b4fad56a43 Author: Emmanuele Bassi Date: Mon Apr 11 14:11:39 2011 +0100 Make the pick id pool per Stage The id pool used for the actor's id should be a per-stage field. At some point, we might have a Stage mapped to multiple framebuffers, or each Stage mapped to a different framebuffer; also, on backend with low color precision we don't want to exhaust the size of the available ids with a global pool. Finally, it's yet another thing we can remove from the global Clutter context. Having the id pool allocated per-stage, and the pick id assigned on Actor:mapped will make the whole pick-id more reliable and future proof. http://bugzilla.clutter-project.org/show_bug.cgi?id=2633 https://bugzilla.gnome.org/show_bug.cgi?id=647876 clutter/clutter-actor.c | 42 ++++++++++++++++++++++++++++++------- clutter/clutter-main.c | 14 ++++++++---- clutter/clutter-private.h | 9 ++++--- clutter/clutter-stage-private.h | 7 ++++++ clutter/clutter-stage.c | 44 +++++++++++++++++++++++++++++++++++++- tests/conform/test-pick.c | 14 +++++------- 6 files changed, 103 insertions(+), 27 deletions(-) commit f6e6c803d9ff95c30f489e1e66b01c589a153084 Author: Emmanuele Bassi Date: Mon Apr 11 12:30:51 2011 +0100 Deprecate actor id The actor's id, which is currently used to generate the pick color, should not be part of the public API: it's an internal detail of the pick implementation, and having it exposed is like punching a hole through the abstraction. http://bugzilla.clutter-project.org/show_bug.cgi?id=2633 https://bugzilla.gnome.org/show_bug.cgi?id=647876 clutter/clutter-actor-private.h | 2 ++ clutter/clutter-actor.c | 10 +++++++++- clutter/clutter-actor.h | 5 +++++ clutter/clutter-main.c | 2 ++ 4 files changed, 18 insertions(+), 1 deletions(-) commit dbae7e60143120bac913d2dbaaf786b357f51faf Author: Neil Roberts Date: Fri May 6 17:20:06 2011 +0100 configure.ac: Remove the check for 'ffs' The check for the ffs function is only needed by Cogl we don't need to have it in Clutter's configure script anymore. configure.ac | 4 ---- 1 files changed, 0 insertions(+), 4 deletions(-) commit ea502fd49250d011b6897690a71d3e64566769b7 Author: Emmanuele Bassi Date: Fri May 6 17:21:00 2011 +0100 build: Depend on cogl-pango-1.0 For both builds and introspection. clutter/Makefile.am | 2 +- configure.ac | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit f1204bfe09aec05af08ae4baa4ae6eee5cc695e6 Author: Emmanuele Bassi Date: Fri May 6 16:56:29 2011 +0100 build: Specify the buildreq version for Cogl Don't just assume the latest. configure.ac | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 21786cccd629597b38073326dee9fe9de94a55ca Author: Emmanuele Bassi Date: Fri May 6 16:55:10 2011 +0100 build: Fix introspection rules Remove some cruft after the surgery that split Cogl out of tree. clutter/Makefile.am | 33 ++++++++++----------------------- 1 files changed, 10 insertions(+), 23 deletions(-) commit 96ac597272d30d7ae0033cdcde0ac5376655a6bb Author: Emmanuele Bassi Date: Fri May 6 16:44:40 2011 +0100 docs: Fix README.md to match README.in README.md | 7 +------ 1 files changed, 1 insertions(+), 6 deletions(-) commit 589c80e41e4febc981cb2218c8f6eaf1b8c33157 Author: Robert Bragg Date: Fri May 6 14:55:05 2011 +0100 Remove last dependency on the GdkPixbuf API In test-pixmap.c instead of using the GdkPixbuf API to load the redhand.png image we now use the cairo API to load the png into a xlib surface which wraps our Pixmap. This test was the last thing that depended on the gdk API and since it's more concise to use Cairo here which is a hard dependency for Clutter this change means we avoid depending on GdkPixbuf directly. README.in | 4 - clutter/clutter-script.c | 4 - configure.ac | 2 - tests/interactive/test-pixmap.c | 119 +++++++++++---------------------------- 4 files changed, 33 insertions(+), 96 deletions(-) commit 223e14811c101e8c5821ffb21c0b7978bd8f9c24 Author: Robert Bragg Date: Thu May 5 20:56:44 2011 +0100 Removes Cogl from the repository Cogl has now been split out into a standalone project with a separate repository at git://git.gnome.org/cogl. From now on the Clutter build will now simply look for a cogl-1.0 pkg-config file to find a suitable Cogl library to link against at build time. .gitignore | 46 - README.in | 35 +- clutter/Makefile.am | 75 +- clutter/clutter-main.c | 5 - clutter/clutter-private.h | 4 - clutter/cogl/Makefile.am | 7 - clutter/cogl/autogen.sh | 73 - clutter/cogl/build/autotools/Makefile.am.enums | 51 - clutter/cogl/build/autotools/Makefile.am.silent | 19 - clutter/cogl/build/autotools/as-compiler-flag.m4 | 62 - clutter/cogl/build/autotools/as-linguas.m4 | 24 - clutter/cogl/build/autotools/introspection.m4 | 94 - clutter/cogl/cogl/Makefile.am | 419 -- clutter/cogl/cogl/cogl-1.0-clutter.pc.in | 17 - clutter/cogl/cogl/cogl-1.0.pc.in | 13 - clutter/cogl/cogl/cogl-atlas-texture-private.h | 80 - clutter/cogl/cogl/cogl-atlas-texture.c | 806 --- clutter/cogl/cogl/cogl-atlas.c | 589 -- clutter/cogl/cogl/cogl-atlas.h | 97 - clutter/cogl/cogl/cogl-attribute-private.h | 103 - clutter/cogl/cogl/cogl-attribute.c | 1280 ---- clutter/cogl/cogl/cogl-attribute.h | 182 - clutter/cogl/cogl/cogl-bitmap-fallback.c | 582 -- clutter/cogl/cogl/cogl-bitmap-pixbuf.c | 331 - clutter/cogl/cogl/cogl-bitmap-private.h | 214 - clutter/cogl/cogl/cogl-bitmap.c | 498 -- clutter/cogl/cogl/cogl-bitmap.h | 131 - clutter/cogl/cogl/cogl-bitmask.c | 257 - clutter/cogl/cogl/cogl-bitmask.h | 227 - clutter/cogl/cogl/cogl-blend-string.c | 984 --- clutter/cogl/cogl/cogl-blend-string.h | 137 - clutter/cogl/cogl/cogl-blit.c | 395 -- clutter/cogl/cogl/cogl-blit.h | 89 - clutter/cogl/cogl/cogl-buffer-private.h | 163 - clutter/cogl/cogl/cogl-buffer.c | 556 -- clutter/cogl/cogl/cogl-buffer.h | 242 - clutter/cogl/cogl/cogl-clip-stack.c | 748 --- clutter/cogl/cogl/cogl-clip-stack.h | 192 - clutter/cogl/cogl/cogl-clip-state-private.h | 53 - clutter/cogl/cogl/cogl-clip-state.c | 255 - clutter/cogl/cogl/cogl-clip-state.h | 50 - clutter/cogl/cogl/cogl-clutter.c | 79 - clutter/cogl/cogl/cogl-clutter.h | 57 - clutter/cogl/cogl/cogl-color-private.h | 45 - clutter/cogl/cogl/cogl-color.c | 313 - clutter/cogl/cogl/cogl-color.h | 544 -- clutter/cogl/cogl/cogl-context-private.h | 282 - clutter/cogl/cogl/cogl-context.c | 501 -- clutter/cogl/cogl/cogl-context.h | 84 - clutter/cogl/cogl/cogl-debug-options.h | 187 - clutter/cogl/cogl/cogl-debug.c | 248 - clutter/cogl/cogl/cogl-debug.h | 121 - clutter/cogl/cogl/cogl-defines.h.in | 36 - clutter/cogl/cogl/cogl-deprecated.h | 36 - clutter/cogl/cogl/cogl-display-glx-private.h | 57 - clutter/cogl/cogl/cogl-display-private.h | 48 - clutter/cogl/cogl/cogl-display-xlib-private.h | 35 - clutter/cogl/cogl/cogl-display.c | 135 - clutter/cogl/cogl/cogl-display.h | 100 - clutter/cogl/cogl/cogl-enum-types.c.in | 41 - clutter/cogl/cogl/cogl-enum-types.h.in | 25 - clutter/cogl/cogl/cogl-feature-private.c | 144 - clutter/cogl/cogl/cogl-feature-private.h | 81 - clutter/cogl/cogl/cogl-fixed.c | 950 --- clutter/cogl/cogl/cogl-fixed.h | 804 --- clutter/cogl/cogl/cogl-flags.h | 89 - clutter/cogl/cogl/cogl-framebuffer-private.h | 358 - clutter/cogl/cogl/cogl-framebuffer.c | 1731 ----- clutter/cogl/cogl/cogl-framebuffer.h | 226 - clutter/cogl/cogl/cogl-gtype-private.h | 48 - clutter/cogl/cogl/cogl-handle.h | 35 - clutter/cogl/cogl/cogl-index-array-private.h | 39 - clutter/cogl/cogl/cogl-index-array.c | 131 - clutter/cogl/cogl/cogl-index-array.h | 79 - clutter/cogl/cogl/cogl-indices-private.h | 54 - clutter/cogl/cogl/cogl-indices.c | 253 - clutter/cogl/cogl/cogl-indices.h | 77 - clutter/cogl/cogl/cogl-internal.h | 135 - clutter/cogl/cogl/cogl-journal-private.h | 93 - clutter/cogl/cogl/cogl-journal.c | 1805 ------ clutter/cogl/cogl/cogl-material-compat.c | 495 -- clutter/cogl/cogl/cogl-material-compat.h | 1397 ---- clutter/cogl/cogl/cogl-matrix-mesa.c | 1700 ----- clutter/cogl/cogl/cogl-matrix-mesa.h | 226 - clutter/cogl/cogl/cogl-matrix-private.h | 47 - clutter/cogl/cogl/cogl-matrix-stack.c | 550 -- clutter/cogl/cogl/cogl-matrix-stack.h | 130 - clutter/cogl/cogl/cogl-matrix.c | 673 -- clutter/cogl/cogl/cogl-matrix.h | 589 -- clutter/cogl/cogl/cogl-object-private.h | 276 - clutter/cogl/cogl/cogl-object.c | 249 - clutter/cogl/cogl/cogl-object.h | 127 - clutter/cogl/cogl/cogl-offscreen.h | 105 - clutter/cogl/cogl/cogl-onscreen-template-private.h | 37 - clutter/cogl/cogl/cogl-onscreen-template.c | 62 - clutter/cogl/cogl/cogl-onscreen-template.h | 48 - clutter/cogl/cogl/cogl-path-private.h | 115 - clutter/cogl/cogl/cogl-path.c | 303 - clutter/cogl/cogl/cogl-path.h | 491 -- .../cogl/cogl-pipeline-fragend-arbfp-private.h | 43 - clutter/cogl/cogl/cogl-pipeline-fragend-arbfp.c | 1109 ---- .../cogl/cogl-pipeline-fragend-fixed-private.h | 36 - clutter/cogl/cogl/cogl-pipeline-fragend-fixed.c | 366 -- .../cogl/cogl/cogl-pipeline-fragend-glsl-private.h | 39 - clutter/cogl/cogl/cogl-pipeline-fragend-glsl.c | 899 --- clutter/cogl/cogl/cogl-pipeline-opengl-private.h | 155 - clutter/cogl/cogl/cogl-pipeline-opengl.c | 1332 ---- clutter/cogl/cogl/cogl-pipeline-private.h | 1258 ---- .../cogl/cogl/cogl-pipeline-progend-glsl-private.h | 54 - clutter/cogl/cogl/cogl-pipeline-progend-glsl.c | 949 --- .../cogl/cogl-pipeline-vertend-fixed-private.h | 36 - clutter/cogl/cogl/cogl-pipeline-vertend-fixed.c | 125 - .../cogl/cogl/cogl-pipeline-vertend-glsl-private.h | 39 - clutter/cogl/cogl/cogl-pipeline-vertend-glsl.c | 420 -- clutter/cogl/cogl/cogl-pipeline.c | 6854 -------------------- clutter/cogl/cogl/cogl-pipeline.h | 1256 ---- clutter/cogl/cogl/cogl-pixel-array-private.h | 55 - clutter/cogl/cogl/cogl-pixel-array.c | 148 - clutter/cogl/cogl/cogl-pixel-array.h | 131 - clutter/cogl/cogl/cogl-point-in-poly-private.h | 40 - clutter/cogl/cogl/cogl-point-in-poly.c | 100 - clutter/cogl/cogl/cogl-primitive-private.h | 54 - clutter/cogl/cogl/cogl-primitive.c | 553 -- clutter/cogl/cogl/cogl-primitive.h | 674 -- clutter/cogl/cogl/cogl-primitives-private.h | 43 - clutter/cogl/cogl/cogl-primitives.c | 1178 ---- clutter/cogl/cogl/cogl-primitives.h | 190 - clutter/cogl/cogl/cogl-private.h | 53 - clutter/cogl/cogl/cogl-profile.c | 78 - clutter/cogl/cogl/cogl-profile.h | 61 - clutter/cogl/cogl/cogl-program-private.h | 84 - clutter/cogl/cogl/cogl-program.c | 633 -- clutter/cogl/cogl/cogl-rectangle-map.c | 752 --- clutter/cogl/cogl/cogl-rectangle-map.h | 78 - clutter/cogl/cogl/cogl-renderer-glx-private.h | 61 - clutter/cogl/cogl/cogl-renderer-private.h | 47 - clutter/cogl/cogl/cogl-renderer-x11-private.h | 32 - clutter/cogl/cogl/cogl-renderer-xlib-private.h | 76 - clutter/cogl/cogl/cogl-renderer-xlib.c | 200 - clutter/cogl/cogl/cogl-renderer.c | 285 - clutter/cogl/cogl/cogl-renderer.h | 164 - clutter/cogl/cogl/cogl-shader-boilerplate.h | 127 - clutter/cogl/cogl/cogl-shader-private.h | 65 - clutter/cogl/cogl/cogl-shader.c | 534 -- clutter/cogl/cogl/cogl-shader.h | 453 -- clutter/cogl/cogl/cogl-spans.c | 132 - clutter/cogl/cogl/cogl-spans.h | 70 - clutter/cogl/cogl/cogl-sub-texture-private.h | 70 - clutter/cogl/cogl/cogl-sub-texture.c | 473 -- clutter/cogl/cogl/cogl-swap-chain-private.h | 38 - clutter/cogl/cogl/cogl-swap-chain.c | 74 - clutter/cogl/cogl/cogl-swap-chain.h | 51 - clutter/cogl/cogl/cogl-texture-2d-private.h | 115 - clutter/cogl/cogl/cogl-texture-2d-sliced-private.h | 71 - clutter/cogl/cogl/cogl-texture-2d-sliced.c | 1397 ---- clutter/cogl/cogl/cogl-texture-2d.c | 741 --- clutter/cogl/cogl/cogl-texture-3d-private.h | 98 - clutter/cogl/cogl/cogl-texture-3d.c | 681 -- clutter/cogl/cogl/cogl-texture-3d.h | 154 - clutter/cogl/cogl/cogl-texture-driver.h | 213 - clutter/cogl/cogl/cogl-texture-private.h | 303 - clutter/cogl/cogl/cogl-texture-rectangle-private.h | 75 - clutter/cogl/cogl/cogl-texture-rectangle.c | 652 -- clutter/cogl/cogl/cogl-texture.c | 1533 ----- clutter/cogl/cogl/cogl-texture.h | 464 -- clutter/cogl/cogl/cogl-types.h | 674 -- clutter/cogl/cogl/cogl-util.c | 240 - clutter/cogl/cogl/cogl-util.h | 106 - clutter/cogl/cogl/cogl-vector.c | 284 - clutter/cogl/cogl/cogl-vector.h | 389 -- clutter/cogl/cogl/cogl-vertex-array-private.h | 39 - clutter/cogl/cogl/cogl-vertex-array.c | 77 - clutter/cogl/cogl/cogl-vertex-array.h | 82 - clutter/cogl/cogl/cogl-vertex-buffer-private.h | 164 - clutter/cogl/cogl/cogl-vertex-buffer.c | 1772 ----- clutter/cogl/cogl/cogl-vertex-buffer.h | 409 -- clutter/cogl/cogl/cogl-xlib-private.h | 76 - clutter/cogl/cogl/cogl-xlib.c | 184 - clutter/cogl/cogl/cogl-xlib.h | 84 - clutter/cogl/cogl/cogl.c | 1114 ---- clutter/cogl/cogl/cogl.h | 1262 ---- clutter/cogl/cogl/cogl.pc.in | 13 - clutter/cogl/cogl/cogl2-clip-state.c | 49 - clutter/cogl/cogl/cogl2-clip-state.h | 52 - clutter/cogl/cogl/cogl2-path.c | 1572 ----- clutter/cogl/cogl/cogl2-path.h | 506 -- clutter/cogl/cogl/driver/Makefile.am | 7 - .../cogl/cogl/driver/gl/cogl-context-driver-gl.h | 53 - .../cogl/driver/gl/cogl-feature-functions-gl.h | 423 -- clutter/cogl/cogl/driver/gl/cogl-gl.c | 233 - .../cogl/cogl/driver/gl/cogl-texture-driver-gl.c | 522 -- .../cogl/driver/gles/cogl-context-driver-gles.h | 52 - .../cogl/driver/gles/cogl-feature-functions-gles.h | 141 - clutter/cogl/cogl/driver/gles/cogl-gles.c | 150 - .../cogl/driver/gles/cogl-texture-driver-gles.c | 511 -- clutter/cogl/cogl/stb_image.c | 3891 ----------- clutter/cogl/cogl/tesselator/GL/glu.h | 40 - clutter/cogl/cogl/tesselator/README | 446 -- clutter/cogl/cogl/tesselator/dict-list.h | 100 - clutter/cogl/cogl/tesselator/dict.c | 111 - clutter/cogl/cogl/tesselator/dict.h | 100 - clutter/cogl/cogl/tesselator/geom.c | 264 - clutter/cogl/cogl/tesselator/geom.h | 84 - clutter/cogl/cogl/tesselator/gluos.h | 1 - clutter/cogl/cogl/tesselator/memalloc.h | 42 - clutter/cogl/cogl/tesselator/mesh.c | 798 --- clutter/cogl/cogl/tesselator/mesh.h | 266 - clutter/cogl/cogl/tesselator/normal.c | 257 - clutter/cogl/cogl/tesselator/normal.h | 45 - clutter/cogl/cogl/tesselator/priorityq-heap.c | 256 - clutter/cogl/cogl/tesselator/priorityq-heap.h | 107 - clutter/cogl/cogl/tesselator/priorityq-sort.h | 117 - clutter/cogl/cogl/tesselator/priorityq.c | 260 - clutter/cogl/cogl/tesselator/priorityq.h | 117 - clutter/cogl/cogl/tesselator/render.c | 502 -- clutter/cogl/cogl/tesselator/render.h | 52 - clutter/cogl/cogl/tesselator/sweep.c | 1361 ---- clutter/cogl/cogl/tesselator/sweep.h | 77 - clutter/cogl/cogl/tesselator/tess.c | 632 -- clutter/cogl/cogl/tesselator/tess.h | 165 - clutter/cogl/cogl/tesselator/tesselator.h | 121 - clutter/cogl/cogl/tesselator/tessmono.c | 201 - clutter/cogl/cogl/tesselator/tessmono.h | 71 - .../cogl/winsys/cogl-texture-pixmap-x11-private.h | 87 - clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.c | 972 --- clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.h | 155 - .../winsys/cogl-winsys-egl-feature-functions.h | 57 - clutter/cogl/cogl/winsys/cogl-winsys-egl.c | 1282 ---- .../winsys/cogl-winsys-glx-feature-functions.h | 105 - clutter/cogl/cogl/winsys/cogl-winsys-glx.c | 1959 ------ clutter/cogl/cogl/winsys/cogl-winsys-private.h | 154 - clutter/cogl/cogl/winsys/cogl-winsys-sdl.c | 35 - clutter/cogl/cogl/winsys/cogl-winsys-stub.c | 112 - clutter/cogl/cogl/winsys/cogl-winsys.c | 45 - clutter/cogl/configure.ac | 769 --- clutter/cogl/doc/CODING_STYLE | 49 - clutter/cogl/examples/Makefile.am | 31 - clutter/cogl/examples/hello.c | 49 - clutter/cogl/examples/x11-foreign.c | 156 - clutter/cogl/pango/Makefile.am | 56 - clutter/cogl/pango/cogl-pango-display-list.c | 444 -- clutter/cogl/pango/cogl-pango-display-list.h | 69 - clutter/cogl/pango/cogl-pango-fontmap.c | 209 - clutter/cogl/pango/cogl-pango-glyph-cache.c | 414 -- clutter/cogl/pango/cogl-pango-glyph-cache.h | 93 - clutter/cogl/pango/cogl-pango-pipeline-cache.c | 238 - clutter/cogl/pango/cogl-pango-pipeline-cache.h | 53 - clutter/cogl/pango/cogl-pango-private.h | 38 - clutter/cogl/pango/cogl-pango-render.c | 836 --- clutter/cogl/pango/cogl-pango.h | 85 - clutter/cogl/po/ChangeLog | 12 - clutter/cogl/po/Makevars | 41 - clutter/cogl/po/POTFILES.in | 1 - clutter/cogl/po/Rules-quot | 47 - clutter/cogl/po/boldquot.sed | 10 - clutter/cogl/po/en@boldquot.header | 25 - clutter/cogl/po/en@quot.header | 22 - clutter/cogl/po/insert-header.sin | 23 - clutter/cogl/po/quot.sed | 6 - clutter/cogl/po/remove-potcdate.sin | 19 - clutter/glx/clutter-glx-texture-pixmap.c | 4 - clutter/wayland/clutter-backend-wayland.c | 16 +- clutter/x11/clutter-x11-texture-pixmap.c | 6 +- configure.ac | 373 +-- doc/reference/Makefile.am | 4 +- doc/reference/cogl/Makefile.am | 151 - doc/reference/cogl/blend-strings.xml | 129 - doc/reference/cogl/cogl-docs.xml.in | 206 - doc/reference/cogl/cogl-sections.txt | 660 -- doc/reference/cogl/cogl_ortho.png | Bin 12650 -> 0 bytes doc/reference/cogl/fill-rule-even-odd.png | Bin 3121 -> 0 bytes doc/reference/cogl/fill-rule-non-zero.png | Bin 3143 -> 0 bytes doc/reference/cogl/quad-indices-order.png | Bin 2620 -> 0 bytes doc/reference/cogl/quad-indices-triangles.png | Bin 8018 -> 0 bytes tests/conform/test-cogl-texture-pixmap-x11.c | 4 +- tests/interactive/test-box-layout.c | 2 +- tests/interactive/test-table-layout.c | 2 +- 277 files changed, 25 insertions(+), 89249 deletions(-) commit 00f2a39ac547f4bc0f15f18c41baf749c3ffc602 Author: Emmanuele Bassi Date: Tue Apr 12 17:01:51 2011 +0100 stage: Use Cairo to dump the pick buffer Do not use GdkPixbuf just for getting image data down into a PNG; Cairo is perfectly capable of doing the same, at least just for debugging purposes. https://bugzilla.gnome.org/show_bug.cgi?id=647875 clutter/clutter-stage.c | 67 ++++++++++++---------------------------------- 1 files changed, 18 insertions(+), 49 deletions(-) commit 3a071a4787c614144579e080f0d9b545e256a4ad Author: Emmanuele Bassi Date: Tue Apr 12 17:00:46 2011 +0100 cairo-texture: Make the pixel order macro public It stands to reason that any piece of code using Cairo and Cogl at the same time, and dealing with texture data, will want to use the same logic Clutter uses to determine the compatible pixel format between the two. https://bugzilla.gnome.org/show_bug.cgi?id=647875 clutter/clutter-cairo-texture.c | 13 ++----------- clutter/clutter-cairo-texture.h | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 11 deletions(-) commit d6fbdf69045ce91af4302f9755019518c1879523 Author: Daniel Mustieles Date: Thu May 5 19:26:47 2011 +0200 Updated Spanish translation po/es.po | 54 +++++++++++++++++++++++++++++++----------------------- 1 files changed, 31 insertions(+), 23 deletions(-) commit 6d9458debb9eaa7db6750f5eb35c9f322c0b8b7e Author: Neil Roberts Date: Wed Mar 30 16:39:38 2011 +0100 cogl-debug: Add an option to disable atlasing sharing If COGL_DEBUG contains disable-shared-atlas Cogl will not try to share the atlas between glyphs and images. clutter/cogl/cogl/cogl-debug-options.h | 6 ++++++ clutter/cogl/cogl/cogl-debug.c | 1 + clutter/cogl/cogl/cogl-debug.h | 1 + clutter/cogl/pango/cogl-pango-glyph-cache.c | 3 +++ 4 files changed, 11 insertions(+), 0 deletions(-) commit 77cd2ca08ed9633e92528b34804046bf47586259 Author: Neil Roberts Date: Wed Mar 30 16:33:04 2011 +0100 cogl_pipeline_equal: Handle COGL_WRAP_MODE_AUTOMATIC better When comparing the wrap modes of two pipeline layers it now considers COGL_WRAP_MODE_AUTOMATIC to be equivalent to CLAMP_TO_EDGE. By the time the pipeline is in the journal, the upper primitive code is expected to have overridden this wrap mode with something else if it wants any other behaviour. This is important for getting text to batch together with textures because the text explicitly sets the wrap mode to CLAMP_TO_EDGE on its pipeline. clutter/cogl/cogl/cogl-pipeline.c | 29 ++++++++++++++++++++++++++--- 1 files changed, 26 insertions(+), 3 deletions(-) commit 41e464fc9e04faa089f6ece6b15c2e67afd0450e Author: Neil Roberts Date: Fri Feb 26 13:01:54 2010 +0000 cogl-pango: Don't set the special combine function for atlased textures The material cache will now only set the special combine mode if the texture only has an alpha component. The atlased textures will have all four components so it will leave the combine functions at the default. This increases the chances of batching between glyphs and images. When using the global atlas, the glyph from cairo is now rendered into an ARGB surface rather than an alpha-only surface. clutter/cogl/pango/cogl-pango-pipeline-cache.c | 61 +++++++++++++++++------- clutter/cogl/pango/cogl-pango-render.c | 28 ++++++++++- 2 files changed, 70 insertions(+), 19 deletions(-) commit 9083fc8e1fd34a61aa5d95363404843709acee3f Author: Neil Roberts Date: Fri Feb 26 12:38:22 2010 +0000 cogl-pango: Use a seperate cache of pipelines Instead of creating just two materials (one for texturing and one for solid primitives) the pango renderer now maintains a cache of pipelines. The display list can request a pipeline for a texture from the cache. The same pipeline cache is used by all display lists so that the pipelines can be shared. This avoids changing the texture on the material during a paint run. clutter/cogl/pango/Makefile.am | 16 +- clutter/cogl/pango/cogl-pango-display-list.c | 68 +++++---- clutter/cogl/pango/cogl-pango-display-list.h | 7 +- clutter/cogl/pango/cogl-pango-pipeline-cache.c | 211 ++++++++++++++++++++++++ clutter/cogl/pango/cogl-pango-pipeline-cache.h | 53 ++++++ clutter/cogl/pango/cogl-pango-render.c | 77 +++------ 6 files changed, 338 insertions(+), 94 deletions(-) commit 22ce8a7111f9e814e92754eec9cf521d9586fb08 Author: Neil Roberts Date: Mon Feb 22 16:40:49 2010 +0000 cogl-pango-glyph-cache: Don't put zero-sized glyphs in the cache It now avoids trying to reserve space for zero-sized glyphs. That happens for example when the layout contains a space. This was causing the regular glyph cache to be used because the global atlas does not support zero-sized images. That would then break up the batching. Instead it now still reserves an entry in the cache but leaves the texture as COGL_INVALID_HANDLE. clutter/cogl/pango/cogl-pango-glyph-cache.c | 39 ++++++++++++++++---------- clutter/cogl/pango/cogl-pango-render.c | 7 ++++- 2 files changed, 30 insertions(+), 16 deletions(-) commit 0c755f690951652bd1d3e3f9a2fd01de0c7f6522 Author: Neil Roberts Date: Thu May 5 16:09:22 2011 +0100 Revert "cogl-pango-display-list: Don't use VBOs if the texture can't handle it" This reverts commit 32c91793e46e0625a19c0d2bc98d6cd147dff702. This commit is no longer needed since the display list will now only have primitive textures in it. clutter/cogl/pango/cogl-pango-display-list.c | 6 +----- 1 files changed, 1 insertions(+), 5 deletions(-) commit 9cb45144a89e03baa746fa62ccd5972378baee08 Author: Neil Roberts Date: Wed Mar 30 13:48:34 2011 +0100 cogl-pango-render: Add the base texture to the display list When rendering a glyph from a texture, instead of adding the glyph's texture handle to the display list it now retrieves the base texture using _cogl_texture_foreach_subtexture_in_region and adds that instead. That way the display can recognise that glyphs in the global atlas are sharing the same texture and combine them into one VBO. clutter/cogl/pango/cogl-pango-render.c | 62 ++++++++++++++++++++++++++------ 1 files changed, 51 insertions(+), 11 deletions(-) commit 22649b810f3247c2affc7ac18e8ebe23e219b4ba Author: Neil Roberts Date: Wed Mar 30 13:46:46 2011 +0100 cogl-bitmap-private.h: Include cogl-bitmap.h There was a header dependency problem which meant that cogl-texture-private.h couldn't be included without first including cogl-bitmap.h clutter/cogl/cogl/cogl-bitmap-private.h | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit d0a615e17b0aa32f20cc7c1d4e0ab97193f85195 Author: Neil Roberts Date: Wed Mar 30 12:56:09 2011 +0100 cogl-pango-glyph-cache: Notify of reorg for global atlased glyphs Whenever the glyph cache puts a glyph in the global atlas it will now register for notifications of reorganisation of the global atlases. When this happens it will forward this on as a notification of reorganisation of the glyph cache. clutter/cogl/pango/cogl-pango-glyph-cache.c | 36 +++++++++++++++++++++------ 1 files changed, 28 insertions(+), 8 deletions(-) commit 241c3c0d43ef562fa8d04b6cac1848fad6ba2a29 Author: Neil Roberts Date: Wed Mar 30 12:53:50 2011 +0100 cogl-atlas-texture: Add a callback for when any atlas reorganizes This adds cogl_atlas_texture_* functions to register a callback that will get invoked whenever any of the CoglAtlas's the textures use get reorganized. The callback is global and is not tied to any particular atlas texture. clutter/cogl/cogl/cogl-atlas-texture-private.h | 8 +++++ clutter/cogl/cogl/cogl-atlas-texture.c | 36 ++++++++++++++++++++++++ clutter/cogl/cogl/cogl-context-private.h | 1 + clutter/cogl/cogl/cogl-context.c | 2 + 4 files changed, 47 insertions(+), 0 deletions(-) commit e3c57941bddd8d77947f8de23661d061aaaed78e Author: Neil Roberts Date: Thu Feb 18 17:35:14 2010 +0000 pango-glyph-cache: Try to put glyphs in the global atlas If mipmapping is disabled, it will now try to create a standalone atlas texture for a glyph rather than putting it in the atlas. If the atlas texture can't be created then it will fallback to the glyph cache. clutter/cogl/pango/cogl-pango-glyph-cache.c | 139 ++++++++++++++++++++------- 1 files changed, 102 insertions(+), 37 deletions(-) commit 9aaaee03085d709db930f56333c204672d32d81d Author: Neil Roberts Date: Thu Feb 18 16:33:12 2010 +0000 cogl-atlas-texture: Split out new_from_bitmap to new_with_size This adds a new function called _cogl_atlas_texture_new_with_size. The old new_from_bitmap function now just calls this and updates the texture with the data. clutter/cogl/cogl/cogl-atlas-texture-private.h | 6 ++ clutter/cogl/cogl/cogl-atlas-texture.c | 81 +++++++++++++++--------- 2 files changed, 57 insertions(+), 30 deletions(-) commit 32c91793e46e0625a19c0d2bc98d6cd147dff702 Author: Neil Roberts Date: Thu Feb 18 15:04:06 2010 +0000 cogl-pango-display-list: Don't use VBOs if the texture can't handle it If the texture can't be hardware repeated (ie, if it is sliced or it has waste) then Cogl will reject the layer when rendering with a VBO. In this case we should always fall back to rendering with cogl_rectangle. This commit is only needed temporarily because Cogl will end up putting atlas textures in the display list. A later commit in the series will make it so that the display list always has primitive textures in it so this commit can be reverted. clutter/cogl/pango/cogl-pango-display-list.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) commit 51eec9bf53eec923504e7cf0392d3c15f545bd3e Author: Neil Roberts Date: Thu Feb 18 14:30:44 2010 +0000 cogl-pango: Use a separate glyph cache for mipmapped rendering This reverts the changes in 54d8aadf which combined the two glyph caches into one. We want to start using separate caches again so that we can non-mipmapped textures into the global atlas. clutter/cogl/pango/cogl-pango-glyph-cache.c | 2 +- clutter/cogl/pango/cogl-pango-glyph-cache.h | 2 +- clutter/cogl/pango/cogl-pango-render.c | 77 ++++++++++++++++++-------- 3 files changed, 55 insertions(+), 26 deletions(-) commit 4d3bf09e60af216774d5b1ec118f420ee0b7137b Author: Robert Bragg Date: Wed May 4 17:02:04 2011 +0100 Adds a way for Cogl to control event_mask of foreign wins This extends cogl_onscreen_x11_set_foreign_xid to take a callback to a function that details the event mask the Cogl requires the application to select on foreign windows. This is required because Cogl, for example, needs to track size changes of a window and may also in the future want other notifications such as map/unmap. Most applications wont need to use the foreign xwindow apis, but those that do are required to pass a valid callback and update the event mask of their window according to Cogl's requirements. clutter/cogl/cogl/cogl-framebuffer-private.h | 2 + clutter/cogl/cogl/cogl-framebuffer.c | 10 ++++- clutter/cogl/cogl/cogl-framebuffer.h | 58 +++++++++++++++++++++++++- clutter/cogl/cogl/winsys/cogl-winsys-egl.c | 11 ++++- clutter/cogl/cogl/winsys/cogl-winsys-glx.c | 11 ++++- clutter/cogl/examples/x11-foreign.c | 22 +++++++++- clutter/glx/clutter-stage-glx.c | 9 +++- clutter/x11/clutter-stage-x11.c | 29 ++++++++----- clutter/x11/clutter-stage-x11.h | 17 ++++++++ 9 files changed, 151 insertions(+), 18 deletions(-) commit 50d688399bf4b1e31486f7e2b659f26994f78348 Author: Robert Bragg Date: Wed May 4 11:10:54 2011 +0100 Adds cogl_onscreen_show/hide functions This adds Cogl API to show and hide onscreen framebuffers. We don't want to go too far down the road of abstracting window system APIs with Cogl since that would be out of its scope but the previous idea that we would automatically map framebuffers on allocation except for those made from foreign windows wasn't good enough. The problem is that we don't want to make Clutter always create stages from foreign windows but with the automatic map semantics then Clutter doesn't get an opportunity to select for all the events it requires before mapping. This meant that we wouldn't be delivered a mouse enter event for windows mapped underneath the cursor which would break Clutters handling of button press events. clutter/cogl/cogl/cogl-framebuffer.c | 31 ++++++++++++++ clutter/cogl/cogl/cogl-framebuffer.h | 52 ++++++++++++++++++++++++ clutter/cogl/cogl/winsys/cogl-winsys-egl.c | 21 +++++++++- clutter/cogl/cogl/winsys/cogl-winsys-glx.c | 17 +++++++- clutter/cogl/cogl/winsys/cogl-winsys-private.h | 4 ++ clutter/cogl/examples/hello.c | 2 + 6 files changed, 123 insertions(+), 4 deletions(-) commit 53395e732e18af8c2c22d12cc598a6dd1a71670a Author: Robert Bragg Date: Wed May 4 00:16:50 2011 +0100 add missing name mangle for cogl_onscreen_set_swap_throttled We weren't mangling cogl_onscreen_set_swap_throttled to give it an _EXP postfix to clarify that it is an experimental symbol. clutter/cogl/cogl/cogl-framebuffer.h | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 06c64adb5762fb3f1691b0404a264063914f2bde Author: Robert Bragg Date: Tue May 3 21:00:00 2011 +0100 Add missing _cogl_winsys_has_feature prototype This adds a private prototype for _cogl_winsys_has_feature in cogl-winsys-private.h to avoid compilation warnings. clutter/cogl/cogl/winsys/cogl-winsys-private.h | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) commit 89fd655a9e22f508e2a402d2020fbe0aef3669b0 Author: Robert Bragg Date: Tue Apr 19 17:48:40 2011 +0100 cogl/pango/Makefile.am pass EXTRA_LDFLAGS for linking When building on windows for example we need to ensure we pass -no-undefined to the linker. Although we were substituting a COGL_EXTRA_LDFLAGS variable from our configure.ac we forgot to reference that when linking cogl-pango. clutter/cogl/pango/Makefile.am | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit f2cd2d8be847681d81a3864e2ac3fee2917a273c Author: Robert Bragg Date: Tue Apr 19 17:47:57 2011 +0100 cogl/configure.ac: AC_SUBST an empty MAINTAINER_CFLAGS For compatibility with the way we build Cogl as part of Clutter we now substitute an empty MAINTAINER_CFLAGS variable. When building Cogl standalone all our extra CFLAGS go through COGL_EXTRA_CFLAGS so the separate MAINTAINER_CFLAGS aren't used, but automake will get confused if a substitution isn't made. clutter/cogl/configure.ac | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit a8e497e6473ded5c62688b4323b3131bc33b9426 Author: Robert Bragg Date: Tue Apr 19 17:45:26 2011 +0100 cogl/configure.ac: check when building for win32 This adds a check for when building on win32 so we can skip pkg-config checks for opengl and can add appropriate flags to COGL_EXTRA_{LD,C}FLAGS. clutter/cogl/configure.ac | 47 +++++++++++++++++++++++++++++++++++++------- 1 files changed, 39 insertions(+), 8 deletions(-) commit 2303e4d60332139584bdd31ed7896af33e97388f Author: Robert Bragg Date: Tue Apr 19 17:42:48 2011 +0100 cogl/configure.ac: fix pkg-config checks This fixes the gdk-pixbuf check to not mistakenly check for the "xi" package instead of gdk-pixbuf and remove a spurious listing "gl" in COGL_PKG_REQUIRES which should only be there when we are using using opengl not if we are using gles. clutter/cogl/configure.ac | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) commit 8bde73529f8d08ad9cc9b64df482ec93fd5ed804 Author: Robert Bragg Date: Tue Apr 19 17:40:57 2011 +0100 cogl/Makefile.am: pass EXTRA_LDFLAGS for linking When building on windows for example we need to ensure we pass -no-undefined to the linker. Although we were substituting a COGL_EXTRA_LDFLAGS variable from our configure.ac we forgot to reference that when linking cogl. clutter/cogl/cogl/Makefile.am | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 7a3d06c55c99317e6193c56742d21c6930fbb340 Author: Robert Bragg Date: Mon Apr 18 17:45:36 2011 +0100 cogl: remove OSX/WIN32 specific bits in favour of a stub winsys Until Cogl gains native win32/OSX support this remove the osx and win32 winsys files and instead we'll just rely on the stub-winsys.c to handle these platforms. Since the only thing the platform specific files were providing anyway was a get_proc_address function; it was trivial to simply update the clutter backend code to handle this directly for now. clutter/cogl/cogl/Makefile.am | 8 +----- clutter/cogl/cogl/winsys/cogl-winsys-osx.c | 35 -------------------------- clutter/cogl/cogl/winsys/cogl-winsys-stub.c | 5 +++ clutter/cogl/cogl/winsys/cogl-winsys-win32.c | 35 -------------------------- clutter/cogl/configure.ac | 6 +--- clutter/win32/clutter-backend-win32.c | 2 +- 6 files changed, 8 insertions(+), 83 deletions(-) commit 3d0a853c6f5402584be4ecd2e881924a55f8ef22 Author: Robert Bragg Date: Mon Apr 18 17:35:15 2011 +0100 cogl-gl.c: remove really_enable_npot hack for OSX This is a workaround for a bug on OSX for some radeon hardware that we can't verify and the referenced bug link is no longer valid. If this is really still a problem then a new bug should be opened and we can look at putting the fix in some more appropriate place than cogl-gl.c clutter/cogl/cogl/driver/gl/cogl-gl.c | 37 +++----------------------------- 1 files changed, 4 insertions(+), 33 deletions(-) commit 723e5de4b6390067b2e5af764cefae45392345cd Author: Robert Bragg Date: Mon Apr 18 17:17:21 2011 +0100 cogl/configure.ac: Adds --enable-stub-winsys option We want to be able to split Cogl out as a standalone project but there are still some window systems that aren't natively supported by Cogl. This allows Clutter to support those window systems directly but still work with a standalone Cogl library. This also ensures we set the SUPPORT_STUB conditional in clutter's configure.ac when building for win32/osx and wayland. clutter/cogl/configure.ac | 33 ++++++++++++++++++++++++++++++++- configure.ac | 3 +++ 2 files changed, 35 insertions(+), 1 deletions(-) commit 799caeb588973ea4b64003efc31c9853a05d8f73 Author: Robert Bragg Date: Mon Apr 18 16:26:17 2011 +0100 winsys-glx: map X window automatically if not foreign For now we are going for the semantics that when a CoglOnscreen is first allocated then it will automatically be mapped. This is for convenience and if you don't want that behaviour then it is possible to instead create an Onscreen from a foreign X window and in that case it wont be mapped automatically. This approach means that Cogl doesn't need onscreen_map/unmap functions but it's possible we'll decide later that we can't avoid adding such functions and we'll have to change these semantics. clutter/cogl/cogl/winsys/cogl-winsys-glx.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit 27770b913fa830140093347b919eb385c74694ec Author: Robert Bragg Date: Mon Apr 18 15:57:32 2011 +0100 cogl/configure.ac: make COGL_HAS_xyz defines public Instead of using AC_DEFINE for the various COGL_HAS_PLATFORM defines this now adds them to the COGL_DEFINES_SYMBOLS variable which gets substituted into the public cogl-defines.h header. clutter/cogl/configure.ac | 12 +++--------- 1 files changed, 3 insertions(+), 9 deletions(-) commit c2631b2bf7372c3488c04c5c25479a29ab234fd5 Author: Robert Bragg Date: Tue Apr 12 18:50:54 2011 +0100 add missing Cogl bits to .gitignore .gitignore | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-) commit 136cf1b2d6cdb37734b2369991b748344190a3dd Author: Robert Bragg Date: Mon Apr 18 13:07:21 2011 +0100 clutter/Makefile.am: mark clutter-cex100.h as BUILT_SOURCES clutter-xcex100.h is generated from clutter-cex100.h.in when running ./configure so it should be added to automake's BUILT_SOURCES variable. clutter/Makefile.am | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) commit 825a51b89899c8ced9f5b1056ce8f4a06fcdc48e Author: Robert Bragg Date: Thu Mar 17 19:32:54 2011 +0000 Adds Cogl Hello World and "X11 foreign" example applications This adds a simple standalone Cogl application that can be used to smoke test a standalone build of Cogl without Clutter. This also adds an x11-foreign app that shows how a toolkit can ask Cogl to draw to an X Window that it owns instead of Cogl being responsible for automatically creating and mapping an X Window for CoglOnscreen. clutter/cogl/Makefile.am | 2 +- clutter/cogl/configure.ac | 1 + clutter/cogl/examples/Makefile.am | 31 ++++++++ clutter/cogl/examples/hello.c | 47 ++++++++++++ clutter/cogl/examples/x11-foreign.c | 136 +++++++++++++++++++++++++++++++++++ configure.ac | 1 + 6 files changed, 217 insertions(+), 1 deletions(-) commit 1c502fbbc85429e1108768fc92da4d6913ffbc42 Author: Robert Bragg Date: Thu Mar 10 15:15:08 2011 +0000 cogl/configure.ac: add options to control driver/egl platform This allows more detailed control over the driver and winsys features that Cogl should have. Cogl is designed so it can support multiple window systems simultaneously so we have enable/disable options for the drivers (gl vs gles1 vs gles2) and options for the individual window systems; currently glx and egl. Egl is broken down into an option for each platform. clutter/cogl/cogl/cogl-1.0-clutter.pc.in | 8 +- clutter/cogl/configure.ac | 358 +++++++++++++++++++++++++----- configure.ac | 1 + 3 files changed, 311 insertions(+), 56 deletions(-) commit e26a59afc854d9685424f3acf5a54a938725c470 Author: Robert Bragg Date: Fri Mar 4 12:50:39 2011 +0000 EGL: Updates GDL platform support The GDL API is used for example on intel ce4100 (aka Sodaville) based systems as a way to allocate memory that can be composited using the platforms overlay hardware. This updates the Cogl EGL winsys and the support in Clutter so we can continue to support these platforms. clutter/cogl/cogl/Makefile.am | 2 +- clutter/cogl/cogl/cogl-display-private.h | 5 + clutter/cogl/cogl/cogl-display.c | 12 +++ clutter/cogl/cogl/cogl-display.h | 12 +++ clutter/cogl/cogl/cogl-swap-chain-private.h | 1 + clutter/cogl/cogl/cogl-swap-chain.c | 8 ++ clutter/cogl/cogl/cogl-swap-chain.h | 5 + clutter/cogl/cogl/winsys/cogl-winsys-egl.c | 131 ++++++++++++++++++++++++++- clutter/cogl/configure.ac | 2 +- clutter/egl/clutter-backend-egl.c | 12 ++-- configure.ac | 18 ++-- 11 files changed, 189 insertions(+), 19 deletions(-) commit 7f76ea2690eac8751e36033323fcd82bf4027643 Author: Robert Bragg Date: Wed Mar 2 11:02:50 2011 +0000 Don't reference GL_STACK_OVERFLOW/UNDERFLOW for GLES These symbols aren't available when building with GLES so only reference them when building with OpenGL. clutter/cogl/cogl/cogl.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit fd42800d008e9153926916e35d0d8927488ff362 Author: Robert Bragg Date: Mon Apr 18 16:24:51 2011 +0100 winsys: Expose environment variable to choose winsys This makes it possible to override the winsys that cogl uses by setting the COGL_RENDERER environment variable e.g. to "GLX" or "EGL" clutter/cogl/cogl/cogl-renderer.c | 8 ++++++++ clutter/cogl/cogl/winsys/cogl-winsys-egl.c | 1 + clutter/cogl/cogl/winsys/cogl-winsys-glx.c | 1 + clutter/cogl/cogl/winsys/cogl-winsys-private.h | 2 ++ 4 files changed, 12 insertions(+), 0 deletions(-) commit 75e6d734c1b831e11831270d1777b84b689dca6a Author: Robert Bragg Date: Fri Feb 25 11:29:08 2011 +0000 Add a vtable of indirection to the winsys code So that we can dynamically select what winsys backend to use at runtime we need to have some indirection to how code accesses the winsys instead of simply calling _cogl_winsys* functions that would collide if we wanted to compile more than one backend into Cogl. clutter/cogl/cogl/cogl-clutter.c | 8 +- clutter/cogl/cogl/cogl-context-private.h | 3 + clutter/cogl/cogl/cogl-context.c | 19 ++- clutter/cogl/cogl/cogl-display.c | 14 ++- clutter/cogl/cogl/cogl-framebuffer.c | 71 ++++++-- clutter/cogl/cogl/cogl-renderer-private.h | 2 + clutter/cogl/cogl/cogl-renderer.c | 76 +++++++- clutter/cogl/cogl/cogl.c | 9 + clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.c | 42 ++++- clutter/cogl/cogl/winsys/cogl-winsys-egl.c | 162 +++++++++-------- clutter/cogl/cogl/winsys/cogl-winsys-glx.c | 194 +++++++++++++------- clutter/cogl/cogl/winsys/cogl-winsys-private.h | 122 ++++++------ 12 files changed, 482 insertions(+), 240 deletions(-) commit 91bf1e24d45e46808a36be1468c9cbce53c8896a Author: Robert Bragg Date: Tue Mar 1 14:43:43 2011 +0000 texture-pixmap-x11: Move GLX code to cogl-winsys-glx.c This moves the GLX specific code from cogl-texture-pixmap-x11.c into cogl-winsys-glx.c. If we want the winsys components to by dynamically loadable then we can't have GLX code scattered outside of cogl-winsys-glx.c. This also sets us up for supporting the EGL_texture_from_pixmap extension which is almost identical to the GLX_texture_from_pixmap extension. .../cogl/winsys/cogl-texture-pixmap-x11-private.h | 15 +- clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.c | 530 +------------------ clutter/cogl/cogl/winsys/cogl-winsys-egl.c | 35 ++ clutter/cogl/cogl/winsys/cogl-winsys-glx.c | 549 ++++++++++++++++++++ clutter/cogl/cogl/winsys/cogl-winsys-private.h | 22 + 5 files changed, 632 insertions(+), 519 deletions(-) commit c55cffbb6b5c75d2af073b7c5be857acb97b6acf Author: Robert Bragg Date: Fri Feb 25 00:31:41 2011 +0000 Moves all EGL code down from Clutter to Cogl As was recently done for the GLX window system code, this commit moves the EGL window system code down from the Clutter backend code into a Cogl winsys. Note: currently the cogl/configure.ac is hard coded to only build the GLX winsys so currently this is only available when building Cogl as part of Clutter. clutter/Makefile.am | 4 - clutter/cogl/cogl/Makefile.am | 9 +- clutter/cogl/cogl/cogl-context.c | 9 + clutter/cogl/cogl/cogl-context.h | 17 + .../winsys/cogl-winsys-egl-feature-functions.h | 57 ++ clutter/cogl/cogl/winsys/cogl-winsys-egl.c | 1048 +++++++++++++++++++- clutter/cogl/cogl/winsys/cogl-winsys-private.h | 5 + clutter/egl/clutter-backend-cex100.c | 369 ------- clutter/egl/clutter-backend-cex100.h | 60 -- clutter/egl/clutter-backend-egl.c | 765 ++++----------- clutter/egl/clutter-backend-egl.h | 57 +- clutter/egl/clutter-stage-egl.c | 232 +++-- clutter/egl/clutter-stage-egl.h | 4 +- clutter/glx/clutter-backend-glx.h | 11 +- clutter/x11/clutter-stage-x11.c | 105 -- clutter/x11/clutter-stage-x11.h | 3 - configure.ac | 4 + 17 files changed, 1463 insertions(+), 1296 deletions(-) commit ce0dc2160cc491c60a2849539ba8abc9e5d1d0ad Author: Robert Bragg Date: Fri Feb 25 00:49:07 2011 +0000 remove references to unused DRM_SURFACELESS EGL platform The "DRM_SURFACELESS" EGL platform was invented when we were adding the wayland backend to Clutter but in the end we added a dedicated backend instead of extending the EGL backend so actually the platform name isn't used. clutter/cogl/cogl/Makefile.am | 5 ----- clutter/cogl/configure.ac | 1 - configure.ac | 8 -------- 3 files changed, 0 insertions(+), 14 deletions(-) commit d8e7f8f210650dbea0693b85dd4dea438530dc6e Author: Daniel Mustieles Date: Wed May 4 22:41:43 2011 +0200 Updated Spanish translation po/es.po | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) commit 1ca5055184f19c4ed51401336176e9e17ffb87aa Author: Daniel Mustieles Date: Wed May 4 22:41:04 2011 +0200 Updated Spanish translation po/es.po | 55 ++++++++++++++++++++++++++++--------------------------- 1 files changed, 28 insertions(+), 27 deletions(-) commit 8804e9c453e914062968b4e25e8acd17b6fec97a Author: Daniel Mustieles Date: Tue May 3 23:00:04 2011 +0200 Updated Spanish translation po/es.po | 52 +++++++++++++++++++++++++++------------------------- 1 files changed, 27 insertions(+), 25 deletions(-) commit 462dd088616d8c0330cb3c0fe2b7adfa46b87c93 Author: Daniel Mustieles Date: Mon May 2 12:10:34 2011 +0200 Updated Spanish translation po/es.po | 66 +++++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 38 insertions(+), 28 deletions(-) commit 07a52fbc3af93cad0c171c6c1543498aea2e86e0 Author: Daniel Mustieles Date: Fri Apr 29 19:48:28 2011 +0200 Updated Spanish translation po/es.po | 54 +++++++++++++++++++++++++++--------------------------- 1 files changed, 27 insertions(+), 27 deletions(-) commit f188ecf1726ee599acb55cf248445b3394084d58 Author: Daniel Mustieles Date: Thu Apr 28 20:40:46 2011 +0200 Updated Spanish translation po/es.po | 68 +++++++++++++++++++++++++++++++------------------------------- 1 files changed, 34 insertions(+), 34 deletions(-) commit 73064e569f337dc03ba0243f7eb8acc99b0d40b7 Author: Daniel Mustieles Date: Mon Apr 25 22:49:42 2011 +0200 Updated Spanish translation po/es.po | 64 +++++++++++++++++++++++++++++++------------------------------- 1 files changed, 32 insertions(+), 32 deletions(-) commit c383fdeeaec684f0eda404c04d188e7ad735f1d0 Author: Neil Roberts Date: Thu Apr 21 16:44:15 2011 +0100 cogl-context: Initialize context->stub_winsys If Cogl is built using a full Winsys then it wasn't initialising context->stub_winsys which sometimes made it crash later on. clutter/cogl/cogl/cogl-context.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit afdb869c36b081fd74ff005dc32a3f0001dda5bc Author: Mario Blättermann Date: Wed Apr 20 23:13:26 2011 +0200 [l10n] Updated German translation po/de.po | 517 ++++++++++++++++++++++++++++++++----------------------------- 1 files changed, 271 insertions(+), 246 deletions(-) commit b5279ed027a5b3891a5888124b07f5a40c5a4fec Author: Neil Roberts Date: Wed Apr 20 18:43:02 2011 +0100 cogl-winsys-stub: Remove _cogl_winsys_has_feature Commit b061f737 moved _cogl_winsys_has_feature to the common winsys code so there's no need to define it in the stub winsys any more. This was breaking builds for backends using the stub winsys. clutter/cogl/cogl/winsys/cogl-winsys-stub.c | 7 ------- 1 files changed, 0 insertions(+), 7 deletions(-) commit 66f22cfd6038c2b7cb1ff3462e9b03dc782bc302 Author: Neil Roberts Date: Wed Apr 20 17:50:38 2011 +0100 cogl-winsys-glx: Fix the comparison in find_onscreen_for_xid The comparison for finding onscreen framebuffers in find_onscreen_for_xid had a small thinko so that it would ignore framebuffers when the negation of the type is onscreen. This ends up doing the right thing anyway because the onscreen type has the value 0 and the offscreen type has the value 1 but presumably it would fail if we ever added any other framebuffer types. clutter/cogl/cogl/winsys/cogl-winsys-glx.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 49233af4658dd742fa3cc8e79455311710862d22 Author: Neil Roberts Date: Wed Apr 20 11:10:54 2011 +0100 clutter-backend-glx: Protect against unrefing the Cogl context twice The dispose function may be called multiple times during destruction so it needs to be resilient against destroying any resources twice. This wasn't the case for the reference to the Cogl context. clutter/glx/clutter-backend-glx.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) commit b061f73702b658ec40e174d1cfe2d0c8efa2108d Author: Neil Roberts Date: Fri Apr 15 16:03:19 2011 +0100 cogl-winsys: Move _cogl_winsys_has_feature to cogl-winsys.c The code for _cogl_winsys_has_feature will be identical in all of the winsys backends for the time being, so it seems to make sense to have it in the common cogl-winsys.c file. clutter/cogl/cogl/winsys/cogl-winsys-glx.c | 9 --------- clutter/cogl/cogl/winsys/cogl-winsys.c | 9 +++++++++ 2 files changed, 9 insertions(+), 9 deletions(-) commit 28c4a02191387e2e2213de0a05808610a43e04ba Author: Neil Roberts Date: Fri Apr 15 15:39:14 2011 +0100 cogl-context: Store winsys features in an array of unsigned ints Previously the mask of available winsys features was stored in a CoglBitmask. That isn't the ideal type to use for this because it is intended for a growable array of bits so it can allocate extra memory if there are more than 31 flags set. For the winsys feature flags the highest used bit is known at compile time so it makes sense to allocate a fixed array instead. This is conceptually similar to the CoglDebugFlags which are stored in an array of integers with macros to test a bit in the array. This moves the macros used for CoglDebugFlags to cogl-flags.h and makes them more generic so they can be shared with CoglContext. clutter/cogl/cogl/Makefile.am | 1 + clutter/cogl/cogl/cogl-bitmask.h | 4 + clutter/cogl/cogl/cogl-context-private.h | 4 +- clutter/cogl/cogl/cogl-context.c | 4 +- clutter/cogl/cogl/cogl-debug.c | 4 +- clutter/cogl/cogl/cogl-debug.h | 23 ++------ clutter/cogl/cogl/cogl-flags.h | 89 ++++++++++++++++++++++++++++ clutter/cogl/cogl/cogl-types.h | 6 +- clutter/cogl/cogl/winsys/cogl-winsys-glx.c | 36 ++++++------ 9 files changed, 126 insertions(+), 45 deletions(-) commit d5022054eb615394062ffd2338e2915b436796c5 Author: Neil Roberts Date: Wed Apr 13 16:41:41 2011 +0100 cogl-renderer: Move the XEvent filters to be generic for all renderers Instead of having cogl_renderer_xlib_add_filter and friends there is now cogl_renderer_add_native_filter which can be used regardless of the backend. The callback function for the filter now just takes a void pointer instead of an XEvent pointer which should be interpreted differently depending on the backend. For example, on Xlib it would still be an XEvent but on Windows it could be a MSG. This simplifies the code somewhat because the _cogl_xlib_add_filter no longer needs to have its own filter list when a stub renderer is used because there is always a renderer available. cogl_renderer_xlib_handle_event has also been renamed to cogl_renderer_handle_native_event. This just forwards the event on to all of the listeners. The backend renderer is expected to register its own event filter if it wants to process the events in some way. clutter/cogl/cogl/cogl-renderer-private.h | 2 + clutter/cogl/cogl/cogl-renderer-xlib-private.h | 2 - clutter/cogl/cogl/cogl-renderer-xlib.c | 88 -------------------- clutter/cogl/cogl/cogl-renderer.c | 82 ++++++++++++++++++ clutter/cogl/cogl/cogl-renderer.h | 86 ++++++++++--------- clutter/cogl/cogl/cogl-types.h | 39 +++++---- clutter/cogl/cogl/cogl-xlib-private.h | 10 +-- clutter/cogl/cogl/cogl-xlib.c | 86 ++++---------------- clutter/cogl/cogl/cogl-xlib.h | 2 +- clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.c | 9 +- clutter/cogl/cogl/winsys/cogl-winsys-glx.c | 23 +++--- clutter/x11/clutter-backend-x11.c | 6 +- 12 files changed, 190 insertions(+), 245 deletions(-) commit 8816730081af3288a5e836e3f4bb76890890741e Author: Emmanuele Bassi Date: Mon Apr 18 16:24:27 2011 +0100 evdev: Remove unused variable clutter/evdev/clutter-device-manager-evdev.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) commit 1b17ca5d8f853eef8cd45c6a777da5867922bdeb Author: Emmanuele Bassi Date: Mon Apr 18 15:53:25 2011 +0100 cogl/glx: Silence a compiler warning clutter/cogl/cogl/winsys/cogl-winsys-glx.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 57ebce8039c0d82b144c6753246dcb0c6308a844 Author: Emmanuele Bassi Date: Sat Apr 16 10:22:01 2011 +0100 animation: Use ::destroy with animate() ClutterAnimation uses the weak ref machinery of GObject when associated to ClutterActor by clutter_actor_animate() and friends - all the while taking a reference on the actor itself. In order to trigger the weak ref callback, external code would need to unref the Actor at least twice, which has slim chance of happening. Plus, the way to destroy an Actor is to call destroy(), not call unref(). The destruction sequence of ClutterActor emits the ::destroy signal, which should be used by classes to release external references the might be holding. My oh my, this sounds *exactly* the case! So, let's switch to using the ::destroy signal for clutter_actor_animate() and friends, since we know that the object bound to the Animation is an Actor, and has a ::destroy signal. This change has the added benefit of allowing destroying an actor as the result of the Animation::completed signal without getting a segfault or other bad things to happen. Obviously, the change does not affect other GObject classes, or Animation instances created using clutter_animation_new(); for those, the current "let's take a reference on the object to avoid it going away in-flight" mechanism should still suffice. Side note: it would be interesting if GObject had an interface for "destructible" objects, so that we could do a safe type check. I guess it's a Rainy Day Project(tm)... clutter/clutter-animation.c | 37 ++++++++++++++++++++++++------------- 1 files changed, 24 insertions(+), 13 deletions(-) commit b01cbbb8c3cb9d7400577a95eafac13fce04cf36 Author: Emmanuele Bassi Date: Fri Apr 15 13:43:15 2011 +0100 actor: Use _clutter_actor_meta_get_debug_name() The ActorMeta name can be more informative than just the GType class name. clutter/clutter-actor.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit a5315de133d4fa47200ff89827c8ebee3add656a Author: Emmanuele Bassi Date: Fri Apr 15 13:42:45 2011 +0100 actor-meta: Add a get_debug_name() private method Similar to ClutterActor's own get_debug_name(). clutter/clutter-actor-meta-private.h | 2 ++ clutter/clutter-actor-meta.c | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 0 deletions(-) commit bc2c7867544dd80c0d848cd32fce4e9ec70b9a09 Author: Daniel Mustieles Date: Thu Apr 14 19:19:14 2011 +0200 Updated Spanish translation po/es.po | 60 +++++++++++++++++++++++++----------------------------------- 1 files changed, 25 insertions(+), 35 deletions(-) commit e467ad5ad18466e06be43fe36afcd65dfbf7d1c8 Author: Emmanuele Bassi Date: Thu Apr 14 17:58:15 2011 +0100 Use the actor's debug name consistently Do not use the generic GType class name: we have a :name property on ClutterActor that is generally used for debugging purposes — so we should use it when creating debugging spew in a consistent way. clutter/clutter-actor.c | 36 ++++++++++++++++++++---------------- clutter/clutter-stage.c | 4 ++-- 2 files changed, 22 insertions(+), 18 deletions(-) commit 3889272f52eced3b82f58ffef23a8fe21f27d7aa Author: Emmanuele Bassi Date: Thu Apr 14 15:44:22 2011 +0100 glx: Chain up in ::unrealize() And avoid a segmentation fault on stage destruction if the main loop keeps running. clutter/glx/clutter-stage-glx.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) commit 94c30a4f675380d7b57580ae3deb34ecca4ea376 Author: Emmanuele Bassi Date: Thu Apr 14 15:43:19 2011 +0100 x11: Provide a StageWindow::unrealize implementation The Cogl rework removed the Window creation from realize and its relative destruction from unrealize; the two vfuncs also managed the mapping between Window and Stage implementation that we use when dealing with event handling. Sadly, the missing unrealization left entries in the mapping dangling. Since ClutterStageX11 already provides a ::realize implementation that sub-classes are supposed to chain up to, and the Window ↔ Stage mapping is private to clutter-stage-x11.c, it seems only fair that the ClutterStageX11 should also provide an ::unrealize implementation matching the ::realize. This implementation just removes the StageX11 pointer from the X11 Window ↔ ClutterStageX11 mapping we set up in ::realize, since the X11 Window is managed by Cogl, now. clutter/x11/clutter-stage-x11.c | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) commit b80d5c81429097ede587906ce1b314a38af80012 Author: James Athey Date: Mon Apr 11 14:26:45 2011 -0400 GL_IMG_TEXTURE_NPOT extension enables TEXTURE_NPOT features on GLES Older drivers for PowerVR SGX hardware have the vendor-specific GL_IMG_TEXTURE_NPOT extension instead of the functionally-equivalent GL_OES_TEXTURE_NPOT extension. .../cogl/driver/gles/cogl-feature-functions-gles.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 3d3ae619c6a764e6276d37771c32aafef5d92a0e Author: James Athey Date: Tue Apr 12 11:33:58 2011 -0400 determine evdev device type using g_udev_device_has_property http://bugzilla.clutter-project.org/show_bug.cgi?id=2631 clutter/evdev/clutter-device-manager-evdev.c | 33 +++++++++++--------------- 1 files changed, 14 insertions(+), 19 deletions(-) commit aa4ff0b90f38a5d578daaafea3ce0f5173eb264a Author: James Athey Date: Tue Apr 12 11:32:43 2011 -0400 uniquely name and enable evdev ClutterInputDevice objects on creation http://bugzilla.clutter-project.org/show_bug.cgi?id=2631 clutter/evdev/clutter-device-manager-evdev.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) commit a5fd1612f5984b1a2cb3f3fd535b1b8777180397 Author: Emmanuele Bassi Date: Tue Apr 12 21:02:14 2011 +0100 Silence another compiler warning clutter/cogl/cogl/winsys/cogl-winsys-glx.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) commit 6277c3d5a326f407b9ee4573f035a1c2dc6f4b73 Author: Emmanuele Bassi Date: Tue Apr 12 20:35:31 2011 +0100 Silence the compiler by removing unused variables clutter/cogl/cogl/winsys/cogl-winsys-glx.c | 9 +-------- 1 files changed, 1 insertions(+), 8 deletions(-) commit 6aafb7d3de95cd90f7f7273265edc84d4d91e7c1 Author: Emmanuele Bassi Date: Tue Apr 12 20:28:36 2011 +0100 glx: Protect GLX SwapEvent symbols We need to guard the usage of symbols related to the GLX_INTEL_swap_event extension, to avoid breaking on platforms and/or versions of Mesa that do not expose that extension. clutter/cogl/cogl/winsys/cogl-winsys-glx.c | 14 +++++++++++--- 1 files changed, 11 insertions(+), 3 deletions(-) commit 4f333e0e5d57b5c28b8006cc35787ef3ffe5f783 Author: Matej Urbančič Date: Tue Apr 12 21:17:29 2011 +0200 Updated Slovenian translation po/sl.po | 395 +++++++++++++++++++++++++++++++------------------------------- 1 files changed, 199 insertions(+), 196 deletions(-) commit cf3bb00b08608d243e5cb5e37c304a7cacb36c3c Author: Matej Urbančič Date: Tue Apr 12 21:10:23 2011 +0200 Updated Slovenian translation po/sl.po | 253 ++++++++++++++++++++++++++------------------------------------ 1 files changed, 107 insertions(+), 146 deletions(-) commit 6f4fb303393ca7040b434e311341e1331edb59d7 Author: Daniel Mustieles Date: Tue Apr 12 21:05:10 2011 +0200 Updated Spanish translation po/es.po | 402 +++++++++++++++++++++++++++++++------------------------------- 1 files changed, 201 insertions(+), 201 deletions(-) commit ae86da63ac81d89816106bee12b7b9836afa613b Author: Emmanuele Bassi Date: Tue Apr 12 17:53:24 2011 +0100 README.md: Fix all the links to Bugzilla README.md | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-) commit 267de48c1ee585d2f4607f252315b3677746f5b8 Author: Emmanuele Bassi Date: Tue Apr 12 17:32:01 2011 +0100 Point to GNOME for filing bugs The canonical bug tracker for Clutter has been moved to bugzilla.gnome.org. README.in | 6 ++---- README.md | 4 ++-- configure.ac | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) commit 6a0857f17dbc4e691c3042342e4aac51f3b5e988 Author: Emmanuele Bassi Date: Tue Apr 12 17:00:08 2011 +0100 glx: Remove unused variable Make gcc not complain about it. clutter/glx/clutter-stage-glx.c | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) commit 15e57c13a391dc914c96a929b8d7303cce90a70c Author: Marek Černocký Date: Mon Apr 11 23:38:49 2011 +0200 Updated Czech translation po/cs.po | 396 +++++++++++++++++++++++++++++++------------------------------- 1 files changed, 200 insertions(+), 196 deletions(-) commit 9dc1febb9228ed675fd472e453d903ced2df1325 Author: Daniel Mustieles Date: Mon Apr 11 20:58:43 2011 +0200 Updated Spanish translation po/es.po | 74 +++++++++++++++++++++++++++++-------------------------------- 1 files changed, 35 insertions(+), 39 deletions(-) commit 6f69f7769f4c086878b6139c428120796ad5d81f Author: Robert Bragg Date: Tue Mar 1 23:12:18 2011 +0000 Make cogl_framebuffer_get_width/height experimental public API It's generally useful to be able to query the width and height of a framebuffer and we expect to need this in Clutter when we move the eglnative backend code into Cogl since Clutter will need to read back the fixed size of the framebuffer when realizing the stage. clutter/cogl/cogl/cogl-clip-stack.c | 2 +- clutter/cogl/cogl/cogl-framebuffer-private.h | 6 ------ clutter/cogl/cogl/cogl-framebuffer.c | 4 ++-- clutter/cogl/cogl/cogl-framebuffer.h | 8 ++++++++ clutter/cogl/cogl/cogl.c | 2 +- clutter/cogl/cogl/winsys/cogl-winsys-glx.c | 4 ++-- 6 files changed, 14 insertions(+), 12 deletions(-) commit af366ad750e612dd3e074fbb28826dec48743aad Author: Robert Bragg Date: Thu Feb 24 12:05:15 2011 +0000 backend: remove untested fruity backend This backend hasn't been used for years now and so because it is untested code and almost certainly doesn't work any more it would be a burdon to continue trying to maintain it. Considering that we are now looking at moving OpenGL window system integration code down from Clutter backends into Cogl that will be easier if we don't have to consider this backend. README.in | 3 - clutter/Makefile.am | 23 -- clutter/clutter-main.c | 12 - clutter/cogl/cogl/Makefile.am | 4 - clutter/cogl/cogl/winsys/cogl-winsys-fruity.c | 35 -- clutter/cogl/configure.ac | 2 - clutter/fruity/clutter-backend-fruity.c | 302 ----------------- clutter/fruity/clutter-backend-fruity.h | 93 ----- clutter/fruity/clutter-fruity.c | 443 ------------------------- clutter/fruity/clutter-fruity.h | 53 --- clutter/fruity/clutter-stage-fruity.c | 259 --------------- clutter/fruity/clutter-stage-fruity.h | 48 --- configure.ac | 38 +-- doc/reference/clutter/Makefile.am | 1 - doc/reference/clutter/building-clutter.xml | 2 +- 15 files changed, 4 insertions(+), 1314 deletions(-) commit 70767f08dc1e0ca64ad0c38131cebd70ddd5022f Author: Robert Bragg Date: Tue Feb 22 15:51:13 2011 +0000 Adds a --with-system-cogl config option for Clutter This makes it possible to build Clutter against a standalone build of Cogl instead of having the Clutter build traverse into the clutter/cogl subdirectory. clutter/Makefile.am | 78 ++++++++++++++++++++++++------ clutter/clutter-backend.c | 1 - clutter/clutter-main.c | 7 ++- clutter/clutter-private.h | 4 ++ clutter/glx/clutter-backend-glx.c | 3 +- clutter/glx/clutter-glx-texture-pixmap.c | 5 ++ clutter/x11/clutter-backend-x11.c | 3 +- clutter/x11/clutter-x11-texture-pixmap.c | 5 ++ configure.ac | 17 ++++++- tests/interactive/Makefile.am | 1 - 10 files changed, 101 insertions(+), 23 deletions(-) commit 31da46c799653b66b5bd5fd9823a973ae2b19647 Author: Robert Bragg Date: Thu Feb 10 02:32:11 2011 +0000 Adds the ability to build Cogl standalone This adds an autogen.sh, configure.ac and build/autotool files etc under clutter/cogl and makes some corresponding Makefile.am changes that make it possible to build and install Cogl as a standalone library. Some notable things about this are: A standalone installation of Cogl installs 3 pkg-config files; cogl-1.0.pc, cogl-gl-1.0.pc and cogl-2.0.pc. The second is only for compatibility with what clutter installed though I'm not sure that anything uses it so maybe we could remove it. cogl-1.0.pc is what Clutter would use if it were updated to build against a standalone cogl library. cogl-2.0.pc is what you would use if you were writing a standalone Cogl application. A standalone installation results in two libraries currently, libcogl.so and libcogl-pango.so. Notably we don't include a major number in the sonames because libcogl supports two major API versions; 1.x as used by Clutter and the experimental 2.x API for standalone applications. Parallel installation of later versions e.g. 3.x and beyond will be supportable either with new sonames or if we can maintain ABI then we'll continue to share libcogl.so. The headers are similarly not installed into a directory with a major version number since the same headers are shared to export the 1.x and 2.x APIs (The only difference is that cogl-2.0.pc ensures that -DCOGL_ENABLE_EXPERIMENTAL_2_0_API is used). Parallel installation of later versions is not precluded though since we can either continue sharing or later add a major version suffix. clutter/Makefile.am | 22 +- clutter/cogl/Makefile.am | 6 + clutter/cogl/autogen.sh | 73 ++++ clutter/cogl/build/autotools/Makefile.am.enums | 51 +++ clutter/cogl/build/autotools/Makefile.am.silent | 19 + clutter/cogl/build/autotools/as-compiler-flag.m4 | 62 +++ clutter/cogl/build/autotools/as-linguas.m4 | 24 ++ clutter/cogl/build/autotools/introspection.m4 | 94 +++++ clutter/cogl/cogl/Makefile.am | 96 ++++-- clutter/cogl/cogl/cogl-1.0-clutter.pc.in | 17 + clutter/cogl/cogl/cogl-1.0.pc.in | 13 + clutter/cogl/cogl/cogl.pc.in | 18 +- clutter/cogl/configure.ac | 462 ++++++++++++++++++++++ clutter/cogl/pango/Makefile.am | 27 ++- clutter/cogl/po/ChangeLog | 12 + clutter/cogl/po/Makevars | 41 ++ clutter/cogl/po/POTFILES.in | 1 + clutter/cogl/po/Rules-quot | 47 +++ clutter/cogl/po/boldquot.sed | 10 + clutter/cogl/po/en@boldquot.header | 25 ++ clutter/cogl/po/en@quot.header | 22 + clutter/cogl/po/insert-header.sin | 23 ++ clutter/cogl/po/quot.sed | 6 + clutter/cogl/po/remove-potcdate.sin | 19 + configure.ac | 44 ++- tests/interactive/Makefile.am | 1 + 26 files changed, 1174 insertions(+), 61 deletions(-) commit d6f110a4d26eb5e49e762bcbf51d36af894adcc9 Author: Robert Bragg Date: Fri Nov 5 12:28:33 2010 +0000 Moves all GLX code down from Clutter to Cogl This migrates all the GLX window system code down from the Clutter backend code into a Cogl winsys. Moving OpenGL window system binding code down from Clutter into Cogl is the biggest blocker to having Cogl become a standalone 3D graphics library, so this is an important step in that direction. clutter/clutter-backend-private.h | 5 + clutter/clutter-backend.c | 1 + clutter/clutter-stage.c | 12 - clutter/cogl/cogl/Makefile.am | 44 +- clutter/cogl/cogl/cogl-clutter.c | 14 + clutter/cogl/cogl/cogl-clutter.h | 10 + clutter/cogl/cogl/cogl-context-private.h | 34 +- clutter/cogl/cogl/cogl-context.c | 104 +- clutter/cogl/cogl/cogl-context.h | 7 +- clutter/cogl/cogl/cogl-debug.h | 1 + clutter/cogl/cogl/cogl-display-glx-private.h | 57 + clutter/cogl/cogl/cogl-display-xlib-private.h | 35 + clutter/cogl/cogl/cogl-display.c | 5 + clutter/cogl/cogl/cogl-display.h | 12 +- clutter/cogl/cogl/cogl-feature-private.c | 5 +- clutter/cogl/cogl/cogl-feature-private.h | 20 +- clutter/cogl/cogl/cogl-framebuffer-private.h | 39 +- clutter/cogl/cogl/cogl-framebuffer.c | 235 ++++- clutter/cogl/cogl/cogl-framebuffer.h | 109 ++ clutter/cogl/cogl/cogl-internal.h | 102 +-- clutter/cogl/cogl/cogl-journal-private.h | 1 + clutter/cogl/cogl/cogl-private.h | 6 + clutter/cogl/cogl/cogl-renderer-glx-private.h | 61 + clutter/cogl/cogl/cogl-renderer-x11-private.h | 32 + clutter/cogl/cogl/cogl-renderer-xlib-private.h | 78 ++ clutter/cogl/cogl/cogl-renderer-xlib.c | 288 +++++ clutter/cogl/cogl/cogl-renderer.c | 23 + clutter/cogl/cogl/cogl-types.h | 87 ++- clutter/cogl/cogl/cogl-util.c | 1 - clutter/cogl/cogl/cogl-xlib-private.h | 82 ++ clutter/cogl/cogl/cogl-xlib.c | 238 ++++ clutter/cogl/cogl/cogl-xlib.h | 84 ++ clutter/cogl/cogl/cogl.c | 10 +- clutter/cogl/cogl/cogl.h | 52 +- .../cogl/cogl/driver/gl/cogl-context-driver-gl.h | 53 + clutter/cogl/cogl/driver/gl/cogl-gl.c | 40 +- .../cogl/driver/gles/cogl-context-driver-gles.h | 52 + clutter/cogl/cogl/driver/gles/cogl-gles.c | 46 +- clutter/cogl/cogl/winsys/cogl-context-winsys.c | 152 --- clutter/cogl/cogl/winsys/cogl-context-winsys.h | 118 -- clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.c | 111 +- .../cogl/winsys/cogl-winsys-feature-functions.h | 45 - .../winsys/cogl-winsys-glx-feature-functions.h | 105 ++ clutter/cogl/cogl/winsys/cogl-winsys-glx.c | 1262 +++++++++++++++++++- clutter/cogl/cogl/winsys/cogl-winsys-private.h | 88 ++ clutter/cogl/cogl/winsys/cogl-winsys-stub.c | 114 ++ clutter/cogl/cogl/winsys/cogl-winsys-xlib.c | 170 --- clutter/cogl/cogl/winsys/cogl-winsys-xlib.h | 66 - clutter/cogl/cogl/winsys/cogl-winsys.c | 36 + clutter/glx/clutter-backend-glx.c | 654 ++--------- clutter/glx/clutter-backend-glx.h | 49 +- clutter/glx/clutter-stage-glx.c | 385 ++----- clutter/glx/clutter-stage-glx.h | 5 +- clutter/x11/clutter-backend-x11.c | 4 +- clutter/x11/clutter-stage-x11.c | 14 +- configure.ac | 2 + 56 files changed, 3635 insertions(+), 1830 deletions(-) commit aa1a2cb661d8e6b662c6a79ba0bae095dd059974 Author: Robert Bragg Date: Fri Feb 25 17:06:50 2011 +0000 Adds renderer,display,onscreen-template and swap-chain stubs As part of the process of splitting Cogl out as a standalone graphics API we need to introduce some API concepts that will allow us to initialize a new CoglContext when Clutter isn't there to handle that for us... The new objects roughly in the order that they are (optionally) involved in constructing a context are: CoglRenderer, CoglOnscreenTemplate, CoglSwapChain and CoglDisplay. Conceptually a CoglRenderer represents a means for rendering. Cogl supports rendering via OpenGL or OpenGL ES 1/2.0 and those APIs are accessed through a number of different windowing APIs such as GLX, EGL, SDL or WGL and more. Potentially in the future Cogl could render using D3D or even by using libdrm and directly banging the hardware. All these choices are wrapped up in the configuration of a CoglRenderer. Conceptually a CoglDisplay represents a display pipeline for a renderer. Although Cogl doesn't aim to provide a detailed abstraction of display hardware, on some platforms we can give control over multiple display planes (On TV platforms for instance video content may be on one plane and 3D would be on another so a CoglDisplay lets you select the plane up-front.) Another aspect of CoglDisplay is that it lets us negotiate a display pipeline that best supports the type of CoglOnscreen framebuffers we are planning to create. For instance if you want transparent CoglOnscreen framebuffers then we have to be sure the display pipeline wont discard the alpha component of your framebuffers. Or if you want to use double/tripple buffering that requires support from the display pipeline. CoglOnscreenTemplate and CoglSwapChain are how we describe our default CoglOnscreen framebuffer configuration which can affect the configuration of the display pipeline. The default/simple way we expect most CoglContexts to be constructed will be via something like: if (!cogl_context_new (NULL, &error)) g_error ("Failed to construct a CoglContext: %s", error->message); Where that NULL is for an optional "display" parameter and NULL says to Cogl "please just try to do something sensible". If you want some more control though you can manually construct a CoglDisplay something like: display = cogl_display_new (NULL, NULL); cogl_gdl_display_set_plane (display, plane); if (!cogl_display_setup (display, &error)) g_error ("Failed to setup a CoglDisplay: %s", error->message); And in a similar fashion to cogl_context_new() you can optionally pass a NULL "renderer" and/or a NULL "onscreen template" so Cogl will try to just do something sensible. If you need to change the CoglOnscreen defaults you can provide a template something like: chain = cogl_swap_chain_new (); cogl_swap_chain_set_has_alpha (chain, TRUE); cogl_swap_chain_set_length (chain, 3); onscreen_template = cogl_onscreen_template_new (chain); cogl_onscreen_template_set_pixel_format (onscreen_template, COGL_PIXEL_FORMAT_RGB565); display = cogl_display_new (NULL, onscreen_template); if (!cogl_display_setup (display, &error)) g_error ("Failed to setup a CoglDisplay: %s", error->message); clutter/cogl/cogl/Makefile.am | 16 ++ clutter/cogl/cogl/cogl-context.c | 44 ++++-- clutter/cogl/cogl/cogl-display-private.h | 43 ++++++ clutter/cogl/cogl/cogl-display.c | 106 +++++++++++++ clutter/cogl/cogl/cogl-onscreen-template-private.h | 37 +++++ clutter/cogl/cogl/cogl-onscreen-template.c | 62 ++++++++ clutter/cogl/cogl/cogl-onscreen-template.h | 48 ++++++ clutter/cogl/cogl/cogl-renderer-private.h | 43 ++++++ clutter/cogl/cogl/cogl-renderer.c | 106 +++++++++++++ clutter/cogl/cogl/cogl-renderer.h | 158 ++++++++++++++++++++ clutter/cogl/cogl/cogl-swap-chain-private.h | 37 +++++ clutter/cogl/cogl/cogl-swap-chain.c | 66 ++++++++ clutter/cogl/cogl/cogl-swap-chain.h | 46 ++++++ 13 files changed, 802 insertions(+), 10 deletions(-) commit a90862929b35a64cc02fd068025bbae01eb226c2 Author: Robert Bragg Date: Tue Feb 22 20:08:16 2011 +0000 rename winsys files to be more consistent This tries to make the naming style of files under cogl/winsys/ consistent with other cogl source files. In particular private header files didn't have a '-private' infix. clutter/cogl/cogl/Makefile.am | 22 ++-- clutter/cogl/cogl/winsys/cogl-egl.c | 45 ----- clutter/cogl/cogl/winsys/cogl-fruity.c | 35 ---- clutter/cogl/cogl/winsys/cogl-glx.c | 78 --------- clutter/cogl/cogl/winsys/cogl-osx.c | 35 ---- clutter/cogl/cogl/winsys/cogl-sdl.c | 35 ---- clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.c | 2 +- clutter/cogl/cogl/winsys/cogl-win32.c | 35 ---- clutter/cogl/cogl/winsys/cogl-winsys-egl.c | 45 +++++ clutter/cogl/cogl/winsys/cogl-winsys-fruity.c | 35 ++++ clutter/cogl/cogl/winsys/cogl-winsys-glx.c | 78 +++++++++ clutter/cogl/cogl/winsys/cogl-winsys-osx.c | 35 ++++ clutter/cogl/cogl/winsys/cogl-winsys-private.h | 30 ++++ clutter/cogl/cogl/winsys/cogl-winsys-sdl.c | 35 ++++ clutter/cogl/cogl/winsys/cogl-winsys-win32.c | 35 ++++ clutter/cogl/cogl/winsys/cogl-winsys-xlib.c | 170 ++++++++++++++++++++ clutter/cogl/cogl/winsys/cogl-winsys-xlib.h | 66 ++++++++ clutter/cogl/cogl/winsys/cogl-winsys.h | 30 ---- clutter/cogl/cogl/winsys/cogl-xlib.c | 170 -------------------- clutter/cogl/cogl/winsys/cogl-xlib.h | 66 -------- 20 files changed, 541 insertions(+), 541 deletions(-) commit 532b5634397962b496009871a01c11a84bc70664 Author: Robert Bragg Date: Tue Feb 22 18:25:29 2011 +0000 Add temporary cogl-clutter.h to aid splitting out Cogl This gives us a way to clearly track the internal Cogl API that Clutter depends on. The aim is to split Cogl out from Clutter into a standalone 3D graphics API and eventually we want to get rid of any private interfaces for Clutter so its useful to have a handle on that task. Actually it's not as bad as I was expecting though. clutter/clutter-backend.c | 2 +- clutter/clutter-stage.c | 2 +- clutter/cogl/cogl/Makefile.am | 6 ++- clutter/cogl/cogl/cogl-clutter.c | 59 ++++++++++++++++++++++++++ clutter/cogl/cogl/cogl-clutter.h | 47 ++++++++++++++++++++ clutter/cogl/cogl/cogl-framebuffer-private.h | 4 ++ clutter/cogl/cogl/cogl-framebuffer.c | 9 +--- clutter/cogl/cogl/cogl-private.h | 3 + clutter/cogl/cogl/cogl.h | 3 - clutter/egl/clutter-backend-egl.c | 4 +- clutter/wayland/clutter-backend-wayland.c | 8 ++-- clutter/win32/clutter-backend-win32.c | 2 +- clutter/x11/clutter-stage-x11.c | 2 +- 13 files changed, 130 insertions(+), 21 deletions(-) commit 8557bc3d264544458f9f901741fcf63858ebbadd Author: Robert Bragg Date: Tue Mar 15 12:08:46 2011 +0000 actor: visualize culling with CLUTTER_PAINT=redraws This extends visualization for CLUTTER_PAINT=redraws so it now also draws outlines for actors to show how they are being culled. Actors get a green outline if they are fully inside the clip region, blue if fully outside and greeny-blue if only partially inside. clutter/clutter-actor.c | 158 +++++++++++++++++++++++++++------------ clutter/glx/clutter-stage-glx.c | 13 +++- 2 files changed, 122 insertions(+), 49 deletions(-) commit c739cb2809c5b29c33d504142ce10b42c238e7d4 Author: Robert Bragg Date: Thu Mar 10 22:05:03 2011 +0000 stage: adds internal_get_active_framebuffer API This adds an internal _clutter_stage_get_active_framebuffer function that can be used to get a pointer to the current CoglFramebuffer pointer that is in use, in association with a given stage. The "active" infix in the function name is there because we shouldn't assume that a stage will always correspond to only a single framebuffer so we aren't getting a pointer to a sole framebuffer, we are getting a pointer to the framebuffer that is currently in use/being painted. This API is now used for culling purposes where we need to check if we are currently painting an actor to a framebuffer that is offscreen, that doesn't correspond to the stage. clutter/clutter-actor.c | 17 +++--- clutter/clutter-stage-private.h | 4 + clutter/clutter-stage-window.c | 20 ++++++ clutter/clutter-stage-window.h | 123 ++++++++++++++++++++------------------- clutter/clutter-stage.c | 32 ++++++++++ 5 files changed, 129 insertions(+), 67 deletions(-) commit 997ea0fdee2f72b26c4805ccc40079becc9fc1f2 Author: Robert Bragg Date: Thu Mar 10 21:33:31 2011 +0000 framebuffer: expose experimental cogl_get_draw_framebuffer This renames the two internal functions _cogl_get_draw/read_buffer as cogl_get_draw_framebuffer and _cogl_get_read_framebuffer. The former is now also exposed as experimental API. clutter/clutter-actor.c | 2 +- clutter/cogl/cogl/cogl-attribute.c | 8 ++-- clutter/cogl/cogl/cogl-clip-stack.c | 10 +++--- clutter/cogl/cogl/cogl-clip-state.c | 12 +++--- clutter/cogl/cogl/cogl-framebuffer-private.h | 5 +-- clutter/cogl/cogl/cogl-framebuffer.c | 24 +++++++------- clutter/cogl/cogl/cogl-journal.c | 10 +++--- clutter/cogl/cogl/cogl-matrix-stack.c | 2 +- clutter/cogl/cogl/cogl-primitives.c | 4 +- clutter/cogl/cogl/cogl-texture-2d.c | 4 +- clutter/cogl/cogl/cogl-texture.c | 2 +- clutter/cogl/cogl/cogl.c | 46 +++++++++++++------------- clutter/cogl/cogl/cogl.h | 5 ++- clutter/cogl/cogl/cogl2-clip-state.c | 2 +- clutter/cogl/cogl/cogl2-path.c | 6 ++-- 15 files changed, 71 insertions(+), 71 deletions(-) commit dc5aa314290cc2e7aa168580f3a8b7470c21216c Author: Robert Bragg Date: Tue Feb 22 17:58:47 2011 +0000 framebuffer: track context as CoglFramebuffer member The long term goal with the Cogl API is that we will get rid of the default global context. As a step towards this, this patch tracks a reference back to the context in each CoglFramebuffer so in a lot of cases we can avoid using the _COGL_GET_CONTEXT macro. clutter/cogl/cogl/cogl-framebuffer.c | 57 ++++++++++++++++++++------------- 1 files changed, 34 insertions(+), 23 deletions(-) commit 8177afae059ebc982a6945ad65d4e0d955eb3c14 Author: Robert Bragg Date: Tue Feb 22 17:30:54 2011 +0000 remove unused _cogl_features_init prototype There is no corresponding implementation of _cogl_features_init any more so it was simply an oversight that the prototype wasn't removed when the implementation was removed. clutter/cogl/cogl/cogl-internal.h | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-) commit e381a159a7b978ec61fc9e3d3e555e651dab42bb Author: Robert Bragg Date: Tue Feb 22 17:13:56 2011 +0000 Remove unused _cogl_swap_buffers_notify Recently _cogl_swap_buffers_notify was added (in 142b229c5c26) so that Cogl would be notified when Clutter performs a swap buffers request for a given onscreen framebuffer. It was expected this would be required for the recent cogl_read_pixel optimization that was implemented (ref 1bdb0e6e98db) but in the end it wasn't used. Since it wasn't used in the end this patch removes the API. clutter/cogl/cogl/cogl-framebuffer-private.h | 3 --- clutter/cogl/cogl/cogl-framebuffer.c | 5 ----- clutter/cogl/cogl/cogl.c | 11 ----------- clutter/cogl/cogl/cogl.h | 3 --- clutter/egl/clutter-stage-egl.c | 1 - clutter/fruity/clutter-backend-fruity.c | 1 - clutter/glx/clutter-stage-glx.c | 2 -- clutter/osx/clutter-stage-osx.c | 1 - clutter/wayland/clutter-stage-wayland.c | 2 -- clutter/win32/clutter-stage-win32.c | 5 +---- 10 files changed, 1 insertions(+), 33 deletions(-) commit 47e93d4f7b5d58f6c7aa7e23950a53f80df629dc Author: Robert Bragg Date: Fri Nov 5 00:34:37 2010 +0000 cogl: consolidate _create_context_driver + _features_init This moves the functionality of _cogl_create_context_driver from driver/{gl,gles}/cogl-context-driver-{gl,gles}.c into driver/{gl,gles}/cogl-{gl,gles}.c as a static function called initialize_context_driver. cogl-context-driver-{gl,gles}.[ch] have now been removed. clutter/cogl/cogl/Makefile.am | 4 -- clutter/cogl/cogl/cogl-context.c | 6 +-- .../cogl/cogl/driver/gl/cogl-context-driver-gl.c | 39 -------------- .../cogl/cogl/driver/gl/cogl-context-driver-gl.h | 53 -------------------- clutter/cogl/cogl/driver/gl/cogl-gl.c | 36 +++++++++---- .../cogl/driver/gles/cogl-context-driver-gles.c | 40 --------------- .../cogl/driver/gles/cogl-context-driver-gles.h | 52 ------------------- clutter/cogl/cogl/driver/gles/cogl-gles.c | 28 ++++++++--- 8 files changed, 48 insertions(+), 210 deletions(-) commit c1ab28e9ad9f5e5f4b8bc5503cf9954ab24af097 Author: Robert Bragg Date: Fri Nov 5 00:00:25 2010 +0000 cogl: Adds experimental cogl_context_new() API This adds a new experimental function (you need to define COGL_ENABLE_EXPERIMENTAL_API to access it) which takes us towards being able to have a standalone Cogl API. This is really a minor aesthetic change for now since all the GL context creation code still lives in Clutter but it's a step forward none the less. Since our current designs introduce a CoglDisplay object as something that would be passed to the context constructor this provides a stub cogl-display.h with CoglDisplay typedef. _cogl_context_get_default() which Clutter uses to access the Cogl context has been modified to use cogl_context_new() to initialize the default context. There is one rather nasty hack used in this patch which is that the implementation of cogl_context_new() has to forcibly make the allocated context become the default context because currently all the code in Cogl assumes it can access the context using _COGL_GET_CONTEXT including code used to initialize the context. clutter/cogl/cogl/Makefile.am | 1 + clutter/cogl/cogl/cogl-context-private.h | 7 +- clutter/cogl/cogl/cogl-context.c | 293 ++++++++++++++++-------------- clutter/cogl/cogl/cogl-context.h | 62 +++++++ clutter/cogl/cogl/cogl-display.h | 78 ++++++++ clutter/cogl/cogl/cogl.h | 1 + 6 files changed, 305 insertions(+), 137 deletions(-) commit 6484871c6ea9559fce7d3a1c5e5195e5df3a0805 Author: Robert Bragg Date: Thu Nov 4 22:25:52 2010 +0000 cogl: rename cogl-context.h cogl-context-private.h Since we plan to add public cogl_context_* API we need to rename the current cogl-context.h which contains private member details. clutter/cogl/cogl/Makefile.am | 2 +- clutter/cogl/cogl/cogl-atlas-texture.c | 2 +- clutter/cogl/cogl/cogl-atlas.c | 2 +- clutter/cogl/cogl/cogl-attribute.c | 2 +- clutter/cogl/cogl/cogl-blend-string.c | 2 +- clutter/cogl/cogl/cogl-blit.c | 2 +- clutter/cogl/cogl/cogl-buffer.c | 2 +- clutter/cogl/cogl/cogl-clip-stack.c | 2 +- clutter/cogl/cogl/cogl-clip-state.c | 2 +- clutter/cogl/cogl/cogl-context-private.h | 251 ++++++++++++++++++++ clutter/cogl/cogl/cogl-context.c | 2 +- clutter/cogl/cogl/cogl-context.h | 251 -------------------- clutter/cogl/cogl/cogl-feature-private.c | 2 +- clutter/cogl/cogl/cogl-framebuffer.c | 2 +- clutter/cogl/cogl/cogl-indices.c | 2 +- clutter/cogl/cogl/cogl-journal.c | 2 +- clutter/cogl/cogl/cogl-material-compat.c | 2 +- clutter/cogl/cogl/cogl-matrix-stack.c | 2 +- clutter/cogl/cogl/cogl-path.c | 2 +- clutter/cogl/cogl/cogl-pipeline-fragend-arbfp.c | 2 +- clutter/cogl/cogl/cogl-pipeline-fragend-fixed.c | 2 +- clutter/cogl/cogl/cogl-pipeline-fragend-glsl.c | 2 +- clutter/cogl/cogl/cogl-pipeline-opengl.c | 2 +- clutter/cogl/cogl/cogl-pipeline-progend-glsl.c | 2 +- clutter/cogl/cogl/cogl-pipeline-vertend-fixed.c | 2 +- clutter/cogl/cogl/cogl-pipeline-vertend-glsl.c | 2 +- clutter/cogl/cogl/cogl-pipeline.c | 2 +- clutter/cogl/cogl/cogl-pixel-array.c | 2 +- clutter/cogl/cogl/cogl-primitives.c | 2 +- clutter/cogl/cogl/cogl-program.c | 2 +- clutter/cogl/cogl/cogl-shader.c | 2 +- clutter/cogl/cogl/cogl-sub-texture.c | 2 +- clutter/cogl/cogl/cogl-texture-2d-sliced.c | 2 +- clutter/cogl/cogl/cogl-texture-2d.c | 2 +- clutter/cogl/cogl/cogl-texture-3d.c | 2 +- clutter/cogl/cogl/cogl-texture-rectangle.c | 2 +- clutter/cogl/cogl/cogl-texture.c | 2 +- clutter/cogl/cogl/cogl-vertex-buffer.c | 2 +- clutter/cogl/cogl/cogl.c | 2 +- clutter/cogl/cogl/cogl2-path.c | 2 +- .../cogl/cogl/driver/gl/cogl-context-driver-gl.c | 2 +- clutter/cogl/cogl/driver/gl/cogl-gl.c | 2 +- .../cogl/cogl/driver/gl/cogl-texture-driver-gl.c | 2 +- .../cogl/driver/gles/cogl-context-driver-gles.c | 2 +- clutter/cogl/cogl/driver/gles/cogl-gles.c | 2 +- .../cogl/driver/gles/cogl-texture-driver-gles.c | 2 +- clutter/cogl/cogl/winsys/cogl-context-winsys.c | 2 +- clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.c | 2 +- clutter/cogl/cogl/winsys/cogl-xlib.c | 2 +- 49 files changed, 298 insertions(+), 298 deletions(-) commit ec0b7814667fbbeee3dd25c79d565c645d8f01ba Author: Robert Bragg Date: Tue Mar 15 13:17:04 2011 +0000 stage: Move _clutter_do_pick to clutter-stage.c This moves the implementation of _clutter_do_pick to clutter-stage.c and renames it _clutter_stage_do_pick. This function can be compared to _clutter_stage_do_update/redraw in that it prepares for and starts a traversal of a scenegraph descending from a given stage. Since it is desirable that this function should have access to the private state of the stage it is awkward to maintain outside of clutter-stage.c. Besides moving _clutter_do_pick this patch is also able to remove the following private state accessors from clutter-stage-private.h: _clutter_stage_set_pick_buffer_valid, _clutter_stage_get_pick_buffer_valid, _clutter_stage_increment_picks_per_frame_counter, _clutter_stage_reset_picks_per_frame_counter and _clutter_stage_get_picks_per_frame_counter. clutter/clutter-input-device.c | 3 +- clutter/clutter-main.c | 270 +------------------------------ clutter/clutter-private.h | 7 +- clutter/clutter-stage-private.h | 13 +- clutter/clutter-stage.c | 343 +++++++++++++++++++++++++++++++++------ 5 files changed, 307 insertions(+), 329 deletions(-) commit 114133c98c417794c315fec81579fef1ffccf98b Author: Robert Bragg Date: Tue Mar 15 10:23:41 2011 +0000 paint-volume: Fix culling bug to handle partial culls This updates the inner loops of the cull function so now the vertices of the polygon being culled are iterated in the inner loop instead of the clip planes and we count how many vertices are outside the current plane so we can bail out immediately if all the vertices are outside of any plane and so we can correctly track partial intersections with the clip region. The previous approach could catch some partial intersections but for example a rectangle that was larger than the clip region centred over the clip region with all corners outside would be reported as outside, not as a partial intersection. clutter/clutter-paint-volume.c | 38 ++++++++++++++++---------------------- 1 files changed, 16 insertions(+), 22 deletions(-) commit 151b80a83717776cd931bd953381539ea1b84853 Author: Marek Černocký Date: Thu Apr 7 18:28:06 2011 +0200 Czech translation po/cs.po | 2148 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 2148 insertions(+), 0 deletions(-) commit 161e64aae78bb9c5f26600f3310c1538dbed50f9 Author: Emmanuele Bassi Date: Thu Apr 7 15:07:43 2011 +0100 build: Fix typo in the docs URI variable name build/autotools/Makefile.am.release | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) commit b6fda77e58f638e3758cfe3e82f65707432244cc Author: Daniel Mustieles Date: Wed Apr 6 19:49:41 2011 +0200 Updated Spanish translation po/es.po | 2128 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 2128 insertions(+), 0 deletions(-) commit b36dde61939b270796ec6fd0df824cf1cd3ad514 Author: Neil Roberts Date: Wed Apr 6 15:24:33 2011 +0100 cogl-pango-glyph-cache: Fix the flags passed to cogl_atlas_new In 047227fb cogl_atlas_new was changed so that it can take a flags parameter to specify whether to clear the new atlases and whether to copy images to the new atlas after reorganisation. This was done so that the atlas code could be shared with the glyph cache. At some point during the development of this patch the flag was just a single boolean instead and this is accidentally how it is used from the glyph cache. The glyph cache therefore passes 'TRUE' as the set of flags which means it will only get the 'clear' flag and not the 'disable-migration' flag. When the glyph cache gets full it will therefore try to copy the texture to the new atlas as well as redrawing them with cairo. This causes problems because the glyph cache needs to work in situations where there is no FBO support. clutter/cogl/pango/cogl-pango-glyph-cache.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) commit 9b4a4e3f98b7299d29cb1ffd20770fa4a0203786 Author: Christian Kirbach Date: Tue Apr 5 21:17:03 2011 +0200 [l10n] Updated German translation po/de.po | 1681 +++++++++++++++++++++++++++++++------------------------------- 1 files changed, 838 insertions(+), 843 deletions(-) commit 36528d3af06e88ac07a4721f416d9447855b2643