1commit ab6184298083541d37356f1f5656380d0cda047c 2Author: Emmanuele Bassi <ebassi@linux.intel.com> 3Date: Tue Mar 2 18:03:23 2010 +0000 4 5 Release 1.2.0 (stable) 6 7 configure.ac | 6 +++--- 8 1 file changed, 3 insertions(+), 3 deletions(-) 9 10commit 3c9a24f4a78cd676e635ad32df639b57e65e3be7 11Author: Emmanuele Bassi <ebassi@linux.intel.com> 12Date: Tue Mar 2 18:03:13 2010 +0000 13 14 Update the NEWS file 15 16 NEWS | 42 ++++++++++++++++++++++++++++++++++++++++++ 17 1 file changed, 42 insertions(+) 18 19commit 9e4c008117da6b36237608bd896fb164577ef314 20Author: Emmanuele Bassi <ebassi@linux.intel.com> 21Date: Tue Mar 2 19:17:28 2010 +0000 22 23 build: Include test-script-model.json 24 25 The Model conformance test for ClutterScript parsing requires the file 26 to be inside the dist. 27 28 tests/data/Makefile.am | 1 + 29 1 file changed, 1 insertion(+) 30 31commit 2d51432e52745d9484cf2d54567c2f95670ea5ae 32Author: Emmanuele Bassi <ebassi@linux.intel.com> 33Date: Tue Mar 2 19:29:22 2010 +0000 34 35 build: Add test-animator-3.json to EXTRA_DIST 36 37 tests/data/Makefile.am | 1 + 38 1 file changed, 1 insertion(+) 39 40commit 2f68949962d964e38a640581e232c4b673ce3023 41Author: Emmanuele Bassi <ebassi@linux.intel.com> 42Date: Tue Mar 2 19:09:20 2010 +0000 43 44 conformance: Use g_assert_no_error() if available 45 46 GLib 2.20 has a nice g_assert() wrapper which will print out the GError 47 if it's not NULL. 48 49 tests/conform/test-animator.c | 15 +++++++++++++++ 50 tests/conform/test-model.c | 5 +++++ 51 tests/conform/test-script-parser.c | 30 ++++++++++++++++++++++++++++++ 52 3 files changed, 50 insertions(+) 53 54commit 048fcea988446af1ce18356eb1718f85088e73c8 55Author: Neil Roberts <neil@linux.intel.com> 56Date: Tue Mar 2 18:30:31 2010 +0000 57 58 clutter-actor: Initialize with the identity matrix in get_transform 59 60 The documentation and name of the get_transformation_matrix function 61 implies that 'matrix' is purely an out parameter. However it wasn't 62 initializing the matrix before calling the 'apply_transform' virtual 63 so it was basically just a wrapper for the virtual. The virtual 64 assumes the matrix parameter is in/out and applies the actor's 65 transformation on top of any existing transformations. This causes 66 unexpected semantics that are inconsistent with the documentation. 67 68 clutter/clutter-actor.c | 2 ++ 69 1 file changed, 2 insertions(+) 70 71commit e550755f3dc13f11a9d956bb9b52294ea33c8da6 72Author: Emmanuele Bassi <ebassi@linux.intel.com> 73Date: Tue Mar 2 17:47:13 2010 +0000 74 75 text-field: Cast GString->len to integer before printing 76 77 The compiler will warn on 64bit architectures when using %d for 78 printing a gsize field. 79 80 http://bugzilla.openedhand.com/show_bug.cgi?id=2019 81 82 tests/interactive/test-text-field.c | 5 ++++- 83 1 file changed, 4 insertions(+), 1 deletion(-) 84 85commit 38a24144980bd0c6d717f39eb5d215d3abc30ef5 86Author: Robert Bragg <robert@linux.intel.com> 87Date: Tue Mar 2 14:04:54 2010 +0000 88 89 glx tfp: make clutter_glx_texture_pixmap_update_area cheap 90 91 This changes clutter_glx_texture_pixmap_update_area so it defers the 92 call to glXBindTexImageEXT until our pre "paint" signal handler which 93 makes clutter_glx_texture_pixmap_update_area cheap to call. 94 95 The hope is that mutter can switch to reporting raw damage updates to 96 ClutterGLXTexturePixmap and we can use these to queue clipped redraws. 97 98 clutter/glx/clutter-glx-texture-pixmap.c | 186 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------- 99 1 file changed, 89 insertions(+), 97 deletions(-) 100 101commit c0d5af5de5bcc504abeb81a7f7a1ec0f696b574d 102Author: Robert Bragg <robert@linux.intel.com> 103Date: Mon Nov 30 17:47:55 2009 +0000 104 105 Adds initial clipped redraw support to Clutter 106 107 A new (internal only currently) API, _clutter_actor_queue_clipped_redraw 108 can be used to queue a redraw along with a clip rectangle in actor 109 coordinates. This clip rectangle propagates up to the stage and clutter 110 backend which may optionally use the information to optimize stage 111 redraws. The GLX backend in particular may scissor the next redraw to 112 the clip rectangle and use GLX_MESA_copy_sub_buffer to present the stage 113 subregion. 114 115 The intention is that any actors that can naturally determine the bounds 116 of updates should queue clipped redraws to reduce the cost of updating 117 small regions of the screen. 118 119 Notes: 120 » If GLX_MESA_copy_sub_buffer isn't available then the GLX backend 121 ignores any clip rectangles. 122 123 » queuing multiple clipped redraws will result in the bounding box of 124 each clip rectangle being used. 125 126 » If a clipped redraw has a height > 300 pixels then it's promoted into 127 a full stage redraw, so that the GPU doesn't end up blocking too long 128 waiting for the vsync to reach the optimal position to avoid tearing. 129 130 » Note: no empirical data was used to come up with this threshold so 131 we may need to tune this. 132 133 » Currently only ClutterX11TexturePixmap makes use of this new API. This 134 is done via a new "queue-damage-redraw" signal that is emitted when 135 the pixmap is updated. The default handler queues a clipped redraw 136 with the assumption that the pixmap is being painted as a rectangle 137 covering the actors transformed allocation. If you subclass 138 ClutterX11TexturePixmap and change how it's painted you now also 139 need to override the signal handler and queue your own redraw. 140 141 Technically this is a semantic break, but it's assumed that no one 142 is currently doing this. 143 144 This still leaves a few unsolved issues with regards to optimizing sub 145 stage redraws that need to be addressed in further work so this can only 146 be considered a stepping stone a this point: 147 148 » Because we have no reliable way to determine if the painting of any 149 given actor is being modified any optimizations implemented using 150 _clutter_actor_queue_redraw_with_clip must be overridable by a 151 subclass, and technically must be opt-in for existing classes to avoid 152 a change in semantics. E.g. consider that a user connects to the paint 153 signal for ClutterTexture and paints a circle instead of a rectangle. 154 In this case any original logic to queue clipped redraws would be 155 incorrect. 156 157 » Currently only the implementation of an actor has enough information 158 with which to queue clipped redraws. E.g. It is not possible for 159 generic code in clutter-actor.c to queue a clipped redraw when hiding 160 an actor because actors have no way to report a "paint box". (remember 161 actors can draw outside their allocation and actors with depth may 162 also be projected outside of their allocation) 163 164 » The current plan is to add a actor_class->get_paint_cuboid() 165 virtual so actors can report a bounding cube for everything they 166 would draw in their current state and use that to queue clipped 167 redraws against the stage by projecting the paint cube into stage 168 coordinates. 169 170 » Our heuristics for promoting clipped redraws into full redraws to 171 avoid blocking the GPU while we wait for the vsync need improving: 172 173 » vsync issues aren't relevant for redirected/composited applications 174 so they should use different heuristics. In this case we instead 175 need to trade off the cost of blitting when using glXCopySubBuffer 176 vs promoting to a full redraw and flipping instead. 177 178 clutter/clutter-actor.c | 402 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------- 179 clutter/clutter-actor.h | 20 +++++++++ 180 clutter/clutter-debug.h | 6 ++- 181 clutter/clutter-main.c | 4 +- 182 clutter/clutter-private.h | 39 ++++++++++++------ 183 clutter/clutter-stage-window.c | 29 +++++++++++++ 184 clutter/clutter-stage-window.h | 82 +++++++++++++++++++++---------------- 185 clutter/clutter-stage.c | 64 +++++++++++++++++++++++++++++ 186 clutter/glx/clutter-backend-glx.c | 185 ++++++++++------------------------------------------------------------------------- 187 clutter/glx/clutter-backend-glx.h | 5 +++ 188 clutter/glx/clutter-glx-texture-pixmap.c | 14 +++++-- 189 clutter/glx/clutter-stage-glx.c | 426 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 190 clutter/glx/clutter-stage-glx.h | 8 +++- 191 clutter/x11/clutter-x11-texture-pixmap.c | 172 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------- 192 14 files changed, 1116 insertions(+), 340 deletions(-) 193 194commit 09d8460a5c3f905573378172ed553fd57d49913e 195Author: Øyvind Kolås <pippin@linux.intel.com> 196Date: Tue Mar 2 17:03:03 2010 +0000 197 198 animator: s/clutter_animator_run/clutter_animator_start/ 199 200 This is consistent with choice of words in clutter_timeline_start and 201 makes the API less surprising. 202 203 clutter/clutter-animator.c | 4 ++-- 204 clutter/clutter-animator.h | 2 +- 205 doc/reference/clutter/clutter-sections.txt | 2 +- 206 tests/interactive/test-animator.c | 2 +- 207 4 files changed, 5 insertions(+), 5 deletions(-) 208 209commit 9d1ea81dc51464e86d7a4eee27874136e9e34cad 210Author: Robert Bragg <robert@linux.intel.com> 211Date: Tue Mar 2 02:07:40 2010 +0000 212 213 cogl debug: Adds missing guards around debug cogl_args[] 214 215 commit 511e5ceb516dc accidentally removed the #ifdef COGL_ENABLE_DEBUG 216 guards around the "cogl-debug" and "cogl-no-debug" cogl_args[] which 217 this patch restores. 218 219 clutter/cogl/cogl/cogl-debug.c | 2 ++ 220 1 file changed, 2 insertions(+) 221 222commit aba6c5acc7f1cb15f92666d1681a95b5a805efaf 223Author: Emmanuele Bassi <ebassi@linux.intel.com> 224Date: Tue Mar 2 15:08:01 2010 +0000 225 226 flow-layout: Provide a preferred size 227 228 The FlowLayout fails to provide a preferred size in case no sizing is 229 specified on one axis. It should, instead, have the preferred size of 230 the sum of its children, depending on the orientation property. 231 232 http://bugzilla.openedhand.com/show_bug.cgi?id=2013 233 234 clutter/clutter-flow-layout.c | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------- 235 tests/interactive/test-flow-layout.c | 20 ++++++++++++-------- 236 2 files changed, 82 insertions(+), 30 deletions(-) 237 238commit e3fba5f2e80a4c72cc4ef0c193a0b6569e1d8cbf 239Author: Emmanuele Bassi <ebassi@linux.intel.com> 240Date: Tue Mar 2 13:32:46 2010 +0000 241 242 build: Require libtool >= 2.2.6 243 244 Update the configure.ac to use the LT_INIT() instead of the deprecated 245 AC_PROG_LIBTOOL. This also allows us to depend on a specific libtool 246 version, namely one that doesn't thoroughly suck. 247 248 configure.ac | 6 ++++-- 249 1 file changed, 4 insertions(+), 2 deletions(-) 250 251commit 9a55ddc7c36185b31120b5c5275dac60f5926d8d 252Author: Øyvind Kolås <pippin@linux.intel.com> 253Date: Tue Mar 2 12:38:51 2010 +0000 254 255 animator: restore accidentally removed break 256 257 In 505e5966 a break statement was removed by accident, causing the 258 animator to enter infinite loops if no initial key is present. 259 260 clutter/clutter-animator.c | 2 ++ 261 1 file changed, 2 insertions(+) 262 263commit 3a84af0106522e46d930fc81013c86465357dc89 264Merge: 0baeabc2a a2573ad2a 265Author: Emmanuele Bassi <ebassi@linux.intel.com> 266Date: Tue Mar 2 12:25:45 2010 +0000 267 268 Merge branch 'eglnative-update' 269 270 * eglnative-update: 271 eglnative: Add CLUTTER_FB_DEVICE 272 eglnative: Update implementation 273 274commit a2573ad2ad39931d2a817d4585d87b70c3f86526 275Author: Emmanuele Bassi <ebassi@linux.intel.com> 276Date: Mon Mar 1 11:38:41 2010 +0000 277 278 eglnative: Add CLUTTER_FB_DEVICE 279 280 Some EGL drivers for embedded devices require a specific framebuffer 281 device to be opened and passed to eglCreateWindowSurface(). Since it's 282 optional, we can provide an environment variabled called 283 CLUTTER_FB_DEVICE that can be used to specify the path of the device 284 to be opened. 285 286 http://bugzilla.openedhand.com/show_bug.cgi?id=1997 287 288 clutter/eglnative/clutter-backend-egl.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 289 clutter/eglnative/clutter-backend-egl.h | 3 +++ 290 2 files changed, 57 insertions(+), 5 deletions(-) 291 292commit b4e9f40394fb2e4d63bccc9f9d932a5da87cc2a2 293Author: Emmanuele Bassi <ebassi@linux.intel.com> 294Date: Sat Feb 27 09:42:42 2010 +0000 295 296 eglnative: Update implementation 297 298 Update the EGL native framebuffer backend to be 1.2-ready: 299 300 » create the EGL context and the surface inside the create_context() 301 implementation so that a context is always available 302 303 » simplify the StageWindow implementation 304 305 » clean up old code 306 307 http://bugzilla.openedhand.com/show_bug.cgi?id=1997 308 309 clutter/eglnative/clutter-backend-egl.c | 186 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------- 310 clutter/eglnative/clutter-backend-egl.h | 20 +++++++++------ 311 clutter/eglnative/clutter-event-egl.c | 60 +++++++++++++++++++++++++++------------------ 312 clutter/eglnative/clutter-stage-egl.c | 259 +++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------- 313 clutter/eglnative/clutter-stage-egl.h | 8 ++---- 314 5 files changed, 275 insertions(+), 258 deletions(-) 315 316commit 0baeabc2aa1a4b2a1908b7acd15f947cb8b1eb4d 317Author: Owen W. Taylor <otaylor@fishsoup.net> 318Date: Mon Mar 1 13:54:03 2010 -0500 319 320 Fall back in _cogl_texture_2d_new_from_bitmap() 321 322 Just like _cogl_texture_2d_new_with_size(), 323 _cogl_texture_2d_new_from_bitmap() needs to check if an unsliced 324 texture can be created at the given size, or if hardware 325 limitations prevent this. 326 327 http://bugzilla.openedhand.com/show_bug.cgi?id=2014 328 329 Signed-off-by: Neil Roberts <neil@linux.intel.com> 330 331 clutter/cogl/cogl/cogl-texture-2d.c | 3 +++ 332 1 file changed, 3 insertions(+) 333 334commit 74a27bbb1c0ae12ba937d215323d5a716781cb1b 335Author: Emmanuele Bassi <ebassi@linux.intel.com> 336Date: Tue Mar 2 09:53:55 2010 +0000 337 338 docs: Documentation fixes 339 340 Let's see if we can get a 100% coverage for Clutter too. 341 342 clutter/clutter-animatable.h | 9 +++++++++ 343 clutter/clutter-animator.c | 5 +++-- 344 clutter/clutter-box.c | 3 +++ 345 clutter/clutter-box.h | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 346 clutter/clutter-container.h | 9 +++++++++ 347 clutter/clutter-device-manager.h | 13 +++++++++++-- 348 clutter/clutter-media.h | 9 +++++++++ 349 clutter/clutter-scriptable.h | 9 +++++++++ 350 clutter/clutter-version.h.in | 38 ++++++++++++++++++++++++++++++++++++++ 351 clutter/eglnative/clutter-backend-egl.c | 7 +++++++ 352 clutter/glx/clutter-glx-texture-pixmap.c | 53 ++++++++++++++++++++++++++--------------------------- 353 clutter/glx/clutter-glx-texture-pixmap.h | 16 ++++++++++++++++ 354 clutter/x11/clutter-backend-x11.c | 8 ++++++++ 355 clutter/x11/clutter-x11-texture-pixmap.c | 36 +++++++++++++++++++++++++++--------- 356 clutter/x11/clutter-x11-texture-pixmap.h | 20 +++++++++++++++++++- 357 clutter/x11/clutter-x11.h | 8 +++++++- 358 doc/reference/clutter/Makefile.am | 4 ---- 359 doc/reference/clutter/clutter-sections.txt | 4 ++-- 360 18 files changed, 252 insertions(+), 48 deletions(-) 361 362commit c0a553163b5e82cb70e956e802d7f9b61bb13948 363Author: Neil Roberts <neil@linux.intel.com> 364Date: Mon Mar 1 18:08:41 2010 +0000 365 366 cogl: Support any format in cogl_read_pixels 367 368 cogl_read_pixels() no longer asserts that the format passed in is 369 RGBA_8888 but instead accepts any format. The appropriate GL enums for 370 the format are passed to glReadPixels so OpenGL should be perform a 371 conversion if neccessary. 372 373 It currently assumes glReadPixels will always give us premultiplied 374 data. This will usually be correct because the result of the default 375 blending operations for Cogl ends up with premultiplied data in the 376 framebuffer. However it is possible for the framebuffer to be in 377 whatever format depending on what CoglMaterial is used to render to 378 it. Eventually we may want to add a way for an application to inform 379 Cogl that the framebuffer is not premultiplied in case it is being 380 used for some special purpose. 381 382 If the requested format is not premultiplied then Cogl will convert 383 it. The tests have been changed to read the data as premultiplied so 384 that they won't be affected by the conversion. Picking in Clutter has 385 been changed to use COGL_PIXEL_FORMAT_RGB_888 because it doesn't need 386 the alpha component. clutter_stage_read_pixels is left unchanged 387 because the application can't specify a format for that so it seems to 388 make most sense to store unpremultiplied values. 389 390 http://bugzilla.openedhand.com/show_bug.cgi?id=1959 391 392 clutter/clutter-main.c | 10 +++++----- 393 clutter/cogl/cogl/cogl.c | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------- 394 clutter/cogl/cogl/cogl.h | 8 +++++++- 395 tests/conform/test-cogl-backface-culling.c | 2 +- 396 tests/conform/test-cogl-blend-strings.c | 4 ++-- 397 tests/conform/test-cogl-materials.c | 2 +- 398 tests/conform/test-cogl-multitexture.c | 2 +- 399 tests/conform/test-cogl-offscreen.c | 8 ++++---- 400 tests/conform/test-cogl-premult.c | 2 +- 401 tests/conform/test-cogl-readpixels.c | 26 ++++++++++++++++++++++++-- 402 tests/conform/test-cogl-texture-mipmaps.c | 2 +- 403 tests/conform/test-cogl-vertex-buffer-contiguous.c | 10 +++++----- 404 tests/conform/test-cogl-vertex-buffer-interleved.c | 2 +- 405 tests/conform/test-cogl-vertex-buffer-mutability.c | 4 ++-- 406 tests/conform/test-cogl-viewport.c | 2 +- 407 15 files changed, 113 insertions(+), 55 deletions(-) 408 409commit 505e5966e4ee649b7528cdf0410a4e52d59a25ec 410Author: Øyvind Kolås <pippin@linux.intel.com> 411Date: Mon Mar 1 18:35:01 2010 +0000 412 413 Do not overwrite the initial key, making ease-in work as expected. 414 415 Fixes bug #2008, where a property with ease-in would jump instead of 416 start at the properties initial value. 417 418 clutter/clutter-animator.c | 9 --------- 419 1 file changed, 9 deletions(-) 420 421commit 7d0ad7ac1b8f6b8a92d0c97180d2885a3a18bcdd 422Author: Bastian Winkler <buz@netbuz.org> 423Date: Mon Mar 1 17:00:41 2010 +0100 424 425 animator: Remove redundant declaration in header file 426 427 clutter_animator_property_set_interpolation was declared twice in 428 clutter-animator.h 429 430 http://bugzilla.openedhand.com/show_bug.cgi?id=2012 431 432 clutter/clutter-animator.h | 5 ----- 433 1 file changed, 5 deletions(-) 434 435commit 53eecb8469855d17e863c2113a58f0b6e9c26729 436Author: Emmanuele Bassi <ebassi@linux.intel.com> 437Date: Mon Mar 1 17:47:52 2010 +0000 438 439 docs: Add Animator.compute_value() 440 441 The clutter_animator_compute_value() has been added to the API, but it 442 is missing from the API reference. 443 444 doc/reference/clutter/clutter-sections.txt | 1 + 445 1 file changed, 1 insertion(+) 446 447commit 1d9ddad9a3ee79d32091b12197bd18e0b283da22 448Author: Emmanuele Bassi <ebassi@linux.intel.com> 449Date: Mon Mar 1 17:45:00 2010 +0000 450 451 docs: Fix syntax error in Model's documentation 452 453 A missing opening quote sign is breaking gtk-doc for ClutterModel. 454 455 clutter/clutter-model.c | 2 +- 456 1 file changed, 1 insertion(+), 1 deletion(-) 457 458commit 1777a69f2f036e2ead5986a5c91f18480a14e4fd 459Merge: 8146d8d08 7ffb62eab 460Author: Emmanuele Bassi <ebassi@linux.intel.com> 461Date: Mon Mar 1 15:37:12 2010 +0000 462 463 Merge branch 'stage-min-size-rework' 464 465 * stage-min-size-rework: 466 docs: Update minimum size accessors 467 actor: Use the TOPLEVEL flag instead of a type check 468 [stage] Use min-width/height props for min size 469 470commit 8146d8d08deafd6cf86238a4a8c2fa6149e5c691 471Author: Robert Bragg <robert@linux.intel.com> 472Date: Fri Feb 26 09:44:29 2010 +0000 473 474 profile: avoid segfault generating reports with no stats 475 476 The clutter-profile.c print_report() code would crash if no stats had 477 been gathered because uprof would return NULL for the "Redrawing" timer 478 which we then dereferenced. 479 480 This changes the code to start by checking for the "Mainloop", 481 "Redrawing" and "Do Pick" timers and if none are present it returns 482 immediately without generating any report. 483 484 clutter/clutter-profile.c | 18 +++++++++--------- 485 1 file changed, 9 insertions(+), 9 deletions(-) 486 487commit b9a91594f4b37388222b587eaea7618ea8c78381 488Author: Robert Bragg <robert@linux.intel.com> 489Date: Fri Feb 26 09:48:43 2010 +0000 490 491 build: Fixes out of tree builds 492 493 When building the gobject introspection data the build wasn't able to 494 find clutter/clutter-json.h so this adds $(top_builddir) to INCLUDES. 495 496 clutter/Makefile.am | 3 ++- 497 1 file changed, 2 insertions(+), 1 deletion(-) 498 499commit 79acb088e7f6916fb77a6341c22f9022c0f50208 500Author: Emmanuele Bassi <ebassi@linux.intel.com> 501Date: Mon Mar 1 12:56:10 2010 +0000 502 503 Remove mentions of the FSF address 504 505 Since using addresses that might change is something that finally 506 the FSF acknowledge as a plausible scenario (after changing address 507 twice), the license blurb in the source files should use the URI 508 for getting the license in case the library did not come with it. 509 510 Not that URIs cannot possibly change, but at least it's easier to 511 set up a redirection at the same place. 512 513 As a side note: this commit closes the oldes bug in Clutter's bug 514 report tool. 515 516 http://bugzilla.openedhand.com/show_bug.cgi?id=521 517 518 clutter/clutter-actor.c | 7 +++---- 519 clutter/clutter-actor.h | 3 ++- 520 clutter/clutter-alpha.c | 6 ++---- 521 clutter/clutter-backend.c | 11 ++++++----- 522 clutter/clutter-behaviour-depth.c | 4 +--- 523 clutter/clutter-behaviour-ellipse.c | 10 +--------- 524 clutter/clutter-behaviour-opacity.c | 4 +--- 525 clutter/clutter-behaviour-path.c | 11 ++++++----- 526 clutter/clutter-behaviour-rotate.c | 4 +--- 527 clutter/clutter-behaviour-scale.c | 4 +--- 528 clutter/clutter-behaviour.c | 4 +--- 529 clutter/clutter-bezier.c | 4 +--- 530 clutter/clutter-cairo-texture.c | 6 ++---- 531 clutter/clutter-cairo-texture.h | 7 +++---- 532 clutter/clutter-child-meta.c | 4 +--- 533 clutter/clutter-color.c | 4 +--- 534 clutter/clutter-container.c | 6 +++--- 535 clutter/clutter-event.c | 6 +++--- 536 clutter/clutter-feature.c | 6 +++--- 537 clutter/clutter-fixed.c | 6 +++--- 538 clutter/clutter-frame-source.c | 6 +++--- 539 clutter/clutter-group.c | 6 +++--- 540 clutter/clutter-id-pool.c | 6 +++--- 541 clutter/clutter-keysyms.h | 6 +++--- 542 clutter/clutter-list-model.c | 6 +++--- 543 clutter/clutter-main.c | 6 +++--- 544 clutter/clutter-model.c | 6 +++--- 545 clutter/clutter-private.h | 6 +++--- 546 clutter/clutter-rectangle.c | 6 +++--- 547 clutter/clutter-score.c | 6 +++--- 548 clutter/clutter-script-parser.c | 6 +++--- 549 clutter/clutter-script-private.h | 6 +++--- 550 clutter/clutter-script.c | 6 +++--- 551 clutter/clutter-scriptable.c | 6 +++--- 552 clutter/clutter-shader-types.c | 6 +++--- 553 clutter/clutter-shader.c | 6 +++--- 554 clutter/clutter-stage.c | 6 +++--- 555 clutter/clutter-texture.c | 6 +++--- 556 clutter/clutter-timeline.c | 6 +++--- 557 clutter/clutter-timeout-pool.c | 6 +++--- 558 clutter/clutter-units.c | 6 +++--- 559 clutter/clutter-util.c | 6 +++--- 560 clutter/clutter-version.h.in | 6 +++--- 561 clutter/clutter.h | 6 +++--- 562 clutter/cogl/cogl/cogl-atlas-texture-private.h | 6 +++--- 563 clutter/cogl/cogl/cogl-atlas-texture.c | 6 +++--- 564 clutter/cogl/cogl/cogl-atlas.c | 6 +++--- 565 clutter/cogl/cogl/cogl-atlas.h | 6 +++--- 566 clutter/cogl/cogl/cogl-bitmap-fallback.c | 6 +++--- 567 clutter/cogl/cogl/cogl-bitmap-pixbuf.c | 6 +++--- 568 clutter/cogl/cogl/cogl-bitmap-private.h | 6 +++--- 569 clutter/cogl/cogl/cogl-bitmap.c | 6 +++--- 570 clutter/cogl/cogl/cogl-bitmap.h | 6 +++--- 571 clutter/cogl/cogl/cogl-blend-string.c | 6 +++--- 572 clutter/cogl/cogl/cogl-blend-string.h | 6 +++--- 573 clutter/cogl/cogl/cogl-buffer-private.h | 6 +++--- 574 clutter/cogl/cogl/cogl-buffer.c | 6 +++--- 575 clutter/cogl/cogl/cogl-buffer.h | 6 +++--- 576 clutter/cogl/cogl/cogl-clip-stack.c | 6 +++--- 577 clutter/cogl/cogl/cogl-clip-stack.h | 6 +++--- 578 clutter/cogl/cogl/cogl-color.c | 6 +++--- 579 clutter/cogl/cogl/cogl-color.h | 6 +++--- 580 clutter/cogl/cogl/cogl-context.c | 6 +++--- 581 clutter/cogl/cogl/cogl-context.h | 6 +++--- 582 clutter/cogl/cogl/cogl-debug.c | 6 +++--- 583 clutter/cogl/cogl/cogl-debug.h | 6 +++--- 584 clutter/cogl/cogl/cogl-deprecated.h | 6 +++--- 585 clutter/cogl/cogl/cogl-feature-private.c | 6 +++--- 586 clutter/cogl/cogl/cogl-feature-private.h | 6 +++--- 587 clutter/cogl/cogl/cogl-fixed.c | 6 +++--- 588 clutter/cogl/cogl/cogl-fixed.h | 6 +++--- 589 clutter/cogl/cogl/cogl-framebuffer-private.h | 6 +++--- 590 clutter/cogl/cogl/cogl-framebuffer.c | 6 +++--- 591 clutter/cogl/cogl/cogl-handle.h | 6 +++--- 592 clutter/cogl/cogl/cogl-internal.h | 6 +++--- 593 clutter/cogl/cogl/cogl-journal-private.h | 6 +++--- 594 clutter/cogl/cogl/cogl-journal.c | 6 +++--- 595 clutter/cogl/cogl/cogl-material-private.h | 6 +++--- 596 clutter/cogl/cogl/cogl-material.c | 6 +++--- 597 clutter/cogl/cogl/cogl-material.h | 6 +++--- 598 clutter/cogl/cogl/cogl-matrix-mesa.c | 6 +++--- 599 clutter/cogl/cogl/cogl-matrix-mesa.h | 6 +++--- 600 clutter/cogl/cogl/cogl-matrix-private.h | 6 +++--- 601 clutter/cogl/cogl/cogl-matrix-stack.c | 6 +++--- 602 clutter/cogl/cogl/cogl-matrix-stack.h | 6 +++--- 603 clutter/cogl/cogl/cogl-matrix.c | 6 +++--- 604 clutter/cogl/cogl/cogl-matrix.h | 6 +++--- 605 clutter/cogl/cogl/cogl-offscreen.h | 6 +++--- 606 clutter/cogl/cogl/cogl-path.c | 6 +++--- 607 clutter/cogl/cogl/cogl-path.h | 6 +++--- 608 clutter/cogl/cogl/cogl-pixel-buffer-private.h | 6 +++--- 609 clutter/cogl/cogl/cogl-pixel-buffer.c | 6 +++--- 610 clutter/cogl/cogl/cogl-pixel-buffer.h | 6 +++--- 611 clutter/cogl/cogl/cogl-primitives.c | 6 +++--- 612 clutter/cogl/cogl/cogl-primitives.h | 6 +++--- 613 clutter/cogl/cogl/cogl-profile.h | 6 +++--- 614 clutter/cogl/cogl/cogl-shader.h | 6 +++--- 615 clutter/cogl/cogl/cogl-spans.c | 6 +++--- 616 clutter/cogl/cogl/cogl-spans.h | 6 +++--- 617 clutter/cogl/cogl/cogl-sub-texture-private.h | 6 +++--- 618 clutter/cogl/cogl/cogl-sub-texture.c | 6 +++--- 619 clutter/cogl/cogl/cogl-texture-2d-private.h | 6 +++--- 620 clutter/cogl/cogl/cogl-texture-2d-sliced-private.h | 6 +++--- 621 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 6 +++--- 622 clutter/cogl/cogl/cogl-texture-2d.c | 6 +++--- 623 clutter/cogl/cogl/cogl-texture-driver.h | 6 +++--- 624 clutter/cogl/cogl/cogl-texture-private.h | 6 +++--- 625 clutter/cogl/cogl/cogl-texture.c | 6 +++--- 626 clutter/cogl/cogl/cogl-texture.h | 6 +++--- 627 clutter/cogl/cogl/cogl-types.h | 6 +++--- 628 clutter/cogl/cogl/cogl-util.c | 6 +++--- 629 clutter/cogl/cogl/cogl-util.h | 6 +++--- 630 clutter/cogl/cogl/cogl-vertex-buffer-private.h | 6 +++--- 631 clutter/cogl/cogl/cogl-vertex-buffer.c | 6 +++--- 632 clutter/cogl/cogl/cogl-vertex-buffer.h | 6 +++--- 633 clutter/cogl/cogl/cogl.c | 6 +++--- 634 clutter/cogl/cogl/cogl.h | 6 +++--- 635 clutter/cogl/cogl/driver/gl/cogl-context-driver.c | 6 +++--- 636 clutter/cogl/cogl/driver/gl/cogl-context-driver.h | 6 +++--- 637 clutter/cogl/cogl/driver/gl/cogl-defines.h.in | 6 +++--- 638 clutter/cogl/cogl/driver/gl/cogl-feature-functions.h | 6 +++--- 639 clutter/cogl/cogl/driver/gl/cogl-program.c | 6 +++--- 640 clutter/cogl/cogl/driver/gl/cogl-program.h | 6 +++--- 641 clutter/cogl/cogl/driver/gl/cogl-shader-private.h | 6 +++--- 642 clutter/cogl/cogl/driver/gl/cogl-shader.c | 6 +++--- 643 clutter/cogl/cogl/driver/gl/cogl-texture-driver.c | 6 +++--- 644 clutter/cogl/cogl/driver/gl/cogl.c | 6 +++--- 645 clutter/cogl/cogl/driver/gles/cogl-context-driver.c | 6 +++--- 646 clutter/cogl/cogl/driver/gles/cogl-context-driver.h | 6 +++--- 647 clutter/cogl/cogl/driver/gles/cogl-defines.h.in | 6 +++--- 648 clutter/cogl/cogl/driver/gles/cogl-feature-functions.h | 6 +++--- 649 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 6 +++--- 650 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h | 6 +++--- 651 clutter/cogl/cogl/driver/gles/cogl-program.c | 6 +++--- 652 clutter/cogl/cogl/driver/gles/cogl-program.h | 6 +++--- 653 clutter/cogl/cogl/driver/gles/cogl-shader-private.h | 6 +++--- 654 clutter/cogl/cogl/driver/gles/cogl-shader.c | 6 +++--- 655 clutter/cogl/cogl/driver/gles/cogl-texture-driver.c | 6 +++--- 656 clutter/cogl/cogl/driver/gles/cogl.c | 6 +++--- 657 clutter/cogl/cogl/winsys/cogl-eglnative.c | 6 +++--- 658 clutter/cogl/cogl/winsys/cogl-eglx.c | 6 +++--- 659 clutter/cogl/cogl/winsys/cogl-fruity.c | 6 +++--- 660 clutter/cogl/cogl/winsys/cogl-glx.c | 6 +++--- 661 clutter/cogl/cogl/winsys/cogl-osx.c | 6 +++--- 662 clutter/cogl/cogl/winsys/cogl-sdl.c | 6 +++--- 663 clutter/cogl/cogl/winsys/cogl-win32.c | 6 +++--- 664 clutter/cogl/cogl/winsys/cogl-winsys.h | 6 +++--- 665 clutter/eglnative/clutter-backend-egl.h | 6 +++--- 666 clutter/eglnative/clutter-egl-headers.h | 6 +++--- 667 clutter/eglnative/clutter-egl.h | 6 +++--- 668 clutter/eglnative/clutter-event-egl.c | 6 +++--- 669 clutter/eglx/clutter-backend-egl.h | 6 +++--- 670 clutter/eglx/clutter-egl-headers.h | 6 +++--- 671 clutter/eglx/clutter-eglx.h | 6 +++--- 672 clutter/fruity/clutter-backend-fruity.h | 6 +++--- 673 clutter/fruity/clutter-fruity.h | 6 +++--- 674 clutter/glx/clutter-backend-glx.c | 6 +++--- 675 clutter/glx/clutter-backend-glx.h | 6 +++--- 676 clutter/glx/clutter-event-glx.c | 6 +++--- 677 clutter/glx/clutter-event-glx.h | 6 +++--- 678 clutter/glx/clutter-glx-texture-pixmap.c | 6 +++--- 679 clutter/glx/clutter-glx-texture-pixmap.h | 6 +++--- 680 clutter/glx/clutter-glx.h | 6 +++--- 681 clutter/glx/clutter-stage-glx.c | 6 +++--- 682 clutter/glx/clutter-stage-glx.h | 6 +++--- 683 clutter/osx/clutter-backend-osx.c | 6 +++--- 684 clutter/osx/clutter-backend-osx.h | 6 +++--- 685 clutter/osx/clutter-event-osx.c | 6 +++--- 686 clutter/osx/clutter-osx.h | 6 +++--- 687 clutter/osx/clutter-stage-osx.c | 6 +++--- 688 clutter/osx/clutter-stage-osx.h | 6 +++--- 689 clutter/win32/clutter-backend-win32.c | 6 +++--- 690 clutter/win32/clutter-backend-win32.h | 6 +++--- 691 clutter/win32/clutter-event-win32.c | 6 +++--- 692 clutter/win32/clutter-stage-win32.c | 6 +++--- 693 clutter/win32/clutter-stage-win32.h | 6 +++--- 694 clutter/win32/clutter-win32.h | 6 +++--- 695 clutter/x11/clutter-backend-x11-private.h | 6 +++--- 696 clutter/x11/clutter-backend-x11.c | 6 +++--- 697 clutter/x11/clutter-backend-x11.h | 6 +++--- 698 clutter/x11/clutter-event-x11.c | 6 +++--- 699 clutter/x11/clutter-stage-x11.c | 6 +++--- 700 clutter/x11/clutter-stage-x11.h | 6 +++--- 701 clutter/x11/clutter-x11-texture-pixmap.c | 6 +++--- 702 clutter/x11/clutter-x11-texture-pixmap.h | 6 +++--- 703 clutter/x11/clutter-x11.h | 6 +++--- 704 186 files changed, 543 insertions(+), 570 deletions(-) 705 706commit 23867875a14ab6d7288d6a67c67b20a1f136be94 707Author: Emmanuele Bassi <ebassi@linux.intel.com> 708Date: Mon Mar 1 11:12:16 2010 +0000 709 710 build: Remove unused checks on platform functions 711 712 There is no need for us to check for low-level functions and header 713 files, especially since we haven't been checking the results until 714 now. This makes cross-compiling slightly more bearable. 715 716 clutter/clutter-private.h | 8 ++------ 717 clutter/x11/clutter-backend-x11.c | 9 +++++---- 718 clutter/x11/clutter-stage-x11.c | 4 ++++ 719 configure.ac | 12 +++--------- 720 4 files changed, 14 insertions(+), 19 deletions(-) 721 722commit ce6a24eb2b5eaba4b60f82855af7a24d0f5afdad 723Author: Emmanuele Bassi <ebassi@linux.intel.com> 724Date: Sun Feb 28 10:59:29 2010 +0000 725 726 actor: Call unparent() in destroy 727 728 If the actor is an internal child of another actor then we should call 729 unparent() when destroying it, like clutter_actor_reparent() does; 730 otherwise we'll leak the actor, since the parent holds a reference to 731 it. 732 733 http://bugzilla.openedhand.com/show_bug.cgi?id=2009 734 735 clutter/clutter-actor.c | 4 ++-- 736 1 file changed, 2 insertions(+), 2 deletions(-) 737 738commit 7ffb62eab939de46b8234243cab6f6c4b40d60ec 739Author: Emmanuele Bassi <ebassi@linux.intel.com> 740Date: Sat Feb 27 18:56:34 2010 +0000 741 742 docs: Update minimum size accessors 743 744 Expand the documentation for set_minimum_size() and get_minimum_size(), 745 and add introspection annotations for get_minimum_size(). 746 747 clutter/clutter-stage.c | 41 +++++++++++++++++++++++++++++------------ 748 1 file changed, 29 insertions(+), 12 deletions(-) 749 750commit 52ba9a1800302f887ebe6d2e7aa7ab4503ea6e5e 751Author: Emmanuele Bassi <ebassi@linux.intel.com> 752Date: Sat Feb 27 18:24:17 2010 +0000 753 754 actor: Use the TOPLEVEL flag instead of a type check 755 756 We can use the internal private CLUTTER_ACTOR_IS_TOPLEVEL flag, which is 757 set only on Stages. 758 759 clutter/clutter-actor.c | 19 +++++++++++++++---- 760 1 file changed, 15 insertions(+), 4 deletions(-) 761 762commit cd62dfbd1419870fb6792bcab87ea8e7d0e760f5 763Author: Chris Lord <chris@linux.intel.com> 764Date: Fri Feb 26 18:36:38 2010 +0000 765 766 [stage] Use min-width/height props for min size 767 768 Instead of shadowing these properties with different properties with the 769 same names on stage, actually use them. Behaviour should be identical, 770 except the minimum stage size can now be enforced by setting the 771 min-width/height properties as well as using the set_minimum_size 772 function. 773 774 clutter/clutter-actor.c | 13 +++++++++---- 775 clutter/clutter-stage.c | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------- 776 2 files changed, 77 insertions(+), 38 deletions(-) 777 778commit 9f67e4826c9880732e4f2a74ac42f729e7e80042 779Author: Emmanuele Bassi <ebassi@linux.intel.com> 780Date: Fri Feb 26 16:43:02 2010 +0000 781 782 docs: Update --enable-cogl-debug description 783 784 The 'no' value is not the default any more. The 'minimum' value is 785 always the default, regardless of the release status. 786 787 README | 3 +-- 788 1 file changed, 1 insertion(+), 2 deletions(-) 789 790commit 62f2961f8a9b2974e0a7a11ea534f0b14f8fef1a 791Author: Emmanuele Bassi <ebassi@linux.intel.com> 792Date: Fri Feb 26 15:12:27 2010 +0000 793 794 docs: Unicode-ify NEWS 795 796 NEWS | 1302 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------- 797 1 file changed, 651 insertions(+), 651 deletions(-) 798 799commit c8c62af0cf5d33f3fe3e4aab44ed49363263252c 800Author: Emmanuele Bassi <ebassi@linux.intel.com> 801Date: Fri Feb 26 15:00:47 2010 +0000 802 803 build: More options for Automake 804 805 Require automake >= 1.10, and add the following options: 806 807 » dist-bzip2: create a bz2 tarball in the dist process 808 » check-news: check that we changed the NEWS file prior to dist, 809 to avoid another release without NEWS updates, like 1.1.10 810 811 configure.ac | 2 +- 812 1 file changed, 1 insertion(+), 1 deletion(-) 813 814commit e0f04efa411c0987db32c056958ad2c7cf5b6736 815Author: Emmanuele Bassi <ebassi@linux.intel.com> 816Date: Fri Feb 26 10:36:17 2010 +0000 817 818 device: When changing the stage, unset the pointer actor 819 820 If we do not unset the Stage we will have stale data, and the Crossing 821 event when re-entering a Stage will not be emitted, as the actor under 822 the pointer might be the same as before. 823 824 clutter/clutter-input-device.c | 14 ++++++++++++-- 825 1 file changed, 12 insertions(+), 2 deletions(-) 826 827commit 5d8346829585bb4b6d4617a232f87e3dab4eee5f 828Author: Neil Roberts <neil@linux.intel.com> 829Date: Tue Feb 23 14:45:44 2010 +0000 830 831 cogl-vertex-buffer: Add support for unsigned int indices 832 833 This adds a COGL_INDICES_TYPE_UNSIGNED_INT enum value so that unsigned 834 ints can be used with cogl_vertex_buffer_indices_new. Unsigned ints 835 are not supported in core on GLES so a feature flag has also been 836 added to advertise this. GLES only sets the feature if the 837 GL_OES_element_index_uint extension is available. It is an error to 838 call indices_new() with unsigned ints unless the feature is 839 advertised. 840 841 http://bugzilla.openedhand.com/show_bug.cgi?id=1998 842 843 clutter/cogl/cogl/cogl-types.h | 6 +++++- 844 clutter/cogl/cogl/cogl-vertex-buffer.c | 17 ++++++++++++++++- 845 clutter/cogl/cogl/cogl-vertex-buffer.h | 8 ++++++++ 846 clutter/cogl/cogl/driver/gl/cogl.c | 3 ++- 847 clutter/cogl/cogl/driver/gles/cogl-feature-functions.h | 6 ++++++ 848 5 files changed, 37 insertions(+), 3 deletions(-) 849 850commit 67d9d928147aa59905960480a5d0b4c19c9d1920 851Author: Emmanuele Bassi <ebassi@linux.intel.com> 852Date: Thu Feb 25 23:23:53 2010 +0000 853 854 docs: Document the "columns" syntax for ClutterModel 855 856 Like we do for other classes implementing custom properties, we should 857 document the syntax of the "columns" scriptable property of ClutterModel. 858 859 clutter/clutter-model.c | 24 ++++++++++++++++++++++++ 860 1 file changed, 24 insertions(+) 861 862commit 70d7bad98ba50a657204ee356fd5ac5ccf4e8bea 863Author: Emmanuele Bassi <ebassi@linux.intel.com> 864Date: Thu Feb 25 23:15:59 2010 +0000 865 866 conformance: Use g_test_verbose() for logging 867 868 Protect g_print() calls behind the g_test_verbose() check, to avoid 869 unwanted output during the conformance test run. 870 871 tests/conform/test-model.c | 9 ++++++++- 872 1 file changed, 8 insertions(+), 1 deletion(-) 873 874commit 96c31bbf0ea14c7cb6eaa824a6d5cf66d58b8d5b 875Author: Bastian Winkler <buz@netbuz.org> 876Date: Thu Feb 25 23:47:49 2010 +0100 877 878 model: Implement ClutterScriptable interface 879 880 Allow a ClutterModel to be constructed through the ClutterScript API. 881 Currently this allows a model to be generated like like this: 882 883 { 884 "id" : "test-model", 885 "type" : "ClutterListModel", 886 "columns" : [ 887 [ "text-column", "gchararray" ], 888 [ "int-column", "gint" ], 889 [ "actor-column", "ClutterRectangle" ] 890 ] 891 } 892 893 where 'columns' is an array containing arrays of column-name, 894 column-type pairs. 895 896 http://bugzilla.openedhand.com/show_bug.cgi?id=2007 897 898 .gitignore | 1 + 899 clutter/clutter-model.c | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 900 tests/conform/test-conform-main.c | 1 + 901 tests/conform/test-model.c | 34 ++++++++++++++++++++++++++++++++++ 902 tests/data/test-script-model.json | 9 +++++++++ 903 5 files changed, 149 insertions(+), 1 deletion(-) 904 905commit 63279f827e9d4e517c3dc88633a8b5ed47fbd74e 906Author: Emmanuele Bassi <ebassi@linux.intel.com> 907Date: Thu Feb 25 22:50:38 2010 +0000 908 909 docs: gtk-doc fixes for Animator 910 911 Fix the syntax for: 912 913 → enumeration values 914 → return values 915 → @since tags 916 917 Also, fix the introspection annotations. 918 919 clutter/clutter-animator.c | 40 +++++++++++++++++++++++++++------------- 920 1 file changed, 27 insertions(+), 13 deletions(-) 921 922commit 9db135c4eff97a3d3520cc05c9c3e85c153e8cc4 923Author: Emmanuele Bassi <ebassi@linux.intel.com> 924Date: Thu Feb 25 18:28:37 2010 +0000 925 926 glx: Clean up sync-to-vblank mechanism discovery 927 928 The code has gotten really complicated to follow. 929 930 As soon as we have a sync-to-vblank mechanism we should just bail out. 931 932 Also, __GL_SYNC_TO_VBLANK (which is used by nVidia) should be assumed 933 equivalent to a CLUTTER_VBLANK_GLX_SWAP. 934 935 clutter/glx/clutter-backend-glx.c | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------- 936 1 file changed, 92 insertions(+), 77 deletions(-) 937 938commit 655cb966c08b0ec3a0b73ed1b18fc9ebbe9a93b8 939Author: Emmanuele Bassi <ebassi@linux.intel.com> 940Date: Thu Feb 25 17:09:55 2010 +0000 941 942 docs: Add visual cue for Animator's key frames 943 944 We should explain what a "key frame" is for ClutterAnimator, possibly 945 with some sort of visual cue. 946 947 This allows me to demonstrate my poor skills at using Inkscape, as well 948 as my overall bad taste for graphics design. 949 950 clutter/clutter-animator.c | 21 +++++++++++++++ 951 doc/reference/clutter/Makefile.am | 3 +++ 952 doc/reference/clutter/animator-key-frames.png | Bin 0 -> 11936 bytes 953 doc/reference/clutter/animator-key-frames.svg | 271 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 954 4 files changed, 295 insertions(+) 955 956commit d3d05261e6a394736757cebb5aad9b9267e7cf53 957Author: Emmanuele Bassi <ebassi@linux.intel.com> 958Date: Thu Feb 25 14:22:08 2010 +0000 959 960 script-parser: Remove top-level types list 961 962 The top-level types list was comically out of date, and it was only 963 determining whether the type we were constructing was initially unowned 964 or a full object. We can safely replace it with a simple type check. 965 966 clutter/clutter-script-parser.c | 36 ++++-------------------------------- 967 1 file changed, 4 insertions(+), 32 deletions(-) 968 969commit c0be19eff65c4c72aa5c934cee3b582903db40f6 970Author: Emmanuele Bassi <ebassi@linux.intel.com> 971Date: Thu Feb 25 14:20:05 2010 +0000 972 973 script-parser: Be more strict with "children" members 974 975 The "children" member for Container definitions should only reference 976 actors, and warn about any other type. 977 978 clutter/clutter-script-parser.c | 12 ++++++++++++ 979 1 file changed, 12 insertions(+) 980 981commit c291d5a660f4ebac3dc57acad79b8153686a47f0 982Author: Emmanuele Bassi <ebassi@linux.intel.com> 983Date: Thu Feb 25 14:08:57 2010 +0000 984 985 animator: Add a :timeline property 986 987 It would be useful to be able to share the Timeline across different 988 animator instances, or with different animation constructs. Also this 989 allows sharing definitions of Timelines in ClutterScript. 990 991 clutter/clutter-animator.c | 26 +++++++++++++++++++++++++- 992 1 file changed, 25 insertions(+), 1 deletion(-) 993 994commit 641582533952c91576fb53724b70cbe6afb119db 995Author: Emmanuele Bassi <ebassi@linux.intel.com> 996Date: Thu Feb 25 14:02:29 2010 +0000 997 998 animator: Remove NULL check in remove_key() 999 1000 The arguments for remove_key() can be NULL, but there is an extraneous 1001 assertion that fails if they are. The pre-conditions should match the 1002 documentation, in this case. 1003 1004 clutter/clutter-animator.c | 11 ++++++----- 1005 1 file changed, 6 insertions(+), 5 deletions(-) 1006 1007commit 4bc4c604e926b07af9ef4c02fd5f000fc939259b 1008Author: Emmanuele Bassi <ebassi@linux.intel.com> 1009Date: Thu Feb 25 12:45:02 2010 +0000 1010 1011 box: Let pack_at() create the ChildMeta, if any 1012 1013 A sub-class of ClutterBox might add ChildMeta support, and since 1014 pack_at() does not go through clutter_container_add_actor(), we 1015 need to manually call the create_child_meta() ourselves. 1016 1017 clutter/clutter-box.c | 5 +++++ 1018 1 file changed, 5 insertions(+) 1019 1020commit 543e2d3f0609864cebb1f1eaf258108abab50770 1021Author: Emmanuele Bassi <ebassi@linux.intel.com> 1022Date: Thu Feb 25 12:39:24 2010 +0000 1023 1024 container: Expose create and destroy ChildMeta methods 1025 1026 It is conceivable that Container implementations might add children 1027 outside of the Container::add() implementation - e.g. for packing at 1028 a specific index. Since the addition (and removal) might happen outside 1029 the common path we need to expose all the API that is implicitly called 1030 by ClutterContainer when adding and removing a child - namely the 1031 ChildMeta creation and destruction. 1032 1033 clutter/clutter-container.c | 44 ++++++++++++++++++++++++++++++++------------ 1034 clutter/clutter-container.h | 4 ++++ 1035 doc/reference/clutter/clutter-sections.txt | 2 ++ 1036 3 files changed, 38 insertions(+), 12 deletions(-) 1037 1038commit 31b5856d69e8d53de17270da7ab59dd290e2868a 1039Author: Neil Roberts <neil@linux.intel.com> 1040Date: Wed Feb 24 23:04:39 2010 +0000 1041 1042 test-cogl-blend-strings: Add some more tests 1043 1044 The adds tests for the remaining layer combine functions, the 1 minus 1045 value operator and the TEXTURE_N source. Note however that Cogl 1046 currently fails when parsing a TEXTURE_N source so the test is 1047 commented out. 1048 1049 tests/conform/test-cogl-blend-strings.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1050 1 file changed, 46 insertions(+) 1051 1052commit 14999bec5e6b3d0aab057ef544f233d968e5cf67 1053Author: Neil Roberts <neil@linux.intel.com> 1054Date: Wed Feb 24 11:13:55 2010 +0000 1055 1056 gles2: Remove the special wrapper for glBindTexture 1057 1058 Previously the GLES2 backend needed a special wrapper for 1059 glBindTexture because it needed to know the internal GL format of the 1060 texture in order to correctly implement the GL_MODULATE texture env 1061 mode. When GL_MODULATE is used then the RGB values are taken from the 1062 previous texture layer rather than being fetched from the 1063 texture. However since the material API was added Cogl no longer uses 1064 the GL_MODULATE texture env mode but instead always uses GL_COMBINE. 1065 1066 Compiling the GLES2 backend broke since the more-texture-backends 1067 branch merge because the cogl_get_internal_gl_format function was 1068 removed and there was one place in GLES2 specific code that was using 1069 this to bind the texture. 1070 1071 clutter/cogl/cogl/cogl-material.c | 10 ---------- 1072 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 5 ++--- 1073 clutter/cogl/cogl/cogl-texture-driver.h | 7 ------- 1074 clutter/cogl/cogl/driver/gl/cogl-texture-driver.c | 12 ------------ 1075 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 22 ---------------------- 1076 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h | 12 ------------ 1077 clutter/cogl/cogl/driver/gles/cogl-texture-driver.c | 13 ------------- 1078 7 files changed, 2 insertions(+), 79 deletions(-) 1079 1080commit eba07020c549ff0ede9982c6d911d67e353ca5a3 1081Author: Neil Roberts <neil@linux.intel.com> 1082Date: Wed Feb 24 16:50:32 2010 +0000 1083 1084 cogl-gles2-wrapper: Add support for the layer combine operations 1085 1086 The texture layer combine functions are now hard coded to GL_COMBINE 1087 instead of GL_MODULATE. The combine function can be customized with 1088 all the parameters of GL_COMBINE. A shader is generated to implement 1089 the given parameters. 1090 1091 Currently it will try to generate code for the constant color but it 1092 will use a uniform which does not exist. 1093 1094 clutter/cogl/cogl/cogl-blend-string.c | 9 ----- 1095 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 382 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------- 1096 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h | 16 ++++++++ 1097 3 files changed, 371 insertions(+), 36 deletions(-) 1098 1099commit 02b952394ae9efe9e80b803e671bca1b1f711a9a 1100Author: Neil Roberts <neil@linux.intel.com> 1101Date: Wed Feb 24 10:42:59 2010 +0000 1102 1103 gles2: Implement a wrapper for glGetIntegerv(GL_MAX_TEXTURE_UNITS) 1104 1105 The GLES2 backend for Cogl is failing to compile because 1106 GL_MAX_TEXTURE_UNITS is not defined. Let's define it and provide a 1107 wrapper which uses GL_MAX_TEXTURE_IMAGE_UNITS or 1108 COGL_GLES2_MAX_TEXTURE_UNITS, whichever is the smallest. 1109 1110 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 6 ++++++ 1111 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h | 2 ++ 1112 2 files changed, 8 insertions(+) 1113 1114commit 3bc0672feff7c58326c4d50612bedf15aa9c02cb 1115Author: Øyvind Kolås <pippin@linux.intel.com> 1116Date: Thu Feb 25 12:30:07 2010 +0000 1117 1118 animator: handle no initial key 1119 1120 Fixing the crasher reported in bug #1995. 1121 1122 clutter/clutter-animator.c | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------- 1123 1 file changed, 65 insertions(+), 43 deletions(-) 1124 1125commit d2db512788aac496a3741cb424caea41cf4357a1 1126Author: Øyvind Kolås <pippin@linux.intel.com> 1127Date: Thu Feb 25 11:48:44 2010 +0000 1128 1129 animator: added clutter_animator_compute_value 1130 1131 Allow querying the computed values of properties managed by a 1132 ClutterAnimator. 1133 1134 clutter/clutter-animator.c | 212 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------- 1135 clutter/clutter-animator.h | 12 ++++++++++++ 1136 2 files changed, 211 insertions(+), 13 deletions(-) 1137 1138commit e8d32fd153268c653c1adc5c66f30f0ee624b432 1139Author: Øyvind Kolås <pippin@linux.intel.com> 1140Date: Thu Feb 25 11:28:32 2010 +0000 1141 1142 animator: removed bogus arg in keys interpolation accessor 1143 1144 A bogus ClutterInterpolation argument had been carried from 1145 clutter_animator_set_interpolation to clutter_animator_get_interpolation 1146 in copy and paste. 1147 1148 clutter/clutter-animator.c | 16 +++++++--------- 1149 clutter/clutter-animator.h | 3 +-- 1150 2 files changed, 8 insertions(+), 11 deletions(-) 1151 1152commit be8f53f229397e72fcf5a1bed245d555ea4747e9 1153Author: Emmanuele Bassi <ebassi@linux.intel.com> 1154Date: Thu Feb 25 12:01:03 2010 +0000 1155 1156 animation: Fix a typo 1157 1158 This will teach me to check before compiling a version-dependent branch 1159 that I'm actually using my jhbuild environment and not the system 1160 libraries. 1161 1162 clutter/clutter-animation.c | 2 +- 1163 1 file changed, 1 insertion(+), 1 deletion(-) 1164 1165commit 26e22b2ede0eb0fdfbe3d96189cb2aa196da83f8 1166Author: Emmanuele Bassi <ebassi@linux.intel.com> 1167Date: Thu Feb 25 10:22:36 2010 +0000 1168 1169 Conditionally use G_VALUE_COLLECT_INIT() macro 1170 1171 GLib 2.24 (but starting from the 2.23.2 unstable release) added a new 1172 macro for collecting GValues from a va_list. 1173 1174 The newly added G_VALUE_COLLECT_INIT() macro should be used in place 1175 of initializing the GValue and calling G_VALUE_COLLECT(), and improves 1176 the collection performances by avoiding multiple checks, free and 1177 initialization calls. 1178 1179 clutter/clutter-animation.c | 8 ++++++++ 1180 clutter/clutter-animator.c | 7 ++++++- 1181 clutter/clutter-box.c | 7 +++++++ 1182 clutter/clutter-container.c | 7 +++++++ 1183 clutter/clutter-interval.c | 10 ++++++++++ 1184 clutter/clutter-layout-manager.c | 7 +++++++ 1185 6 files changed, 45 insertions(+), 1 deletion(-) 1186 1187commit bd303d6efb7dfddbdf671f7c66ff5b73bb216f3f 1188Author: Emmanuele Bassi <ebassi@linux.intel.com> 1189Date: Wed Feb 24 16:43:17 2010 +0000 1190 1191 conform: Verify parsing of multiple properties 1192 1193 The ClutterAnimator support for parsing multiple properties should be 1194 verified in the conformance test suite. 1195 1196 http://bugzilla.openedhand.com/show_bug.cgi?id=2003 1197 1198 .gitignore | 1 + 1199 tests/conform/test-animator.c | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1200 tests/conform/test-conform-main.c | 1 + 1201 tests/data/test-animator-3.json | 40 ++++++++++++++++++++++++++++++++++++++++ 1202 4 files changed, 140 insertions(+) 1203 1204commit 59fd7e4a810f51bad31c2eafb609d545557ef264 1205Author: Bastian Winkler <buz@netbuz.org> 1206Date: Wed Feb 24 16:32:19 2010 +0100 1207 1208 animator: Append parsed animator keys to previously parsed ones 1209 1210 Reuse the GSList of the previously parsed property when building a 1211 ClutterAnimator from script, otherwise only the last used property will 1212 be used 1213 1214 http://bugzilla.openedhand.com/show_bug.cgi?id=2003 1215 1216 clutter/clutter-animator.c | 7 +++++-- 1217 1 file changed, 5 insertions(+), 2 deletions(-) 1218 1219commit fd6f6707433a8ab57c8232afee65038213d4120c 1220Author: Emmanuele Bassi <ebassi@linux.intel.com> 1221Date: Wed Feb 24 14:40:22 2010 +0000 1222 1223 Post-release version bump to 1.1.15 1224 1225 configure.ac | 4 ++-- 1226 1 file changed, 2 insertions(+), 2 deletions(-) 1227 1228commit 18659b008c800b2dde6e5a2453fba04f5990f2b7 1229Author: Emmanuele Bassi <ebassi@linux.intel.com> 1230Date: Wed Feb 24 14:26:46 2010 +0000 1231 1232 Release 1.1.14 1233 1234 configure.ac | 4 ++-- 1235 1 file changed, 2 insertions(+), 2 deletions(-) 1236 1237commit ec0c7fcd9bb734c3fd488b4b3ec3d469ba5e967f 1238Author: Emmanuele Bassi <ebassi@linux.intel.com> 1239Date: Wed Feb 24 14:23:58 2010 +0000 1240 1241 build: Use the right headers when enumerating them 1242 1243 The installed _HEADERS should be the public ones and the enumeration 1244 types; repeating clutter-x11-texture-pixmap.h breaks with automake 1.11 1245 and doesn't strictly make any sense. 1246 1247 http://bugzilla.openedhand.com/show_bug.cgi?id=2002 1248 1249 clutter/x11/Makefile.am | 2 +- 1250 1 file changed, 1 insertion(+), 1 deletion(-) 1251 1252commit 1370d72a7a1490c1ed60f02634f146995482116d 1253Author: Emmanuele Bassi <ebassi@linux.intel.com> 1254Date: Wed Feb 24 14:20:14 2010 +0000 1255 1256 Update NEWS file 1257 1258 NEWS | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1259 1 file changed, 44 insertions(+) 1260 1261commit d1ca0e1b8f3dc6f5b5fec0ce3fba4702b9e75386 1262Author: Emmanuele Bassi <ebassi@linux.intel.com> 1263Date: Wed Feb 24 12:23:46 2010 +0000 1264 1265 fixed layout: Store a back pointer to the Container 1266 1267 When set_container() is called with a NULL container we cannot use the 1268 passed pointer to unset the CLUTTER_ACTOR_NO_LAYOUT flag. We should 1269 store a back pointer to the container as object data (there's no need 1270 to add a Private data structure in this case) and unset the flag on the 1271 back pointer instead. 1272 1273 clutter/clutter-fixed-layout.c | 14 ++++++++++++-- 1274 1 file changed, 12 insertions(+), 2 deletions(-) 1275 1276commit 3a9d842164708baa8fe877d829f9e9cdcbde3831 1277Author: Emmanuele Bassi <ebassi@linux.intel.com> 1278Date: Wed Feb 24 12:09:13 2010 +0000 1279 1280 conformance: Show the Stage to test invariants 1281 1282 We need to make the Stage set the MAPPED flag on itself if we want to 1283 verify the MAPPED state. That was always the case - it just worked 1284 before because the Stage was shown at least once. 1285 1286 tests/conform/test-actor-invariants.c | 9 +++++++++ 1287 1 file changed, 9 insertions(+) 1288 1289commit aa8c8127059326c2d13d9f8dd6a294e787e3760e 1290Author: Emmanuele Bassi <ebassi@linux.intel.com> 1291Date: Wed Feb 24 12:08:07 2010 +0000 1292 1293 box: Do not short-circuit size negotiation for empty Boxes 1294 1295 The LayoutManager used might decide to have a default allocation or a 1296 default preferred size when empty. 1297 1298 clutter/clutter-box.c | 31 ------------------------------- 1299 1 file changed, 31 deletions(-) 1300 1301commit 523bab0868255e3f2b2910a60a868bffeb5bf64a 1302Author: Robert Bragg <robert@linux.intel.com> 1303Date: Thu Feb 11 11:45:36 2010 +0000 1304 1305 layout: allow wider use of the CLUTTER_ACTOR_NO_LAYOUT flag 1306 1307 Previously only ClutterGroup was able to set the CLUTTER_ACTOR_NO_LAYOUT 1308 flag which allows clutter-actor.c to avoid a relayout when showing or 1309 hiding fixed layout containers. Instead of it being the responsibility 1310 of the container to set this flag this patch makes the layout manager 1311 itself decide in the ::set_container method. This way both ClutterBox 1312 and ClutterGroup can take advantage of the optimization. 1313 1314 clutter/clutter-fixed-layout.c | 17 +++++++++++++++++ 1315 clutter/clutter-group.c | 8 +++----- 1316 2 files changed, 20 insertions(+), 5 deletions(-) 1317 1318commit f21e649c80a3e0db5db7dc1128f7828535dbebc2 1319Author: Emmanuele Bassi <ebassi@linux.intel.com> 1320Date: Wed Feb 24 11:28:44 2010 +0000 1321 1322 docs: Detail replacement for cogl_check_extension() 1323 1324 The cogl_check_extension() function has been deprecated, but it's easily 1325 replaceable with a simple strstr() call. 1326 1327 clutter/cogl/cogl/cogl.h | 11 +++++++---- 1328 1 file changed, 7 insertions(+), 4 deletions(-) 1329 1330commit 829d3f4bc5d083320f7f1b70d25e0115e1b6512f 1331Author: Emmanuele Bassi <ebassi@linux.intel.com> 1332Date: Wed Feb 24 11:27:51 2010 +0000 1333 1334 docs: Update NEWS and README 1335 1336 The NEWS file was not updated for the 1.1.12 release, so we need to 1337 update it now. 1338 1339 The Release Notes section for Clutter and Cogl also needs some more 1340 entries that escaped previous releases. 1341 1342 NEWS | 33 +++++++++++++++++++++++++++++++++ 1343 README | 21 +++++++++++++++++++++ 1344 2 files changed, 54 insertions(+) 1345 1346commit d54af2363d390bf598aaa931821a46604d4f192a 1347Author: Emmanuele Bassi <ebassi@linux.intel.com> 1348Date: Wed Feb 24 10:20:10 2010 +0000 1349 1350 build: Use template for ClutterX11 enumerationt types 1351 1352 Clutter and Cogl use the template Makefile.am.enums for building the 1353 enumeration GTypes from public headers, but ClutterX11 is not. 1354 1355 .gitignore | 13 ++++++------- 1356 clutter/x11/Makefile.am | 77 +++++++++++++++++++++++++++++++---------------------------------------------- 1357 2 files changed, 37 insertions(+), 53 deletions(-) 1358 1359commit eb35c446b119274658ba45937e02b5cfd1ec27fe 1360Author: Neil Roberts <neil@linux.intel.com> 1361Date: Tue Feb 23 22:06:59 2010 +0000 1362 1363 clutter-box: Layer new actors on top of all others at the same depth 1364 1365 g_list_insert_sorted inserts the new actor before all others that 1366 compare equal so for the normal case when all actors have depth==0 1367 this has the surprising behaviour of layering the actors in reverse 1368 order. To fix this it now manually inserts the actor in the right 1369 place by searching until it finds an actor at a higher depth and 1370 inserting before that. 1371 1372 http://bugzilla.openedhand.com/show_bug.cgi?id=1988 1373 1374 clutter/clutter-box.c | 25 ++++++++++++++++++++++--- 1375 1 file changed, 22 insertions(+), 3 deletions(-) 1376 1377commit da0315e4d666cc7cbfcfe7dab63d731df2a02338 1378Author: Neil Roberts <neil@linux.intel.com> 1379Date: Tue Feb 23 22:10:30 2010 +0000 1380 1381 box: Revert "Tweak the depth sorting function" 1382 1383 This reverts commit 939e56e2b12e5c96fa1173be33c2786ddfe57c25. 1384 1385 Changing the depth sort function to have inconsistent behaviour for 1386 nodes that compare equal breaks the stability of g_list_sort. It ends 1387 up so that every time clutter_container_sort_depth_order is called the 1388 order of all actors with the same depth is reversed. 1389 1390 http://bugzilla.openedhand.com/show_bug.cgi?id=1988 1391 1392 clutter/clutter-box.c | 2 +- 1393 1 file changed, 1 insertion(+), 1 deletion(-) 1394 1395commit 1c65f2ee1e4595d3044d05cadb4f33fc2d03a6f3 1396Author: Robert Bragg <robert@linux.intel.com> 1397Date: Wed Feb 17 18:45:08 2010 +0000 1398 1399 cogl debug: Adds glViewport call tracing 1400 1401 To aid in the debugging of Clutter stage resize issues this adds a 1402 COGL_DEBUG=opengl option that will trace "some select OpenGL calls" 1403 (currently just glViewport calls) 1404 1405 clutter/cogl/cogl/cogl-debug.c | 2 ++ 1406 clutter/cogl/cogl/cogl-debug.h | 3 ++- 1407 clutter/cogl/cogl/cogl-framebuffer.c | 6 ++++++ 1408 3 files changed, 10 insertions(+), 1 deletion(-) 1409 1410commit fa3830ff20962dc72b676a5411a7fa1829a870cd 1411Author: Robert Bragg <robert@linux.intel.com> 1412Date: Wed Feb 17 17:53:28 2010 +0000 1413 1414 cogl debug: hint that all debugging paths are G_UNLIKELY 1415 1416 Most Cogl debugging code conditions are marked as G_UNLIKELY with the 1417 intention of having the CPU branch prediction always assume the 1418 path is disabled so having debugging support in release binaries has 1419 negligible overhead. 1420 1421 This patch simply fixes a few cases where we weren't using G_UNLIKELY. 1422 1423 clutter/cogl/cogl/cogl-journal.c | 9 +++++---- 1424 clutter/cogl/cogl/cogl.c | 2 +- 1425 2 files changed, 6 insertions(+), 5 deletions(-) 1426 1427commit a58d6e8ee5e26185ff090845df68b61076275c21 1428Author: Robert Bragg <robert@linux.intel.com> 1429Date: Wed Feb 17 17:40:57 2010 +0000 1430 1431 cogl debug: Support "minimum" level debugging by default 1432 1433 We basically want all Clutter applications out in the wild to at least 1434 have the basic set of COGL_DEBUG/--cogl-debug options available for 1435 investigating issues. 1436 1437 configure.ac | 4 ++-- 1438 1 file changed, 2 insertions(+), 2 deletions(-) 1439 1440commit 511e5ceb516dcbf2c406a7c2e8e0e56d2135fb0d 1441Author: Robert Bragg <robert@linux.intel.com> 1442Date: Wed Feb 17 14:38:11 2010 +0000 1443 1444 cogl debug: Makes COGL_DEBUG=all|verbose|help more useful 1445 1446 COGL_DEBUG=all wasn't previously useful as there are several options 1447 that change the behaviour of Cogl and all together wouldn't help anyone 1448 debug anything. 1449 1450 This patch makes it so COGL_DEBUG=all|verbose now only enables options 1451 that don't change the behaviour of Cogl, i.e. they only affect the 1452 amount of noise we'll print to a terminal. 1453 1454 In addition to that this patch also improves the output from 1455 COGL_DEBUG=help so we now print a table of options including one liner 1456 descriptions of what each option enables. 1457 1458 clutter/cogl/cogl/cogl-debug.c | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------- 1459 clutter/cogl/cogl/cogl-debug.h | 37 +++++++++++++++++-------------------- 1460 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 2 +- 1461 3 files changed, 111 insertions(+), 49 deletions(-) 1462 1463commit 939e56e2b12e5c96fa1173be33c2786ddfe57c25 1464Author: Emmanuele Bassi <ebassi@linux.intel.com> 1465Date: Tue Feb 23 17:59:09 2010 +0000 1466 1467 box: Tweak the depth sorting function 1468 1469 By changing the depth sorting function we can achieve the same effect as 1470 ClutterGroup but without the costly append+sort. 1471 1472 http://bugzilla.openedhand.com/show_bug.cgi?id=1988 1473 1474 clutter/clutter-box.c | 2 +- 1475 1 file changed, 1 insertion(+), 1 deletion(-) 1476 1477commit 95960ab902852e9c4830815b89d0a315fb9e4c50 1478Author: Emmanuele Bassi <ebassi@linux.intel.com> 1479Date: Tue Feb 23 16:51:26 2010 +0000 1480 1481 cogl: Add deprecation annotation to CoglMaterial ref/unref 1482 1483 The G_GNUC_DEPRECATED annotation was missing from the material ref and 1484 unref functions. 1485 1486 clutter/cogl/cogl/cogl-material.h | 4 ++-- 1487 1 file changed, 2 insertions(+), 2 deletions(-) 1488 1489commit a9941e94995d2701783f055e69fba52a64f609e0 1490Author: Emmanuele Bassi <ebassi@linux.intel.com> 1491Date: Tue Feb 16 20:08:35 2010 +0000 1492 1493 debug: Split debugging notes from behavioural modifiers 1494 1495 Some of the ClutterDebugFlags are not meant as a logging facility: they 1496 actually change Clutter's behaviour at run-time. 1497 1498 It would be useful to have this distinction ratified, and thus split 1499 ClutterDebugFlags into two: one DebugFlags for logging facilities and 1500 another set of flags for behavioural changes. 1501 1502 This split is warranted because: 1503 1504 • it should be possible to do "CLUTTER_DEBUG=all" and only have 1505 log messages on the output 1506 1507 • it should be possible to use behavioural modifiers even on a 1508 Clutter that has been compiled without debugging messages 1509 support 1510 1511 The commit adds two new debugging flags: 1512 1513 ClutterPickDebugFlags - controlled by the CLUTTER_PICK environment 1514 variable 1515 1516 ClutterPaintDebugFlags - controlled by the CLUTTER_PAINT environment 1517 variable 1518 1519 The PickDebugFlags are: 1520 1521 nop-picking 1522 dump-pick-buffers 1523 1524 While the PaintDebugFlags is: 1525 1526 disable-swap-events 1527 1528 The mechanism is equivalent to the CLUTTER_DEBUG environment variable, 1529 but it does not depend on the debug level selected when configuring and 1530 compiling Clutter. The picking and painting debugging flags are 1531 initialized at clutter_init() time. 1532 1533 http://bugzilla.openedhand.com/show_bug.cgi?id=1991 1534 1535 clutter/clutter-debug.h | 14 +++++++++++--- 1536 clutter/clutter-main.c | 49 +++++++++++++++++++++++++++++++++++++++---------- 1537 clutter/glx/clutter-backend-glx.c | 6 ++++-- 1538 3 files changed, 54 insertions(+), 15 deletions(-) 1539 1540commit a9c307ff5d94489b30d7398ac80072fe7222a434 1541Author: Neil Roberts <neil@linux.intel.com> 1542Date: Wed Feb 17 22:16:17 2010 +0000 1543 1544 cogl-vertex-buffer: Fix the malloc fallback for indices 1545 1546 The size of the malloc'd buffer for indices when VBOs are not 1547 available was too small so memory corruption would result if it was 1548 used. 1549 1550 http://bugzilla.o-hand.com/show_bug.cgi?id=1996 1551 1552 clutter/cogl/cogl/cogl-vertex-buffer.c | 2 +- 1553 1 file changed, 1 insertion(+), 1 deletion(-) 1554 1555commit 14669657737cc1547fb0db261232e63bdd2755d9 1556Author: Emmanuele Bassi <ebassi@linux.intel.com> 1557Date: Mon Feb 22 11:34:04 2010 +0000 1558 1559 device: Motion events compression should honour the device 1560 1561 The motion event compression should be affected by the device field of 1562 the event; that is: we should compress motion events coming from the 1563 same device. 1564 1565 clutter/clutter-stage.c | 29 ++++++++++++++++++++++------- 1566 1 file changed, 22 insertions(+), 7 deletions(-) 1567 1568commit 5ed4732737202c3051044455a91dc70c213fb800 1569Author: Emmanuele Bassi <ebassi@linux.intel.com> 1570Date: Mon Feb 22 11:30:14 2010 +0000 1571 1572 device: Force ENTER on Stage with overlapping Actors 1573 1574 If an actor is on the boundary of a Stage and the pointer for a device 1575 enters the Stage over that actor, the sequence of events currently is: 1576 1577 ➔ ENTER (source: actor, related: NULL) 1578 ➔ MOTION 1579 1580 Thus the Stage never gets an ENTER event. This is a regression from 1581 Clutter 1.0. 1582 1583 The correct sequence is: 1584 1585 ➔ ENTER (source: stage, related: NULL) 1586 ➔ ENTER (source: actor, related: stage) 1587 ➔ MOTION 1588 1589 This also maps to the sequence of events sythesized by Clutter when 1590 leaving the Stage through an actor overlapping the Stage boundary. 1591 1592 http://bugzilla.moblin.org/show_bug.cgi?id=9781 1593 1594 clutter/clutter-input-device.c | 27 +++++++++++++++++++++++---- 1595 1 file changed, 23 insertions(+), 4 deletions(-) 1596 1597commit ee33357fd5d08be824a5ecb3161a79568afa4e5c 1598Author: Emmanuele Bassi <ebassi@linux.intel.com> 1599Date: Thu Feb 18 16:58:29 2010 +0000 1600 1601 stage: Only clutter_stage_get_default() creates the default stage 1602 1603 The introduction of the StageManager in 0.8 implied that the first Stage 1604 instance to be created was automatically assigned the status of "default 1605 stage". This was all well and good, since the default stage was created 1606 behind the curtains by the initialization sequence. 1607 1608 Now that the initialization sequence does not create a default stage any 1609 longer, it means that the first stage created using clutter_stage_new() 1610 gets to be the default, and all special and warm and fuzzy - which also 1611 means that the first stage created by clutter_stage_new() cannot be 1612 destroyed or handled as any other stage. Whoopsie. 1613 1614 Let's go back to the old semantics: the stage created by the first 1615 invocation of clutter_stage_get_default() is the default stage, and 1616 nothing else can be set as default. One day we'll be able to break the 1617 API and the whole default stage business will be a thing of the past. 1618 1619 clutter/clutter-private.h | 10 ++++++---- 1620 clutter/clutter-stage-manager.c | 32 +++++++++++++++++++++++++------- 1621 clutter/clutter-stage.c | 1 + 1622 3 files changed, 32 insertions(+), 11 deletions(-) 1623 1624commit 9a6de8757f27ff8a8cf9f89209f9366e03b7aadf 1625Author: Emmanuele Bassi <ebassi@linux.intel.com> 1626Date: Thu Feb 18 11:34:06 2010 +0000 1627 1628 docs: Document the InputDevice update method 1629 1630 Embedding toolkits should benefit from a proper documentation of 1631 clutter_input_device_update_from_event(): its meaning, its use and 1632 the caveats for the "update_stage" argument. 1633 1634 clutter/clutter-input-device.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1635 1 file changed, 49 insertions(+) 1636 1637commit a2afc9d7ba0a80733044b97498a7df26de5a4ab2 1638Author: Neil Roberts <neil@linux.intel.com> 1639Date: Wed Feb 17 18:18:38 2010 +0000 1640 1641 win32: Fixup compilation errors from b398292089b0f7 1642 1643 That commit added some Win32 code which breaks compilation. 1644 1645 Thanks to Samuel Degrande for help with this. 1646 1647 clutter/win32/clutter-backend-win32.c | 5 ++--- 1648 clutter/win32/clutter-device-manager-win32.c | 18 ++++++------------ 1649 clutter/win32/clutter-event-win32.c | 2 +- 1650 3 files changed, 9 insertions(+), 16 deletions(-) 1651 1652commit 5de743de705ba9bb9a2061a66045b32091165ad5 1653Author: Robert Bragg <robert@linux.intel.com> 1654Date: Tue Feb 16 14:53:10 2010 +0000 1655 1656 cogl_texture_new_from_foreign: improve docs 1657 1658 Improve the explanation of what the x_pot_waste and y_pot_waste 1659 arguments can be used for. 1660 1661 clutter/cogl/cogl/cogl-texture.h | 15 +++++++++++---- 1662 1 file changed, 11 insertions(+), 4 deletions(-) 1663 1664commit 9c06c94374c61c019ca49fa6fd80679e6ad2f29a 1665Author: Robert Bragg <robert@linux.intel.com> 1666Date: Tue Feb 16 14:23:11 2010 +0000 1667 1668 cogl-texture: for foreign textures; always trust user geom 1669 1670 We now never query the width and height of the given texture object 1671 from OpenGL. The problem is that the user may be creating a Cogl 1672 texture from a texture_from_pixmap object where glTexImage2D was 1673 never called and the texture_from_pixmap spec doesn't clarify that 1674 it's reliable to query the width from OpenGL. 1675 1676 This should address: 1677 http://bugzilla.openedhand.com/show_bug.cgi?id=1502 1678 1679 Thanks to Johan Bilien for reporting 1680 1681 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 24 +++++++++--------------- 1682 1 file changed, 9 insertions(+), 15 deletions(-) 1683 1684commit 8b040cac4dfaaa9d91635d31d93a79d00f637772 1685Author: Emmanuele Bassi <ebassi@linux.intel.com> 1686Date: Wed Feb 17 19:02:43 2010 +0000 1687 1688 docs: Fixes for DeviceManager 1689 1690 clutter/clutter-device-manager.h | 12 ++++++------ 1691 doc/reference/clutter/clutter-sections.txt | 6 ++++++ 1692 2 files changed, 12 insertions(+), 6 deletions(-) 1693 1694commit 51a3e49c8228a22c1fbcd42971ad27d26d83991b 1695Author: Emmanuele Bassi <ebassi@linux.intel.com> 1696Date: Wed Feb 17 18:21:50 2010 +0000 1697 1698 device: Allow updating devices from embedding toolkits 1699 1700 Embedding toolkits most likely will disable the event handling, so all 1701 the input device code will not be executed. Unfortunately, the newly 1702 added synthetic event generation of ENTER and LEAVE event pairs depends 1703 on having input devices. 1704 1705 In order to unbreak things without reintroducing the madness of the 1706 previous code we should allow embedding toolkits to just update the 1707 state of an InputDevice by using the data contained inside the 1708 ClutterEvent. This strategy has two obvious reasons: 1709 1710 • the embedding toolkit is creating a ClutterEvent by translating 1711 a toolkit-native event anyway 1712 1713 • this is exactly what ClutterStage does when processing events 1714 1715 We are, essentially, deferring input device handling to the embedding 1716 toolkits, just like we're deferring event handling to them. 1717 1718 clutter/clutter-event.h | 2 -- 1719 clutter/clutter-input-device.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1720 clutter/clutter-input-device.h | 5 +++++ 1721 clutter/clutter-types.h | 2 ++ 1722 doc/reference/clutter/clutter-sections.txt | 2 ++ 1723 5 files changed, 68 insertions(+), 2 deletions(-) 1724 1725commit b398292089b0f70b9457985426d6b962d9179fa7 1726Author: Emmanuele Bassi <ebassi@linux.intel.com> 1727Date: Wed Feb 17 17:06:25 2010 +0000 1728 1729 device: Impose per-backend DeviceManager 1730 1731 The DeviceManager class should be abstract in Clutter, and implemented 1732 by each backend, as different backends will have different ways to 1733 detect, initialize and list devices; the X11 backend alone has *two* 1734 ways of dealing with devices. 1735 1736 This commit makes DeviceManager an abstract class and delegates the 1737 device initialization and enumeration to per-backend sub-classes. 1738 1739 The responsible for creating the device manager is, obviously, the 1740 backend singleton. 1741 1742 The X11 and Win32 backends have been updated to the new layout; the 1743 Win32 backend has been updated blindly, so it might require additional 1744 testing. 1745 1746 clutter/clutter-backend.h | 38 +++++++++++---------- 1747 clutter/clutter-device-manager.c | 166 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------- 1748 clutter/clutter-device-manager.h | 51 +++++++++++++++++++++++----- 1749 clutter/clutter-private.h | 7 ---- 1750 clutter/win32/Makefile.am | 2 ++ 1751 clutter/win32/clutter-backend-win32.c | 38 +++++++++++---------- 1752 clutter/win32/clutter-backend-win32.h | 3 +- 1753 clutter/win32/clutter-device-manager-win32.c | 173 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1754 clutter/win32/clutter-device-manager-win32.h | 60 ++++++++++++++++++++++++++++++++ 1755 clutter/win32/clutter-event-win32.c | 34 ++++++++++++------- 1756 clutter/x11/Makefile.am | 2 ++ 1757 clutter/x11/clutter-backend-x11.c | 168 +++++++++++++++++++----------------------------------------------------------------------- 1758 clutter/x11/clutter-backend-x11.h | 3 +- 1759 clutter/x11/clutter-device-manager-x11.c | 349 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1760 clutter/x11/clutter-device-manager-x11.h | 68 +++++++++++++++++++++++++++++++++++++ 1761 clutter/x11/clutter-event-x11.c | 14 ++++++-- 1762 16 files changed, 930 insertions(+), 246 deletions(-) 1763 1764commit 0bf6d57ab128f301588695d011a9ab5d1b1dce1a 1765Author: Chris Lord <chris@linux.intel.com> 1766Date: Wed Feb 17 16:56:30 2010 +0000 1767 1768 [event-x11] Don't relayout on window move 1769 1770 ConfigureNotify is delivered on window movements too, but there is no 1771 need to queue a relayout on these as the viewport hasn't changed size. 1772 Check for the window actually changing size on ConfigureNotify before 1773 queueing a relayout. 1774 1775 This fixes laggy window movement when moving a window in response to 1776 Clutter mouse motion events. 1777 1778 clutter/x11/clutter-event-x11.c | 26 ++++++++++++++++---------- 1779 1 file changed, 16 insertions(+), 10 deletions(-) 1780 1781commit 05054bed87866d10c927642fe6273c5bd8f89a95 1782Author: Neil Roberts <neil@linux.intel.com> 1783Date: Wed Feb 17 15:58:32 2010 +0000 1784 1785 cogl-clip-stack: Round the coords when clipping to a window rect 1786 1787 The size and position of the window rectangle for clipping in 1788 try_pushing_rect_as_window_rect is calculated by projecting the 1789 rectangle coordinates. Due to rounding errors, this can end up with 1790 slightly off numbers like 34.999999. These were then being cast 1791 directly to an integer so it could end up off by one. 1792 1793 This uses a new macro called COGL_UTIL_NEARBYINT which is a 1794 replacement for the C99 nearbyint function. 1795 1796 clutter/cogl/cogl/cogl-clip-stack.c | 6 +++++- 1797 clutter/cogl/cogl/cogl-util.h | 8 ++++++++ 1798 2 files changed, 13 insertions(+), 1 deletion(-) 1799 1800commit a726ef32aa4721070b57df2e08c304096cb24736 1801Author: Neil Roberts <neil@linux.intel.com> 1802Date: Wed Feb 17 14:38:45 2010 +0000 1803 1804 test-cogl-vertex-buffer: Fix the maximum index number 1805 1806 It was passing the number of vertices to 1807 cogl_vertex_buffer_draw_elements but instead it should take the 1808 maximum index which would be the number of vertices minus one. This 1809 was causing errors to be reported with the checks filterset of Bugle. 1810 1811 tests/interactive/test-cogl-vertex-buffer.c | 2 +- 1812 1 file changed, 1 insertion(+), 1 deletion(-) 1813 1814commit fbcaf1e0b34f68934e0c84b01adfa5ea920c6c6a 1815Author: Emmanuele Bassi <ebassi@linux.intel.com> 1816Date: Wed Feb 17 10:46:16 2010 +0000 1817 1818 Improve LEAVE events for border actors 1819 1820 If an actor is lying on the border of the Stage it might miss the LEAVE 1821 event when the pointer of a device leaves the Stage window. Since the 1822 backend is unsetting the Stage back pointer on the InputDevice we can 1823 queue the emission of a LEAVE event on the pointer actor as well. 1824 1825 http://bugzilla.moblin.org/show_bug.cgi?id=9677 1826 1827 clutter/clutter-input-device.c | 23 ++++++++++++++++++++++- 1828 tests/interactive/test-events.c | 22 +++++++++++++++++----- 1829 2 files changed, 39 insertions(+), 6 deletions(-) 1830 1831commit 719e314b8e364955b046c990ddc1c9f07b0cc55f 1832Author: Chris Lord <chris@linux.intel.com> 1833Date: Tue Feb 16 18:25:46 2010 +0000 1834 1835 [stage-x11] Fix a warning due to a missing cast 1836 1837 I stupidly forgot to cast a ClutterStage to a ClutterActor and somehow 1838 missed or didn't get the compiler warning. Fix. 1839 1840 clutter/x11/clutter-stage-x11.c | 2 +- 1841 1 file changed, 1 insertion(+), 1 deletion(-) 1842 1843commit f9f03894a691cfb8f791f34c684d82f8a6d5b5b8 1844Author: Chris Lord <chris@linux.intel.com> 1845Date: Tue Feb 16 18:17:55 2010 +0000 1846 1847 [stage-x11] Fix resizing for foreign windows 1848 1849 As well as manually setting the geometry size, we needed to queue a 1850 relayout. This is what the ConfigureNotify handler would normally do, 1851 but we don't get this event when using a foreign window (obviously). 1852 1853 This should fix resizing in things like gtk-clutter. 1854 1855 clutter/x11/clutter-stage-x11.c | 5 +++++ 1856 1 file changed, 5 insertions(+) 1857 1858commit df6e7aee73a3c3818acab8218732659eb77a3cdc 1859Author: Chris Lord <chris@linux.intel.com> 1860Date: Tue Feb 16 17:46:52 2010 +0000 1861 1862 [stage-x11] Set the geometry size for foreign wins 1863 1864 If we get into the resize function and it's a foreign window, set the 1865 geometry size so that the allocate will set the backend size and call 1866 glViewport. 1867 1868 clutter/x11/clutter-stage-x11.c | 9 ++++++++- 1869 1 file changed, 8 insertions(+), 1 deletion(-) 1870 1871commit c2d016471258c529d7829ed807e76a4e029b614b 1872Author: Emmanuele Bassi <ebassi@linux.intel.com> 1873Date: Tue Feb 16 16:31:20 2010 +0000 1874 1875 Add test-stage-sizing to the ignore file 1876 1877 .gitignore | 1 + 1878 1 file changed, 1 insertion(+) 1879 1880commit d42f928c43994331017bca7145b7b06fd5848909 1881Author: Chris Lord <chris@linux.intel.com> 1882Date: Tue Feb 16 15:39:08 2010 +0000 1883 1884 [test-interactive] Add a stage sizing test 1885 1886 Add an interactive stage sizing test to test the interaction of 1887 fullscreening/resizing/expanding/shrinking a visible stage. 1888 1889 tests/interactive/Makefile.am | 3 ++- 1890 tests/interactive/test-stage-sizing.c | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1891 2 files changed, 115 insertions(+), 1 deletion(-) 1892 1893commit 1117b6a9ac974dd5855c5e76965c15329c608ff4 1894Author: Chris Lord <chris@linux.intel.com> 1895Date: Tue Feb 16 14:50:14 2010 +0000 1896 1897 [stage-x11] Fix switching fullscreen mode 1898 1899 Setting/unsetting fullscreen on a mapped or unmapped window now works 1900 correctly. 1901 1902 If you unfullscreen a window that was initially full-screened, it will 1903 unset the fullscreen hint and the WM will likely push the size down to 1904 the largest valid size. 1905 1906 If the window was previously un-fullscreened, Clutter will restore the 1907 previous size. 1908 1909 Fullscreening also now works if the WM switches the hint without the 1910 application's knowledge (as happens when you resize a window to the size 1911 of the screen, for example, with stock metacity). 1912 1913 clutter/clutter-stage.c | 3 ++- 1914 clutter/x11/clutter-event-x11.c | 13 +++++++++++-- 1915 clutter/x11/clutter-stage-x11.c | 71 ++++++++++++++++++++++++++++++++++++++++------------------------------- 1916 clutter/x11/clutter-stage-x11.h | 2 +- 1917 4 files changed, 54 insertions(+), 35 deletions(-) 1918 1919commit dd36c3ad5c4f3d25d0286cf1c2a9a25abf7d2ea4 1920Author: Emmanuele Bassi <ebassi@linux.intel.com> 1921Date: Tue Feb 16 12:32:37 2010 +0000 1922 1923 Post-release version bump to 1.1.13 1924 1925 configure.ac | 4 ++-- 1926 1 file changed, 2 insertions(+), 2 deletions(-) 1927 1928commit 21354b2b7518c9518fa8405f07ed1f929736d4a2 1929Author: Emmanuele Bassi <ebassi@linux.intel.com> 1930Date: Tue Feb 16 12:21:15 2010 +0000 1931 1932 Release 1.1.12 (developers snapshot) 1933 1934 configure.ac | 4 ++-- 1935 1 file changed, 2 insertions(+), 2 deletions(-) 1936 1937commit 7a3eb452b802e5b38542d224da179c4267706e7b 1938Author: Emmanuele Bassi <ebassi@linux.intel.com> 1939Date: Tue Feb 16 12:16:02 2010 +0000 1940 1941 conform: Do not resize the stage 1942 1943 Since all conformance tests share the same state we should not touch 1944 stuff like the stage size; sharing is already fairly complex and adds a 1945 lot of caveats on the implementation of a conformance test unit, and if 1946 we make tests influence later ones then we might slip in bugs or false 1947 negatives - thus defeating the whole point of a conformance test suite. 1948 1949 tests/conform/test-cogl-offscreen.c | 1 - 1950 tests/conform/test-cogl-readpixels.c | 1 - 1951 tests/conform/test-cogl-viewport.c | 1 - 1952 tests/conform/test-pick.c | 1 - 1953 4 files changed, 4 deletions(-) 1954 1955commit 4cadc7300504828fa0db8cb21e1b9d8e23be6319 1956Author: Emmanuele Bassi <ebassi@linux.intel.com> 1957Date: Tue Feb 16 12:15:23 2010 +0000 1958 1959 conform: Use a 640x480 stage in test-pick 1960 1961 Do not resize the stage to a smaller size: the default size is perfectly 1962 fine. 1963 1964 tests/conform/test-pick.c | 4 ++-- 1965 1 file changed, 2 insertions(+), 2 deletions(-) 1966 1967commit 958545aa70e526a12720bf2dd0d9b9a24d273b8d 1968Author: Neil Roberts <neil@linux.intel.com> 1969Date: Tue Feb 16 12:01:18 2010 +0000 1970 1971 cogl-atlas-texture: Don't use the atlas if FBOs aren't supported 1972 1973 If FBOs aren't supported then it will end up very slow to reorganize 1974 the atlas. Also currently the CoglTexture2D backend will refuse to 1975 create any textures anyway so the full atlas texture won't be created. 1976 1977 clutter/cogl/cogl/cogl-atlas-texture.c | 8 +++++--- 1978 1 file changed, 5 insertions(+), 3 deletions(-) 1979 1980commit a5021ba30f553d641399545d9777eb5b4b385ac1 1981Author: Neil Roberts <neil@linux.intel.com> 1982Date: Tue Feb 16 11:58:47 2010 +0000 1983 1984 cogl-atlas-texture: Check for errors when creating the atlas texture 1985 1986 cogl_texture_2d_new may fail in certain circumstances so 1987 cogl_atlas_texture_reserve_space should detect this and also 1988 fail. This will cause cogl_texture_new to fallback to a sliced 1989 texture. 1990 1991 Thanks to Vladimir Ivakin for reporting this problem. 1992 1993 clutter/cogl/cogl/cogl-atlas-texture.c | 19 ++++++++++++------- 1994 1 file changed, 12 insertions(+), 7 deletions(-) 1995 1996commit e65bb38720c8990684ce24bda08b78d8da49cc1b 1997Author: Emmanuele Bassi <ebassi@linux.intel.com> 1998Date: Tue Feb 16 11:38:51 2010 +0000 1999 2000 conform: Use g_assert_cmpint() in cogl-readpixels test 2001 2002 The g_assert_cmpint() macro prints out not just the assertion condition 2003 but also the assertion contents; this is useful to catch wrong values 2004 without incrementing the verbosity of the test itself. 2005 2006 tests/conform/test-cogl-readpixels.c | 18 ++++++++---------- 2007 1 file changed, 8 insertions(+), 10 deletions(-) 2008 2009commit 56f164f8a1c634e2d0ba6ffb5879672d456e1488 2010Author: Emmanuele Bassi <ebassi@linux.intel.com> 2011Date: Mon Feb 15 19:03:37 2010 +0000 2012 2013 docs: Document SWAP_EVENTS feature flag 2014 2015 clutter/clutter-feature.h | 1 + 2016 1 file changed, 1 insertion(+) 2017 2018commit 2fcb644e4fb02375bdf8b1f54677bcde7abdceba 2019Author: Chris Lord <chris@linux.intel.com> 2020Date: Mon Feb 15 18:53:58 2010 +0000 2021 2022 [stage] Fix some races to do with window resizing 2023 2024 When we resize, we relied on the stage's allocate to re-initialise the 2025 GL viewport. Unfortunately, if we resized within Clutter, the new size 2026 was cached before the window is actually resized, so glViewport wasn't 2027 being called after resizing (some of the time, it's a race condition). 2028 2029 Change the way resizing works slightly so that we only resize when the 2030 geometry size doesn't match our preferred size, and queue a relayout on 2031 ConfigureNotify so the glViewport gets called. 2032 2033 Also change window creation slightly so that setting the size of a 2034 window before it's realized works correctly. 2035 2036 clutter/clutter-stage.c | 36 +++++++++++++++--------------------- 2037 clutter/glx/clutter-stage-glx.c | 19 +++++++++++++++++-- 2038 clutter/x11/clutter-event-x11.c | 13 +++++++++++++ 2039 clutter/x11/clutter-stage-x11.c | 24 ++++++++++-------------- 2040 4 files changed, 55 insertions(+), 37 deletions(-) 2041 2042commit 0d428655e23c18064176aa823db0d7165581ba02 2043Author: Emmanuele Bassi <ebassi@linux.intel.com> 2044Date: Mon Feb 15 16:09:26 2010 +0000 2045 2046 actor: Turn push/pop_internal into Actor methods 2047 2048 Since the "internal" state is global, it will leak onto actors that you 2049 didn't intend for it to, because it applies not just to the actors you 2050 create, but also to any actors *they* create. Eg, if you have a dialog 2051 box class, you might push/pop_internal around creating its buttons, so 2052 that those buttons get marked as internal to the dialog box. But 2053 ctx->internal_child will still be set during the *button*'s constructor 2054 as well, and so, eg, the label and icon inside the button actor will 2055 *also* be marked as internal children, even if that isn't what the 2056 button class wanted. 2057 2058 The least intrusive change at this point is to make push_internal() and 2059 pop_internal() two methods of the Actor class, and take a ClutterActor 2060 pointer as the argument - thus moving the locality of the internal_child 2061 counter to the Actor itself. 2062 2063 http://bugzilla.openedhand.com/show_bug.cgi?id=1990 2064 2065 clutter/clutter-actor.c | 31 ++++++++++++++++++------------- 2066 clutter/clutter-actor.h | 4 ++-- 2067 clutter/clutter-private.h | 2 -- 2068 tests/conform/test-actor-destroy.c | 4 ++-- 2069 4 files changed, 22 insertions(+), 19 deletions(-) 2070 2071commit 2229cafc3833a017b3a107b4f6b207f0a95908f5 2072Author: Emmanuele Bassi <ebassi@linux.intel.com> 2073Date: Mon Feb 15 12:04:50 2010 +0000 2074 2075 stage: Add sanity checks for get_pending_swaps() 2076 2077 The master clock might have a Stage during its destruction phase, 2078 without a StageWindow attached to it. If this happens and we try 2079 to dereference the StageWindow to get its class and call a virtual 2080 function we might experience some slight turbulence and... then... 2081 explode. 2082 2083 http://bugzilla.openedhand.com/show_bug.cgi?id=1987 2084 2085 clutter/clutter-master-clock.c | 21 +++++++++++++-------- 2086 clutter/clutter-stage.c | 10 +++++++++- 2087 2 files changed, 22 insertions(+), 9 deletions(-) 2088 2089commit fef82fae5c716f15cd345fcfbc37f01578a82580 2090Author: Emmanuele Bassi <ebassi@linux.intel.com> 2091Date: Mon Feb 15 11:58:55 2010 +0000 2092 2093 build: Enable experimental COGL API in tests/conform 2094 2095 Enable the experimental API when building the conformance test suite. 2096 2097 tests/conform/Makefile.am | 1 + 2098 tests/conform/test-cogl-pixel-buffer.c | 3 --- 2099 2 files changed, 1 insertion(+), 3 deletions(-) 2100 2101commit 032121ce17fb825592ba435cf260107b52f8196c 2102Author: Emmanuele Bassi <ebassi@linux.intel.com> 2103Date: Mon Feb 15 11:57:48 2010 +0000 2104 2105 build: Disable deprecated API in tests/conform 2106 2107 We should not be using deprecated API in the conformance test suite. 2108 2109 tests/conform/Makefile.am | 1 + 2110 1 file changed, 1 insertion(+) 2111 2112commit c3354cb2c0acc7d80b2cea3f970a1d83a47d585c 2113Author: Emmanuele Bassi <ebassi@linux.intel.com> 2114Date: Mon Feb 15 11:56:34 2010 +0000 2115 2116 conform: Do not use deprecated API 2117 2118 There is no more type-specific ref/unref pairs: it is all under 2119 CoglHandle now. 2120 2121 tests/conform/test-cogl-blend-strings.c | 6 +++--- 2122 tests/conform/test-cogl-multitexture.c | 2 +- 2123 tests/conform/test-cogl-texture-mipmaps.c | 2 +- 2124 3 files changed, 5 insertions(+), 5 deletions(-) 2125 2126commit d607400f01be1c1e26f54b3d83794e0d246e8db0 2127Author: Emmanuele Bassi <ebassi@linux.intel.com> 2128Date: Mon Feb 15 11:45:35 2010 +0000 2129 2130 x11: Do not set pid or title on foreign windows 2131 2132 If a StageX11 is using a foreign window we should not need to set the 2133 _NET_WM_PID or the WM_TITLE properies. 2134 2135 http://bugzilla.openedhand.com/show_bug.cgi?id=1989 2136 2137 clutter/x11/clutter-stage-x11.c | 6 +++--- 2138 1 file changed, 3 insertions(+), 3 deletions(-) 2139 2140commit 89191e8bbc591f33dd0f45e2317f31eeaa7d4023 2141Author: Emmanuele Bassi <ebassi@linux.intel.com> 2142Date: Mon Feb 15 11:44:02 2010 +0000 2143 2144 docs: Mention signal-swapped-after modifier 2145 2146 The signal-swapped-after:: modifier for signal connection inside the 2147 clutter_actor_animate* variadic arguments functions is not mentioned in 2148 the documentation. 2149 2150 clutter/clutter-animation.c | 34 ++++++++++++++++++++++++---------- 2151 1 file changed, 24 insertions(+), 10 deletions(-) 2152 2153commit 262782feae4e8130321be414f7aac9141ae22eab 2154Author: Damien Lespiau <damien.lespiau@intel.com> 2155Date: Mon Feb 8 19:18:36 2010 +0000 2156 2157 docs: Add 2010 in COGL's Copyright notice 2158 2159 While at it, fix the usage of <year> in <copyright> to let the 2160 stylesheet do the collation when having several years. 2161 2162 doc/reference/clutter/clutter-docs.xml.in | 7 +++++-- 2163 doc/reference/cogl/cogl-docs.xml.in | 1 + 2164 2 files changed, 6 insertions(+), 2 deletions(-) 2165 2166commit 01bf50905689b363877f85942403cdc947f8c82c 2167Author: Damien Lespiau <damien.lespiau@intel.com> 2168Date: Fri Feb 12 17:24:15 2010 +0000 2169 2170 cogl-buffer: fix compilation for GL ES 2171 2172 In the frenzy of the last 10mins before API freeze, I obviously forgot 2173 to update the OpenGL path for _cogl_buffer_hints_to_gl_enum(). This 2174 commit fixes this. 2175 2176 clutter/cogl/cogl/cogl-buffer.c | 15 +++++---------- 2177 1 file changed, 5 insertions(+), 10 deletions(-) 2178 2179commit e668a2f228acb1f38853eea4245f87e10e82fe23 2180Author: Neil Roberts <neil@linux.intel.com> 2181Date: Fri Feb 12 15:33:56 2010 +0000 2182 2183 cogl-atlas-texture: Flush the journal before adding a new texture 2184 2185 When the atlas is reorganised we could potentially be moving around 2186 textures that are already referenced in the journal. We therefore need 2187 to flush the journal otherwise they will be rendered with incorrect 2188 texture coordinates. We also need to flush the journal even if we are 2189 not reorganizing so that we can rely on the old texture contents 2190 remaining in the atlas after migrating a texture out. 2191 2192 clutter/cogl/cogl/cogl-atlas-texture.c | 26 +++++++++++++++++++++++++- 2193 1 file changed, 25 insertions(+), 1 deletion(-) 2194 2195commit 4be4f56bdf463ccac89c7068b47ba1450bee95ee 2196Author: Neil Roberts <neil@linux.intel.com> 2197Date: Fri Feb 12 10:08:51 2010 +0000 2198 2199 cogl-sub-texture: Optimise taking a sub texture of a sub texture 2200 2201 When creating a Cogl sub-texture, if the full texture is also a sub 2202 texture it will now just offset the x and y and reference the full 2203 texture instead. This avoids one level of indirection when rendering 2204 the texture which reduces the chances of getting rounding errors in 2205 the calculations. 2206 2207 clutter/cogl/cogl/cogl-sub-texture-private.h | 17 +++++++++++++++-- 2208 clutter/cogl/cogl/cogl-sub-texture.c | 29 +++++++++++++++++++++++------ 2209 clutter/cogl/cogl/cogl-texture.h | 4 ++++ 2210 tests/conform/test-cogl-sub-texture.c | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------- 2211 4 files changed, 99 insertions(+), 40 deletions(-) 2212 2213commit 2018b5b16750b090c5592ebd5262fc66d809183e 2214Author: Emmanuele Bassi <ebassi@linux.intel.com> 2215Date: Fri Feb 12 16:24:27 2010 +0000 2216 2217 actor: Split get_paint_opacity() from the type check 2218 2219 Since get_paint_opacity() recurses through the hierarchy it might lead 2220 to a lot of type checks while we walk the parent-child chain. We can 2221 split the recursive function from the public entry point and perform the 2222 type check just once. 2223 2224 clutter/clutter-actor.c | 55 +++++++++++++++++++++++++++++++++++-------------------- 2225 1 file changed, 35 insertions(+), 20 deletions(-) 2226 2227commit 37d51cb78e41ea36f01c049eda6163bddc84ce33 2228Author: Emmanuele Bassi <ebassi@linux.intel.com> 2229Date: Fri Feb 12 16:18:12 2010 +0000 2230 2231 actor: Do not call get_opacity() from get_paint_opacity() 2232 2233 We already have access to the opacity private field, there's no need to 2234 go through the public API. 2235 2236 clutter/clutter-actor.c | 6 +++--- 2237 1 file changed, 3 insertions(+), 3 deletions(-) 2238 2239commit 124f30cccef75feabb0933c074753b392f373e82 2240Author: Emmanuele Bassi <ebassi@linux.intel.com> 2241Date: Fri Feb 12 15:52:07 2010 +0000 2242 2243 docs: Fixes for Cogl 2244 2245 clutter/cogl/cogl/cogl-material.h | 1 + 2246 clutter/cogl/cogl/cogl-pixel-buffer.h | 2 +- 2247 doc/reference/cogl/Makefile.am | 3 ++- 2248 doc/reference/cogl/cogl-sections.txt | 8 ++++---- 2249 4 files changed, 8 insertions(+), 6 deletions(-) 2250 2251commit 27e6c3b1e0db6fcb36a8f7e44e457b672ee34565 2252Author: Emmanuele Bassi <ebassi@linux.intel.com> 2253Date: Fri Feb 12 14:46:43 2010 +0000 2254 2255 build: Use -Wuninitialized instead of -Wno-uninitialized 2256 2257 We want to be warned about uninitialized variables. 2258 2259 configure.ac | 2 +- 2260 1 file changed, 1 insertion(+), 1 deletion(-) 2261 2262commit 00c4bfc3c69ba1c1c37852392b46c0fe601a98a1 2263Author: Emmanuele Bassi <ebassi@linux.intel.com> 2264Date: Fri Feb 12 14:45:49 2010 +0000 2265 2266 analysis: Interactive tests 2267 2268 Abort if test-behave was passed the wrong type of behaviour to test. 2269 2270 tests/interactive/test-behave.c | 4 ++++ 2271 1 file changed, 4 insertions(+) 2272 2273commit 46182233c031c480b5d4d1f6109ab28a6199d369 2274Author: Emmanuele Bassi <ebassi@linux.intel.com> 2275Date: Fri Feb 12 14:45:04 2010 +0000 2276 2277 analysis: Conformance tests 2278 2279 Initialize ClutterPathNote members to 0 using "{ 0, }". 2280 2281 tests/conform/test-path.c | 14 +++++++------- 2282 1 file changed, 7 insertions(+), 7 deletions(-) 2283 2284commit 78f1f508af88ccd9652d38811a4ebc6662c566dd 2285Author: Emmanuele Bassi <ebassi@linux.intel.com> 2286Date: Thu Feb 11 15:24:41 2010 +0000 2287 2288 analysis: x11: ClutterEvent 2289 2290 Remove an unused variable. 2291 2292 clutter/x11/clutter-event-x11.c | 3 --- 2293 1 file changed, 3 deletions(-) 2294 2295commit 081696fdb5d83c41ed201277db272572eb534db2 2296Author: Emmanuele Bassi <ebassi@linux.intel.com> 2297Date: Thu Feb 11 15:24:17 2010 +0000 2298 2299 analysis: CoglPangoRenderer 2300 2301 Remove unused variables. 2302 2303 clutter/cogl/pango/cogl-pango-render.c | 17 +++++++---------- 2304 1 file changed, 7 insertions(+), 10 deletions(-) 2305 2306commit 2d8bdf9e5ebd101b40854e0066b06037dd261ea5 2307Author: Emmanuele Bassi <ebassi@linux.intel.com> 2308Date: Thu Feb 11 15:20:25 2010 +0000 2309 2310 analysis: ClutterTimeoutPool 2311 2312 Do not pre-initialize the list iterator, the for loop will do it for us. 2313 2314 clutter/clutter-timeout-pool.c | 2 +- 2315 1 file changed, 1 insertion(+), 1 deletion(-) 2316 2317commit 9c8f8818784ba7c709c70ead6d8e103ee28d0c8c 2318Author: Emmanuele Bassi <ebassi@linux.intel.com> 2319Date: Thu Feb 11 15:20:07 2010 +0000 2320 2321 analysis: ClutterTimeline 2322 2323 Remove an unused variable. 2324 2325 clutter/clutter-timeline.c | 4 ---- 2326 1 file changed, 4 deletions(-) 2327 2328commit 65af411cb4675eab722fe16acc93fa6e7183e3c8 2329Author: Emmanuele Bassi <ebassi@linux.intel.com> 2330Date: Thu Feb 11 15:19:46 2010 +0000 2331 2332 analysis: ClutterTexture 2333 2334 Remove unused variables. 2335 2336 clutter/clutter-texture.c | 25 +++++++++---------------- 2337 1 file changed, 9 insertions(+), 16 deletions(-) 2338 2339commit 09644e4bb6cff70d2c9a59bbe9b461b7e53676e2 2340Author: Emmanuele Bassi <ebassi@linux.intel.com> 2341Date: Thu Feb 11 15:19:32 2010 +0000 2342 2343 analysis: ClutterText 2344 2345 Remove unused variables. 2346 2347 clutter/clutter-text.c | 2 -- 2348 1 file changed, 2 deletions(-) 2349 2350commit c2d434e3af3d3b862866273a7dd15541ecbebcd5 2351Author: Emmanuele Bassi <ebassi@linux.intel.com> 2352Date: Thu Feb 11 15:19:18 2010 +0000 2353 2354 analysis: ClutterStage 2355 2356 Remove unused variables. 2357 2358 clutter/clutter-stage.c | 8 +------- 2359 1 file changed, 1 insertion(+), 7 deletions(-) 2360 2361commit 136e8c1acb15c078c0898a834f55666c6f0ef384 2362Author: Emmanuele Bassi <ebassi@linux.intel.com> 2363Date: Thu Feb 11 15:17:53 2010 +0000 2364 2365 analysis: ClutterScriptParser 2366 2367 We parse a JSON value depending on the initial state of an uninitialized 2368 variable. Ouch. 2369 2370 clutter/clutter-script-parser.c | 2 +- 2371 1 file changed, 1 insertion(+), 1 deletion(-) 2372 2373commit 4d9010dd5e9c5a69ba5f7a0c3969ce5ac337c08d 2374Author: Emmanuele Bassi <ebassi@linux.intel.com> 2375Date: Thu Feb 11 15:17:32 2010 +0000 2376 2377 analysis: ClutterRectangle 2378 2379 Remove unused variables. 2380 2381 clutter/clutter-rectangle.c | 10 +++------- 2382 1 file changed, 3 insertions(+), 7 deletions(-) 2383 2384commit 8ba65cfd4aba677530b25d9ab1323d2b1b281282 2385Author: Emmanuele Bassi <ebassi@linux.intel.com> 2386Date: Thu Feb 11 15:17:07 2010 +0000 2387 2388 analysis: ClutterModel 2389 2390 Remove unused variables. 2391 2392 clutter/clutter-model.c | 10 ---------- 2393 1 file changed, 10 deletions(-) 2394 2395commit bea1a0a6a22ecd0ed96720bcecb3919d3fbb2757 2396Author: Emmanuele Bassi <ebassi@linux.intel.com> 2397Date: Thu Feb 11 15:13:40 2010 +0000 2398 2399 analysis: ClutterMain 2400 2401 • Remove unused variables. 2402 2403 • Do not pre-initialize ClutterActor's GType; pre-emptive optimizations 2404 like these are more black magic than real optimization. 2405 2406 clutter/clutter-main.c | 21 ++++++--------------- 2407 1 file changed, 6 insertions(+), 15 deletions(-) 2408 2409commit 66920ea540834c0264434f64a0dcfae4150e625f 2410Author: Emmanuele Bassi <ebassi@linux.intel.com> 2411Date: Thu Feb 11 15:13:20 2010 +0000 2412 2413 analysis: ClutterInterval 2414 2415 Remove unused variables. 2416 2417 clutter/clutter-interval.c | 8 -------- 2418 1 file changed, 8 deletions(-) 2419 2420commit 853f9941da5f40b936307ce45f67265f978d9c2b 2421Author: Emmanuele Bassi <ebassi@linux.intel.com> 2422Date: Thu Feb 11 15:11:51 2010 +0000 2423 2424 analysis: ClutterBoxLayout 2425 2426 Remove an useless assignment. The n_expand_children is not used outside 2427 the extra_space check, and if n_expand_children is 0 then the extra 2428 space we allocate is 0. 2429 2430 clutter/clutter-box-layout.c | 5 +---- 2431 1 file changed, 1 insertion(+), 4 deletions(-) 2432 2433commit cd058562538633962089cd30787b7a98d9733144 2434Author: Emmanuele Bassi <ebassi@linux.intel.com> 2435Date: Thu Feb 11 15:11:25 2010 +0000 2436 2437 analysis: ClutterBehaviour 2438 2439 Remove an unused variable. 2440 2441 clutter/clutter-behaviour.c | 5 +---- 2442 1 file changed, 1 insertion(+), 4 deletions(-) 2443 2444commit 6dc0e9632cc2597240d9e42c98cd567dbcc1dbec 2445Author: Emmanuele Bassi <ebassi@linux.intel.com> 2446Date: Thu Feb 11 15:09:51 2010 +0000 2447 2448 analysis: ClutterAnimation 2449 2450 • Remove one unused variable. 2451 2452 • We ignore the result of get_timeline_internal() so we need to tell 2453 the compiler that - though a better solution would be to split the 2454 timeline implicit creation into its own function. 2455 2456 clutter/clutter-animation.c | 10 ++++++---- 2457 1 file changed, 6 insertions(+), 4 deletions(-) 2458 2459commit a287ca7a2824efef2608877555711c408122a400 2460Author: Emmanuele Bassi <ebassi@linux.intel.com> 2461Date: Thu Feb 11 15:09:12 2010 +0000 2462 2463 analysis: ClutterAnimator/2 2464 2465 Clean up an unused variable. 2466 2467 clutter/clutter-animator.c | 4 +--- 2468 1 file changed, 1 insertion(+), 3 deletions(-) 2469 2470commit 667222c301ca0f19c570938055208e564e4d02ef 2471Author: Emmanuele Bassi <ebassi@linux.intel.com> 2472Date: Thu Feb 11 15:08:19 2010 +0000 2473 2474 analysis: ClutterAnimator/1 2475 2476 Do not de-reference a void*; use a temporary variable -- after 2477 checking the contents of the pointer. This actually simplifies 2478 the readability and avoids pulling a Lisp with the parentheses. 2479 2480 clutter/clutter-animator.c | 10 +++++++++- 2481 1 file changed, 9 insertions(+), 1 deletion(-) 2482 2483commit fcd3cfc0bfc656d63088a443355b30e7b50d2850 2484Author: Emmanuele Bassi <ebassi@linux.intel.com> 2485Date: Thu Feb 11 15:07:38 2010 +0000 2486 2487 analysis: ClutterAlpha 2488 2489 Clean up unused variables. 2490 2491 clutter/clutter-alpha.c | 12 ++---------- 2492 1 file changed, 2 insertions(+), 10 deletions(-) 2493 2494commit aa6d7a30291c199fc1d26a93574d88c027367bf0 2495Author: Emmanuele Bassi <ebassi@linux.intel.com> 2496Date: Thu Feb 11 15:05:18 2010 +0000 2497 2498 analysis: ClutterActor 2499 2500 Clean up ClutterActor for unused variables. 2501 2502 clutter/clutter-actor.c | 12 +----------- 2503 1 file changed, 1 insertion(+), 11 deletions(-) 2504 2505commit 7a372bc0011b6301cc8b46767493a23218a67cff 2506Author: Neil Roberts <neil@linux.intel.com> 2507Date: Fri Feb 12 14:26:33 2010 +0000 2508 2509 cogl: Cache the value for GL_MAX_TEXTURE_UNITS 2510 2511 The function _cogl_get_max_texture_units is called quite often while 2512 rendering and it returns a constant value so we might as well cache 2513 the result. Calling glGetInteger on Mesa can be expensive because it 2514 flushes a lot of state. 2515 2516 clutter/cogl/cogl/cogl-context.c | 2 ++ 2517 clutter/cogl/cogl/cogl-context.h | 4 ++++ 2518 clutter/cogl/cogl/cogl.c | 12 +++++++++--- 2519 3 files changed, 15 insertions(+), 3 deletions(-) 2520 2521commit 22c33b2fea1fd60239280aa1f4fd112f533688aa 2522Author: Robert Bragg <robert@linux.intel.com> 2523Date: Thu Feb 11 16:12:26 2010 +0000 2524 2525 cogl: resolves some low hanging issues flagged by clang 2526 2527 An initial pass over the Cogl source code using the Clang static 2528 analysis tool flagged a few low hanging issues such as un-used variables 2529 or redundant initializing of variables which this patch fixes. 2530 2531 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 9 ++------- 2532 clutter/cogl/cogl/cogl-texture.c | 8 ++++---- 2533 2 files changed, 6 insertions(+), 11 deletions(-) 2534 2535commit 18305cbd98e02ab139beef769cbc90a2121bd1f5 2536Author: Robert Bragg <robert@linux.intel.com> 2537Date: Thu Feb 11 15:33:01 2010 +0000 2538 2539 cogl_rectangle: avoid redundant copy of geometry 2540 2541 All the cogl_rectangle* APIs normalize their input into into an array of 2542 _CoglMutiTexturedRect rectangles and pass these on to our work horse; 2543 _cogl_rectangles_with_multitexture_coords. The definition of 2544 _CoglMutiTexturedRect had 4 separate float members, x_1, y_1, x_2 and 2545 y_2 which meant for some common cases we were having to copy out from an 2546 array into these members. We are now able to simply point into the users 2547 array avoiding a copy which seems desirable when submiting lots of 2548 rectangles. 2549 2550 clutter/cogl/cogl/cogl-journal-private.h | 5 +---- 2551 clutter/cogl/cogl/cogl-journal.c | 31 +++++++++++++++++++------------ 2552 clutter/cogl/cogl/cogl-primitives.c | 135 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------- 2553 3 files changed, 91 insertions(+), 80 deletions(-) 2554 2555commit 5f18fc928d85499d6ee2ac433dde247286e2de4e 2556Author: Robert Bragg <robert@linux.intel.com> 2557Date: Wed Feb 10 22:47:49 2010 +0000 2558 2559 cogl: explicitly mark cogl_<object>_ref/unref APIs as deprecated 2560 2561 This uses the G_GNUC_DEPRECATED macros to mark the 2562 cogl_{texture,vertex_buffer,shader}_ref and unref APIs as deprecated. 2563 Since this flagged that cogl-pango-display-list.c and 2564 clutter-glx-texture-pixmap.c were still using deprecated _ref/_unref 2565 APIs they have now been changed to use the cogl_handle_ref/unref API 2566 instead. 2567 2568 clutter/cogl/cogl/cogl-shader.h | 8 ++++++-- 2569 clutter/cogl/cogl/cogl-texture.h | 4 ++-- 2570 clutter/cogl/cogl/cogl-vertex-buffer.h | 4 ++-- 2571 clutter/cogl/pango/cogl-pango-display-list.c | 8 ++++---- 2572 clutter/glx/clutter-glx-texture-pixmap.c | 2 +- 2573 5 files changed, 15 insertions(+), 11 deletions(-) 2574 2575commit 48660349dbcabdde05fc9e1334734bcc62bb790e 2576Author: Robert Bragg <robert@linux.intel.com> 2577Date: Wed Feb 10 22:30:37 2010 +0000 2578 2579 cogl: cleanly separate primitives + paths code 2580 2581 The function prototypes for the primitives API were spread between 2582 cogl-path.h and cogl-texture.h and should have been in a 2583 cogl-primitives.h. 2584 2585 As well as shuffling the prototypes around into more sensible places 2586 this commit splits the cogl-path API out from cogl-primitives.c into 2587 a cogl-path.c 2588 2589 clutter/cogl/cogl/Makefile.am | 3 + 2590 clutter/cogl/cogl/cogl-internal.h | 28 +++++ 2591 clutter/cogl/cogl/cogl-path.c | 1121 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2592 clutter/cogl/cogl/cogl-path.h | 33 ++---- 2593 clutter/cogl/cogl/cogl-primitives.c | 1078 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 2594 clutter/cogl/cogl/cogl-primitives.h | 188 +++++++++++++++++++++++++++------ 2595 clutter/cogl/cogl/cogl-texture.h | 133 ----------------------- 2596 clutter/cogl/cogl/cogl.h | 1 + 2597 8 files changed, 1316 insertions(+), 1269 deletions(-) 2598 2599commit 9f5a3e14451ed77f47260bbd6a1b2271e8003361 2600Author: Robert Bragg <robert@linux.intel.com> 2601Date: Wed Feb 10 18:18:30 2010 +0000 2602 2603 cogl: remove redundant _cogl_journal_flush prototype 2604 2605 There was a redundant _cogl_journal_flush function prototype in 2606 cogl-primitives.h 2607 2608 clutter/cogl/cogl/cogl-clip-stack.c | 1 + 2609 clutter/cogl/cogl/cogl-framebuffer.c | 1 + 2610 clutter/cogl/cogl/cogl-journal-private.h | 5 +++-- 2611 clutter/cogl/cogl/cogl-material.c | 1 + 2612 clutter/cogl/cogl/cogl-primitives.h | 3 --- 2613 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 1 + 2614 clutter/cogl/cogl/cogl-texture-2d.c | 1 + 2615 clutter/cogl/cogl/cogl-vertex-buffer.c | 1 + 2616 clutter/cogl/cogl/driver/gl/cogl-program.c | 1 + 2617 9 files changed, 10 insertions(+), 5 deletions(-) 2618 2619commit 7edcbaa1f9444848fcaac052557f7c444e3905e0 2620Author: Robert Bragg <robert@linux.intel.com> 2621Date: Wed Feb 10 01:57:32 2010 +0000 2622 2623 cogl: improves header and coding style consistency 2624 2625 We've had complaints that our Cogl code/headers are a bit "special" so 2626 this is a first pass at tidying things up by giving them some 2627 consistency. These changes are all consistent with how new code in Cogl 2628 is being written, but the style isn't consistently applied across all 2629 code yet. 2630 2631 There are two parts to this patch; but since each one required a large 2632 amount of effort to maintain tidy indenting it made sense to combine the 2633 changes to reduce the time spent re indenting the same lines. 2634 2635 The first change is to use a consistent style for declaring function 2636 prototypes in headers. Cogl headers now consistently use this style for 2637 prototypes: 2638 2639 return_type 2640 cogl_function_name (CoglType arg0, 2641 CoglType arg1); 2642 2643 Not everyone likes this style, but it seems that most of the currently 2644 active Cogl developers agree on it. 2645 2646 The second change is to constrain the use of redundant glib data types 2647 in Cogl. Uses of gint, guint, gfloat, glong, gulong and gchar have all 2648 been replaced with int, unsigned int, float, long, unsigned long and char 2649 respectively. When talking about pixel data; use of guchar has been 2650 replaced with guint8, otherwise unsigned char can be used. 2651 2652 The glib types that we continue to use for portability are gboolean, 2653 gint{8,16,32,64}, guint{8,16,32,64} and gsize. 2654 2655 The general intention is that Cogl should look palatable to the widest 2656 range of C programmers including those outside the Gnome community so 2657 - especially for the public API - we want to minimize the number of 2658 foreign looking typedefs. 2659 2660 clutter/cogl/cogl/cogl-atlas-texture.c | 52 +++++++++++++++--------------- 2661 clutter/cogl/cogl/cogl-atlas.c | 22 +++++++------ 2662 clutter/cogl/cogl/cogl-atlas.h | 18 ++++++----- 2663 clutter/cogl/cogl/cogl-bitmap-fallback.c | 82 ++++++++++++++++++++++++------------------------ 2664 clutter/cogl/cogl/cogl-bitmap-pixbuf.c | 60 +++++++++++++++++------------------ 2665 clutter/cogl/cogl/cogl-bitmap-private.h | 30 +++++++++--------- 2666 clutter/cogl/cogl/cogl-bitmap.c | 34 ++++++++++---------- 2667 clutter/cogl/cogl/cogl-bitmap.h | 15 +++++---- 2668 clutter/cogl/cogl/cogl-blend-string.c | 12 +++---- 2669 clutter/cogl/cogl/cogl-blend-string.h | 4 +-- 2670 clutter/cogl/cogl/cogl-buffer-private.h | 14 ++++----- 2671 clutter/cogl/cogl/cogl-buffer.c | 8 ++--- 2672 clutter/cogl/cogl/cogl-buffer.h | 26 +++++++-------- 2673 clutter/cogl/cogl/cogl-clip-stack.c | 16 +++++----- 2674 clutter/cogl/cogl/cogl-clip-stack.h | 14 ++++++--- 2675 clutter/cogl/cogl/cogl-color.h | 75 +++++++++++++++++++++++++++----------------- 2676 clutter/cogl/cogl/cogl-context.c | 2 +- 2677 clutter/cogl/cogl/cogl-context.h | 10 +++--- 2678 clutter/cogl/cogl/cogl-debug.c | 8 ++--- 2679 clutter/cogl/cogl/cogl-debug.h | 4 +-- 2680 clutter/cogl/cogl/cogl-feature-private.c | 19 +++++------ 2681 clutter/cogl/cogl/cogl-feature-private.h | 14 ++++----- 2682 clutter/cogl/cogl/cogl-fixed.c | 24 +++++++------- 2683 clutter/cogl/cogl/cogl-fixed.h | 72 +++++++++++++++++++++++++++--------------- 2684 clutter/cogl/cogl/cogl-handle.h | 2 +- 2685 clutter/cogl/cogl/cogl-internal.h | 32 ++++++++++++------- 2686 clutter/cogl/cogl/cogl-journal.c | 26 +++++++-------- 2687 clutter/cogl/cogl/cogl-material-private.h | 67 ++++++++++++++++++++++----------------- 2688 clutter/cogl/cogl/cogl-material.c | 22 ++++++------- 2689 clutter/cogl/cogl/cogl-material.h | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------- 2690 clutter/cogl/cogl/cogl-matrix.h | 110 +++++++++++++++++++++++++++++++++++----------------------------- 2691 clutter/cogl/cogl/cogl-path.h | 138 +++++++++++++++++++++++++++++++++++++++++++++----------------------------------- 2692 clutter/cogl/cogl/cogl-pixel-buffer-private.h | 9 +++--- 2693 clutter/cogl/cogl/cogl-pixel-buffer.c | 53 ++++++++++++++++--------------- 2694 clutter/cogl/cogl/cogl-pixel-buffer.h | 46 +++++++++++++-------------- 2695 clutter/cogl/cogl/cogl-primitives.c | 48 ++++++++++++++-------------- 2696 clutter/cogl/cogl/cogl-primitives.h | 13 ++++---- 2697 clutter/cogl/cogl/cogl-shader.h | 96 ++++++++++++++++++++++++++++++++++---------------------- 2698 clutter/cogl/cogl/cogl-sub-texture-private.h | 14 +++++---- 2699 clutter/cogl/cogl/cogl-sub-texture.c | 70 ++++++++++++++++++++--------------------- 2700 clutter/cogl/cogl/cogl-texture-2d-private.h | 4 +-- 2701 clutter/cogl/cogl/cogl-texture-2d-sliced-private.h | 6 ++-- 2702 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 163 +++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------- 2703 clutter/cogl/cogl/cogl-texture-2d.c | 34 ++++++++++---------- 2704 clutter/cogl/cogl/cogl-texture-private.h | 6 ++-- 2705 clutter/cogl/cogl/cogl-texture.c | 106 ++++++++++++++++++++++++++++++------------------------------- 2706 clutter/cogl/cogl/cogl-texture.h | 220 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------- 2707 clutter/cogl/cogl/cogl-types.h | 15 ++++++--- 2708 clutter/cogl/cogl/cogl-util.c | 30 +++++++++--------- 2709 clutter/cogl/cogl/cogl-vertex-buffer-private.h | 2 +- 2710 clutter/cogl/cogl/cogl-vertex-buffer.c | 18 +++++------ 2711 clutter/cogl/cogl/cogl-vertex-buffer.h | 6 ++-- 2712 clutter/cogl/cogl/cogl.c | 52 +++++++++++++++--------------- 2713 clutter/cogl/cogl/cogl.h | 310 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------- 2714 clutter/cogl/cogl/driver/gl/cogl-program.c | 18 +++++------ 2715 clutter/cogl/cogl/driver/gl/cogl-shader.c | 2 +- 2716 clutter/cogl/cogl/driver/gl/cogl-texture-driver.c | 2 +- 2717 clutter/cogl/cogl/driver/gl/cogl.c | 8 ++--- 2718 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 6 ++-- 2719 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h | 12 +++---- 2720 clutter/cogl/cogl/driver/gles/cogl-program.c | 42 ++++++++++++------------- 2721 clutter/cogl/cogl/driver/gles/cogl-shader.c | 4 +-- 2722 clutter/cogl/cogl/driver/gles/cogl-texture-driver.c | 4 +-- 2723 clutter/cogl/doc/CODING_STYLE | 49 +++++++++++++++++++++++++++++ 2724 64 files changed, 1491 insertions(+), 1184 deletions(-) 2725 2726commit 8c9472bc4c0350bc28f6ca152e82a0a507063d19 2727Author: Robert Bragg <robert@linux.intel.com> 2728Date: Fri Feb 5 16:32:19 2010 +0000 2729 2730 cogl: deprecates cogl_check_extension 2731 2732 OpenGL is an implementation detail for Cogl so it's not appropriate to 2733 expose OpenGL extensions through the Cogl API. 2734 2735 Note: Clutter is currently still using this API, because it is still 2736 doing raw GL calls in ClutterGLXTexturePixmap, so this introduces a 2737 couple of (legitimate) build warnings while compiling Clutter. 2738 2739 clutter/cogl/cogl/cogl-feature-private.c | 4 ++-- 2740 clutter/cogl/cogl/cogl-internal.h | 1 + 2741 clutter/cogl/cogl/cogl.c | 32 ++++++++++++++++++++++++++++++++ 2742 clutter/cogl/cogl/cogl.h | 11 ++++++++++- 2743 clutter/cogl/cogl/driver/gl/cogl.c | 31 +++---------------------------- 2744 clutter/cogl/cogl/driver/gles/cogl.c | 25 ------------------------- 2745 clutter/glx/clutter-backend-glx.c | 6 +++--- 2746 clutter/glx/clutter-glx-texture-pixmap.c | 5 +++-- 2747 8 files changed, 54 insertions(+), 61 deletions(-) 2748 2749commit b898f0e227aeabeb0513d1228a8f432c467d95b9 2750Author: Robert Bragg <robert@linux.intel.com> 2751Date: Tue Feb 9 19:34:32 2010 +0000 2752 2753 never presume queuing redraws on invisible actors is redundant 2754 2755 This replaces code like this: 2756 if (CLUTTER_ACTOR_IS_VISIBLE (self)) 2757 clutter_actor_queue_redraw (self); 2758 with: 2759 clutter_actor_queue_redraw (self); 2760 2761 clutter_actor_queue_redraw internally knows what can be optimized when 2762 the actor is not visible, but it also knows that the queue_redraw signal 2763 must always be sent in case a ClutterClone is cloning a hidden actor. 2764 2765 clutter/clutter-actor.c | 11 ++++------- 2766 clutter/clutter-group.c | 12 ++++-------- 2767 clutter/clutter-rectangle.c | 9 +++------ 2768 clutter/clutter-stage.c | 8 +++----- 2769 clutter/clutter-text.c | 30 ++++++++++-------------------- 2770 clutter/clutter-texture.c | 9 +++------ 2771 6 files changed, 27 insertions(+), 52 deletions(-) 2772 2773commit bfb271b40332240f40c79dabf8f78f7a68293286 2774Author: Robert Bragg <robert@linux.intel.com> 2775Date: Tue Feb 9 19:19:44 2010 +0000 2776 2777 box: port a ClutterGroup::foreach fix to ClutterBox 2778 2779 ClutterGroup::foreach was recently changed (ref: ce030a3fce) to use 2780 g_list_foreach() to iterate the children instead of manually iterating 2781 the list so it would safely handle calls like: 2782 2783 clutter_container_foreach (container, clutter_actor_destroy); 2784 2785 (In this example clutter_actor_destroy will result in the current 2786 list item being iterated being freed.) 2787 2788 clutter/clutter-box.c | 7 +++++-- 2789 1 file changed, 5 insertions(+), 2 deletions(-) 2790 2791commit 60a4664d6e4f67b5e527cc2ecd190a538ed994ec 2792Author: Robert Bragg <robert@linux.intel.com> 2793Date: Tue Feb 9 19:06:59 2010 +0000 2794 2795 box: Adds missing copyright header 2796 2797 Adds a Copyright (C) 2009,2010 Intel Corporation header 2798 2799 clutter/clutter-box.c | 21 +++++++++++++++++++++ 2800 1 file changed, 21 insertions(+) 2801 2802commit 4355621aebb075bc34b50a89f8ba99e8b8e12ff7 2803Author: Robert Bragg <robert@linux.intel.com> 2804Date: Tue Feb 9 18:54:28 2010 +0000 2805 2806 group: make it comparable to ClutterBox 2807 2808 There is a lot of duplication between ClutterGroup and ClutterBox so 2809 this makes the two files diff-able so that new fixes can easily be 2810 ported to both and bug fixes missing in one or the other can be spotted 2811 more easily. This doesn't change the behaviour of either actor; it's 2812 really just a shuffle around of code and normalizes the coding style to 2813 make the files comparable. 2814 2815 This has already uncovered one bug in ClutterBox, and also highlights 2816 a bug in ClutterGroup + many other actors: 2817 2818 1) ClutterGroup::real_foreach was recently changed to use 2819 g_list_foreach instead of manually iterating the child list so it can 2820 safely handle calls like: 2821 clutter_container_foreach (container, clutter_actor_destroy); 2822 ClutterBox is still manually iterating the list. 2823 2824 2) In ClutterGroup we guard _queue_redraw() calls like this: 2825 if (CLUTTER_ACTOR_IS_VISIBLE (container)) 2826 clutter_actor_queue_redraw (CLUTTER_ACTOR (container)); 2827 In ClutterBox we don't: 2828 I think ClutterBox is correct here because 2829 clutter_actor_queue_redraw already optimizes the case where the 2830 actor's not visible, but it also considers that the actor may be 2831 cloned and so the guard in ClutterGroup could break clones. This 2832 actually highlights a wider clutter bug since the same kinds of 2833 guards can be found in all other clutter actors. 2834 2835 clutter/clutter-box.c | 1 - 2836 clutter/clutter-group.c | 366 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------- 2837 2 files changed, 167 insertions(+), 200 deletions(-) 2838 2839commit 34c7611407154fcbb61c82c959c2a38972c2534f 2840Author: Emmanuele Bassi <ebassi@linux.intel.com> 2841Date: Fri Feb 12 11:38:47 2010 +0000 2842 2843 docs: Update the backend HACKING file 2844 2845 Clarify the Backend::create_context() vfunc role, and the 2846 Stage::realize() vfunc with regards to creating the GL/GLES 2847 context. 2848 2849 doc/HACKING.backends | 12 ++++++------ 2850 1 file changed, 6 insertions(+), 6 deletions(-) 2851 2852commit 44818a48273baa7dabfbb9370ac218ae8b0cf38e 2853Author: Neil Roberts <neil@linux.intel.com> 2854Date: Thu Feb 11 14:20:48 2010 +0000 2855 2856 cogl: Add a fallback for when the signbit macro is missing 2857 2858 The signbit macro is defined in C99 so it should be available but some 2859 versions of GCC don't appear to define it by default. If it's not 2860 available we can use a hack to test the bit directly. 2861 2862 clutter/cogl/cogl/cogl-sub-texture.c | 2 +- 2863 clutter/cogl/cogl/cogl-texture-2d.c | 2 +- 2864 clutter/cogl/cogl/cogl-util.h | 27 ++++++++++++++++++++++++++- 2865 3 files changed, 28 insertions(+), 3 deletions(-) 2866 2867commit 59463c2213b79a553d3d7999bb56106fb7c5a4ad 2868Author: Emmanuele Bassi <ebassi@linux.intel.com> 2869Date: Wed Feb 10 17:20:31 2010 +0000 2870 2871 Do a sanity check on _clutter_do_pick() arguments 2872 2873 We should check that the passed ClutterStage pointer is indeed: a) still 2874 valid and b) a Stage. 2875 2876 clutter/clutter-main.c | 1 + 2877 1 file changed, 1 insertion(+) 2878 2879commit d0734bc4741d77e7c239cf860b73b49e9564aa91 2880Author: Emmanuele Bassi <ebassi@linux.intel.com> 2881Date: Wed Feb 10 17:12:27 2010 +0000 2882 2883 input-device: Do not pick() on NULL stages 2884 2885 If the stage associated to the InputDevice is not set we should 2886 short-circuit out and return NULL. This will result in a pick() 2887 done on the event's stage - if applicable. 2888 2889 http://bugzilla.moblin.org/show_bug.cgi?id=9602 2890 2891 clutter/clutter-input-device.c | 6 ++++-- 2892 1 file changed, 4 insertions(+), 2 deletions(-) 2893 2894commit 4208169ab48795ca8f10287bd67031e161bf1f82 2895Author: Emmanuele Bassi <ebassi@linux.intel.com> 2896Date: Wed Feb 10 15:38:41 2010 +0000 2897 2898 text: Bump up the preferred height 2899 2900 Instead of returning a sub-pixel height round up the preferred height to 2901 the nearest integral value that is not less than the size reported by 2902 Pango, once converted in pixels. 2903 2904 clutter/clutter-text.c | 2 +- 2905 1 file changed, 1 insertion(+), 1 deletion(-) 2906 2907commit f54b29a0c0c182f1396abd9df7d46d99b81a133d 2908Author: Emmanuele Bassi <ebassi@linux.intel.com> 2909Date: Wed Feb 10 15:38:07 2010 +0000 2910 2911 test-text-field: Tone down the border 2912 2913 Use a low opacity for the text field border. 2914 2915 tests/interactive/test-text-field.c | 2 +- 2916 1 file changed, 1 insertion(+), 1 deletion(-) 2917 2918commit 2670fc58710b1d9d1ad5afae7b6ac397e1dc54dd 2919Author: Emmanuele Bassi <ebassi@linux.intel.com> 2920Date: Wed Feb 10 15:37:26 2010 +0000 2921 2922 test-text-field: Use ActorBox methods for the border 2923 2924 Clamp to pixel and use get_size() when painting the border of the text 2925 field. 2926 2927 tests/interactive/test-text-field.c | 4 ++-- 2928 1 file changed, 2 insertions(+), 2 deletions(-) 2929 2930commit 3fdb0a59509aeaeb07c276ebd09df355626cfb92 2931Author: Robert Bragg <robert@linux.intel.com> 2932Date: Wed Feb 10 11:57:58 2010 +0000 2933 2934 uprof: make the Redrawing timer a child of the Master Clock 2935 2936 Previously it was a child of the Mainloop, but it's more closely 2937 a child of the Master Clock. 2938 2939 clutter/clutter-backend.c | 2 +- 2940 1 file changed, 1 insertion(+), 1 deletion(-) 2941 2942commit 1899dbdc270e0bd494d174dd6bfbb9c5d18e174f 2943Author: Robert Bragg <robert@linux.intel.com> 2944Date: Wed Feb 10 12:18:41 2010 +0000 2945 2946 backend-glx: Fix glXQueryVersion test 2947 2948 This fixes some backwards logic for asserting that we have a GLX major 2949 version == 1 and a minor version >= 2. (NB: Although we technically 2950 depend on GLX 1.3 features, we still have to support drivers that report 2951 GLX 1.2 because there are a lot of mesa drivers out there incorrectly 2952 report GLX 1.2 even though they export extensions that depend on GLX 2953 1.3) 2954 2955 clutter/glx/clutter-backend-glx.c | 2 +- 2956 1 file changed, 1 insertion(+), 1 deletion(-) 2957 2958commit ce1bb3d858fd02d6bcfb94b2b8999cfd7d0a4535 2959Author: Neil Roberts <neil@linux.intel.com> 2960Date: Wed Feb 10 12:41:09 2010 +0000 2961 2962 cogl-material: Layers are not equal if the filters aren't equal 2963 2964 A material layer can not be considered equal if it is using different 2965 texture filtering modes. This was causing problems where rectangles 2966 with different filters would end up batched together and then rendered 2967 with the wrong filter mode. 2968 2969 clutter/cogl/cogl/cogl-material.c | 5 +++++ 2970 1 file changed, 5 insertions(+) 2971 2972commit b61c2b510b5f5a72ae6181cdce646d7018fbd996 2973Author: Emmanuele Bassi <ebassi@linux.intel.com> 2974Date: Wed Feb 10 10:58:14 2010 +0000 2975 2976 build: Tweak internal defines for building Clutter 2977 2978 When building Clutter we should: 2979 2980 • disable Cogl deprecated API; 2981 • enable experimental API. 2982 2983 clutter/Makefile.am | 2 ++ 2984 1 file changed, 2 insertions(+) 2985 2986commit 4a9f08639f7127719f5b59ee9287641ba4912063 2987Author: Robert Bragg <robert@linux.intel.com> 2988Date: Wed Jan 20 18:53:36 2010 +0000 2989 2990 debug: Adds CLUTTER_DEBUG=disable-swap-events option 2991 2992 This allows us to forcibly disable the use of the GLX_INTEL_swap_events 2993 extension for testing or debugging purposes. 2994 2995 clutter/clutter-debug.h | 37 +++++++++++++++++++------------------ 2996 clutter/clutter-main.c | 3 ++- 2997 clutter/glx/clutter-backend-glx.c | 3 ++- 2998 3 files changed, 23 insertions(+), 20 deletions(-) 2999 3000commit 5d702853b814445590aafe448bfc8f7993b06638 3001Author: Robert Bragg <robert@linux.intel.com> 3002Date: Thu Nov 12 20:37:01 2009 +0000 3003 3004 glx backend: Adds support for GLX_INTEL_swap_event 3005 3006 If your OpenGL driver supports GLX_INTEL_swap_event that means when 3007 glXSwapBuffers is called it returns immediatly and an XEvent is sent when 3008 the actual swap has finished. 3009 3010 Clutter can use the events that notify swap completion as a means to 3011 throttle rendering in the master clock without blocking the CPU and so it 3012 should help improve the performance of CPU bound applications. 3013 3014 clutter/clutter-feature.h | 3 ++- 3015 clutter/clutter-master-clock.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------- 3016 clutter/clutter-private.h | 2 ++ 3017 clutter/clutter-stage-window.c | 13 +++++++++++++ 3018 clutter/clutter-stage-window.h | 3 +++ 3019 clutter/clutter-stage.c | 8 ++++++++ 3020 clutter/glx/Makefile.am | 2 ++ 3021 clutter/glx/clutter-backend-glx.c | 56 +++++++++++++++++++++++++++++++++++++++++++++----------- 3022 clutter/glx/clutter-backend-glx.h | 3 +++ 3023 clutter/glx/clutter-event-glx.c | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3024 clutter/glx/clutter-event-glx.h | 38 ++++++++++++++++++++++++++++++++++++++ 3025 clutter/glx/clutter-stage-glx.c | 21 +++++++++++++++++++++ 3026 clutter/glx/clutter-stage-glx.h | 2 ++ 3027 clutter/x11/clutter-backend-x11.c | 10 ++++++++++ 3028 clutter/x11/clutter-backend-x11.h | 7 +++++++ 3029 clutter/x11/clutter-event-x11.c | 5 +++++ 3030 doc/HACKING.backends | 8 ++++++++ 3031 17 files changed, 327 insertions(+), 22 deletions(-) 3032 3033commit 848db1ee4cc910542435bbcd3a57933bdf70269e 3034Author: Robert Bragg <robert@linux.intel.com> 3035Date: Thu Jan 14 14:03:23 2010 +0000 3036 3037 glx backend: when running with GLX 1.3 then create GLXWindows for stages 3038 3039 Some extensions only support GLX versions > 1.3 and may not support 3040 old style X Windows as GLXDrawables, so we now create GLXWindows for 3041 stages when possible. 3042 3043 clutter/glx/clutter-backend-glx.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------- 3044 clutter/glx/clutter-backend-glx.h | 1 + 3045 clutter/glx/clutter-stage-glx.c | 28 ++++++++++++++++++++++++++++ 3046 clutter/glx/clutter-stage-glx.h | 1 + 3047 4 files changed, 86 insertions(+), 16 deletions(-) 3048 3049commit ca3ab41a1b12f661fe6eecddfaf5e03b0d94d682 3050Author: Neil Roberts <neil@linux.intel.com> 3051Date: Tue Feb 9 18:33:09 2010 +0000 3052 3053 clutter-backend: Fix the error check in _clutter_backend_create_stage 3054 3055 Commit d2bdd3cb62 fixed some compiler warnings but also broke the 3056 ability to create a stage. Although not having warnings from the 3057 compiler is nice, it is also nice to be able to create a stage so lets 3058 not invert the meaning of the error check. 3059 3060 clutter/clutter-backend.c | 2 +- 3061 1 file changed, 1 insertion(+), 1 deletion(-) 3062 3063commit 7b1925df82fa92fd68623c9a999ece6bf4ddfde3 3064Author: Emmanuele Bassi <ebassi@linux.intel.com> 3065Date: Tue Feb 9 17:07:08 2010 +0000 3066 3067 cogl: Move material_copy() out of the deprecated section 3068 3069 We strongly suggest people should be using cogl_material_copy(), but it 3070 was hidden behind the deprecation guards. 3071 3072 clutter/cogl/cogl/cogl-material.h | 4 ++-- 3073 1 file changed, 2 insertions(+), 2 deletions(-) 3074 3075commit d2bdd3cb62c1cba24619ae843cf087709a02643d 3076Author: Emmanuele Bassi <ebassi@linux.intel.com> 3077Date: Tue Feb 9 16:57:14 2010 +0000 3078 3079 Fix some compiler warnings 3080 3081 GCC complains that some variable might be used uninitialized. 3082 3083 clutter/clutter-backend.c | 6 ++++-- 3084 clutter/clutter-bin-layout.c | 1 + 3085 clutter/clutter-flow-layout.c | 6 ++++++ 3086 clutter/clutter-text.c | 6 ++---- 3087 clutter/cogl/cogl/cogl-matrix-stack.c | 6 +++++- 3088 5 files changed, 18 insertions(+), 7 deletions(-) 3089 3090commit 193c477495488446d2f3d8ab0184f882f3255f48 3091Author: Neil Roberts <neil@linux.intel.com> 3092Date: Tue Feb 9 16:30:28 2010 +0000 3093 3094 cogl-bitmap: Remove const from premult_alpha_last_four_pixels_sse2 3095 3096 The function modifies the pixels pointed by p in-place so the pointer 3097 can not be constant. The compiler was accepting this because the 3098 modification is done from inline assembler. 3099 3100 clutter/cogl/cogl/cogl-bitmap-fallback.c | 2 +- 3101 1 file changed, 1 insertion(+), 1 deletion(-) 3102 3103commit f5d2f58b03bf03b69f6cb92b3bdddb92b8a8ecc2 3104Author: Emmanuele Bassi <ebassi@linux.intel.com> 3105Date: Tue Feb 9 15:29:29 2010 +0000 3106 3107 docs: Clean up the unused symbols for Cogl 3108 3109 Gtk-doc is reporting a lot of false positives in the unused text file, 3110 mostly because of new private files that have been added to Cogl but not 3111 to the gtk-doc ignore list for the Cogl API reference. 3112 3113 Once the false positives have been removed we have a couple of really 3114 missing symbols that should be added to the cogl-sections.txt file. 3115 3116 doc/reference/cogl/Makefile.am | 54 ++++++++++++++++++++++++++++++------------------------ 3117 doc/reference/cogl/cogl-sections.txt | 7 +++++++ 3118 2 files changed, 37 insertions(+), 24 deletions(-) 3119 3120commit ecc5ffe91ace38c9d288251807e721a4cd71b052 3121Author: Bastian Winkler <buz@netbuz.org> 3122Date: Tue Feb 9 15:19:03 2010 +0100 3123 3124 cogl-buffer: Use correct argument types in cogl_buffer_set_data_EXP 3125 3126 offset and size arguments are gsize in cogl-buffer.h 3127 3128 http://bugzilla.openedhand.com/show_bug.cgi?id=1980 3129 3130 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 3131 3132 clutter/cogl/cogl/cogl-buffer.c | 4 ++-- 3133 1 file changed, 2 insertions(+), 2 deletions(-) 3134 3135commit 9aac36b47e43e95d12c8d28bd3671e6f5e000d32 3136Author: Emmanuele Bassi <ebassi@linux.intel.com> 3137Date: Tue Feb 9 14:48:11 2010 +0000 3138 3139 docs: Move some Cogl defines in the private section 3140 3141 The PixelFormat bit and mask #defines should not be used and are there 3142 mostly for convenience, so we can push them to the "private" sub-section 3143 of the API reference. 3144 3145 This pushed Cogl's API reference coverage to 100%. 3146 3147 doc/reference/cogl/cogl-sections.txt | 16 ++++++++-------- 3148 1 file changed, 8 insertions(+), 8 deletions(-) 3149 3150commit 7ebb1e7157ab5d3efbeb37d7879d851adc7da40e 3151Author: Emmanuele Bassi <ebassi@linux.intel.com> 3152Date: Tue Feb 9 14:41:37 2010 +0000 3153 3154 docs: Fixes for Cogl API reference 3155 3156 98% symbol docs coverage. 3157 335 symbols documented. 3158 0 symbols incomplete. 3159 8 not documented. 3160 3161 Not bad, if I may say so. 3162 3163 clutter/cogl/cogl/cogl-buffer.h | 12 +++++++++--- 3164 clutter/cogl/cogl/cogl-color.h | 41 +++++++++++++++++++++++++++++++++++++++++ 3165 clutter/cogl/cogl/cogl-fixed.h | 2 +- 3166 clutter/cogl/cogl/cogl-material-private.h | 2 +- 3167 clutter/cogl/cogl/cogl-matrix.h | 3 ++- 3168 clutter/cogl/cogl/cogl-types.h | 23 ++++++++++++++++++++++- 3169 doc/reference/cogl/cogl-sections.txt | 16 ++++------------ 3170 7 files changed, 80 insertions(+), 19 deletions(-) 3171 3172commit 1d28ed035f360b14cfbf5b01db4ffe2979172cf0 3173Author: Emmanuele Bassi <ebassi@linux.intel.com> 3174Date: Tue Feb 9 13:39:08 2010 +0000 3175 3176 Post-release bump to 1.1.11 3177 3178 configure.ac | 4 ++-- 3179 1 file changed, 2 insertions(+), 2 deletions(-) 3180 3181commit a24d4d21a0eeca771476705ef407d55fdb32e68f 3182Author: Emmanuele Bassi <ebassi@linux.intel.com> 3183Date: Tue Feb 9 12:31:42 2010 +0000 3184 3185 Release 1.1.10 3186 3187 Brown paper bag release. 3188 3189 configure.ac | 4 ++-- 3190 1 file changed, 2 insertions(+), 2 deletions(-) 3191 3192commit 738e73873dd0c05a44f7cb0ad40c8a854e0c75a6 3193Author: Emmanuele Bassi <ebassi@linux.intel.com> 3194Date: Tue Feb 9 12:59:18 2010 +0000 3195 3196 Update NEWS file 3197 3198 NEWS | 19 +++++++++++++++++++ 3199 1 file changed, 19 insertions(+) 3200 3201commit cccf23caa481a239b747d1fdd5e0ca5ae7f6682c 3202Author: Emmanuele Bassi <ebassi@linux.intel.com> 3203Date: Tue Feb 9 11:29:39 2010 +0000 3204 3205 build: Always build conformance tests with debug symbols 3206 3207 Having the conformance test suite build without debug symbols doesn't 3208 make any sense. 3209 3210 tests/conform/Makefile.am | 2 +- 3211 1 file changed, 1 insertion(+), 1 deletion(-) 3212 3213commit e46db37c03b6adae1594729c2c5c86e65701d95b 3214Author: Robert Bragg <robert@linux.intel.com> 3215Date: Tue Feb 9 13:00:39 2010 +0000 3216 3217 conform: fix stack corruption in test-behaviours.c 3218 3219 The test was calling g_object_get to fetch the "opacity-start" property 3220 (unsigned int) into a guint8 local variable. It's a bit of a mean trap 3221 given that the getter function returns guint8 values so this also adds a 3222 comment explaining what's going on. 3223 3224 tests/conform/test-behaviours.c | 11 +++++++---- 3225 1 file changed, 7 insertions(+), 4 deletions(-) 3226 3227commit a02253f19a722dcfbf0a32543dd563127dd7b80e 3228Author: Neil Roberts <neil@linux.intel.com> 3229Date: Tue Feb 9 12:21:10 2010 +0000 3230 3231 cogl-texture-2d: Use _cogl_texture_driver_gen to generate the GL tex 3232 3233 _cogl_texture_driver_gen is needed to set the texture minification 3234 mode to Cogl's default of GL_LINEAR. There was also a line to set this 3235 in _cogl_texture_2d_new_with_size but it wasn't working because it was 3236 called *before* the texture was bound. If the texture was later 3237 rendered with the default material it then it would end up with GL's 3238 default mipmap filtering mode but without mipmaps so it would render 3239 white squares instead. 3240 3241 clutter/cogl/cogl/cogl-texture-2d.c | 3 +-- 3242 1 file changed, 1 insertion(+), 2 deletions(-) 3243 3244commit 1b2ff7eff7e97d8542e35514bfa010be706973ee 3245Author: Neil Roberts <neil@linux.intel.com> 3246Date: Fri Dec 18 21:17:21 2009 +0000 3247 3248 cogl: Use SSE2 when possible for premultiplying 3249 3250 This adds a fast path for premultiplying an RGBA image using SSE2 3251 instructions. SSE registers are 128-bit and we need at least 16-bits 3252 per component for the intermediate result of the multiplication so we 3253 can do two pixels in parallel with one register. The function 3254 interleaves 2 SSE registers to multiply 4 pixels in one function call 3255 with the hope that this will pipeline better. 3256 3257 http://bugzilla.openedhand.com/show_bug.cgi?id=1939 3258 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 3259 3260 clutter/cogl/cogl/cogl-bitmap-fallback.c | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 3261 1 file changed, 103 insertions(+), 1 deletion(-) 3262 3263commit bbb058df40a5e1acf7b8e42049c3cd5d966f762d 3264Author: Emmanuele Bassi <ebassi@linux.intel.com> 3265Date: Tue Feb 9 10:34:41 2010 +0000 3266 3267 actor: Improve readability of raise/lower warnings 3268 3269 • Add the function name in the warning, since the text is the same in 3270 both clutter_actor_raise() and clutter_actor_lower(). 3271 3272 • If an actor has a name then prefer it to the type name. 3273 3274 clutter/clutter-actor.c | 46 +++++++++++++++++++++++++++++----------------- 3275 1 file changed, 29 insertions(+), 17 deletions(-) 3276 3277commit 7664568fff63501339d2cb1682ae1a9f1c27e068 3278Author: Halton Huo <halton.huo@gmail.com> 3279Date: Tue Feb 9 10:21:37 2010 +0000 3280 3281 Remove return from void functions 3282 3283 This patch fixes compilation on suncc. 3284 3285 http://bugzilla.openedhand.com/show_bug.cgi?id=1978 3286 3287 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 3288 3289 clutter/cogl/cogl/cogl-buffer.c | 2 +- 3290 clutter/cogl/cogl/cogl-sub-texture.c | 2 +- 3291 clutter/cogl/cogl/cogl-texture.c | 2 +- 3292 3 files changed, 3 insertions(+), 3 deletions(-) 3293 3294commit a23ce8606860075e35fca28eb82e57e340f2b9b9 3295Author: Emmanuele Bassi <ebassi@linux.intel.com> 3296Date: Mon Feb 8 18:09:14 2010 +0000 3297 3298 Post-release bump to 1.1.9 3299 3300 configure.ac | 2 +- 3301 1 file changed, 1 insertion(+), 1 deletion(-) 3302 3303commit a2889ed0772503dce504ab260fbbf662a0ad25d8 3304Author: Emmanuele Bassi <ebassi@linux.intel.com> 3305Date: Mon Feb 8 17:57:48 2010 +0000 3306 3307 Release Clutter 1.1.8 3308 3309 configure.ac | 2 +- 3310 1 file changed, 1 insertion(+), 1 deletion(-) 3311 3312commit a139bf9c40f88b46055e4cd9754ba51acca97c87 3313Author: Emmanuele Bassi <ebassi@linux.intel.com> 3314Date: Mon Feb 8 17:56:35 2010 +0000 3315 3316 test-animator: Do not use mid-function blocks 3317 3318 The test_animator_properties unit is so small that declaring a 3319 mid-function block for two variables is not that clever. 3320 3321 tests/conform/test-animator.c | 57 ++++++++++++++++++++++++++++----------------------------- 3322 1 file changed, 28 insertions(+), 29 deletions(-) 3323 3324commit 4d9327bbe14c2771896999844df3eac28da75347 3325Author: Emmanuele Bassi <ebassi@linux.intel.com> 3326Date: Mon Feb 8 17:55:29 2010 +0000 3327 3328 animator: Zero the AnimatorKey:value member 3329 3330 The test suite is showing random segfaults because the GValue member of 3331 AnimatorKey is not zero-ed on creation. 3332 3333 clutter/clutter-animator.c | 6 +++--- 3334 1 file changed, 3 insertions(+), 3 deletions(-) 3335 3336commit d62ddc374f88448fbde6db11ed4b10a594ecc5c4 3337Author: Emmanuele Bassi <ebassi@linux.intel.com> 3338Date: Mon Feb 8 17:37:00 2010 +0000 3339 3340 docs: Fixes for ClutterAnimator 3341 3342 clutter/clutter-animator.c | 2 +- 3343 clutter/clutter-animator.h | 16 ++++++++-------- 3344 doc/reference/clutter/clutter-sections.txt | 1 + 3345 3 files changed, 10 insertions(+), 9 deletions(-) 3346 3347commit 9806f78905eea6e7c3b5b1f35b35650a823cb295 3348Author: Emmanuele Bassi <ebassi@linux.intel.com> 3349Date: Mon Feb 8 17:34:11 2010 +0000 3350 3351 Merge me 3352 3353 NEWS | 4 ++++ 3354 1 file changed, 4 insertions(+) 3355 3356commit 814d3acd0730f2e418ccc44d550e1fa369c142fe 3357Author: Emmanuele Bassi <ebassi@linux.intel.com> 3358Date: Mon Feb 8 17:27:20 2010 +0000 3359 3360 docs: Update NEWS 3361 3362 NEWS | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3363 1 file changed, 53 insertions(+) 3364 3365commit 419afc01e8f2c96f7cf5c0962e5c421f8f3a476f 3366Author: Emmanuele Bassi <ebassi@linux.intel.com> 3367Date: Mon Feb 8 17:27:13 2010 +0000 3368 3369 docs: Update the release notes 3370 3371 README | 6 ++++++ 3372 1 file changed, 6 insertions(+) 3373 3374commit c02dded0f6793ad377b566360371c23dbe61b4bc 3375Author: Damien Lespiau <damien.lespiau@intel.com> 3376Date: Mon Feb 8 17:11:43 2010 +0000 3377 3378 cogl-buffer: Use TEXTURE as the only value for CoglBufferUsageHint 3379 3380 We should try to use more explicit defines than GL for our hints. For 3381 now we only support using a CoglBuffer to generate textures. 3382 3383 clutter/cogl/cogl/cogl-buffer.c | 38 +++++++++----------------------------- 3384 clutter/cogl/cogl/cogl-buffer.h | 12 +++--------- 3385 clutter/cogl/cogl/cogl-pixel-buffer.c | 2 +- 3386 tests/conform/test-cogl-pixel-buffer.c | 12 ++++++------ 3387 4 files changed, 19 insertions(+), 45 deletions(-) 3388 3389commit 54a6df22b038b047931dc108df35bc9e097d4e5e 3390Author: Damien Lespiau <damien.lespiau@intel.com> 3391Date: Tue Feb 2 16:44:16 2010 +0000 3392 3393 cogl-buffer: make sure the code compiles on GL ES 3394 3395 OpenGL ES has no PBO extension, so we fallback to using a malloc'ed 3396 buffer. Make sure the OpenGL-only defines don't leak into the OpenGL ES 3397 compilation. 3398 3399 clutter/cogl/cogl/cogl-buffer.c | 28 ++++++++++++++++++++++++++++ 3400 clutter/cogl/cogl/cogl-pixel-buffer.c | 7 +++++++ 3401 clutter/cogl/cogl/cogl-texture.c | 5 ++++- 3402 3 files changed, 39 insertions(+), 1 deletion(-) 3403 3404commit d0fe4795368ddc55411fb081832bfcdfdfeb4314 3405Author: Damien Lespiau <damien.lespiau@intel.com> 3406Date: Tue Feb 2 12:59:51 2010 +0000 3407 3408 cogl-pixel-buffer: Add a fallback path 3409 3410 First, let's add a new public feature called, surprisingly, 3411 COGL_FEATURE_PBOS to check the availability of PBOs and provide a 3412 fallback path when running on older GL implementations or on OpenGL ES 3413 3414 In case the underlying OpenGL implementation does not provide PBOs, we 3415 need a fallback path (a malloc'ed buffer). The CoglPixelBufer 3416 constructors will instanciate a subclass of CoglBuffer that handles 3417 map/unmap and set_data() with a malloc'ed buffer. 3418 3419 The public feature is useful to check before using set_data() on a 3420 buffer as it will mean doing a memcpy() when not supporting PBOs (in 3421 that case, it's better to create the texture directly instead of using a 3422 CoglBuffer). 3423 3424 clutter/cogl/cogl/cogl-pixel-buffer.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 3425 clutter/cogl/cogl/cogl-texture.c | 38 +++++++++++++++++++++++++++----------- 3426 clutter/cogl/cogl/cogl-types.h | 4 +++- 3427 clutter/cogl/cogl/driver/gl/cogl-feature-functions.h | 5 +++++ 3428 4 files changed, 88 insertions(+), 15 deletions(-) 3429 3430commit b5d5821304e8ca15ee4411bf7ff8f26a6a23c855 3431Author: Damien Lespiau <damien.lespiau@intel.com> 3432Date: Fri Jan 22 15:38:31 2010 +0000 3433 3434 tests: Add a test for CoglPixelBuffers 3435 3436 Exercise the whole public CoglBuffer / CoglPixelBuffer and 3437 cogl_texture_new_from_buffer API. 3438 3439 .gitignore | 1 + 3440 tests/conform/Makefile.am | 1 + 3441 tests/conform/test-cogl-pixel-buffer.c | 337 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3442 tests/conform/test-conform-main.c | 3 ++ 3443 4 files changed, 342 insertions(+) 3444 3445commit b7f049495b527547d093ca337588ceb289c9cb2b 3446Author: Damien Lespiau <damien.lespiau@intel.com> 3447Date: Fri Jan 22 15:07:27 2010 +0000 3448 3449 cogl-texture: Add a new constructor to turn CoglBuffers into textures 3450 3451 The only goal of using COGL buffers is to use them to create 3452 textures. cogl_texture_new_from_buffer() is the new symbol to create 3453 textures out of buffers. 3454 3455 clutter/cogl/cogl/cogl-texture.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3456 clutter/cogl/cogl/cogl-texture.h | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3457 doc/reference/cogl/cogl-sections.txt | 3 +++ 3458 3 files changed, 118 insertions(+) 3459 3460commit abbb668163537598790cb3eca564ea19b1e010ad 3461Author: Damien Lespiau <damien.lespiau@intel.com> 3462Date: Sun Jan 10 18:04:29 2010 +0000 3463 3464 cogl-pixel-buffer: add a pixel buffer object class 3465 3466 This subclass of CoglBuffer aims at wrapping PBOs or other system 3467 surfaces like DRM buffer objects. Two constructors are available: 3468 3469 cogl_pixel_buffer_new() with a size when you only care about the size of 3470 the buffer (such a buffer can be used to store several texture data such 3471 as the three planes of a I420 frame). 3472 3473 cogl_pixel_buffer_new_full() is more a 1:1 mapping between the data and 3474 an underlying surface, with the possibility of having access to a low 3475 level memory buffer that may have a stride. 3476 3477 clutter/cogl/cogl/Makefile.am | 3 ++ 3478 clutter/cogl/cogl/cogl-pixel-buffer-private.h | 72 ++++++++++++++++++++++++++++++++++++++++++ 3479 clutter/cogl/cogl/cogl-pixel-buffer.c | 317 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3480 clutter/cogl/cogl/cogl-pixel-buffer.h | 165 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3481 clutter/cogl/cogl/cogl.h | 1 + 3482 doc/reference/cogl/cogl-sections.txt | 6 ++++ 3483 6 files changed, 564 insertions(+) 3484 3485commit b5e9710cdf5795f532fe46b9dfcc704a07d99ac9 3486Author: Damien Lespiau <damien.lespiau@intel.com> 3487Date: Sun Jan 10 17:28:24 2010 +0000 3488 3489 cogl-buffer: add an abstract class around openGL's buffer objects 3490 3491 Buffer objects are cool! This abstracts the buffer API first introduced 3492 by GL_ARB_vertex_buffer_object and then extended to other objects. 3493 3494 The coglBuffer abstract class is intended to be the base class of all 3495 the buffer objects, letting the user map() buffers. If the underlying 3496 implementation does not support buffer objects (or only support VBO but 3497 not FBO for instance), fallback paths should be provided. 3498 3499 clutter/cogl/cogl/Makefile.am | 3 ++ 3500 clutter/cogl/cogl/cogl-buffer-private.h | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3501 clutter/cogl/cogl/cogl-buffer.c | 282 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3502 clutter/cogl/cogl/cogl-buffer.h | 287 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3503 clutter/cogl/cogl/cogl-context.c | 2 ++ 3504 clutter/cogl/cogl/cogl-context.h | 5 ++++ 3505 clutter/cogl/cogl/cogl.h | 4 +++ 3506 doc/reference/cogl/cogl-docs.xml.in | 21 ++++++++++++++ 3507 doc/reference/cogl/cogl-sections.txt | 17 ++++++++++++ 3508 9 files changed, 723 insertions(+) 3509 3510commit de8a6314f12854e748de515afb487af56eaac845 3511Author: Damien Lespiau <damien.lespiau@intel.com> 3512Date: Mon Jan 25 11:21:05 2010 +0000 3513 3514 cogl: new textures sould have GL_TEXTURE_MIN_FILTER set to GL_LINEAR 3515 3516 The only way the user has to set the mipmap filters is through the 3517 material/layer API. This API defaults to GL_LINEAR/GL_LINEAR for the max 3518 and min filters. With the main use case of cogl being 2D interfaces, it 3519 makes sense do default to GL_LINEAR for the min filter. 3520 3521 When creating new textures, we did not set any filter on them, using 3522 OpenGL defaults': GL_NEAREST_MIPMAP_LINEAR for the min filter and 3523 GL_LINEAR for the max filter. This will make the driver allocate memory 3524 for the mipmap tree, memory that will not be used in the nominal case 3525 (as the material API defaults to GL_LINEAR). 3526 3527 This patch tries to ensure that the min filter is set to GL_LINEAR 3528 before any glTexImage*() call is done on the texture by setting the 3529 filter when generating new OpenGL handles. 3530 3531 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 9 ++++----- 3532 clutter/cogl/cogl/cogl-texture-2d.c | 9 +++++---- 3533 clutter/cogl/cogl/cogl-texture-driver.h | 9 +++++++++ 3534 clutter/cogl/cogl/driver/gl/cogl-texture-driver.c | 27 +++++++++++++++++++++++++++ 3535 clutter/cogl/cogl/driver/gles/cogl-texture-driver.c | 27 +++++++++++++++++++++++++++ 3536 5 files changed, 72 insertions(+), 9 deletions(-) 3537 3538commit c0f65212baee25dd4e66f4366a54bd847c782eb3 3539Author: Damien Lespiau <damien.lespiau@intel.com> 3540Date: Mon Jan 11 00:15:25 2010 +0000 3541 3542 cogl: Introduce the GE_RET() debug macro 3543 3544 Some GL functions have a return value that the GE() macro is not able to 3545 handle. Let's define a new Ge_RET() macro which will be able to handle 3546 functions such as glMapBuffer(). 3547 3548 While at it, removed the unused variadic dots to the GE() macro. 3549 3550 clutter/cogl/cogl/cogl-internal.h | 14 +++++++++++++- 3551 1 file changed, 13 insertions(+), 1 deletion(-) 3552 3553commit 069ba6daf9d39b471eb5c1de6e621f1343d5f00c 3554Merge: cc6aefad3 6ab90899b 3555Author: Emmanuele Bassi <ebassi@linux.intel.com> 3556Date: Mon Feb 8 16:53:11 2010 +0000 3557 3558 Merge branch 'animator-parser' 3559 3560 * animator-parser: 3561 docs: Describe the Animation definition syntax 3562 animator: Provide a ClutterScript parser 3563 animator: Allow retrieving type property type from a key 3564 script: Use a node when resolving an animation mode 3565 3566commit 6ab90899badf7820ffc4f40f23bf18c979762577 3567Author: Emmanuele Bassi <ebassi@linux.intel.com> 3568Date: Mon Feb 8 16:50:29 2010 +0000 3569 3570 docs: Describe the Animation definition syntax 3571 3572 The ClutterAnimator documentation needs a section on the syntax of its 3573 ClutterScript definition, possibly with an example. 3574 3575 clutter/clutter-animator.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3576 1 file changed, 59 insertions(+) 3577 3578commit 4dd11d6915f75ba62b8292c3138d4cc11a28fb21 3579Author: Emmanuele Bassi <ebassi@linux.intel.com> 3580Date: Mon Feb 8 15:52:18 2010 +0000 3581 3582 animator: Provide a ClutterScript parser 3583 3584 The whole point of having the Animator class is that the developer can 3585 describe a complex animation using ClutterScript. Hence, ClutterAnimator 3586 should hook into the Script machinery and parse a specific description 3587 format for its keys. 3588 3589 .gitignore | 2 ++ 3590 clutter/clutter-animator.c | 303 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------- 3591 tests/conform/Makefile.am | 1 + 3592 tests/conform/test-animator.c | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3593 tests/conform/test-conform-main.c | 2 ++ 3594 tests/data/Makefile.am | 2 ++ 3595 tests/data/test-animator-1.json | 5 ++++ 3596 tests/data/test-animator-2.json | 29 +++++++++++++++++++ 3597 8 files changed, 409 insertions(+), 23 deletions(-) 3598 3599commit 790a13c0d9d2249747cfb81dcb13f83c6cc2cec1 3600Author: Emmanuele Bassi <ebassi@linux.intel.com> 3601Date: Mon Feb 8 15:47:46 2010 +0000 3602 3603 animator: Allow retrieving type property type from a key 3604 3605 When asking a key for its target value we also ask the developer to pass 3606 in an initialized GValue - but we don't make it easy to know the type of 3607 the GValue. A developer has to ask the GObject class for the GParamSpec 3608 and then initialize the GValue, instead. 3609 3610 Since we know the type of the GValue we should provide a getter for it. 3611 3612 We should also allow developers to throw at us GValue with compatible and 3613 transformable types. 3614 3615 Finally, all the accessors should be constified. 3616 3617 clutter/clutter-animator.c | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------- 3618 clutter/clutter-animator.h | 13 +++++++------ 3619 2 files changed, 75 insertions(+), 31 deletions(-) 3620 3621commit 09f91ff6eab3d617be88e11bd17c226fa4d23aed 3622Author: Emmanuele Bassi <ebassi@linux.intel.com> 3623Date: Mon Feb 8 15:45:43 2010 +0000 3624 3625 script: Use a node when resolving an animation mode 3626 3627 Instead of taking a string and duplicating the "is it a string or an 3628 integer" check in both Alpha and Animation, the function in 3629 ClutterScript that resolves the animation mode values should take a 3630 JsonNode and do all the checks it needs. 3631 3632 clutter/clutter-alpha.c | 21 +++++---------------- 3633 clutter/clutter-animation.c | 25 +++++-------------------- 3634 clutter/clutter-script-parser.c | 47 ++++++++++++++++++++++++++++++----------------- 3635 clutter/clutter-script-private.h | 2 +- 3636 4 files changed, 41 insertions(+), 54 deletions(-) 3637 3638commit cc6aefad345f4490f59f33eaef6f7589de1f3f9b 3639Author: Robert Bragg <robert@linux.intel.com> 3640Date: Thu Jan 14 18:11:57 2010 +0000 3641 3642 cogl path: make sure marking the clip state dirty takes affect 3643 3644 When we trashed the contents of the stencil buffer during 3645 _cogl_path_fill_nodes we marked the clip stack state as dirty and expected 3646 the clip stack code would clean up our glStencilFunc state. 3647 3648 The problem is that we only try and update the clip state during 3649 _cogl_journal_init (when we flush the framebuffer state) which is only 3650 called when the journal first gets something logged in it. 3651 3652 To make sure the stencil state is cleaned up we now also flush the journal 3653 so _cogl_journal_init will be called for the next logged rectangle. 3654 3655 clutter/cogl/cogl/cogl-primitives.c | 9 ++++++++- 3656 1 file changed, 8 insertions(+), 1 deletion(-) 3657 3658commit 24338a7511cd09298695f0a0b51ea6a97fa6786a 3659Author: Neil Roberts <neil@linux.intel.com> 3660Date: Fri Feb 5 21:56:31 2010 +0000 3661 3662 clutter-master-clock: Don't wait for a frame if time goes backwards 3663 3664 If we aren't syncing to vblank or if the last dispatch didn't cause a 3665 redraw then the master clock will try to wait at least a small amount 3666 of time before dispatching again. However if time goes backwards then 3667 it would not do a dispatch until time catches up again. To fix this it 3668 know just runs a dispatch immediately if time goes backwards. 3669 3670 This is related to Moblin bug #3839. There was a similar fix for this 3671 in 9dc012c07, however that only fixed the case where timelines 3672 wouldn't update. If there are no animations running then the master 3673 clock won't even try updating timelines until time catches up. 3674 3675 http://bugzilla.o-hand.com/show_bug.cgi?id=1974 3676 3677 clutter/clutter-master-clock.c | 11 +++++++++++ 3678 1 file changed, 11 insertions(+) 3679 3680commit 8ac27e60707b2dfd13ba978b81421423e37ebf98 3681Author: Emmanuele Bassi <ebassi@linux.intel.com> 3682Date: Mon Feb 8 10:40:39 2010 +0000 3683 3684 test-flow-layout: Remove unneeded Stage sizing 3685 3686 The bug with resizable stages getting a 1, 1 window on X11 has been 3687 fixed by Chris. 3688 3689 tests/interactive/test-flow-layout.c | 1 - 3690 1 file changed, 1 deletion(-) 3691 3692commit 6106010b6f20980fc51d1431b623567eed10853d 3693Merge: 4cc269a46 c82c94e62 3694Author: Emmanuele Bassi <ebassi@linux.intel.com> 3695Date: Mon Feb 8 10:34:22 2010 +0000 3696 3697 Merge remote branch 'origin/cwiiis-stage-resize' 3698 3699 * origin/cwiiis-stage-resize: 3700 [stage-x11] Set the default size differently 3701 [stage] Set default size correctly 3702 Revert "[x11] Don't set actor size on ConfigureNotify" 3703 [x11] Don't set actor size on ConfigureNotify 3704 [stage] Now that get_geometry works, use it 3705 [stage-x11] make get_geometry always get geometry 3706 [stage] Get the current size correctly 3707 [stage] Set minimum width/height to 1x1 3708 [stage] Add set/get_minumum_size 3709 3710commit 4cc269a4687f6ca4fcd88ada134cfa00e2b13a1a 3711Author: Øyvind Kolås <pippin@linux.intel.com> 3712Date: Fri Feb 5 12:32:00 2010 +0000 3713 3714 Add ClutterAnimator 3715 3716 ClutterAnimator is a class for managing the animation of multiple 3717 properties of multiple actors over time with keyframing of values. 3718 3719 The Animator class is meant to be used to effectively describe 3720 animations using the ClutterScript definition format, and to construct 3721 complex implicit animations from the ground up. 3722 3723 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 3724 3725 .gitignore | 1 + 3726 clutter/Makefile.am | 2 + 3727 clutter/clutter-animator.c | 1435 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3728 clutter/clutter-animator.h | 166 ++++++++++++++++++++++ 3729 clutter/clutter-types.h | 1 + 3730 clutter/clutter.h | 1 + 3731 doc/reference/clutter/clutter-docs.xml.in | 4 +- 3732 doc/reference/clutter/clutter-sections.txt | 48 +++++++ 3733 doc/reference/clutter/clutter.types | 1 + 3734 tests/interactive/Makefile.am | 1 + 3735 tests/interactive/test-animator.c | 134 ++++++++++++++++++ 3736 11 files changed, 1793 insertions(+), 1 deletion(-) 3737 3738commit c82c94e6205eda962faf5a51e663680c313be062 3739Author: Chris Lord <chris@linux.intel.com> 3740Date: Sun Feb 7 19:17:43 2010 +0100 3741 3742 [stage-x11] Set the default size differently 3743 3744 We want to set the default size without triggering the layout machinary, 3745 so change the window creation process slightly so we start with a 3746 640x480 window. 3747 3748 clutter/clutter-stage.c | 3 --- 3749 clutter/glx/clutter-stage-glx.c | 4 +++- 3750 clutter/x11/clutter-stage-x11.c | 4 ++-- 3751 3 files changed, 5 insertions(+), 6 deletions(-) 3752 3753commit b968defae92f3fbd5a4a762b4c817ab58989ee82 3754Author: Chris Lord <chris@linux.intel.com> 3755Date: Sun Feb 7 14:18:14 2010 +0100 3756 3757 [stage] Set default size correctly 3758 3759 Due to the way the new sizing works, clutter stage must set its size in 3760 init (to maintain old behaviour) and the properties on the X11 stage 3761 must be initialised to 1x1 so that it actually goes ahead with the 3762 resize. 3763 3764 Fixes stages that aren't user resizable and have no size set from 3765 appearing at 1x1. 3766 3767 clutter/clutter-stage.c | 3 +++ 3768 clutter/x11/clutter-stage-x11.c | 4 ++-- 3769 2 files changed, 5 insertions(+), 2 deletions(-) 3770 3771commit 8083dc418b3c2b069a9b0db9323650050a3f63b1 3772Author: Chris Lord <chris@linux.intel.com> 3773Date: Sat Feb 6 16:57:37 2010 +0100 3774 3775 Revert "[x11] Don't set actor size on ConfigureNotify" 3776 3777 This reverts commit 29cc027f069c9ad900b9044cd40075c2d17be736. 3778 3779 I misunderstood the problem, this commit breaks resizes coming from 3780 outside of Clutter. 3781 3782 clutter/x11/clutter-event-x11.c | 4 ++++ 3783 clutter/x11/clutter-stage-x11.c | 5 +---- 3784 clutter/x11/clutter-stage-x11.h | 1 - 3785 3 files changed, 5 insertions(+), 5 deletions(-) 3786 3787commit 29cc027f069c9ad900b9044cd40075c2d17be736 3788Author: Chris Lord <chris@linux.intel.com> 3789Date: Sat Feb 6 16:47:22 2010 +0100 3790 3791 [x11] Don't set actor size on ConfigureNotify 3792 3793 Calling clutter_actor_set_size in response to ConfigureNotify makes 3794 setting the size of the stage racy - the most common result of which 3795 seems to be that you can't set the stage dimensions to anything less 3796 than 640x480. 3797 3798 Instead, add a first_allocation bit to the private structure of the X11 3799 stage and force the first resize (necessary or the default stage will be 3800 a 1x1 window). 3801 3802 clutter/x11/clutter-event-x11.c | 4 ---- 3803 clutter/x11/clutter-stage-x11.c | 5 ++++- 3804 clutter/x11/clutter-stage-x11.h | 1 + 3805 3 files changed, 5 insertions(+), 5 deletions(-) 3806 3807commit cea9de7f047cb8c2b1d54f41ca1d77c3aff882e0 3808Author: Chris Lord <chris@linux.intel.com> 3809Date: Sat Feb 6 15:41:01 2010 +0100 3810 3811 [stage] Now that get_geometry works, use it 3812 3813 We want the actual window geometry in clutter_stage_set_minimum_size, 3814 not the set size. Now that the geometry function has been changed to do 3815 what it says, use it. 3816 3817 clutter/clutter-stage.c | 14 ++++++-------- 3818 1 file changed, 6 insertions(+), 8 deletions(-) 3819 3820commit 4887707bb34faca0d7ad92f6628d18345163f5e0 3821Author: Chris Lord <chris@linux.intel.com> 3822Date: Sat Feb 6 15:34:55 2010 +0100 3823 3824 [stage-x11] make get_geometry always get geometry 3825 3826 Now that we have a minimum size getter on the stage object, change 3827 get_geometry to actually always return the geometry. This fixes stages 3828 that are set as user-resizable appearing at 1x1 size. 3829 3830 This will need changing in other back-ends too. 3831 3832 clutter/x11/clutter-stage-x11.c | 57 +++++++++++++++++++++++---------------------------------- 3833 1 file changed, 23 insertions(+), 34 deletions(-) 3834 3835commit 27e33aa14ff5d14f6066da74922c960a037b5089 3836Author: Chris Lord <chris@linux.intel.com> 3837Date: Sat Feb 6 14:59:51 2010 +0100 3838 3839 [stage] Get the current size correctly 3840 3841 Get the current size of the stage correctly in 3842 clutter_stage_set_minimum_size. The get_geometry StageWindow function is 3843 not equivalent of the current size, use clutter_actor_get_size(). 3844 3845 clutter/clutter-stage.c | 14 ++++++++------ 3846 1 file changed, 8 insertions(+), 6 deletions(-) 3847 3848commit be11564b556a1b1c08b7b9e7a0a94bc00c4e6550 3849Author: Chris Lord <chris@linux.intel.com> 3850Date: Sat Feb 6 14:04:47 2010 +0100 3851 3852 [stage] Set minimum width/height to 1x1 3853 3854 Whoops, to maintain the old behaviour, make sure the default minimum 3855 width/height are 1x1. 3856 3857 clutter/clutter-stage.c | 4 ++-- 3858 1 file changed, 2 insertions(+), 2 deletions(-) 3859 3860commit fd11d3098f0182f24666ed77973269111cb0a8f5 3861Author: Chris Lord <chris@linux.intel.com> 3862Date: Sat Feb 6 11:23:37 2010 +0000 3863 3864 [stage] Add set/get_minumum_size 3865 3866 Add two functions to set/get the minimum stage size. This takes effect 3867 when a stage is set to user resizable. 3868 3869 clutter/clutter-stage.c | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3870 clutter/clutter-stage.h | 7 +++++++ 3871 clutter/x11/clutter-stage-x11.c | 6 +++--- 3872 doc/reference/clutter/clutter-sections.txt | 2 ++ 3873 4 files changed, 87 insertions(+), 3 deletions(-) 3874 3875commit f973b73208bad266a2362e22e5aed1a0780d096d 3876Author: Emmanuele Bassi <ebassi@linux.intel.com> 3877Date: Sat Feb 6 11:00:50 2010 +0000 3878 3879 Add cogl-subtexture test to the Git ignore file 3880 3881 .gitignore | 3 ++- 3882 1 file changed, 2 insertions(+), 1 deletion(-) 3883 3884commit e55966d675e57d516ea5aff36b03fde63d4839d3 3885Author: Emmanuele Bassi <ebassi@linux.intel.com> 3886Date: Fri Feb 5 16:22:09 2010 +0000 3887 3888 Deprecate clutter_util_next_p2() 3889 3890 The next_p2() function should have never been publicly exposed by 3891 Clutter. 3892 3893 clutter/clutter-util.c | 15 ++++++++------- 3894 clutter/clutter-util.h | 9 ++++++--- 3895 tests/interactive/test-shader.c | 19 +++++++++++++++++-- 3896 3 files changed, 31 insertions(+), 12 deletions(-) 3897 3898commit bbaf6b233d0120e3199d779eeb2829e56ecc279b 3899Author: Emmanuele Bassi <ebassi@linux.intel.com> 3900Date: Fri Feb 5 15:31:18 2010 +0000 3901 3902 docs: Fix whitespace in the App manual stub 3903 3904 doc/manual/clutter-manual.xml.in | 185 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------- 3905 1 file changed, 81 insertions(+), 104 deletions(-) 3906 3907commit dcdb97006b563407d43f19779ac47f0330052541 3908Author: Emmanuele Bassi <ebassi@linux.intel.com> 3909Date: Fri Feb 5 14:47:39 2010 +0000 3910 3911 build: Add suppressions file to EXTRA_DIST 3912 3913 tests/data/Makefile.am | 2 +- 3914 1 file changed, 1 insertion(+), 1 deletion(-) 3915 3916commit 830f2402d4f49b7173eb7fa0bda5762a4c430c9a 3917Merge: 1bdc3db9a 6b1b27d4f 3918Author: Neil Roberts <neil@linux.intel.com> 3919Date: Sat Feb 6 00:20:07 2010 +0000 3920 3921 Merge branch 'more-texture-backends' 3922 3923 This adds three new texture backends. 3924 3925 - CoglTexture2D: This is a trimmed down version of CoglTexture2DSliced 3926 which only supports a single texture and only works with the 3927 GL_TEXTURE_2D target. The code is a lot simpler so it has a less 3928 overheads than dealing with slices. Cogl will use this wherever 3929 possible. 3930 3931 - CoglSubTexture: This is used to get a CoglHandle to represent a 3932 subregion of another texture. The texture can be used as if it was a 3933 standalone texture but it does not need to copy the resources. 3934 3935 - CoglAtlasTexture: This collects RGB and RGBA textures into a single 3936 GL texture with the aim of reducing texture state changes and 3937 increasing batching. The backend will try to manage the atlas and 3938 may move the textures around to close gaps in the texture. By 3939 default all textures will be placed in the atlas. 3940 3941commit 6b1b27d4f894cbefc90601eaf6214b55a71834b7 3942Author: Neil Roberts <neil@linux.intel.com> 3943Date: Sat Feb 6 00:12:10 2010 +0000 3944 3945 cogl-bitmap: Update the format after (un)premultiplying 3946 3947 The pixel format of the bitmap needs to have its premult flag cleared 3948 or set after the premult conversion otherwise it may get converted 3949 again. 3950 3951 clutter/cogl/cogl/cogl-bitmap-fallback.c | 4 ++++ 3952 clutter/cogl/cogl/cogl-texture.c | 3 +-- 3953 2 files changed, 5 insertions(+), 2 deletions(-) 3954 3955commit 191d20eb56f31786660cd04aacc710344eb8df7a 3956Author: Neil Roberts <neil@linux.intel.com> 3957Date: Fri Feb 5 17:03:04 2010 +0000 3958 3959 cogl-atlas-texture: Fix a cut and paste error when getting the height 3960 3961 There was a typo in getting the height of the full texture to check 3962 whether the sub region fits so that it was using the width 3963 instead. This was causing crashes when debugging is enabled for some 3964 apps. 3965 3966 clutter/cogl/cogl/cogl-sub-texture.c | 2 +- 3967 1 file changed, 1 insertion(+), 1 deletion(-) 3968 3969commit 1bdc3db9ab54316f5f313dc3e991f3a621e83586 3970Author: Damien Lespiau <damien.lespiau@intel.com> 3971Date: Thu Feb 4 21:10:02 2010 +0000 3972 3973 docs: Use % for defines not # 3974 3975 Some links to defines in the gtk-doc annotations were using '#' instead 3976 of '%'. 3977 3978 clutter/clutter-actor.c | 4 ++-- 3979 clutter/clutter-path.c | 10 +++++----- 3980 clutter/cogl/cogl/cogl-fixed.c | 4 ++-- 3981 3 files changed, 9 insertions(+), 9 deletions(-) 3982 3983commit 1b94cc9268e57cc49e3bac914c4b979aec955f77 3984Author: Damien Lespiau <damien.lespiau@intel.com> 3985Date: Wed Jan 27 16:03:28 2010 +0000 3986 3987 docs: fix new line in the cogl xml top level document 3988 3989 A comma in the FSF address is wrong. Supreme Offence. 3990 3991 doc/reference/cogl/cogl-docs.xml.in | 3 +-- 3992 1 file changed, 1 insertion(+), 2 deletions(-) 3993 3994commit 0ea25d661b887c27beaf0bd848dfda994d88782f 3995Author: Emmanuele Bassi <ebassi@linux.intel.com> 3996Date: Thu Feb 4 18:29:47 2010 +0000 3997 3998 event: Do not generate click count for SCROLL events 3999 4000 The ClutterScrollEvent structure does not have a click count field, 4001 so Clutter should not generate the click count for events of type 4002 CLUTTER_SCROLL. 4003 4004 clutter/clutter-main.c | 7 +++++-- 4005 1 file changed, 5 insertions(+), 2 deletions(-) 4006 4007commit 15c6fef7e3e426764bafc316794a195a086e0d03 4008Author: Emmanuele Bassi <ebassi@linux.intel.com> 4009Date: Thu Feb 4 16:49:06 2010 +0000 4010 4011 tests: Add a Valgrind suppression file 4012 4013 When running tests under Valgrind it would be useful to pass a 4014 suppression file for the known one-off allocations done by Clutter 4015 and by its dependencies. This trims the output of Valgrind and 4016 improves the ability to actually spot leaks. 4017 4018 tests/README | 35 ++++++++++++++++++++++++++++++----- 4019 tests/data/clutter-1.0.suppressions | 173 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4020 2 files changed, 203 insertions(+), 5 deletions(-) 4021 4022commit 1f70da62a73e3a10fe1ceb33d11f79fc29586fcf 4023Author: Neil Roberts <neil@linux.intel.com> 4024Date: Thu Feb 4 16:28:29 2010 +0000 4025 4026 glx: Create a colormap for the dummy window 4027 4028 Otherwise X will fail to create the window and throw a BadMatch error 4029 at least on NVidia. 4030 4031 clutter/glx/clutter-backend-glx.c | 7 ++++++- 4032 1 file changed, 6 insertions(+), 1 deletion(-) 4033 4034commit 466b00a8064ad09f0574f8f46c6df0390d7c7d00 4035Author: Emmanuele Bassi <ebassi@linux.intel.com> 4036Date: Thu Feb 4 13:59:39 2010 +0000 4037 4038 glx: Clarify *why* we need the dummy window 4039 4040 The reason why we have a dummy, offscreen Window when we create the 4041 GLX context is that GLX does not like it when you ask the context for 4042 features if it's not made current to a Drawable. Maybe in the future 4043 it will allow us to do so, but right now we have to make do with what 4044 GLX offers us. 4045 4046 clutter/glx/clutter-backend-glx.c | 6 ++++++ 4047 1 file changed, 6 insertions(+) 4048 4049commit ea5e33cf3a38edddef88ec30131c35bb8ab4bfaf 4050Author: Emmanuele Bassi <ebassi@linux.intel.com> 4051Date: Thu Feb 4 13:56:33 2010 +0000 4052 4053 glx: Do not leak a XVisualInfo 4054 4055 The XVisualInfo we retrieve for the dummy window should be freed after 4056 we used it. 4057 4058 clutter/glx/clutter-backend-glx.c | 2 ++ 4059 1 file changed, 2 insertions(+) 4060 4061commit e6a3b6ebe75a2c0c3709fbe12cf04c4357b54fdd 4062Author: Neil Roberts <neil@linux.intel.com> 4063Date: Wed Feb 3 23:08:30 2010 +0000 4064 4065 cogl-texture: Avoid copying the bitmap when premultiplying from a file 4066 4067 In cogl_texture_new_from_file we create and own a temporary 4068 bitmap. There's no need to copy this data if we need to do a premult 4069 conversion so instead it just does conversion before passing it on to 4070 cogl_texture_new_from_bitmap. 4071 4072 clutter/cogl/cogl/cogl-texture.c | 23 ++++++++++++++++++----- 4073 1 file changed, 18 insertions(+), 5 deletions(-) 4074 4075commit 59198b8ab8a6a7c1c3dbfa5c72abf36f8d66c543 4076Author: Neil Roberts <neil@linux.intel.com> 4077Date: Wed Feb 3 22:54:44 2010 +0000 4078 4079 cogl-texture: Split out _cogl_texture_prepare_for_upload 4080 4081 The Cogl atlas code was using _cogl_texture_prepare_for_upload with a 4082 NULL pointer for the dst_bmp to determine the internal format of the 4083 texture without converting the bitmap. It needs to do this to decide 4084 whether the texture will go in the atlas before wasting time on the 4085 conversion. This use of the function is a little confusing so that 4086 part of it has been split out into a new function called 4087 _cogl_texture_determine_internal_format. The code to decide whether a 4088 premult conversion is needed has also been split out. 4089 4090 clutter/cogl/cogl/cogl-atlas-texture.c | 11 ++--------- 4091 clutter/cogl/cogl/cogl-texture-private.h | 7 +++++++ 4092 clutter/cogl/cogl/cogl-texture.c | 81 ++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------- 4093 3 files changed, 57 insertions(+), 42 deletions(-) 4094 4095commit 5063f4669c2c94d7288405005f4df14e73a4f578 4096Author: Neil Roberts <neil@linux.intel.com> 4097Date: Wed Feb 3 19:54:12 2010 +0000 4098 4099 cogl-atlas: Make the cogl_atlas_* API internal 4100 4101 This just adds an underscore to every entry point for the CoglAtlas 4102 API so that it's not exported. 4103 4104 clutter/cogl/cogl/cogl-atlas-texture.c | 89 +++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------- 4105 clutter/cogl/cogl/cogl-atlas.c | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------- 4106 clutter/cogl/cogl/cogl-atlas.h | 32 ++++++++++++++++---------------- 4107 clutter/cogl/cogl/cogl-context.c | 2 +- 4108 4 files changed, 132 insertions(+), 131 deletions(-) 4109 4110commit cd3c5155d879782a6e6e1d7fa56043e03712b727 4111Author: Jussi Kukkonen <jku@linux.intel.com> 4112Date: Wed Feb 3 17:04:38 2010 +0000 4113 4114 text: implement del_word_next/del_word_prev() 4115 4116 Bind ctrl-backspace and ctrl-del to functions that delete a word before 4117 or after the cursor, respectively. 4118 4119 Selection does not affect the deletion, but current selection is 4120 preserved. This mimicks GTK+ functionality in GtkTextView and GtkEntry. 4121 4122 http://bugzilla.openedhand.com/show_bug.cgi?id=1767 4123 4124 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 4125 4126 clutter/clutter-text.c | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4127 1 file changed, 95 insertions(+) 4128 4129commit d8d728a8d7ac4bc56f058379d76f4539d01189de 4130Author: Emmanuele Bassi <ebassi@linux.intel.com> 4131Date: Wed Dec 9 00:50:33 2009 +0000 4132 4133 Remove the SDL backend 4134 4135 The SDL API is far too limited for the windowing system needs of 4136 Clutter; the status of the SDL backend was always experimental, and 4137 since the Windows platform is supported by a native backend there is 4138 no point in having the SDL backend around any more. 4139 4140 README | 8 ++--- 4141 clutter/Makefile.am | 2 +- 4142 clutter/sdl/Makefile.am | 26 -------------- 4143 clutter/sdl/clutter-backend-sdl.c | 207 ------------------------------------------------------------------------------------------------------------ 4144 clutter/sdl/clutter-backend-sdl.h | 70 ------------------------------------- 4145 clutter/sdl/clutter-event-sdl.c | 377 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 4146 clutter/sdl/clutter-sdl.h | 39 --------------------- 4147 clutter/sdl/clutter-stage-sdl.c | 197 ------------------------------------------------------------------------------------------------------- 4148 clutter/sdl/clutter-stage-sdl.h | 34 ------------------ 4149 configure.ac | 41 ++-------------------- 4150 10 files changed, 5 insertions(+), 996 deletions(-) 4151 4152commit ae188d203c63d680dc58ba1e19f333719a6916d4 4153Author: Neil Roberts <neil@linux.intel.com> 4154Date: Wed Jan 20 16:41:25 2010 +0000 4155 4156 win32: Use a dummy window to support delayed stage creation 4157 4158 The Win32 backend now implements the create_context method which 4159 creates a context and binds it to a 1x1 invisible window. That way 4160 there will always be a context bound and the features can be retrieved 4161 without creating the default stage. This reflects the changes in 4162 1c6ffc8..b245d55 to the GLX backend. 4163 4164 clutter/win32/clutter-backend-win32.c | 194 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------- 4165 clutter/win32/clutter-backend-win32.h | 2 ++ 4166 clutter/win32/clutter-stage-win32.c | 84 ++++++++++++------------------------------------------------------------------------ 4167 3 files changed, 198 insertions(+), 82 deletions(-) 4168 4169commit 479fdffc7d4f37f9ff104403dd7de685df97e0d5 4170Author: Emmanuele Bassi <ebassi@linux.intel.com> 4171Date: Sun Dec 6 18:56:14 2009 +0000 4172 4173 glx: Fix error messages and debug notes 4174 4175 Instead of using g_critical() inside the create_context() implementation 4176 of the ClutterBackendGLX we should use the passed GError, so that the 4177 error message can bubble up to the caller. 4178 4179 clutter/glx/clutter-backend-glx.c | 31 +++++++++++++++++++------------ 4180 1 file changed, 19 insertions(+), 12 deletions(-) 4181 4182commit ede2cbfab05035247b2a6a2ca837cb8f71871c5d 4183Author: Emmanuele Bassi <ebassi@linux.intel.com> 4184Date: Thu Dec 3 21:07:45 2009 +0000 4185 4186 stage: Create the default stage on demand 4187 4188 Instead of creating the default stage during initialization we can 4189 now safely create it whenever clutter_stage_get_default() is called. 4190 4191 To maintain the invariant, the default stage is immediately realized 4192 by Clutter itself. 4193 4194 clutter/clutter-main.c | 28 ---------------------------- 4195 clutter/clutter-stage.c | 15 ++++++++++----- 4196 2 files changed, 10 insertions(+), 33 deletions(-) 4197 4198commit d2c091e62d4b9e897e8f8ef5de99f20417cc6682 4199Author: Emmanuele Bassi <ebassi@linux.intel.com> 4200Date: Thu Dec 3 20:49:54 2009 +0000 4201 4202 glx: Create the dummy Window with the GLX context 4203 4204 Since we must guarantee that Cogl has a GL context to query, it is too 4205 late to use the "dummy Window" trick from within the get_features() 4206 virtual function implementation. 4207 4208 Instead, we can create a dummy Window from create_context() itself and 4209 leave it around - basically trading a default stage with a dummy X 4210 window. 4211 4212 We need to have the dummy X window around all the time so that the 4213 GLX context can be selected and made current. 4214 4215 clutter/clutter-main.c | 16 ++++++++++------ 4216 clutter/glx/clutter-backend-glx.c | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------- 4217 clutter/glx/clutter-backend-glx.h | 1 + 4218 3 files changed, 95 insertions(+), 91 deletions(-) 4219 4220commit 5eb6fb74b660d22e7f31867b16997ee9f63bef4b 4221Author: Emmanuele Bassi <ebassi@linux.intel.com> 4222Date: Thu Dec 3 20:48:55 2009 +0000 4223 4224 feature: Make sure we have a GL context 4225 4226 Before asking Cogl and ClutterBackend for the list of features we must 4227 have a GL backend ready. 4228 4229 clutter/clutter-feature.c | 3 +++ 4230 1 file changed, 3 insertions(+) 4231 4232commit a8daaa8222c9b4aaf7e46b1bb13a2ce8097153f1 4233Author: Emmanuele Bassi <ebassi@linux.intel.com> 4234Date: Thu Dec 3 20:47:48 2009 +0000 4235 4236 stage: Move default title in Stage.init 4237 4238 The default title should be set from within clutter_stage_init(); at 4239 that point clutter_init() must have been called. 4240 4241 clutter/clutter-main.c | 2 -- 4242 clutter/clutter-stage.c | 1 + 4243 2 files changed, 1 insertion(+), 2 deletions(-) 4244 4245commit 38f26634eec3c81d61bb3b88b24563d7e4719f67 4246Author: Emmanuele Bassi <ebassi@linux.intel.com> 4247Date: Thu Dec 3 17:36:03 2009 +0000 4248 4249 Lazily create the Pango fontmap 4250 4251 The Pango fontmap needed by Clutter should be initialized the first 4252 time we need a PangoContext, not on initialization. 4253 4254 clutter/clutter-main.c | 35 ++++++++++++++++------------------- 4255 1 file changed, 16 insertions(+), 19 deletions(-) 4256 4257commit 6fbed66add4b8c03a0ba0f4edc1c2f0044608998 4258Author: Emmanuele Bassi <ebassi@linux.intel.com> 4259Date: Thu Dec 3 17:13:44 2009 +0000 4260 4261 Delay default stage creation 4262 4263 The default stage creation should be delayed as much as possible, 4264 ideally at the end of the init() process. 4265 4266 clutter/clutter-backend.c | 8 ++++++++ 4267 clutter/clutter-main.c | 67 +++++++++++++++++++++++++++++++++---------------------------------- 4268 clutter/clutter-stage.c | 6 +++--- 4269 clutter/cogl/cogl/cogl-journal.c | 3 +++ 4270 clutter/glx/clutter-backend-glx.c | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------ 4271 clutter/glx/clutter-stage-glx.c | 5 +++++ 4272 6 files changed, 126 insertions(+), 61 deletions(-) 4273 4274commit 3191ea1195d5e1d55facc147760b273efca76867 4275Author: Emmanuele Bassi <ebassi@linux.intel.com> 4276Date: Thu Dec 3 17:35:19 2009 +0000 4277 4278 cogl-debug: Remove redundant newlines 4279 4280 The debugging notes wrapping g_debug() already have an implicit newline 4281 at the end of the passed message. 4282 4283 clutter/cogl/cogl/cogl-handle.h | 8 ++++---- 4284 1 file changed, 4 insertions(+), 4 deletions(-) 4285 4286commit 16a5911cff90a2bba1b283ccd9a9ce6d0f435924 4287Author: Emmanuele Bassi <ebassi@linux.intel.com> 4288Date: Wed Feb 3 15:05:37 2010 +0000 4289 4290 tests: Clean up the cairo-flowers interactive test 4291 4292 tests/interactive/test-clutter-cairo-flowers.c | 14 ++++++-------- 4293 1 file changed, 6 insertions(+), 8 deletions(-) 4294 4295commit cb52581a24c157e2bedb74c32d522dc56d9a91a2 4296Author: Emmanuele Bassi <ebassi@linux.intel.com> 4297Date: Wed Feb 3 14:35:45 2010 +0000 4298 4299 text: Add :font-description 4300 4301 High level toolkits might wish to construct a PangoFontDescription and 4302 then set it directly on a ClutterText actor proxy or sub-class. 4303 ClutterText should have a :font-description property to set (and get) 4304 the PangoFontDescription. 4305 4306 http://bugzilla.openedhand.com/show_bug.cgi?id=1960 4307 4308 clutter/clutter-text.c | 131 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------- 4309 clutter/clutter-text.h | 225 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------- 4310 doc/reference/clutter/clutter-sections.txt | 2 ++ 4311 3 files changed, 234 insertions(+), 124 deletions(-) 4312 4313commit 74c0170ccc80504018f2aab849a6a311c64052a6 4314Author: Neil Roberts <neil@linux.intel.com> 4315Date: Wed Feb 3 14:31:12 2010 +0000 4316 4317 cogl-vertex-buffer: Refix disabling texture coord arrays 4318 4319 Commit 92a375ab4 changed the initial value of max_texcoord_attrib_unit 4320 to -1 so that it could disable the texture coord array for the first 4321 texture unit when there are no texture coords used in the vbo. However 4322 max_texcoord_attrib_unit was an unsigned value so this actually became 4323 G_MAXUINT. The disabling loop at the bottom still worked because 4324 G_MAXUINT+1==0 but the check for whether any texture unit is greater 4325 than max_texcoord_attrib_unit was failing so it would always end up 4326 disabling all texture units. This is now fixed by changing 4327 max_texcoord_attrib_unit to be signed. 4328 4329 clutter/cogl/cogl/cogl-vertex-buffer.c | 2 +- 4330 1 file changed, 1 insertion(+), 1 deletion(-) 4331 4332commit 301863d43bc79e792f8fe3ea5e9185d87cb74069 4333Author: Emmanuele Bassi <ebassi@linux.intel.com> 4334Date: Tue Feb 2 17:07:22 2010 +0000 4335 4336 text: Fixes for selection bound 4337 4338 The commit ecbb7ce41a1a759e246fce07f146b8bed5e3d730 exposed some issues 4339 when positioning the cursor with the mouse pointer: the selection is 4340 not moved along with the cursor when inserting a single character or a 4341 string. 4342 4343 Also, some freeze_notify() are called too early, leading to decoupling 4344 from their respective thaw_notify(). 4345 4346 http://bugzilla.openedhand.com/show_bug.cgi?id=1955 4347 4348 clutter/clutter-text.c | 44 +++++++++++++++++++------------------------- 4349 1 file changed, 19 insertions(+), 25 deletions(-) 4350 4351commit 5bec49aea931e6835b97e549e23458a6214548ce 4352Author: Kristian Høgsberg <krh@bitplanet.net> 4353Date: Wed Jan 27 12:55:18 2010 -0500 4354 4355 Use ClutterTimeline in test-clutter-cairo-flowers.c 4356 4357 http://bugzilla.openedhand.com/show_bug.cgi?id=1969 4358 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 4359 4360 tests/interactive/test-clutter-cairo-flowers.c | 24 +++++++++++++++++------- 4361 1 file changed, 17 insertions(+), 7 deletions(-) 4362 4363commit c9a6e63fa4d1d710d9efeb850f3fc336933ee2a8 4364Author: Emmanuele Bassi <ebassi@linux.intel.com> 4365Date: Tue Feb 2 14:50:03 2010 +0000 4366 4367 docs: Clarify Group's sizing semantics 4368 4369 The documentation for ClutterGroup behaviour when setting an explicit 4370 size is not accurate - or, actually, it was accurate by the time 4371 ClutterGroup was first written but has been neglected in the following 4372 release cycles. 4373 4374 To avoid confusion for new users of Clutter the documentation should be 4375 slightly expanded, mentioning the exact semantics of ClutterGroup with 4376 regards to: preferred size, explicitly set size and how to constrain the 4377 visible area of a ClutterGroup to an explicitly set size. 4378 4379 Based on a patch by: Neil Roberts <neil@linux.intel.com> 4380 4381 clutter/clutter-group.c | 16 ++++++++++++---- 4382 1 file changed, 12 insertions(+), 4 deletions(-) 4383 4384commit 12b004b0e7e13ca64d7d35cd3fe083f582b7aa09 4385Author: Emmanuele Bassi <ebassi@linux.intel.com> 4386Date: Tue Feb 2 12:56:04 2010 +0000 4387 4388 tests: Add an initial Behaviour conformance suite 4389 4390 The coverage of the Behaviour sub-classes is currently abysmal. An 4391 initial test suite for Behaviours should at least verify that the 4392 accessors and the constructors are doing the right thing. 4393 4394 This initial test suite just verifies the BehaviourOpacity sub-class, 4395 but it already bumps up the overall coverage by 2%. 4396 4397 .gitignore | 1 + 4398 tests/conform/Makefile.am | 1 + 4399 tests/conform/test-behaviours.c | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4400 tests/conform/test-conform-main.c | 2 ++ 4401 4 files changed, 91 insertions(+) 4402 4403commit f94e6911510b5376dd490c1f8724e616aaf2e5dc 4404Author: Emmanuele Bassi <ebassi@linux.intel.com> 4405Date: Tue Feb 2 12:54:51 2010 +0000 4406 4407 behaviour: Clean up BehaviourOpacity 4408 4409 • Use a consistent coding style 4410 4411 • Call set_bounds() from set_property(), because we need proper 4412 notification on the modified property 4413 4414 clutter/clutter-behaviour-opacity.c | 56 ++++++++++++++++++++++++++++++++------------------------ 4415 1 file changed, 32 insertions(+), 24 deletions(-) 4416 4417commit 521d71d4bc4ca4b06343365c71c9520b1ebfdc7f 4418Author: Emmanuele Bassi <ebassi@linux.intel.com> 4419Date: Mon Feb 1 15:47:50 2010 +0000 4420 4421 event: Unify the off-stage motion events delivery behaviour 4422 4423 When we disable the per-actor events delivery Clutter replicates the X11 4424 implicit soft grab for motion events with off-stage. The implicit grab 4425 is done whenever the pointer of a device leaves a window with a button 4426 still pressed; with the implicit grab in place the window still receives 4427 motion events even after the LeaveNotify - until the button is released. 4428 4429 The implicit grab is not honoured in the per-actor event deliver case, 4430 though, so we have a mismatch between two in theory equivalent cases. 4431 4432 Luckily, the fix is pretty trivial: when we check for a motion event 4433 with a stage set but without an actor set, and that has off-stage 4434 coordinates, we arbitrarily set the source to be the stage of the event 4435 and emit the pointer event. 4436 4437 clutter/clutter-main.c | 40 ++++++++++++++++++++++++++++++++++------ 4438 1 file changed, 34 insertions(+), 6 deletions(-) 4439 4440commit 46d6697b9170ba110439cbf61d152890b35a3837 4441Author: Emmanuele Bassi <ebassi@linux.intel.com> 4442Date: Mon Feb 1 14:53:13 2010 +0000 4443 4444 build: -Wformat is required for -Wformat-security 4445 4446 GCC will ignore -Wformat-security without -Wformat on the same compiler 4447 flags. 4448 4449 configure.ac | 4 ++-- 4450 1 file changed, 2 insertions(+), 2 deletions(-) 4451 4452commit 157a0cf9364a9e60b29e5e88ca1783d9e174a635 4453Author: Emmanuele Bassi <ebassi@linux.intel.com> 4454Date: Mon Feb 1 14:48:50 2010 +0000 4455 4456 build: Retrieve X11 cflags and libraries 4457 4458 When using pkg-config to check for the x11 package compiler flags and 4459 libraries we actually need to retrieve those values from the pc file. 4460 4461 This should also fix the issue with non-canonical installations of the 4462 X11 headers and shared objects. 4463 4464 http://bugzilla.openedhand.com/show_bug.cgi?id=1966 4465 4466 configure.ac | 5 +++++ 4467 1 file changed, 5 insertions(+) 4468 4469commit 145cc9d3dfd1dc51f254eefde35042fc20a6375e 4470Merge: aa6731e33 5f1c8a17e 4471Author: Neil Roberts <neil@linux.intel.com> 4472Date: Mon Feb 1 13:37:19 2010 +0000 4473 4474 Merge remote branch 'master' into texture-debugging 4475 4476 Conflicts: 4477 clutter/cogl/cogl/cogl-context.h 4478 4479commit aa6731e338a88d03e718980604ac8f2393391a9f 4480Author: Neil Roberts <neil@linux.intel.com> 4481Date: Mon Feb 1 13:25:19 2010 +0000 4482 4483 cogl-material: Compare GL texture numbers for material layer textures 4484 4485 When deciding if a material layer is equal it now compares the GL 4486 target and texture number if the textures are not sliced. This is 4487 needed to get batching across atlased textures. 4488 4489 clutter/cogl/cogl/cogl-material.c | 25 ++++++++++++++++++++++++- 4490 1 file changed, 24 insertions(+), 1 deletion(-) 4491 4492commit abe91784c4ba98417eabe0649bf73381afbd6fc7 4493Author: Neil Roberts <neil@linux.intel.com> 4494Date: Mon Feb 1 12:11:58 2010 +0000 4495 4496 cogl: Let GL do the format conversion when uploading texture data 4497 4498 Cogl accepts a pixel format for both the data in memory and the 4499 internal format to be used for the texture. If they do not match then 4500 it would convert them using the CoglBitmap functions before uploading 4501 the data. However, GL also lets you specify both formats so it makes 4502 more sense to let GL do the conversion. The driver may need the 4503 texture in a specific format so it may end up being converted anyway. 4504 4505 The cogl_texture_upload_data functions have been removed and replaced 4506 with a single function to prepare the bitmap. This will only do the 4507 premultiplication conversion because that is the only part that GL 4508 can't do directly. 4509 4510 clutter/cogl/cogl/cogl-atlas-texture.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------- 4511 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 220 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------- 4512 clutter/cogl/cogl/cogl-texture-2d.c | 92 +++++++++++++++++++++++++++++++++++-------------------------------------------- 4513 clutter/cogl/cogl/cogl-texture-private.h | 44 +++++++++++--------------------------- 4514 clutter/cogl/cogl/cogl-texture.c | 136 +++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------- 4515 5 files changed, 290 insertions(+), 313 deletions(-) 4516 4517commit e83ffb1fa3436bf1506c32856b2a3ba23254e068 4518Author: Neil Roberts <neil@linux.intel.com> 4519Date: Fri Jan 29 15:15:08 2010 +0000 4520 4521 cogl: Do the premult conversion in-place rather than copying to a new buffer 4522 4523 The premult part of _cogl_convert_premult has now been split out as 4524 _cogl_convert_premult_status. _cogl_convert_premult has been renamed 4525 to _cogl_convert_format to make it less confusing. The premult 4526 conversion is now done in-place instead of copying the 4527 buffer. Previously it was copying the buffer once for the format 4528 conversion and then copying it again for the premult conversion. The 4529 premult conversion never changes the size of the buffer so it's quite 4530 easy to do in place. We can also use the separated out function 4531 independently. 4532 4533 clutter/cogl/cogl/cogl-atlas-texture.c | 6 +++--- 4534 clutter/cogl/cogl/cogl-bitmap-fallback.c | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------- 4535 clutter/cogl/cogl/cogl-bitmap-pixbuf.c | 6 ++---- 4536 clutter/cogl/cogl/cogl-bitmap-private.h | 22 +++++++++++----------- 4537 clutter/cogl/cogl/cogl-bitmap.c | 102 ++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------- 4538 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 12 ++++++------ 4539 clutter/cogl/cogl/cogl-texture-2d.c | 12 ++++++------ 4540 clutter/cogl/cogl/cogl-texture.c | 6 +++--- 4541 8 files changed, 123 insertions(+), 185 deletions(-) 4542 4543commit 72fba19eac68ffa30c3f60aeecfdbfa6a2da7bd4 4544Author: Neil Roberts <neil@linux.intel.com> 4545Date: Fri Jan 29 12:19:42 2010 +0000 4546 4547 cogl-atlas-texture: Use a single atlas for both RGB and RGBA textures 4548 4549 The internal format of the atlas texture is still set to the 4550 appropriate format so Cogl will disable blending for textures that are 4551 intended to be RGB. This should end up ignoring the alpha channel from 4552 the texture in the atlas. This makes the code slightly easier to 4553 maintain and should also improve the chances of batching. 4554 4555 clutter/cogl/cogl/cogl-atlas-texture.c | 134 +++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------- 4556 clutter/cogl/cogl/cogl-context.c | 18 ++++++------------ 4557 clutter/cogl/cogl/cogl-context.h | 8 ++------ 4558 3 files changed, 57 insertions(+), 103 deletions(-) 4559 4560commit ad6bd2ee88770c2ce86f81f7a64b6b121c3418d6 4561Author: Emmanuele Bassi <ebassi@linux.intel.com> 4562Date: Mon Feb 1 12:18:10 2010 +0000 4563 4564 actor: Reword the allocation cycle warning 4565 4566 Since we're allowing allocation cycles saying that calling 4567 queue_relayout() inside an allocation cycle "is not allowed" is kind of 4568 confusing. We should say that "it is not recommended". 4569 4570 clutter/clutter-actor.c | 2 +- 4571 1 file changed, 1 insertion(+), 1 deletion(-) 4572 4573commit 5f1c8a17e4f81ead1747b47939d593c80246bf06 4574Merge: ecbb7ce41 8a4b64715 4575Author: Emmanuele Bassi <ebassi@linux.intel.com> 4576Date: Mon Feb 1 11:26:56 2010 +0000 4577 4578 Merge branch 'device-manager' 4579 4580 * device-manager: (37 commits) 4581 x11: Re-enable XI1 extension keyboards 4582 x11: Always handle core device events before XI events 4583 docs: Documentation fixes for DeviceManager 4584 device-manager: Fix the signals definition 4585 docs: Add sections for InputDevice and DeviceManager 4586 docs: Add clutter_input_device_get_device_name() 4587 tests: Print out the device details on motion 4588 Always register core devices 4589 device: Remove unused is_default member 4590 win32: Experimental implementation of device support 4591 tests: Print the device name, as well as its Id 4592 x11: Fill out the :name property of the InputDevices 4593 device: Add the :name property to InputDevice 4594 x11: Store core devices on the X11 Backend singleton 4595 device: Unset the cursor actor when leaving the stage 4596 device: Add pointer actor getter 4597 x11: Discard the LeaveNotify for off-stage ButtonRelease 4598 device: Do not overwrite the stage for an InputDevice 4599 event: Off-stage button releases have a click count of 1 4600 event: Scroll events do not have click count 4601 ... 4602 4603commit ecbb7ce41a1a759e246fce07f146b8bed5e3d730 4604Author: Alejandro Piñeiro <apinheiro@igalia.com> 4605Date: Mon Jan 25 16:13:58 2010 +0100 4606 4607 Fix problems with "position" and "selection-bound" change notification 4608 4609 Added a "selection-bound" notify on clutter_text_clear_selection as it 4610 changes the value. 4611 4612 Added utility function clutter_text_set_positions, in order to 4613 change both cursor position and selection bound inside a 4614 g_object_[freeze/thaw]_notify block 4615 4616 Added g_object_[freeze/thaw]_notify in other functions that changes 4617 both cursor position and selection bound 4618 4619 Solves http://bugzilla.openedhand.com/show_bug.cgi?id=1955 4620 4621 clutter/clutter-text.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------ 4622 1 file changed, 53 insertions(+), 24 deletions(-) 4623 4624commit 579a9a2665b402405820585dacba137984700110 4625Author: Emmanuele Bassi <ebassi@linux.intel.com> 4626Date: Mon Feb 1 11:04:59 2010 +0000 4627 4628 stage: Add :key-focus property 4629 4630 ClutterStage has both set_key_focus() and get_key_focus() methods, but 4631 there is no :key-focus property. This means that it is not possible to 4632 get notifications when the key-focus has changes except by connecting to 4633 both the ::key-focus-in and ::key-focus-out signals and do additional 4634 bookkeeping. 4635 4636 http://bugzilla.openedhand.com/show_bug.cgi?id=1956 4637 4638 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 4639 4640 clutter/clutter-stage.c | 30 +++++++++++++++++++++++++++++- 4641 1 file changed, 29 insertions(+), 1 deletion(-) 4642 4643commit 95712f9897db7f06a6ca34661f20b388dd5a5f77 4644Author: Emmanuele Bassi <ebassi@linux.intel.com> 4645Date: Fri Jan 29 10:13:57 2010 +0000 4646 4647 docs: Update the README 4648 4649 Clean up the grammar and some wrinkles in the text. 4650 4651 README | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------- 4652 1 file changed, 58 insertions(+), 33 deletions(-) 4653 4654commit 5b9259ba807f4151d08bf2ea868c2cdeed97e975 4655Author: Emmanuele Bassi <ebassi@linux.intel.com> 4656Date: Fri Jan 29 09:31:13 2010 +0000 4657 4658 docs: Update the configure switches in the README 4659 4660 README | 13 ++++++++++++- 4661 1 file changed, 12 insertions(+), 1 deletion(-) 4662 4663commit 763fcabd8b287445d32eadb6086b0438e3962294 4664Author: Emmanuele Bassi <ebassi@linux.intel.com> 4665Date: Fri Jan 29 09:29:53 2010 +0000 4666 4667 build: Warn with --disable-conformance and --enable-gcov 4668 4669 When building Clutter without conformance test suite we ought to warn 4670 the user that the coverage report is not going to be accurate. 4671 4672 configure.ac | 9 +++++++-- 4673 1 file changed, 7 insertions(+), 2 deletions(-) 4674 4675commit 21d21adbc45a6e0023e4a21b357fbf392b469fb2 4676Author: Emmanuele Bassi <ebassi@linux.intel.com> 4677Date: Fri Jan 29 09:29:37 2010 +0000 4678 4679 Remove tabs from configure.ac 4680 4681 configure.ac | 51 ++++++++++++++++++++++++++++----------------------- 4682 1 file changed, 28 insertions(+), 23 deletions(-) 4683 4684commit 5f5f6d825f6460f532f0c0448fc403cdb95e4697 4685Author: Emmanuele Bassi <ebassi@linux.intel.com> 4686Date: Fri Jan 29 09:26:47 2010 +0000 4687 4688 build: Allow disabling the conformance test suite 4689 4690 When building Clutter for packaging on headless boxes it's pointless to 4691 allow building the conformance test to be built (and run on 'make 4692 check'). 4693 4694 configure.ac | 14 +++++++++++++- 4695 tests/Makefile.am | 25 ++++++++++++++++++++----- 4696 2 files changed, 33 insertions(+), 6 deletions(-) 4697 4698commit 7a1ebcbced45c21937c4407e28274fdb4a92af52 4699Author: Emmanuele Bassi <ebassi@linux.intel.com> 4700Date: Wed Jan 27 21:26:26 2010 +0000 4701 4702 Whitespace fixes in cogl-util 4703 4704 clutter/cogl/cogl/cogl-util.c | 6 +++--- 4705 1 file changed, 3 insertions(+), 3 deletions(-) 4706 4707commit 578e83e463d4d681de27f1b4e5d64dea8161f0f7 4708Author: Emmanuele Bassi <ebassi@linux.intel.com> 4709Date: Wed Jan 27 21:16:28 2010 +0000 4710 4711 Whitespace fixes 4712 4713 clutter/clutter-frame-source.c | 3 ++- 4714 clutter/clutter-timeout-interval.c | 38 +++++++++++++++++++++++--------------- 4715 clutter/clutter-timeout-pool.c | 5 +++-- 4716 3 files changed, 28 insertions(+), 18 deletions(-) 4717 4718commit 2d5eeba5d89c129f991f367f0e80c3a152f19e52 4719Author: Emmanuele Bassi <ebassi@linux.intel.com> 4720Date: Wed Jan 27 21:14:43 2010 +0000 4721 4722 docs: Fixes for TimeoutPool and Frame sources 4723 4724 The TimeoutPool is not used by ClutterTimeline any more, so we need to 4725 remove a sentence from its description. We also need to fix the gtk-doc 4726 syntax errors. 4727 4728 clutter/clutter-frame-source.c | 25 +++++++++++++------------ 4729 clutter/clutter-timeout-pool.c | 8 +------- 4730 2 files changed, 14 insertions(+), 19 deletions(-) 4731 4732commit 046a4b80476794bebdfd9005c826a64b7c8c9f81 4733Author: Neil Roberts <neil@linux.intel.com> 4734Date: Fri Jan 22 18:14:57 2010 +0000 4735 4736 cogl: Use the colours of COGL_DEBUG=rectangles to debug batching 4737 4738 Instead of assigning a new colour to each quad of a batch, the 4739 rectangle debugging code now assigns a new colour to each batch so 4740 that it can be used to visually see what is being batched. The colour 4741 is stored in a global variable that is reset during cogl_clear. This 4742 improves the chances that the same colour will be used for a batch in 4743 the next frames to avoid flickering. 4744 4745 clutter/cogl/cogl/cogl-context.h | 6 ++++++ 4746 clutter/cogl/cogl/cogl-journal.c | 54 +++++++++++++++++++++++++++++++++++++----------------- 4747 clutter/cogl/cogl/cogl.c | 11 +++++++++++ 4748 3 files changed, 54 insertions(+), 17 deletions(-) 4749 4750commit 92a375ab47296a81d739ca29b0972c7abe6eda16 4751Author: Neil Roberts <neil@linux.intel.com> 4752Date: Tue Jan 26 13:46:27 2010 +0000 4753 4754 cogl-vertex-buffer: Fix disabling the texture arrays from previous prim 4755 4756 When setting up the state for the vertex buffer, 4757 enable_state_for_drawing_buffer tries to keep track of the highest 4758 numbered texture unit in use. It then disables any texture arrays for 4759 units that were previously enabled if they are greater than that 4760 number. However if there is no texturing in the VBO then the max used 4761 unit would be left at 0 which it would later think meant unit 0 is 4762 still in use so it wouldn't disable it. To fix this it now initialises 4763 the max used unit to -1 which it should interpret as ‘no units are in 4764 use’ so it will later disable the arrays for all units. 4765 4766 Thanks to Jon Mayo for reporting the bug. 4767 4768 http://bugzilla.openedhand.com/show_bug.cgi?id=1957 4769 4770 clutter/cogl/cogl/cogl-vertex-buffer.c | 2 +- 4771 1 file changed, 1 insertion(+), 1 deletion(-) 4772 4773commit f288eae0fc454876c2beb87b1205681a338d7f65 4774Author: Neil Roberts <neil@linux.intel.com> 4775Date: Wed Jan 27 12:06:22 2010 +0000 4776 4777 docs: Add some notes about the CoglPixelFormat enums 4778 4779 The pixel format enums didn't explain what order in memory the 4780 components should be so it was difficult to use them. 4781 4782 clutter/cogl/cogl/cogl-types.h | 22 +++++++++++++++++++--- 4783 1 file changed, 19 insertions(+), 3 deletions(-) 4784 4785commit da392e24a55ad34bdc8fe9ac0841eca574f76194 4786Author: Neil Roberts <neil@linux.intel.com> 4787Date: Wed Jan 27 11:02:34 2010 +0000 4788 4789 docs: Fix some of the examples for the animation docs 4790 4791 In the example for clutter_actor_animate the "x" and "y" properties 4792 are floats so they need to be passed float values in the var args 4793 otherwise it will crash. There was also a missing comma. 4794 4795 There were some other minor problems with the behaviours example which 4796 would cause it not to compile. 4797 4798 doc/reference/clutter/clutter-animation-tutorial.xml | 11 +++++------ 4799 1 file changed, 5 insertions(+), 6 deletions(-) 4800 4801commit 52cb54f5fa665fdf06270fc58121617b44877639 4802Author: Damien Lespiau <damien.lespiau@intel.com> 4803Date: Tue Jan 26 18:47:25 2010 +0000 4804 4805 cogl: Fix checks of the number of available texture units 4806 4807 We were checking the number of texture units against the GL enum that is 4808 used in glGetInteger() to query that number. Let's abstract this in a 4809 little function. 4810 4811 Took the opportunity to dig a bit on the usage of GL limits for the 4812 number of texture (image) units and document our use of them. We'll need 4813 something finer grained if we want to fully exploit texture image units 4814 with a programmable pipeline. 4815 4816 clutter/cogl/cogl/cogl-internal.h | 2 ++ 4817 clutter/cogl/cogl/cogl-material.c | 10 ++-------- 4818 clutter/cogl/cogl/cogl.c | 30 ++++++++++++++++++++++++++++++ 4819 3 files changed, 34 insertions(+), 8 deletions(-) 4820 4821commit 87d19b8d182c2524a5d3c30921fe2c3d4d120606 4822Author: Damien Lespiau <damien.lespiau@intel.com> 4823Date: Sun Nov 15 20:17:47 2009 +0000 4824 4825 cogl: Fix gl equivalent of blend string 4826 4827 An example of what could be the equivalent of 4828 "RBG = REPLACE(TEXTURE) 4829 A = MODULATE(PREVIOUS,TEXTURE)" 4830 using the ARB_texture_env_combine extension was given, but it seems that 4831 a few typo were left: 4832 * remove a spurius GL_COMBINE_ALPHA 4833 * use the _ALPHA variant of SRCN and OPERANDN when setting up the 4834 alpha combiner 4835 4836 doc/reference/cogl/blend-strings.xml | 9 ++++----- 4837 1 file changed, 4 insertions(+), 5 deletions(-) 4838 4839commit afb30f4013fdcb58ee35af919fdb739ab587683c 4840Author: Damien Lespiau <damien.lespiau@intel.com> 4841Date: Wed Nov 18 01:13:11 2009 +0000 4842 4843 tests: blend-string: use g_assert_cmpint 4844 4845 It's very useful to see the actual number the reference value is 4846 compared too when the test fails. GTest has g_assert_cmp$type() 4847 functions for that, so make good use of them. 4848 4849 tests/conform/test-cogl-blend-strings.c | 6 +++--- 4850 1 file changed, 3 insertions(+), 3 deletions(-) 4851 4852commit de31cbf4f7932f8d48583a476c5af9f6eed6adbd 4853Author: Damien Lespiau <damien.lespiau@intel.com> 4854Date: Tue Jan 26 16:59:50 2010 +0000 4855 4856 test-cogl-multitexture: use several materials with texture matrices 4857 4858 A small doubt has risen about the use of CoglTextureUnit in materials: 4859 will texture matrices still work if we have several materials, each of 4860 them having at texture on the same texture unit? The answer is yes! 4861 4862 test-cogl-multitexture has been extended to use 2 materials with about 4863 the same setup except a little difference: the texture matrices for the 4864 lightmaps rotate in opposite directions. 4865 4866 While at it, changed the rotation behaviour by an implicit animation 4867 with a small additional bonus bling. 4868 4869 tests/interactive/test-cogl-multitexture.c | 143 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------- 4870 1 file changed, 102 insertions(+), 41 deletions(-) 4871 4872commit 06d8ebb0ba2d468d492eeb94dede095a14eec909 4873Author: Damien Lespiau <damien.lespiau@intel.com> 4874Date: Sun Nov 15 19:54:17 2009 +0000 4875 4876 cogl: Create CoglTextureUnit with its associated unit number 4877 4878 The index field of CoglTextureUnit was never set, leading to the 4879 creation of units with index set to 0. When trying to retrieve a texture 4880 unit by its index (!= 0) with _cogl_get_texture_unit(), a new one was 4881 created as it could not find it back in the list of textures units: 4882 ctx->texture_units. 4883 4884 http://bugzilla.openedhand.com/show_bug.cgi?id=1958 4885 4886 clutter/cogl/cogl/cogl.c | 5 +++-- 4887 1 file changed, 3 insertions(+), 2 deletions(-) 4888 4889commit 8fc07c51a9c71aec77e4b76416ffedc72da309e2 4890Author: Emmanuele Bassi <ebassi@linux.intel.com> 4891Date: Thu Jan 21 17:41:10 2010 +0000 4892 4893 actor: Use GParamSpecUint for :opacity 4894 4895 The :opacity property is defined using a GParamSpecUchar. This usually 4896 leads to issues with language bindings that don't have an 'unsigned 4897 char' type and that need to explicitly handle the conversion between 4898 G_TYPE_UCHAR and G_TYPE_INT or G_TYPE_UINT. 4899 4900 The property definition already specifies an interval size of [0, 255] 4901 on the values; more importantly, GObject already implicitly transforms 4902 between G_TYPE_UCHAR and G_TYPE_UINT (the GValue transformation 4903 functions are registered at type system initialization time) so 4904 switching between a GParamSpecUchar and a GParamSpecUint should not be 4905 an ABI break. 4906 4907 I have tested a simple program using the opacity property before and 4908 after the change and I cannot see any run-time warnings related to this 4909 issue. 4910 4911 clutter/clutter-actor.c | 18 +++++++++--------- 4912 1 file changed, 9 insertions(+), 9 deletions(-) 4913 4914commit d0f7debfba4879c3df20c0067789b063e18d93ce 4915Author: Emmanuele Bassi <ebassi@linux.intel.com> 4916Date: Fri Jan 22 21:44:28 2010 +0000 4917 4918 test-easing: Do not reconnect signals multiple times 4919 4920 The test should keep track of the last animation and avoid reconnecting 4921 signals to the same instance in case the -r argument has been passed. 4922 4923 tests/interactive/test-easing.c | 6 +++++- 4924 1 file changed, 5 insertions(+), 1 deletion(-) 4925 4926commit 7073e69b4e504ddbaffad4a6139e93ddbd40b9f8 4927Author: Emmanuele Bassi <ebassi@linux.intel.com> 4928Date: Fri Jan 22 21:42:55 2010 +0000 4929 4930 animation: Verify internal state 4931 4932 Be more drastic if the internal state is broken, and assert() if the 4933 expected Alpha and Timeline instances we need are not valid. This 4934 usually implies a library bug or a massive heap corruption. 4935 4936 clutter/clutter-animation.c | 4 ++++ 4937 1 file changed, 4 insertions(+) 4938 4939commit 8daa3035e563870fc614813fd6329c63542b129e 4940Author: Emmanuele Bassi <ebassi@linux.intel.com> 4941Date: Fri Jan 22 21:42:10 2010 +0000 4942 4943 docs: Fix the Animation:object property 4944 4945 There is a typo in the Animation:object property gtk-doc declaration. 4946 4947 clutter/clutter-animation.c | 2 +- 4948 1 file changed, 1 insertion(+), 1 deletion(-) 4949 4950commit 0788aa43b29454efed3f60160b87881a1c84f603 4951Author: Emmanuele Bassi <ebassi@linux.intel.com> 4952Date: Fri Jan 22 21:41:33 2010 +0000 4953 4954 animation: Add more debug annotations 4955 4956 We need some better tracking of the Animation's lifetime. 4957 4958 clutter/clutter-animation.c | 16 ++++++++++++++-- 4959 1 file changed, 14 insertions(+), 2 deletions(-) 4960 4961commit 7fa7c4a1b621eff0533ff70b1b6c9be001f62e2a 4962Author: Emmanuele Bassi <ebassi@linux.intel.com> 4963Date: Fri Jan 22 21:36:41 2010 +0000 4964 4965 animation: Transform if necessary 4966 4967 The Animation code does transformation of values between type A and A' 4968 after checking for compatibility using g_value_type_compatible(). This 4969 is incorrect: compatibility means that the two types can be copied. The 4970 correct conversion should follow: 4971 4972 if (compatible (type (A), type (A'))) 4973 copy (A, A'); 4974 else 4975 if (transformable (type (A), type (A'))) 4976 transform (A, A'); 4977 else 4978 error("Unable to trasform type A in A'"); 4979 4980 The transformation might still fail, so we need to check for errors 4981 there as well as a fall-through case. 4982 4983 clutter/clutter-animation.c | 42 ++++++++++++++++++++++-------------------- 4984 1 file changed, 22 insertions(+), 20 deletions(-) 4985 4986commit 94249efff7ec46bbeaac04800d5a9a30c05dcde3 4987Author: Emmanuele Bassi <ebassi@linux.intel.com> 4988Date: Fri Jan 22 21:33:28 2010 +0000 4989 4990 animation: Check for value transformability 4991 4992 We should not just check for compatibility, but also for the ability to 4993 transform a GValue of type A into another of type A'. 4994 4995 Usually compatibility is enough, especially if types can be 4996 introspected beforehand; some times, though, we also need to check for 4997 transformability as a type can provide the transformation functions 4998 necessary for the operation. 4999 5000 clutter/clutter-animation.c | 29 ++++++++++++++++++++--------- 5001 1 file changed, 20 insertions(+), 9 deletions(-) 5002 5003commit 996614cfaf582bbfbf86874a95b4a7eef3c50630 5004Author: Neil Roberts <neil@linux.intel.com> 5005Date: Thu Jan 21 15:34:19 2010 +0000 5006 5007 cogl-atlas-texture: Add a debug option to disable the atlas 5008 5009 If the user specifies the 'disable-atlas' debug option then no texture 5010 will be put in the atlas. 5011 5012 clutter/cogl/cogl/cogl-atlas-texture.c | 5 +++++ 5013 clutter/cogl/cogl/cogl-debug.c | 3 ++- 5014 clutter/cogl/cogl/cogl-debug.h | 3 ++- 5015 3 files changed, 9 insertions(+), 2 deletions(-) 5016 5017commit 4695383281d4b74baa10d78253a27b2eb541eef3 5018Author: Emmanuele Bassi <ebassi@linux.intel.com> 5019Date: Fri Jan 22 00:06:17 2010 +0000 5020 5021 build: Use no-define 5022 5023 We don't need the PACKAGE and VERSION defines in the config.h. 5024 5025 configure.ac | 2 +- 5026 1 file changed, 1 insertion(+), 1 deletion(-) 5027 5028commit f7e7985344420caf4897777ced6f04cddb7052ee 5029Author: Emmanuele Bassi <ebassi@linux.intel.com> 5030Date: Thu Jan 21 23:57:38 2010 +0000 5031 5032 build: Add no-portability option to automake 5033 5034 We require the GNU version of make for some of our rules, and it's been 5035 so for a while now. 5036 5037 configure.ac | 2 +- 5038 1 file changed, 1 insertion(+), 1 deletion(-) 5039 5040commit a545f66a5c34b66d1a31387105d114ca3edd3a46 5041Author: Emmanuele Bassi <ebassi@linux.intel.com> 5042Date: Thu Jan 21 23:41:18 2010 +0000 5043 5044 master clock: Improve the timeline advancement protection 5045 5046 The commit 1c69c61745ed510f0b6ab16cb963ca01994cb9fc which improved the 5047 protection against timeline removals during the master clock advancement 5048 was only doing half the job - and actually broke the chaining of 5049 animations inside the ::completed signal. 5050 5051 We cannot simply take a reference on the timelines and still use the list 5052 held by the master clock because the do_tick() might result in the 5053 creation of a new timeline, which gets added at the end of the list with 5054 no reference increase and thus gets disposed at the end of the iteration. 5055 5056 We also cannot steal the master clock timelines list because a timeline 5057 might be removed as the direct result of do_tick() and remove_timeline() 5058 would not find the timeline, failing and leaving a dangling pointer 5059 behind. 5060 5061 For this reason we copy the list of timelines out of the one that the 5062 Master Clock holds, take a reference on each timeline, advance them all, 5063 release the reference and free the list. 5064 5065 clutter/clutter-master-clock.c | 39 +++++++++++++++++++++++++++------------ 5066 1 file changed, 27 insertions(+), 12 deletions(-) 5067 5068commit 8a4b64715486699dd8d0ea2146d0adea37d2a6c7 5069Author: Emmanuele Bassi <ebassi@linux.intel.com> 5070Date: Wed Jan 20 19:40:58 2010 +0000 5071 5072 x11: Re-enable XI1 extension keyboards 5073 5074 The extension keyboard support in XInput 1.x is hopelessly broken. 5075 5076 Nevertheless, it's possible to use some bits of it, as we prefer the 5077 core keyboard events to the XInput events, thus at least having proper 5078 handling for X11 key events on the Stage window. 5079 5080 clutter/x11/clutter-backend-x11.c | 2 -- 5081 clutter/x11/clutter-event-x11.c | 28 ++++++++++++++++++++++++++-- 5082 clutter/x11/clutter-input-device-x11.c | 21 ++++++++++++++------- 5083 tests/interactive/test-devices.c | 12 +++++++----- 5084 4 files changed, 47 insertions(+), 16 deletions(-) 5085 5086commit 94f9f3bd9345d8eb1551c429615473134e3f4e8f 5087Author: Emmanuele Bassi <ebassi@linux.intel.com> 5088Date: Fri Jan 15 16:28:00 2010 +0000 5089 5090 x11: Always handle core device events before XI events 5091 5092 The XI 1.0 layer is complementary to the X11 core devices handling; this 5093 means that core events will still be emitted for the core pointer and 5094 keyboard devices, and that secondary (floating) devices should be 5095 handled on top of that. 5096 5097 Thus, the XI event handling code should be executed (if explicitly 5098 compiled in and enabled) if the core device events have not been parsed. 5099 5100 Note: this is going away with XI2, which completely replaces both core and 5101 XI1 events. 5102 5103 clutter/x11/clutter-event-x11.c | 499 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------- 5104 1 file changed, 224 insertions(+), 275 deletions(-) 5105 5106commit dc39e9eff9de0797086ea1a505855724296981f7 5107Author: Emmanuele Bassi <ebassi@linux.intel.com> 5108Date: Fri Jan 15 15:29:52 2010 +0000 5109 5110 docs: Documentation fixes for DeviceManager 5111 5112 clutter/clutter-device-manager.c | 7 ++++++- 5113 doc/reference/clutter/clutter-sections.txt | 2 -- 5114 doc/reference/clutter/clutter.types | 2 ++ 5115 3 files changed, 8 insertions(+), 3 deletions(-) 5116 5117commit 65c7ff7d05389a10eed1d881ca572082f03932fe 5118Author: Emmanuele Bassi <ebassi@linux.intel.com> 5119Date: Fri Jan 15 15:29:14 2010 +0000 5120 5121 device-manager: Fix the signals definition 5122 5123 Add documentation for the signals, as well as using the correct type for 5124 the marshallers. 5125 5126 clutter/clutter-device-manager.c | 26 +++++++++++++++++++++++--- 5127 1 file changed, 23 insertions(+), 3 deletions(-) 5128 5129commit 0b47acf60b46b64ae838471765d86e1c65c01cc0 5130Author: Emmanuele Bassi <ebassi@linux.intel.com> 5131Date: Fri Jan 15 14:56:43 2010 +0000 5132 5133 docs: Add sections for InputDevice and DeviceManager 5134 5135 doc/reference/clutter/clutter-docs.xml.in | 2 ++ 5136 1 file changed, 2 insertions(+) 5137 5138commit 8ead5abba0ebe9c5b5c1b749bb28f7879d63aa49 5139Author: Emmanuele Bassi <ebassi@linux.intel.com> 5140Date: Fri Jan 15 14:42:19 2010 +0000 5141 5142 docs: Add clutter_input_device_get_device_name() 5143 5144 doc/reference/clutter/clutter-sections.txt | 1 + 5145 1 file changed, 1 insertion(+) 5146 5147commit 1f5a7b61b761bf8426b1229c481574c273a5964f 5148Author: Emmanuele Bassi <ebassi@linux.intel.com> 5149Date: Fri Jan 15 12:24:21 2010 +0000 5150 5151 tests: Print out the device details on motion 5152 5153 The test-device interactive test should print out the device name and id 5154 when it detects a motion event. 5155 5156 tests/interactive/test-devices.c | 31 ++++++++++++++++++++++++++++++- 5157 1 file changed, 30 insertions(+), 1 deletion(-) 5158 5159commit d8e167f1519499a27ee04a9a0d167b5ffed3ce8e 5160Author: Emmanuele Bassi <ebassi@linux.intel.com> 5161Date: Fri Jan 15 12:22:29 2010 +0000 5162 5163 Always register core devices 5164 5165 Even with XInput support we should always register core devices. This 5166 allows us to handle enter and leave events correctly on the Stage and 5167 to have a working XInput 1.x support in Clutter. 5168 5169 clutter/x11/clutter-backend-x11.c | 87 ++++++++++++++++++++++++++++----------------------------------------------------------- 5170 clutter/x11/clutter-backend-x11.h | 1 + 5171 clutter/x11/clutter-event-x11.c | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 5172 clutter/x11/clutter-input-device-x11.c | 14 +++++++------- 5173 4 files changed, 82 insertions(+), 67 deletions(-) 5174 5175commit e0b8d631593c0539c47de0158d5425391d7cdbc0 5176Author: Emmanuele Bassi <ebassi@linux.intel.com> 5177Date: Fri Jan 15 11:52:27 2010 +0000 5178 5179 device: Remove unused is_default member 5180 5181 The is_default member of the InputDevice structure was not used 5182 anywhere. 5183 5184 clutter/clutter-private.h | 2 -- 5185 clutter/x11/clutter-backend-x11.c | 11 ++--------- 5186 2 files changed, 2 insertions(+), 11 deletions(-) 5187 5188commit 74dbcede25c9dee5b40cb057a26263d580800e7e 5189Author: Emmanuele Bassi <ebassi@linux.intel.com> 5190Date: Fri Jan 15 11:47:05 2010 +0000 5191 5192 win32: Experimental implementation of device support 5193 5194 Mostly lifted from the core pointer and keyboard X11 backend support. 5195 5196 The win32 backend registers two devices (a core pointer and a core 5197 keyboard) and assigns them to the event structure when doing the 5198 translation from native events to Clutter events. 5199 5200 Thanks to: Samuel Degrande <Samuel.Degrande@lifl.fr> for testing this 5201 patch. 5202 5203 clutter/win32/clutter-backend-win32.c | 23 +++++++++++++++++++++++ 5204 clutter/win32/clutter-backend-win32.h | 3 +++ 5205 clutter/win32/clutter-event-win32.c | 55 +++++++++++++++++++++++++++++++++++-------------------- 5206 3 files changed, 61 insertions(+), 20 deletions(-) 5207 5208commit 850dd5a38fe17e82b16e19144db4ac516e349dbb 5209Author: Emmanuele Bassi <ebassi@linux.intel.com> 5210Date: Fri Jan 15 11:40:01 2010 +0000 5211 5212 tests: Print the device name, as well as its Id 5213 5214 The test-devices interactive test should display the device name along 5215 with the id. 5216 5217 tests/interactive/test-devices.c | 3 ++- 5218 1 file changed, 2 insertions(+), 1 deletion(-) 5219 5220commit 66740e8000ea92b04da663a0d2ce890271d2af2f 5221Author: Emmanuele Bassi <ebassi@linux.intel.com> 5222Date: Fri Jan 15 11:38:58 2010 +0000 5223 5224 x11: Fill out the :name property of the InputDevices 5225 5226 For the core pointer and keyboard we assign the names ourselves; for 5227 devices coming from XI we can use the XDeviceInfo.name member. 5228 5229 clutter/x11/clutter-backend-x11.c | 5 ++++- 5230 clutter/x11/clutter-event-x11.c | 9 ++++++--- 5231 2 files changed, 10 insertions(+), 4 deletions(-) 5232 5233commit cf4e05930a1243f9b58617a4a50833d5bab705b1 5234Author: Emmanuele Bassi <ebassi@linux.intel.com> 5235Date: Fri Jan 15 11:37:43 2010 +0000 5236 5237 device: Add the :name property to InputDevice 5238 5239 The InputDevice should have a name, possibly user readable, coming from 5240 the backend. 5241 5242 clutter/clutter-input-device.c | 46 +++++++++++++++++++++++++++++++++++++++++++++- 5243 clutter/clutter-input-device.h | 6 +++--- 5244 clutter/clutter-private.h | 9 +++++++++ 5245 3 files changed, 57 insertions(+), 4 deletions(-) 5246 5247commit 79ad2b6a72bd91273e139e72af36d9b6db264001 5248Author: Emmanuele Bassi <ebassi@linux.intel.com> 5249Date: Fri Jan 15 11:21:52 2010 +0000 5250 5251 x11: Store core devices on the X11 Backend singleton 5252 5253 Instead of overloading the device id of 0 and 1 we should treat the core 5254 devices as special, and have a pointer inside the X11 backend singleton 5255 structure, for fast access. 5256 5257 clutter/x11/clutter-backend-x11.c | 8 ++++++-- 5258 clutter/x11/clutter-backend-x11.h | 3 +++ 5259 clutter/x11/clutter-event-x11.c | 13 +++++-------- 5260 clutter/x11/clutter-input-device-x11.c | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5261 4 files changed, 77 insertions(+), 10 deletions(-) 5262 5263commit 8a579838d54d2b6f552fd32d9772f6e04f178179 5264Author: Emmanuele Bassi <ebassi@linux.intel.com> 5265Date: Thu Jan 14 17:14:33 2010 +0000 5266 5267 device: Unset the cursor actor when leaving the stage 5268 5269 When an InputDevice leaves a stage we set the stage member of 5270 InputDevice to NULL. We should also unset the cursor_actor (as the 5271 device is obviously not on an actor any more). 5272 5273 When the device re-enters the Stage the ENTER/LEAVE event generation 5274 machinery will then be able to emit the ENTER event on the Stage. 5275 5276 clutter/clutter-input-device.c | 43 ++++++++++++++++++++++++++++--------------- 5277 1 file changed, 28 insertions(+), 15 deletions(-) 5278 5279commit 55e4315aa5889185a055f3ab2d5b5d4c9cae4dc4 5280Author: Emmanuele Bassi <ebassi@linux.intel.com> 5281Date: Tue Jan 12 11:53:12 2010 +0000 5282 5283 device: Add pointer actor getter 5284 5285 ClutterInputDevice should have a getter method for retrieving the 5286 reactive actor underneath the pointer. 5287 5288 clutter/clutter-input-device.c | 37 +++++++++++++++++++++++++++++++++++++ 5289 clutter/clutter-input-device.h | 3 ++- 5290 doc/reference/clutter/clutter-sections.txt | 1 + 5291 3 files changed, 40 insertions(+), 1 deletion(-) 5292 5293commit 25c6ebbb2c70af7f268036b10dcd8d4a965c34c3 5294Author: Emmanuele Bassi <ebassi@linux.intel.com> 5295Date: Wed Dec 9 00:03:13 2009 +0000 5296 5297 x11: Discard the LeaveNotify for off-stage ButtonRelease 5298 5299 If the user presses a button on a pointer device and then moves out the 5300 Stage X11 will emit the following events: 5301 5302 LeaveNotify ➔ MotionNotify ... ➔ ButtonRelease ➔ LeaveNotify 5303 5304 The second LeaveNotify differs from the first by the state field. 5305 5306 Unfortunately, ClutterCrossingEvent doesn't have a modifier_state field 5307 like other events, so we cannot provide a way for programmatically 5308 distinguishing them from a Clutter perspective. This is also an X11-ism 5309 we might not even want to replicate on every backend with sane 5310 enter/leave semantics. 5311 5312 For this reason we should check inside the X11 event processing if the 5313 pointer device has already left the Stage and ignore the second 5314 LeaveNotify. 5315 5316 clutter/x11/clutter-event-x11.c | 58 ++++++++++++++++++++++++++++++++++------------------------ 5317 1 file changed, 34 insertions(+), 24 deletions(-) 5318 5319commit 8736b53d7cc6fd2b53649c076ef09cb69f9b37d6 5320Author: Emmanuele Bassi <ebassi@linux.intel.com> 5321Date: Wed Dec 9 00:01:50 2009 +0000 5322 5323 device: Do not overwrite the stage for an InputDevice 5324 5325 The Stage field of an InputDevice is set by the backend, whenever the 5326 pointer enters or leaves the Stage. The Stage should not overwrite the 5327 stage field for every event it processes. 5328 5329 clutter/clutter-stage.c | 1 - 5330 1 file changed, 1 deletion(-) 5331 5332commit cf287db2048eae5eaa58a9cbffd42c703f345ff5 5333Author: Emmanuele Bassi <ebassi@linux.intel.com> 5334Date: Wed Dec 9 00:00:49 2009 +0000 5335 5336 event: Off-stage button releases have a click count of 1 5337 5338 The ButtonRelease off-stage should not have a click count of 0 but a 5339 click count initialized to 1. 5340 5341 clutter/clutter-main.c | 1 + 5342 1 file changed, 1 insertion(+) 5343 5344commit bddabf6d2ca100f4d91461129d4bb097c59ac666 5345Author: Emmanuele Bassi <ebassi@linux.intel.com> 5346Date: Tue Dec 8 23:59:56 2009 +0000 5347 5348 event: Scroll events do not have click count 5349 5350 Remove the unneeded CLUTTER_SCROLL case from the click count checks. 5351 5352 clutter/clutter-main.c | 1 - 5353 1 file changed, 1 deletion(-) 5354 5355commit e30856a54d5d1e012cd2de30e519a487fd0b4f46 5356Author: Emmanuele Bassi <ebassi@linux.intel.com> 5357Date: Tue Dec 8 18:33:01 2009 +0000 5358 5359 Whitespace and indentation fixes 5360 5361 clutter/x11/clutter-event-x11.c | 24 ++++++++++++------------ 5362 1 file changed, 12 insertions(+), 12 deletions(-) 5363 5364commit 0f9cfd9911c21933b34c07a9616f79022bcc01e3 5365Author: Emmanuele Bassi <ebassi@linux.intel.com> 5366Date: Mon Dec 7 23:13:52 2009 +0000 5367 5368 event: Clean up click-count detection 5369 5370 Avoid a few indirections and direct access to the Event and InputDevice 5371 structures. 5372 5373 clutter/clutter-main.c | 65 +++++++++++++++++++++++++++++++++++++++++++++-------------------- 5374 1 file changed, 45 insertions(+), 20 deletions(-) 5375 5376commit cf8a06f0186e44b3437b06c56c088e8dc465402b 5377Author: Emmanuele Bassi <ebassi@linux.intel.com> 5378Date: Mon Dec 7 23:05:20 2009 +0000 5379 5380 device: Store the current state, not the previous 5381 5382 The previous state for the device is used by the click count machinery 5383 and we should not be overwriting it at every event; instead, we should 5384 use a parallel storage for the current state coming from the windowing 5385 system. 5386 5387 clutter/clutter-input-device.c | 34 +++++++++++++++++----------------- 5388 clutter/clutter-private.h | 7 +++++++ 5389 2 files changed, 24 insertions(+), 17 deletions(-) 5390 5391commit 68b47e3ed479242a94f7a8d302a2900f7e28c840 5392Author: Emmanuele Bassi <ebassi@linux.intel.com> 5393Date: Mon Dec 7 23:02:48 2009 +0000 5394 5395 tests: Fix test-events output 5396 5397 • The enter/leave event line should take into account the case where 5398 the related field is set to NULL (meaning entering from off-stage 5399 and leaving the stage). 5400 5401 • The ButtonRelease line shows the click count but uses the button; the 5402 button *and* the click count should be displayed for both ButtonPress 5403 and ButtonRelease, to verify they match. 5404 5405 tests/interactive/test-events.c | 16 +++++++++++----- 5406 1 file changed, 11 insertions(+), 5 deletions(-) 5407 5408commit b3a42c3b09e256732395f7c63c4a39956d32d3da 5409Author: Emmanuele Bassi <ebassi@linux.intel.com> 5410Date: Mon Dec 7 18:38:18 2009 +0000 5411 5412 docs: Update the API reference 5413 5414 Add the new symbols for InputDevice and DeviceManager 5415 5416 clutter/clutter-device-manager.c | 2 +- 5417 clutter/clutter-device-manager.h | 2 +- 5418 clutter/clutter-main.c | 4 ++-- 5419 doc/reference/clutter/clutter-sections.txt | 49 +++++++++++++++++++++++++++++++++++++++++++++---- 5420 4 files changed, 49 insertions(+), 8 deletions(-) 5421 5422commit 130286979d04128b51fa8662aa13b6bbd1867ca2 5423Author: Emmanuele Bassi <ebassi@linux.intel.com> 5424Date: Tue Nov 24 17:54:02 2009 +0000 5425 5426 Do not pick when motion event delivery is disabled 5427 5428 The device manager does not need to update the state of the devices 5429 when the user has disabled the delivery of motion events to actors: 5430 the events will always be delivered as they are to the stage. 5431 5432 clutter/clutter-device-manager.c | 7 +++++++ 5433 1 file changed, 7 insertions(+) 5434 5435commit 687c70dffa70a3256e9f734b090cb4a088e97bb1 5436Author: Emmanuele Bassi <ebassi@linux.intel.com> 5437Date: Tue Nov 24 16:33:03 2009 +0000 5438 5439 Rework the emission of LEAVE/ENTER event pairs 5440 5441 The LEAVE/ENTER event pairs should be queued during the InputDevice 5442 update process, when we change the actor under the device pointer. 5443 5444 This commit cleans up the event emission code inside clutter-main.c 5445 and the logic of the event processing. 5446 5447 clutter/clutter-device-manager.c | 4 ++-- 5448 clutter/clutter-input-device.c | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 5449 clutter/clutter-main.c | 190 +++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------- 5450 clutter/clutter-private.h | 2 -- 5451 4 files changed, 104 insertions(+), 173 deletions(-) 5452 5453commit 75f05646fa117b8096e033f9fad0ba9de1ee01ac 5454Author: Emmanuele Bassi <ebassi@linux.intel.com> 5455Date: Tue Nov 24 16:31:14 2009 +0000 5456 5457 tests: Clean up test-events 5458 5459 The output of test-events is a bit of a mess; this patch should clean 5460 it up a little bit - at least enough for it to be useful again during 5461 visual inspection. 5462 5463 tests/interactive/test-events.c | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------- 5464 1 file changed, 60 insertions(+), 41 deletions(-) 5465 5466commit a056ae716442e07e50ebd07cbca030776a5b3c28 5467Author: Emmanuele Bassi <ebassi@linux.intel.com> 5468Date: Tue Nov 24 16:22:44 2009 +0000 5469 5470 Add docs and licensing notices 5471 5472 clutter/clutter-device-manager.c | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 5473 clutter/clutter-device-manager.h | 29 +++++++++++++++++++++++++++++ 5474 clutter/clutter-input-device.c | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 5475 clutter/clutter-input-device.h | 31 +++++++++++++++++++++++++++++++ 5476 4 files changed, 288 insertions(+), 6 deletions(-) 5477 5478commit 9506510d1cf794ef530f6c4db45103efb60cca63 5479Author: Emmanuele Bassi <ebassi@linux.intel.com> 5480Date: Fri Jan 8 17:51:00 2010 +0000 5481 5482 Move all picking-related operations inside InputDevice 5483 5484 The InputDevice objects stores pointer coordinates, state, stage and 5485 the actor under the cursor, so if the current backend provides us with 5486 one attached to the Event structure then we want the InputDevice itself 5487 to update its state and give us the ClutterActor underneath the 5488 pointer's cursor. 5489 5490 clutter/clutter-device-manager.c | 24 ++++++++++++++++++++++++ 5491 clutter/clutter-event.c | 36 ------------------------------------ 5492 clutter/clutter-input-device.c | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 5493 clutter/clutter-input-device.h | 7 +++++-- 5494 clutter/clutter-main.c | 60 +++++++++++++++++++++++++++++++++++------------------------- 5495 clutter/clutter-master-clock.c | 7 +++---- 5496 clutter/clutter-private.h | 36 +++++++++++++++++++++++------------- 5497 clutter/clutter-stage.c | 28 ++++++++++++++++++++++++---- 5498 clutter/x11/clutter-event-x11.c | 36 ++++++++++++++++++++++++------------ 5499 9 files changed, 225 insertions(+), 100 deletions(-) 5500 5501commit 1f87cac0695dc95be4ed0219752d454d9a285e50 5502Author: Emmanuele Bassi <ebassi@linux.intel.com> 5503Date: Tue Nov 24 12:53:57 2009 +0000 5504 5505 actor: Add :has-pointer property 5506 5507 ClutterActor should be able to tell whether a pointer is within 5508 its area or not. 5509 5510 clutter/clutter-actor.c | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 5511 clutter/clutter-actor.h | 1 + 5512 clutter/clutter-private.h | 3 +++ 5513 3 files changed, 63 insertions(+), 1 deletion(-) 5514 5515commit d23dd9af6bf48c3c02f685505a5a34b477d4d2b3 5516Author: Emmanuele Bassi <ebassi@linux.intel.com> 5517Date: Mon Nov 23 16:07:16 2009 +0000 5518 5519 device: Make InputDevice an object and subclass it for X11 5520 5521 ClutterInputDevice should be a type that we can subclass per-backend 5522 to add functionality. 5523 5524 clutter/Makefile.am | 2 ++ 5525 clutter/clutter-event.h | 35 +---------------------------------- 5526 clutter/clutter-input-device.c | 175 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5527 clutter/clutter-input-device.h | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5528 clutter/clutter-main.c | 34 +++++++++++++++++----------------- 5529 clutter/clutter-private.h | 19 ++++++++++++++++--- 5530 clutter/clutter.h | 1 + 5531 clutter/x11/Makefile.am | 2 ++ 5532 clutter/x11/clutter-backend-x11.c | 141 ++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------- 5533 clutter/x11/clutter-input-device-x11.c | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5534 clutter/x11/clutter-input-device-x11.h | 25 +++++++++++++++++++++++++ 5535 11 files changed, 484 insertions(+), 165 deletions(-) 5536 5537commit d5331bfb5786b496cfcab925319711853db2f1d3 5538Author: Emmanuele Bassi <ebassi@linux.intel.com> 5539Date: Fri Nov 20 16:37:58 2009 +0000 5540 5541 tests: Update the devices test 5542 5543 Use the DeviceManager API instead of the X11 specific API. 5544 5545 tests/interactive/test-devices.c | 8 +++++--- 5546 1 file changed, 5 insertions(+), 3 deletions(-) 5547 5548commit 157da20e86f88bf906f0b59bafbea171a2e5e678 5549Author: Emmanuele Bassi <ebassi@linux.intel.com> 5550Date: Fri Nov 20 16:24:16 2009 +0000 5551 5552 x11: Always assign a device to pointer and key events 5553 5554 Even when we are not using XInput we now have fallback devices; the 5555 X11 backend should always assign the default devices when translating 5556 the X events to Clutter events. 5557 5558 clutter/x11/clutter-event-x11.c | 37 ++++++++++++++++++++++++++++--------- 5559 1 file changed, 28 insertions(+), 9 deletions(-) 5560 5561commit ca16446319b6281cf63edf3b1b6d7d4f8d41e499 5562Author: Emmanuele Bassi <ebassi@linux.intel.com> 5563Date: Fri Nov 20 15:43:50 2009 +0000 5564 5565 Add :is-default flag to InputDevice 5566 5567 clutter/clutter-private.h | 2 ++ 5568 clutter/x11/clutter-backend-x11.c | 9 ++++++++- 5569 2 files changed, 10 insertions(+), 1 deletion(-) 5570 5571commit 3027d4327ae0c5d9bb7cc831f24d5ee5e8fb107f 5572Author: Emmanuele Bassi <ebassi@linux.intel.com> 5573Date: Fri Nov 20 15:36:43 2009 +0000 5574 5575 Port the X11 backend to the Device Manager 5576 5577 Use the device manager to store the input devices. Also, provide 5578 two fallback devices when initializing the X11 backend: device 0 5579 for the pointer and device 1 for the keyboard. 5580 5581 clutter/clutter-private.h | 3 -- 5582 clutter/x11/clutter-backend-x11.c | 514 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------- 5583 clutter/x11/clutter-backend-x11.h | 6 --- 5584 clutter/x11/clutter-event-x11.c | 5 +- 5585 clutter/x11/clutter-x11.h | 2 + 5586 5 files changed, 256 insertions(+), 274 deletions(-) 5587 5588commit d34f1aa775e8a66bd0e599b32c761869b319c639 5589Author: Emmanuele Bassi <ebassi@linux.intel.com> 5590Date: Fri Nov 20 15:35:40 2009 +0000 5591 5592 Add ClutterDeviceManager 5593 5594 The ClutterDeviceManager is a singleton object that behaves like the 5595 StageManager: it holds all input devices and notifies on addition and 5596 removal. 5597 5598 clutter/Makefile.am | 6 ++++-- 5599 clutter/clutter-device-manager.c | 146 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5600 clutter/clutter-device-manager.h | 30 ++++++++++++++++++++++++++++++ 5601 clutter/clutter-main.c | 30 ++++++++++++++---------------- 5602 clutter/clutter-marshal.list | 1 + 5603 clutter/clutter-private.h | 43 ++++++++++++++++++++++++++++--------------- 5604 clutter/clutter.h | 1 + 5605 7 files changed, 224 insertions(+), 33 deletions(-) 5606 5607commit 1ef40b882349820d5edb2f1ed8885c3386d2cdf7 5608Author: Neil Roberts <neil@linux.intel.com> 5609Date: Tue Jan 19 17:14:58 2010 +0000 5610 5611 test-cogl-npot-texture: Use the COGL_TEXTURE_NO_ATLAS flag 5612 5613 If the texture is put in the atlas it won't be sliced whatever size it 5614 is so it negates the test. We can avoid this with the NO_ATLAS flag. 5615 5616 tests/conform/test-cogl-npot-texture.c | 2 +- 5617 1 file changed, 1 insertion(+), 1 deletion(-) 5618 5619commit 08b8b2791f91770d1a6e7aff163167d003b0fad3 5620Author: Neil Roberts <neil@linux.intel.com> 5621Date: Tue Jan 19 17:06:28 2010 +0000 5622 5623 cogl-atlas-texture: Don't create atlas textures with the premult bit 5624 5625 Previously the atlas textures were being created with whatever format 5626 the first sub texture is in. Only three formats are supported so this 5627 only matters if the first texture is a premultiplied alpha 5628 texture. Instead it now masks out the premultiplied bit so that the 5629 textures are always either RGB_888 or RGBA_8888. 5630 5631 clutter/cogl/cogl/cogl-atlas-texture.c | 3 ++- 5632 1 file changed, 2 insertions(+), 1 deletion(-) 5633 5634commit 14a28620ae13ef041696e2e3747ec00738cfd2bd 5635Author: Neil Roberts <neil@linux.intel.com> 5636Date: Fri Jan 15 22:56:37 2010 +0000 5637 5638 win32: Use an invisible cursor when cursor-visible is FALSE 5639 5640 The win32 backend now handles the WM_SETCURSOR message and sets a 5641 fully transparent cursor if the cursor-visible property has been 5642 cleared on the stage. The icon is stored in the library via a resource 5643 file. The instance handle for the DLL is needed to load the resource 5644 so there is now a DllMain function to grab the handle. 5645 5646 clutter/Makefile.am | 21 ++++++++++++++++++++- 5647 clutter/win32/Makefile.am | 2 +- 5648 clutter/win32/clutter-backend-win32.c | 25 +++++++++++++++++++++++++ 5649 clutter/win32/clutter-backend-win32.h | 4 ++++ 5650 clutter/win32/clutter-event-win32.c | 14 ++++++++++++++ 5651 clutter/win32/clutter-stage-win32.c | 44 +++++++++++++++++++++++++++++++++++++++----- 5652 clutter/win32/clutter-stage-win32.h | 2 ++ 5653 clutter/win32/invisible-cursor.cur | Bin 0 -> 86 bytes 5654 clutter/win32/resources.rc | 1 + 5655 configure.ac | 7 +++++++ 5656 10 files changed, 113 insertions(+), 7 deletions(-) 5657 5658commit 4db89759a0aa91b353ac0bb41562addfff6d76c9 5659Author: Neil Roberts <neil@linux.intel.com> 5660Date: Mon Jan 18 17:33:08 2010 +0000 5661 5662 Post-release version bump to 1.1.7 5663 5664 configure.ac | 2 +- 5665 1 file changed, 1 insertion(+), 1 deletion(-) 5666 5667commit 07ff8d26f8097a00757e6e3cfcd587bce188ae0d 5668Author: Neil Roberts <neil@linux.intel.com> 5669Date: Mon Jan 18 15:44:58 2010 +0000 5670 5671 Release Clutter 1.1.6 5672 5673 NEWS | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 5674 configure.ac | 2 +- 5675 2 files changed, 50 insertions(+), 1 deletion(-) 5676 5677commit 8daff42b3bcc9d59d7c87801b3926d8ed7c105a4 5678Author: Neil Roberts <neil@linux.intel.com> 5679Date: Mon Jan 18 15:43:25 2010 +0000 5680 5681 README: Clarify the required OpenGL version 5682 5683 Cogl will not allow OpenGL 1.2 if it doesn't have the multitexturing 5684 extension so we should make this clear in the README. 5685 5686 README | 7 ++++++- 5687 1 file changed, 6 insertions(+), 1 deletion(-) 5688 5689commit fa51ff25d3555ce938922d7bbd64acb12140a774 5690Author: Neil Roberts <neil@linux.intel.com> 5691Date: Mon Jan 18 13:56:56 2010 +0000 5692 5693 Add build/mingw/{README,mingw-cross-compile.sh} to the dist tarball 5694 5695 It's quite difficult to get git working on Windows so it makes sense 5696 to put the build instructions somewhere accessible. 5697 5698 build/Makefile.am | 2 +- 5699 build/mingw/Makefile.am | 1 + 5700 configure.ac | 1 + 5701 3 files changed, 3 insertions(+), 1 deletion(-) 5702 5703commit ff1d9cf090aef74efa1ec04b8cd490a45b148ae4 5704Author: Neil Roberts <neil@linux.intel.com> 5705Date: Mon Jan 18 12:42:20 2010 +0000 5706 5707 test-texture-fbo: Disconnect the paint handler for the stage 5708 5709 Otherwise the paint handler will still be run for the subsequent 5710 tests. This ends up writing to the ‘state’ variable which used to be 5711 on the stack so it will end up corrupting some stack variable. This 5712 was causing test-cogl-premult to fail. 5713 5714 tests/conform/test-texture-fbo.c | 6 +++++- 5715 1 file changed, 5 insertions(+), 1 deletion(-) 5716 5717commit ce030a3fce362cf4238d361743aaf9027ceed95a 5718Author: Neil Roberts <neil@linux.intel.com> 5719Date: Mon Jan 18 12:35:05 2010 +0000 5720 5721 clutter-group: Use g_list_foreach in clutter_group_real_foreach 5722 5723 g_list_foreach has better protection against the current node being 5724 removed. This will happen for example if someone calls 5725 clutter_container_foreach(container, clutter_actor_destroy). This was 5726 causing valgrind errors for the conformance tests which do just that. 5727 5728 clutter/clutter-group.c | 8 +++++--- 5729 1 file changed, 5 insertions(+), 3 deletions(-) 5730 5731commit c4adefffd34d91fdf72365a6d11641f3c9f751cc 5732Author: Neil Roberts <neil@linux.intel.com> 5733Date: Mon Jan 18 10:53:00 2010 +0000 5734 5735 cogl-atlas-texture: Fix premultiplied texture formats 5736 5737 When uploading texture data it was just calling cogl_texture_set_data 5738 on the large texture. This would attempt to convert the data to the 5739 format of the large texture. All of the textures with alpha channels 5740 are stored together regardless of whether they are premultiplied so 5741 this was causing premultiplied textures to be unpremultiplied 5742 again. It now just uploads the data ignoring the premult bit of the 5743 format so that it only gets converted once. 5744 5745 clutter/cogl/cogl/cogl-atlas-texture.c | 232 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------- 5746 1 file changed, 158 insertions(+), 74 deletions(-) 5747 5748commit b78024bd2dbf39cb86a1c1458e477af9c9353d9e 5749Author: Neil Roberts <neil@linux.intel.com> 5750Date: Thu Jan 14 17:57:43 2010 +0000 5751 5752 cogl-primitives: Ensure the mipmaps for a layer before logging quads 5753 5754 With the atlas texture backend ensuring the mipmaps can make it become 5755 a completely different texture which will have different texture 5756 coordinates or may even be sliced. Therefore we need to ensure the 5757 mipmaps before deciding which quads to log in the journal. This adds a 5758 new private function to cogl-material which ensures the mipmaps if 5759 needed. 5760 5761 clutter/cogl/cogl/cogl-material-private.h | 6 ++++++ 5762 clutter/cogl/cogl/cogl-material.c | 19 +++++++++++++++---- 5763 clutter/cogl/cogl/cogl-primitives.c | 6 ++++++ 5764 3 files changed, 27 insertions(+), 4 deletions(-) 5765 5766commit 36f18e5ac57e068c3987d5b705f68fcc6f18d472 5767Author: Neil Roberts <neil@linux.intel.com> 5768Date: Mon Jan 18 09:22:04 2010 +0000 5769 5770 cogl: Make CoglSubTexture only work for quad rendering 5771 5772 The sub texture backend doesn't work well as a completely general 5773 texture backend because for example when rendering with cogl_polygon 5774 it needs to be able to tranform arbitrary texture coordinates without 5775 reference to the other coordintes. This can't be done when the texture 5776 coordinates are a multiple of one because sometimes the coordinate 5777 should represent the left or top edge and sometimes it should 5778 represent the bottom or top edge. For example if the s coordinates are 5779 0 and 1 then 1 represents the right edge but if they are 1 and 2 then 5780 1 represents the left edge. 5781 5782 Instead the sub-textures are now documented not to support coordinates 5783 outside the range [0,1]. The coordinates for the sub-region are now 5784 represented as integers as this helps avoid rounding issues. The 5785 region can no longer be a super-region of the texture as this 5786 simplifies the code quite a lot. 5787 5788 There are two new texture virtual functions: 5789 5790 transform_quad_coords_to_gl - This transforms two pairs of coordinates 5791 representing a quad. It will return FALSE if the coordinates can 5792 not be transformed. The sub texture backend uses this to detect 5793 coordinates that require repeating which causes cogl-primitives 5794 to use manual repeating. 5795 5796 ensure_non_quad_rendering - This is used in cogl_polygon and 5797 cogl_vertex_buffer to inform the texture backend that 5798 transform_quad_to_gl is going to be used. The atlas backend 5799 migrates the texture out of the atlas when it hits this. 5800 5801 clutter/cogl/cogl/cogl-atlas-texture.c | 57 +++++++++++++++++----- 5802 clutter/cogl/cogl/cogl-primitives.c | 21 +++++--- 5803 clutter/cogl/cogl/cogl-sub-texture-private.h | 15 +++--- 5804 clutter/cogl/cogl/cogl-sub-texture.c | 498 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------------------- 5805 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 21 ++++++++ 5806 clutter/cogl/cogl/cogl-texture-2d.c | 17 +++++++ 5807 clutter/cogl/cogl/cogl-texture-private.h | 10 ++++ 5808 clutter/cogl/cogl/cogl-texture.c | 33 +++++++++++-- 5809 clutter/cogl/cogl/cogl-texture.h | 22 ++++----- 5810 clutter/cogl/cogl/cogl-vertex-buffer.c | 5 ++ 5811 tests/conform/test-cogl-sub-texture.c | 81 +++++++++---------------------- 5812 tests/conform/test-conform-main.c | 2 +- 5813 12 files changed, 348 insertions(+), 434 deletions(-) 5814 5815commit 3d373c7278c47b18576edc8c8a0074654ce4a60e 5816Author: Samuel Degrande <Samuel.Degrande@lifl.fr> 5817Date: Fri Nov 27 16:53:50 2009 +0100 5818 5819 win32: Fix computation of the fullscreen size during stage realization 5820 5821 http://bugzilla.openedhand.com/show_bug.cgi?id=1905 5822 5823 Signed-off-by: Neil Roberts <neil@linux.intel.com> 5824 5825 clutter/win32/clutter-stage-win32.c | 2 +- 5826 1 file changed, 1 insertion(+), 1 deletion(-) 5827 5828commit 12a9150f5b455e5700c745de4ad1ac5f2e43631f 5829Author: Emmanuele Bassi <ebassi@linux.intel.com> 5830Date: Fri Jan 15 17:32:46 2010 +0000 5831 5832 docs: Clarify usage of UTF-8 or ASCII art in commit messages 5833 5834 doc/HACKING | 2 +- 5835 1 file changed, 1 insertion(+), 1 deletion(-) 5836 5837commit ea662b9ecaf1dd956f0cdc79ce04880270bf99de 5838Author: Emmanuele Bassi <ebassi@linux.intel.com> 5839Date: Fri Jan 15 17:06:56 2010 +0000 5840 5841 docs: Display the features section 5842 5843 The features section of the API reference is built but not used, and it 5844 has some copy-and-paste errors. 5845 5846 clutter/clutter-feature.c | 11 +++++++++-- 5847 clutter/clutter-feature.h | 8 -------- 5848 doc/reference/clutter/clutter-docs.xml.in | 1 + 5849 doc/reference/clutter/clutter-sections.txt | 2 +- 5850 4 files changed, 11 insertions(+), 11 deletions(-) 5851 5852commit cdfd9eb212829df0408431673bedfbe6b566fefe 5853Author: Emmanuele Bassi <ebassi@linux.intel.com> 5854Date: Fri Jan 15 14:50:06 2010 +0000 5855 5856 Add test-cogl-texture-mipmaps to the Git ignore file 5857 5858 .gitignore | 1 + 5859 1 file changed, 1 insertion(+) 5860 5861commit e019547e8c7d110332a9ba071737736a059f5b4b 5862Author: Emmanuele Bassi <ebassi@linux.intel.com> 5863Date: Fri Jan 15 14:48:42 2010 +0000 5864 5865 x11: Fix typo in clutter_x11_set_use_argb_visual() declaration 5866 5867 The function should have a lowercase x11, not an uppercase X11 in its 5868 name. 5869 5870 clutter/x11/clutter-x11.h | 2 +- 5871 1 file changed, 1 insertion(+), 1 deletion(-) 5872 5873commit 148145ea1ad24fb1ceca3229c4cae9c7c5755f75 5874Author: Emmanuele Bassi <ebassi@linux.intel.com> 5875Date: Fri Jan 15 14:47:20 2010 +0000 5876 5877 docs: Ignore clutter-profile.h 5878 5879 doc/reference/clutter/Makefile.am | 57 +++++++++++++++++++++++++++++---------------------------- 5880 1 file changed, 29 insertions(+), 28 deletions(-) 5881 5882commit b844653c649277eed63b6a85d29b84aab8abe641 5883Author: Neil Roberts <neil@linux.intel.com> 5884Date: Mon Jan 11 16:23:38 2010 +0000 5885 5886 cogl-texture: Fix manual repeating for negative coordinates 5887 5888 When calculating the next integer position for negative coordinates it 5889 would not increment if the position is already a multiple of one so we 5890 need to manually add one. 5891 5892 clutter/cogl/cogl/cogl-texture.c | 5 +++-- 5893 1 file changed, 3 insertions(+), 2 deletions(-) 5894 5895commit a01b4eefceb1d490d918eba1729c87354695d1ca 5896Author: Neil Roberts <neil@linux.intel.com> 5897Date: Mon Jan 11 16:21:56 2010 +0000 5898 5899 cogl-texture-2d: Fix the coordinate wrapping for negative coordinates 5900 5901 The formula to wrap the coordinates to the [0,1] range was broken when 5902 the coordinates were negative. 5903 5904 clutter/cogl/cogl/cogl-texture-2d.c | 4 ++-- 5905 1 file changed, 2 insertions(+), 2 deletions(-) 5906 5907commit ead43995364bb8865ca5bab15d1bfd295578fff4 5908Merge: 34b50934b a70ebe4f5 5909Author: Neil Roberts <neil@linux.intel.com> 5910Date: Fri Jan 15 12:15:46 2010 +0000 5911 5912 Merge branch 'master' into more-texture-backends 5913 5914commit a70ebe4f52e192c11f8db6a4fa1f419a5b175ab3 5915Author: Neil Roberts <neil@linux.intel.com> 5916Date: Fri Jan 15 12:02:09 2010 +0000 5917 5918 tests: Add a simple conformance test for texture mipmaps 5919 5920 This adds a test which renders a texture into a 1x1 pixel quad with 5921 and without filters that use mipmaps. The pixel without mipmaps will 5922 be one of the colors from the texture and the one with will be the 5923 average of all the pixels in the texture. 5924 5925 tests/conform/Makefile.am | 1 + 5926 tests/conform/test-cogl-texture-mipmaps.c | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5927 tests/conform/test-conform-main.c | 1 + 5928 3 files changed, 149 insertions(+) 5929 5930commit ba4622ff8bd1abde577fa26637fd1afec1b3abd6 5931Author: Emmanuele Bassi <ebassi@linux.intel.com> 5932Date: Thu Jan 14 15:23:41 2010 +0000 5933 5934 Add a notice of deprecation in the pre-Git ChangeLog 5935 5936 ChangeLog.pre-git-import | 6 ++++++ 5937 1 file changed, 6 insertions(+) 5938 5939commit 8247bdf4f9b940fe69165ae6556511fcc9ca3a5d 5940Author: Neil Roberts <neil@linux.intel.com> 5941Date: Tue Jan 12 21:44:40 2010 +0000 5942 5943 cogl-framebuffer: Return gboolean from try_creating_fbo 5944 5945 When try_creating_fbo fails it returns 0 to report the error and if it 5946 succeeds it returns ‘flags’. However cogl_offscreen_new_to_texture 5947 also passes in 0 for the flags as the last fallback to create the fbo 5948 with nothing but the color buffer. In that case it will return 0 5949 regardless of whether it succeeded so the last fallback will always be 5950 considered a failure. 5951 5952 To fix this it now just returns a gboolean to indicate whether it 5953 succeeded and the flags used for each attempt is assigned when passing 5954 the argument rather than from the return value of the function. 5955 5956 Also if the only configuration that succeeded was with flags==0 then 5957 it would always try all combinations because last_working_flags would 5958 also be zero. To avoid this it now uses a separate gboolean to mark 5959 whether we found a successful set of flags. 5960 5961 http://bugzilla.openedhand.com/show_bug.cgi?id=1873 5962 5963 clutter/cogl/cogl/cogl-framebuffer.c | 56 ++++++++++++++++++++++++++++---------------------------- 5964 1 file changed, 28 insertions(+), 28 deletions(-) 5965 5966commit c6ce9c338966188248c3c1ae7b10480205fe20bf 5967Author: Emmanuele Bassi <ebassi@linux.intel.com> 5968Date: Thu Jan 14 14:07:04 2010 +0000 5969 5970 conform: Add operators tests for ClutterColor 5971 5972 The clutter_color_add() and clutter_color_subtract() functions are 5973 lacking unit testing to catch eventual regressions. 5974 5975 .gitignore | 1 + 5976 tests/conform/test-color.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5977 tests/conform/test-conform-main.c | 1 + 5978 3 files changed, 59 insertions(+) 5979 5980commit 4388509a1589dbac7aae0ebe5995ca0e06f7c70c 5981Author: Emmanuele Bassi <ebassi@linux.intel.com> 5982Date: Thu Jan 14 12:28:07 2010 +0000 5983 5984 master-clock: Add profiling timers 5985 5986 Use the newly-added profiling timers inside the master clock dispatch 5987 function to see how much time we spend: 5988 5989 • in the whole function 5990 • in the event processing for each stage 5991 • in the timeline advancement 5992 5993 clutter/clutter-master-clock.c | 31 +++++++++++++++++++++++++++++++ 5994 1 file changed, 31 insertions(+) 5995 5996commit 6e82d11daf8b1d7259c26e6a0816392a71c726f3 5997Author: Emmanuele Bassi <ebassi@linux.intel.com> 5998Date: Wed Jan 13 17:31:13 2010 +0000 5999 6000 units: Improve coverage of clutter_units_from_string() 6001 6002 Add a unit for an empty string as well as units for the missing unit 6003 types like cm, mm and px. 6004 6005 tests/conform/test-clutter-units.c | 11 +++++++++++ 6006 1 file changed, 11 insertions(+) 6007 6008commit ed735ae730ea2140ef4d1be9d1947dbdce8b1f28 6009Author: Emmanuele Bassi <ebassi@linux.intel.com> 6010Date: Wed Jan 13 16:57:55 2010 +0000 6011 6012 Add test-cogl-multitexture to the Git ignore file 6013 6014 .gitignore | 1 + 6015 1 file changed, 1 insertion(+) 6016 6017commit a076e0e11d222ca17dbdbadb3aa2c762d32a5730 6018Author: Emmanuele Bassi <ebassi@linux.intel.com> 6019Date: Wed Jan 13 16:35:53 2010 +0000 6020 6021 build: Add a script to format gcov report lines 6022 6023 Instead of using echo let's try Perl and the format() built-in. 6024 6025 build/Makefile.am | 2 ++ 6026 build/autotools/Makefile.am.gcov | 2 +- 6027 build/gen-gcov.pl | 44 ++++++++++++++++++++++++++++++++++++++++++++ 6028 3 files changed, 47 insertions(+), 1 deletion(-) 6029 6030commit 948db40c875f8eb7032582a32515737be6587067 6031Author: Emmanuele Bassi <ebassi@linux.intel.com> 6032Date: Mon Jan 4 14:53:03 2010 +0000 6033 6034 Add gcov support to the build 6035 6036 Using gcov it's possible to get a coverage report, that is a break down 6037 of how much the exposed API is exercised by the conformance test suite. 6038 6039 .gitignore | 2 ++ 6040 Makefile.am | 3 +++ 6041 build/autotools/Makefile.am | 1 + 6042 build/autotools/Makefile.am.gcov | 33 +++++++++++++++++++++++++++++++++ 6043 clutter/Makefile.am | 20 +++++++++++--------- 6044 configure.ac | 26 ++++++++++++++++++++++++++ 6045 6 files changed, 76 insertions(+), 9 deletions(-) 6046 6047commit 5322546a4e2100bcec8aba651f8de7d849d67711 6048Author: Emmanuele Bassi <ebassi@linux.intel.com> 6049Date: Wed Jan 13 15:40:36 2010 +0000 6050 6051 build: Clean up COGL build flags 6052 6053 clutter/cogl/cogl/Makefile.am | 53 ++++++++++++++++++++++++++--------------------------- 6054 1 file changed, 26 insertions(+), 27 deletions(-) 6055 6056commit 18d96005ec4d1395d70d71f2bef6cc378f4afb43 6057Author: Damien Lespiau <damien.lespiau@intel.com> 6058Date: Mon Nov 2 17:08:55 2009 +0000 6059 6060 texture: Remove reading the texture data back in ::unrealize() 6061 6062 Reading back the texture data in unrealize does not seem like a 6063 desirable feature any more, clutter has evolved a lot since it was 6064 implemented. 6065 6066 What's wrong with it now: 6067 6068 * It takes *a lot* of time to read the data back with glReadPixel(), 6069 * When several textures share the same CoglTexture, the same data can 6070 be read back multiple times, 6071 * If the underlying material uses multiple texture units, only the 6072 first one was copied back, 6073 * In ClutterCairoTexture, we end up having two separate copies of the 6074 data, 6075 * GL actually manages texture memory accross system/video memory 6076 for us! 6077 6078 For all the reasons above, let's get rid of the glReadPixel() in 6079 Texture::unrealize() 6080 6081 Fixes: OHB#1842 6082 6083 clutter/clutter-texture.c | 163 ++++++++----------------------------------------------------------------------------------------------------------------------------------------------------------- 6084 1 file changed, 8 insertions(+), 155 deletions(-) 6085 6086commit 778e08e4e24822b0875e6aeaf168cb5cecfc8a7f 6087Author: Neil Roberts <neil@linux.intel.com> 6088Date: Tue Jan 12 14:49:55 2010 +0000 6089 6090 cogl-framebuffer: Add some missing GL defines 6091 6092 Since 755cce33a7 the framebuffer code is using the GL enums 6093 GL_DEPTH_ATTACHMENT and GL_DEPTH_COMPONENT16. These aren't available 6094 directly under GLES except with the OES suffix so we need to define 6095 them manually as we do with the other framebuffer constants. 6096 6097 clutter/cogl/cogl/cogl-framebuffer.c | 6 ++++++ 6098 1 file changed, 6 insertions(+) 6099 6100commit bb8352ca95f18ca5582abb97e20e78f69300adde 6101Author: Neil Roberts <neil@linux.intel.com> 6102Date: Tue Jan 12 14:43:36 2010 +0000 6103 6104 cogl: Remove the CGL_* defines 6105 6106 These macros used to define Cogl wrappers for the GLenum values. There are 6107 now Cogl enums everywhere in the API where these were required so we 6108 shouldn't need them anymore. They were in the public headers but as 6109 they are not neccessary and were not in the API docs for Clutter 1.0 6110 it should be safe to remove them. 6111 6112 clutter/cogl/cogl/cogl-material.c | 10 ++- 6113 clutter/cogl/cogl/cogl-primitives.c | 2 +- 6114 clutter/cogl/cogl/cogl-shader.h | 2 +- 6115 clutter/cogl/cogl/cogl-texture.h | 7 +- 6116 clutter/cogl/cogl/driver/gl/cogl-defines.h.in | 655 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 6117 clutter/cogl/cogl/driver/gl/cogl-texture-driver.c | 2 +- 6118 clutter/cogl/cogl/driver/gles/cogl-defines.h.in | 597 -------------------------------------------------------------------------------------------------------------------------------------------------------------------- 6119 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 4 +- 6120 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h | 65 +++++++++--------- 6121 clutter/glx/clutter-glx-texture-pixmap.c | 8 +-- 6122 10 files changed, 55 insertions(+), 1297 deletions(-) 6123 6124commit 1c6ffc8a238e5e7de429f35f7653695d91d9d26d 6125Author: Emmanuele Bassi <ebassi@linux.intel.com> 6126Date: Tue Jan 12 15:44:28 2010 +0000 6127 6128 stage: Add the delete-event signal 6129 6130 Using the ::event signal to match the CLUTTER_DELETE event type (and 6131 block the stage destruction) can be costly, since it means checking 6132 every single event. 6133 6134 The ::delete-event signal is similar in spirit to any other specialized 6135 signal handler dealing with events, and retains the same semantics. 6136 6137 clutter/clutter-main.c | 9 +-------- 6138 clutter/clutter-stage.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 6139 clutter/clutter-stage.h | 6 +++++- 6140 3 files changed, 54 insertions(+), 10 deletions(-) 6141 6142commit 8b950bdc87fae2626af8a96916b7f51fdea40a17 6143Author: Robert Bragg <robert@linux.intel.com> 6144Date: Tue Jan 12 11:02:09 2010 +0000 6145 6146 journal: Fixes logging of multiple sets of texture coordinates 6147 6148 If a user supplied multiple groups of texture coordinates with 6149 cogl_rectangle_with_multitexture_coords() then we would repeatedly log only 6150 the first group in the journal. This fixes that bug and adds a conformance 6151 test to verify the fix. 6152 6153 Thanks to Gord Allott for reporting this bug. 6154 6155 clutter/cogl/cogl/cogl-journal.c | 8 ++++---- 6156 tests/conform/Makefile.am | 1 + 6157 tests/conform/test-cogl-multitexture.c | 209 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6158 tests/conform/test-conform-main.c | 1 + 6159 4 files changed, 215 insertions(+), 4 deletions(-) 6160 6161commit bc8a80fee53c9eed17fab6d821846c1a0fa3460f 6162Author: Emmanuele Bassi <ebassi@linux.intel.com> 6163Date: Mon Jan 11 17:08:42 2010 +0000 6164 6165 text: Zero out the cursor_pos member 6166 6167 Do not trust the zero-ing done by GObject on the private data structure, 6168 and use memset() instead to zero the ClutterGeometry structure. 6169 6170 clutter/clutter-text.c | 1 + 6171 1 file changed, 1 insertion(+) 6172 6173commit 5c14538c1406b1358a2747428c73fe0cf1198e94 6174Author: Emmanuele Bassi <ebassi@linux.intel.com> 6175Date: Mon Jan 11 17:06:52 2010 +0000 6176 6177 Remove obsolete code from test-text 6178 6179 The test-text "fake scrolling" code stopped working somewhere between 6180 0.8 and 0.9, with the new layout code. Instead of the ::cursor-event 6181 signal it should use an approach similar to the Scrollable interface in 6182 the Moblin User Experience toolkit. 6183 6184 Right now, it makes sense to ignore this code entirely. 6185 6186 tests/interactive/test-text.c | 26 ++------------------------ 6187 1 file changed, 2 insertions(+), 24 deletions(-) 6188 6189commit 755cce33a729817aebe4cf5c08d97c31a327c863 6190Author: Robert Bragg <robert@linux.intel.com> 6191Date: Mon Nov 30 20:04:41 2009 +0000 6192 6193 cogl: Support multiple fallbacks in cogl_offscreen_new_to_texture() 6194 6195 The Intel drivers in Mesa 7.6 (and possibly earlier versions) don't 6196 support creating FBOs with a stencil buffer but without a depth 6197 buffer. This reworks framebuffer allocation so that we try a number 6198 of fallback options before failing. 6199 6200 The options we try in order are: 6201 - the same options that were sucessful last time if available 6202 - combined depth and stencil 6203 - separate depth and stencil 6204 - just stencil, no depth 6205 - just depth, no stencil 6206 - neither depth or stencil 6207 6208 clutter/cogl/cogl/cogl-framebuffer-private.h | 2 +- 6209 clutter/cogl/cogl/cogl-framebuffer.c | 238 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------- 6210 2 files changed, 156 insertions(+), 84 deletions(-) 6211 6212commit 4c1231c7fe545a7764d06754d7d6be0906686e0a 6213Author: Damien Lespiau <damien.lespiau@intel.com> 6214Date: Wed Jan 6 11:48:46 2010 +0000 6215 6216 media: Add an API to specify which font should be used for subtitles 6217 6218 Allow the user of the ClutterMedia interface to specify a Pango font 6219 description to display subtitles. Even if the underlying implementation 6220 of the interface does not natively use Pange, it must be capable of 6221 parsing the grammar that pango_font_description_from_string() accepts. 6222 6223 clutter/clutter-media.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6224 clutter/clutter-media.h | 45 ++++++++++++++++++++++++--------------------- 6225 doc/reference/clutter/clutter-sections.txt | 2 ++ 6226 3 files changed, 90 insertions(+), 21 deletions(-) 6227 6228commit 8e9f56c41160452166be68202227b206a690472d 6229Author: Emmanuele Bassi <ebassi@linux.intel.com> 6230Date: Sun Jan 10 11:35:26 2010 +0000 6231 6232 build: Clean up private header/source files 6233 6234 Some source files should not be passed through the introspection parser, 6235 as they are fully private and do not expose any valuable API. 6236 6237 Also the clutter-profile.h header is private and should not be 6238 installed. 6239 6240 clutter/Makefile.am | 12 ++++++++---- 6241 1 file changed, 8 insertions(+), 4 deletions(-) 6242 6243commit d9b91d61f5730e9ce29627f467c89070b78fb6b6 6244Author: Robert Bragg <robert@linux.intel.com> 6245Date: Wed Nov 25 14:26:32 2009 +0000 6246 6247 framebuffers: cogl_offscreen_new_to_texture should take a ref on the texture 6248 6249 We weren't taking a reference on the texture to be used as the color buffer 6250 for offscreen rendering, so it was possible to free the texture leaving the 6251 framebuffer in an inconsistent state. 6252 6253 clutter/cogl/cogl/cogl-framebuffer-private.h | 1 + 6254 clutter/cogl/cogl/cogl-framebuffer.c | 3 +++ 6255 2 files changed, 4 insertions(+) 6256 6257commit 30b557c4653d15eeb1311b516ab1f4c0035a5e83 6258Author: Robert Bragg <robert@linux.intel.com> 6259Date: Fri Jul 3 16:22:35 2009 +0100 6260 6261 profiling: Adds initial UProf accounting to Cogl 6262 6263 This adds gives Cogl a dedicated UProf context which will be linked together 6264 with Clutter's context during clutter_init_real(). 6265 6266 Initial timers cover _cogl_journal_flush and _cogl_journal_log_quad 6267 6268 You can explicitly ask for a report of Cogl statistics by exporting 6269 COGL_PROFILE_OUTPUT_REPORT=1 but since the context is linked with Clutter's 6270 the statisitcs will also be shown in the automatic Clutter reports. 6271 6272 clutter/clutter-main.c | 7 +++++++ 6273 clutter/cogl/cogl/Makefile.am | 2 ++ 6274 clutter/cogl/cogl/cogl-journal.c | 19 +++++++++++++++++++ 6275 clutter/cogl/cogl/cogl-profile.c | 30 ++++++++++++++++++++++++++++++ 6276 clutter/cogl/cogl/cogl-profile.h | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6277 configure.ac | 2 +- 6278 6 files changed, 113 insertions(+), 1 deletion(-) 6279 6280commit 0b6515a1d53571fea13417d47e7bf0f4749321f8 6281Author: Robert Bragg <robert@linux.intel.com> 6282Date: Fri Apr 17 12:15:56 2009 +0100 6283 6284 profiling: Allow limiting statisics just to picking 6285 6286 This suspends and resumes all uprof timers and counters except while dealing 6287 with picking, so as to give more focused statistics. 6288 6289 Be aware that there are still some issues with this profile option since 6290 there are a few special case counters and timers that shouldn't be 6291 suspended; noteably the frame counters are incorrect so the per frame stats 6292 can't be trusted. 6293 6294 clutter/clutter-main.c | 22 ++++++++++++++++++++-- 6295 clutter/clutter-profile.c | 29 +++++++++++++++++++++++++++++ 6296 clutter/clutter-profile.h | 9 +++++++++ 6297 3 files changed, 58 insertions(+), 2 deletions(-) 6298 6299commit 9cb530d42e7860d1a44f441b97910fd3903480f1 6300Author: Robert Bragg <robert@linux.intel.com> 6301Date: Wed Jan 6 18:15:13 2010 +0000 6302 6303 profiling: Parse --clutter-profile and CLUTTER_PROFILE= options 6304 6305 As we have for debugging, this adds the ability to control profiling flags 6306 either via the command line or an environment variable. 6307 6308 The first option added is CLUTTER_PROFILE=disable-report 6309 6310 This also changes the reporting to be opt-out so you don't need to export 6311 CLUTTER_PROFILE_OUTPUT_REPORT=1 to see a report but you can use 6312 CLUTTER_PROFILE=disable-report to disable it if desired. 6313 6314 clutter/clutter-main.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 6315 clutter/clutter-profile.c | 2 +- 6316 clutter/clutter-profile.h | 8 ++++++++ 6317 3 files changed, 60 insertions(+), 1 deletion(-) 6318 6319commit 00577558540db2c9f7bf24e870ff6231abb2b99d 6320Author: Robert Bragg <robert@linux.intel.com> 6321Date: Mon Mar 30 16:41:02 2009 +0100 6322 6323 profiling: Adds initial UProf support across clutter 6324 6325 UProf is a small library that aims to help applications/libraries provide 6326 domain specific reports about performance. It currently provides high 6327 precision timer primitives (rdtsc on x86) and simple counters, the ability 6328 to link statistics between optional components at runtime and makes report 6329 generation easy. 6330 6331 This adds initial accounting for: 6332 - Total mainloop time 6333 - Painting 6334 - Picking 6335 - Layouting 6336 - Idle time 6337 6338 The timing done by uprof is of wall clock time. It's not based on stochastic 6339 samples we simply sample a counter at the start and end. When dealing with 6340 the complexities of GPU drivers and with various kinds of IO this form of 6341 profiling can be quite enlightening as it will be able to represent where 6342 your application is blocking unlike tools such as sysprof. 6343 6344 To enable uprof accounting you must configure Clutter with --enable-profile 6345 and have uprof-0.2 installed from git://git.moblin.org/uprof 6346 6347 If you want to see a report of statistics when Clutter applications exit you 6348 should export CLUTTER_PROFILE_OUTPUT_REPORT=1 before running them. 6349 6350 Just a final word of caution; this stuff is new and the manual nature of 6351 adding uprof instrumentation means it is prone to some errors when modifying 6352 code. This just means that when you question strange results don't rule out 6353 a mistake in the instrumentation. Obviously though we hope the benfits out 6354 weigh e.g. by focusing on very key stats and by having automatic reporting. 6355 6356 clutter/Makefile.am | 2 ++ 6357 clutter/clutter-actor.c | 14 ++++++++++++++ 6358 clutter/clutter-backend.c | 15 +++++++++++++++ 6359 clutter/clutter-main.c | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 6360 clutter/clutter-profile.c | 170 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6361 clutter/clutter-profile.h | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6362 clutter/clutter-stage.c | 9 +++++++++ 6363 clutter/glx/clutter-backend-glx.c | 17 +++++++++++++++++ 6364 8 files changed, 376 insertions(+), 2 deletions(-) 6365 6366commit bd41db7c00fc54aa8077f53177ff33bd33a19c83 6367Author: Robert Bragg <robert@linux.intel.com> 6368Date: Tue Mar 17 13:07:46 2009 +0000 6369 6370 Adds a --enable-profile option to configure.ac 6371 6372 There is nothing else hooked up to this option so far 6373 6374 README | 4 ++++ 6375 configure.ac | 58 +++++++++++++++++++++++++++++++++++++++++++++------------- 6376 2 files changed, 49 insertions(+), 13 deletions(-) 6377 6378commit 5157da9fc8340cebdd29989a4ea02ccf607d3c52 6379Author: Emmanuele Bassi <ebassi@linux.intel.com> 6380Date: Fri Jan 8 15:04:56 2010 +0000 6381 6382 x11: Switch back to RGB visuals by default 6383 6384 Since asking for ARGB by default is still somewhat experimental on X11 6385 and not every toolkit or complex widgets (like WebKit) still do not like 6386 dealing with ARGB visuals, we should switch back to RGB by default - now 6387 that at least we know it works. 6388 6389 For applications (and toolkit integration libraries) that want to enable 6390 the ClutterStage:use-alpha property there is a new function: 6391 6392 void clutter_x11_set_use_argb_visual (gboolean use_argb); 6393 6394 which needs to be called before clutter_init(). 6395 6396 The CLUTTER_DISABLE_ARGB_VISUAL environment variable can still be used 6397 to force this value off at run-time. 6398 6399 clutter/glx/clutter-backend-glx.c | 2 +- 6400 clutter/x11/clutter-backend-x11.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 6401 clutter/x11/clutter-stage-x11.c | 6 ++++-- 6402 clutter/x11/clutter-x11.h | 9 +++++++-- 6403 doc/reference/clutter/clutter-sections.txt | 3 +++ 6404 5 files changed, 83 insertions(+), 7 deletions(-) 6405 6406commit 9599adbd820db7526d77790d8b611a6b61cb2dc7 6407Author: Damien Lespiau <damien.lespiau@intel.com> 6408Date: Wed Jan 6 00:44:24 2010 +0000 6409 6410 doc: Fix media::{get,set}_subtitle_uri() symbol names 6411 6412 At first, those symbols were called {get,set}_subtitles_uri() but were 6413 renamed to {get,set}_subtitle_uri() without updating the 6414 clutter-section.txt file. 6415 6416 This fix makes gtk-doc document those symbols again. 6417 6418 doc/reference/clutter/clutter-sections.txt | 4 ++-- 6419 1 file changed, 2 insertions(+), 2 deletions(-) 6420 6421commit bf4818bd759f612a9cec62c2e072544d54cc104c 6422Author: Emmanuele Bassi <ebassi@linux.intel.com> 6423Date: Thu Jan 7 11:08:52 2010 +0000 6424 6425 actor: Just emit a relayout cycle warning 6426 6427 Currently, ClutterActor detects a relayout cycle (an actor causing a 6428 relayout to be queued from within an allocate() function) and aborts 6429 after printing out a warning. This might be a little bit too anal 6430 retentive, and it currently breaks GTK+ embedding inside clutter-gtk 6431 so we should probably relax the behaviour a bit. Now we just emit the 6432 warning but we still go ahead with the relayout. 6433 6434 clutter/clutter-actor.c | 1 - 6435 1 file changed, 1 deletion(-) 6436 6437commit 821e622de671ad4e18a55e9dbd33aee004e822df 6438Author: Neil Roberts <neil@linux.intel.com> 6439Date: Thu Jan 7 15:58:53 2010 +0000 6440 6441 Don't set the GLX_TRANSPARENT_TYPE attribute to choose an FBConfig 6442 6443 When Clutter tries to pick an ARGB visual it tried to set the 6444 GLX_TRANSPARENT_TYPE attribute of the FBConfig to 6445 GLX_TRANSPARENT_RGB. However the code to do this was broken so that it 6446 was actually trying to set the non-existant attribute number 0x8008 6447 instead. Mesa silently ignored this so it appeared as if it was 6448 working but the Nvidia drivers do not like it. 6449 6450 It appears that the TRANSPARENT_TYPE attribute is not neccessary for 6451 getting an ARGB visual anyway and instead it is intended to support 6452 color-key transparency. Therefore we can just remove it and get all of 6453 the FBConfigs. Then if we need an ARGB visual we can just walk the 6454 list to look for one with depth == 32. 6455 6456 The fbconfig is now stored in a single variable instead of having a 6457 separate variable for the rgb and rgba configs because the old code 6458 only ever retrieved one of them anyway. 6459 6460 clutter/glx/clutter-backend-glx.c | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------ 6461 clutter/glx/clutter-backend-glx.h | 5 ++--- 6462 2 files changed, 57 insertions(+), 93 deletions(-) 6463 6464commit 8b59573190907da97c2af5a5be2e563fc66f8d51 6465Author: Emmanuele Bassi <ebassi@linux.intel.com> 6466Date: Tue Jan 5 18:02:29 2010 +0000 6467 6468 Covert stb_image.c to Unix format 6469 6470 The file is still in DOS format (CRLF instead of LF) and this confuses 6471 the hell out of some versions of Git. 6472 6473 clutter/cogl/cogl/stb_image.c | 7544 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------- 6474 1 file changed, 3772 insertions(+), 3772 deletions(-) 6475 6476commit 58b5a46e0e6b263bd32808e4a9a46bbdd81eedfe 6477Author: Emmanuele Bassi <ebassi@linux.intel.com> 6478Date: Tue Jan 5 17:54:45 2010 +0000 6479 6480 Include cogl-defines.h before using GL types 6481 6482 If we are using GL* types we should also be including cogl-defines.h, as 6483 that will include the right GL header. 6484 6485 clutter/cogl/cogl/cogl-shader.h | 1 + 6486 clutter/cogl/cogl/cogl-texture.h | 1 + 6487 2 files changed, 2 insertions(+) 6488 6489commit 793fec8138b478ba1f1ea419f9ef8bed4f453e77 6490Author: Emmanuele Bassi <ebassi@linux.intel.com> 6491Date: Tue Jan 5 16:11:45 2010 +0000 6492 6493 cogl: Fix array annotations 6494 6495 The arrays in the cogl_program_set_uniform_* API should be marked as 6496 such, and have their length arguments specified. 6497 6498 clutter/cogl/cogl/cogl-shader.h | 16 ++++++++-------- 6499 1 file changed, 8 insertions(+), 8 deletions(-) 6500 6501commit 59105341bce12b2ec009ff953facbb7f7b10e85f 6502Author: Neil Roberts <neil@linux.intel.com> 6503Date: Tue Jan 5 11:58:12 2010 +0000 6504 6505 text: Store the markup attributes separately 6506 6507 Previously when the markup property is set it would generate an 6508 attribute list from the markup and then merge it with the attributes 6509 from the attribute property and store it as the effective 6510 attributes. The markup attributes and the marked up text would then be 6511 forgotten. This breaks if the application then later changes the 6512 attributes property because it would try to regenerate the effective 6513 attributes from the markup text but the stored text no longer contains 6514 any markup. If the original markup text happened to contain entities 6515 like '<' they would end up causing parse errors because they would 6516 be converted to the actual symbols. 6517 6518 To fix this the attributes from the markup are now stored 6519 independently from the effective attributes. The effective attributes 6520 are now regenerated if either set of attributes changes right before a 6521 layout is created. 6522 6523 http://bugzilla.openedhand.com/show_bug.cgi?id=1940 6524 6525 clutter/clutter-text.c | 134 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------- 6526 1 file changed, 82 insertions(+), 52 deletions(-) 6527 6528commit 32b456fc8c4e8743c1b2c32164f7e9f67188a60e 6529Author: Neil Roberts <neil@linux.intel.com> 6530Date: Tue Jan 5 11:44:17 2010 +0000 6531 6532 text: Free the Pango attribute list resources 6533 6534 The ClutterText owns three PangoAttrList resources which were not 6535 being unref'd. This adds the unref calls to the finalize method. 6536 6537 clutter/clutter-text.c | 7 +++++++ 6538 1 file changed, 7 insertions(+) 6539 6540commit 64c1294cc26e034fbf8a9a05b4413f63b9cd882d 6541Author: Emmanuele Bassi <ebassi@linux.intel.com> 6542Date: Tue Jan 5 14:10:19 2010 +0000 6543 6544 x11 tfp: Plug a leak 6545 6546 Destroy the dummy XImage we create even on success. 6547 6548 http://bugzilla.openedhand.com/show_bug.cgi?id=1918 6549 6550 Based on a patch by: Carlos Martín Nieto <carlos@cmartin.tk> 6551 6552 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 6553 6554 clutter/x11/clutter-x11-texture-pixmap.c | 22 +++++++++++++--------- 6555 1 file changed, 13 insertions(+), 9 deletions(-) 6556 6557commit fa298b45b530c6b6821e73b011c3c7d226950ce0 6558Merge: 4207524e9 4adc2c2d8 6559Author: Emmanuele Bassi <ebassi@linux.intel.com> 6560Date: Tue Jan 5 11:04:50 2010 +0000 6561 6562 Merge branch 'matrix-mode' 6563 6564 * matrix-mode: 6565 build: Move CoglMatrixMode to cogl-matrix-stack.h 6566 6567commit 4207524e950efd3f1fa5334f6d0b9b374a0b3f93 6568Author: Emmanuele Bassi <ebassi@linux.intel.com> 6569Date: Tue Jan 5 11:02:39 2010 +0000 6570 6571 Remove trailing comma from test UI definition 6572 6573 The animation definition test has a trailing comma at the end of an 6574 array item. 6575 6576 tests/data/test-script-animation.json | 2 +- 6577 1 file changed, 1 insertion(+), 1 deletion(-) 6578 6579commit 2aa9d7bdc78703fc9a6354d2e54f880fde96db39 6580Author: Emmanuele Bassi <ebassi@linux.intel.com> 6581Date: Tue Jan 5 10:55:28 2010 +0000 6582 6583 script: Copy the JSON node in PropertyInfo 6584 6585 PropertyInfo should store a copy of the JsonNodes it references, so 6586 that property_info_free() can safely dispose them, and we can reference 6587 values across different UI definition data. 6588 6589 The implicit timeline parsing code is not copying the JsonNode; this 6590 leads to a double free in some cases, which is masked by the GSlice 6591 allocator and produces a heap corruption later on. 6592 6593 clutter/clutter-script-parser.c | 2 +- 6594 1 file changed, 1 insertion(+), 1 deletion(-) 6595 6596commit 10963d1ae03920e202ccbd0107854f489117f89b 6597Author: Damien Lespiau <damien.lespiau@intel.com> 6598Date: Mon Dec 28 17:52:43 2009 +0100 6599 6600 [media] Add an API to play a subtitle file along with the media 6601 6602 Allow the user of the ClutterMedia interface to specify an external (as 6603 in not multiplexed with the audio/video streams) location of a subtitle 6604 stream. 6605 6606 clutter/clutter-media.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6607 clutter/clutter-media.h | 3 +++ 6608 doc/reference/clutter/clutter-sections.txt | 2 ++ 6609 3 files changed, 60 insertions(+) 6610 6611commit 5d5c7142f7fa2447e13bcb80a272b0d9dfc28f06 6612Author: Emmanuele Bassi <ebassi@linux.intel.com> 6613Date: Mon Jan 4 12:03:47 2010 +0000 6614 6615 text: Use G_SIGNAL_ACTION for ::insert-text and ::delete-text 6616 6617 Both the ::insert-text and ::delete-text are "action" signals, that is 6618 signals that are safe to (and should) be emitted using g_signal_emit() 6619 directly. 6620 6621 clutter/clutter-text.c | 4 ++-- 6622 1 file changed, 2 insertions(+), 2 deletions(-) 6623 6624commit bf43cb6cdc84e646add7adc592487274331d4930 6625Author: Alejandro Piñeiro <apinheiro@igalia.com> 6626Date: Fri Nov 20 15:17:41 2009 +0100 6627 6628 Added ClutterText::insert-text and ClutterText::delete-text signals 6629 6630 * clutter/clutter-marshal.list: added new marshaller 6631 * clutter/clutter-text.c 6632 (clutter_text_class_init): added insert-text and delete-text signals 6633 (clutter_text_insert_unichar): emits insert-text signal 6634 (clutter_text_insert_text): emits insert-text signal 6635 (clutter_text_delete_text): emits delete-text signal 6636 (clutter_text_delete_chars): emits delete-text signal 6637 (clutter_text_set_markup_internal): emits delete-text and insert-text signals 6638 (clutter_text_set_text): emits delete-text and insert-text signals 6639 6640 http://bugzilla.openedhand.com/show_bug.cgi?id=1894 6641 6642 clutter/clutter-marshal.list | 1 + 6643 clutter/clutter-text.c | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 6644 2 files changed, 84 insertions(+), 4 deletions(-) 6645 6646commit 4adc2c2d839c42eccc7187735ddcce061d25f14b 6647Author: Emmanuele Bassi <ebassi@linux.intel.com> 6648Date: Mon Jan 4 11:58:32 2010 +0000 6649 6650 build: Move CoglMatrixMode to cogl-matrix-stack.h 6651 6652 This avoids a redeclaration of _cogl_matrix_stack_flush_to_gl() from 6653 using GLenum to CoglMatrixMode. 6654 6655 http://bugzilla.openedhand.com/show_bug.cgi?id=1928 6656 6657 clutter/cogl/cogl/cogl-internal.h | 7 ------- 6658 clutter/cogl/cogl/cogl-matrix-stack.h | 9 +++++++-- 6659 2 files changed, 7 insertions(+), 9 deletions(-) 6660 6661commit eb9029504124daf4c032f027c2f068ec25548f3f 6662Author: Halton Huo <halton.huo@sun.com> 6663Date: Mon Jan 4 11:49:50 2010 +0000 6664 6665 cogl-texture: Remove return in void functions 6666 6667 http://bugzilla.o-hand.com/show_bug.cgi?id=1929 6668 6669 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 6670 6671 clutter/cogl/cogl/cogl-texture.c | 8 +++----- 6672 1 file changed, 3 insertions(+), 5 deletions(-) 6673 6674commit b98d486fc99fd46626877be728961190dbf831dc 6675Author: Emmanuele Bassi <ebassi@linux.intel.com> 6676Date: Mon Jan 4 11:49:13 2010 +0000 6677 6678 build: Maintainer cflags go in the _CFLAGS target 6679 6680 The maintainer compiler flags are not pre-processor flags. 6681 6682 clutter/cogl/cogl/Makefile.am | 3 +-- 6683 1 file changed, 1 insertion(+), 2 deletions(-) 6684 6685commit 0fb51658fdba886fd5d9cb53cfca6df13aa1f7a0 6686Author: Emmanuele Bassi <ebassi@linux.intel.com> 6687Date: Mon Jan 4 11:43:00 2010 +0000 6688 6689 cogl: Const-ify vertices in cogl_polygon() 6690 6691 The CoglTextureVertex array passed to cogl_polygon() is a pure 6692 in-argument and should be const-ified. 6693 6694 http://bugzilla.openedhand.com/show_bug.cgi?id=1917 6695 6696 clutter/cogl/cogl/cogl-primitives.c | 27 ++++++++++++++------------- 6697 clutter/cogl/cogl/cogl-texture.h | 6 +++--- 6698 2 files changed, 17 insertions(+), 16 deletions(-) 6699 6700commit 1c69c61745ed510f0b6ab16cb963ca01994cb9fc 6701Author: Emmanuele Bassi <ebassi@linux.intel.com> 6702Date: Wed Nov 11 11:00:29 2009 +0000 6703 6704 master-clock: Take a reference before advancing timelines 6705 6706 A timeline advancement might cause another timeline to be 6707 destroyed, which will likely lead to a segmentation fault. 6708 6709 Before advancing the timelines we should take a reference 6710 on them - just like we do for the stages before doing 6711 event processing. This will prevent dispose() from running 6712 until the end of the advancement. 6713 6714 http://bugzilla.openedhand.com/show_bug.cgi?id=1854 6715 6716 clutter/clutter-master-clock.c | 7 +++++++ 6717 1 file changed, 7 insertions(+) 6718 6719commit 5ae88f5777c5ed0663937f990350f145b254692c 6720Author: Emmanuele Bassi <ebassi@linux.intel.com> 6721Date: Sun Jan 3 20:41:17 2010 +0000 6722 6723 Post-release version bump to 1.1.5 6724 6725 configure.ac | 2 +- 6726 1 file changed, 1 insertion(+), 1 deletion(-) 6727 6728commit 6d7e1e5434d3da27cf23a9c16f9990523eedba4e 6729Author: Emmanuele Bassi <ebassi@linux.intel.com> 6730Date: Sun Jan 3 20:11:43 2010 +0000 6731 6732 Release Clutter 1.1.4 6733 6734 NEWS | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6735 configure.ac | 4 ++-- 6736 2 files changed, 58 insertions(+), 2 deletions(-) 6737 6738commit 3355c2ab2518711d7ab79f3ffe1f4a8ce105af84 6739Author: Emmanuele Bassi <ebassi@linux.intel.com> 6740Date: Sun Jan 3 20:24:39 2010 +0000 6741 6742 build: Remove dist rule for non-existing image files 6743 6744 doc/cookbook/Makefile.am | 2 +- 6745 1 file changed, 1 insertion(+), 1 deletion(-) 6746 6747commit 8d40cb947031f90a7b8cf459720278c6a6fe295d 6748Author: Emmanuele Bassi <ebassi@linux.intel.com> 6749Date: Sun Jan 3 20:12:49 2010 +0000 6750 6751 Disable g_set_prgname() 6752 6753 Apparently, calling g_set_prgname() multiple times is not allowed 6754 anymore, and hence clutter_init_* calls should not do that. Though this 6755 is really GLib's fault - and a massive nuisance for us - we should 6756 prolly comply to avoid the test suite dying on us. 6757 6758 clutter/clutter-main.c | 4 ++++ 6759 1 file changed, 4 insertions(+) 6760 6761commit 3d350078a8aa6f1bdf38c12de62e2708c5369247 6762Merge: a09ac0b27 934eee17a 6763Author: Emmanuele Bassi <ebassi@linux.intel.com> 6764Date: Wed Dec 23 10:38:02 2009 +0000 6765 6766 Merge branch 'animate-layout-manager' into ebassi-next 6767 6768 * animate-layout-manager: 6769 layout-manager: Document the animation support 6770 layout-manager: Rewind the timeline in begin_animation() 6771 box-layout: Remove the allocations hash table 6772 docs: Clean up the README file 6773 layout: Let begin_animation() return the Alpha 6774 box-layout: Add knobs for controlling animations 6775 box-layout: Animate layout properties 6776 layout: Add animation support to LayoutManager 6777 Add ActorBox animation methods 6778 6779commit 934eee17ae34098773ff5876747061b5a1d1f1a5 6780Author: Emmanuele Bassi <ebassi@linux.intel.com> 6781Date: Wed Dec 23 10:35:16 2009 +0000 6782 6783 layout-manager: Document the animation support 6784 6785 Add a section inside the LayoutManager class API reference documenting, 6786 with examples, how to implement animation support inside a layout 6787 manager sub-class. 6788 6789 clutter/clutter-layout-manager.c | 213 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------- 6790 1 file changed, 190 insertions(+), 23 deletions(-) 6791 6792commit 713c2952410e99e681825dac51da3e0b575ef2cf 6793Author: Emmanuele Bassi <ebassi@linux.intel.com> 6794Date: Wed Dec 23 08:39:16 2009 +0000 6795 6796 layout-manager: Rewind the timeline in begin_animation() 6797 6798 If the default implementation begin_animation() is called twice then we 6799 should rewind the timeline, as well as updating its duration and the 6800 easing mode of the alpha. 6801 6802 clutter/clutter-layout-manager.c | 8 ++++++-- 6803 1 file changed, 6 insertions(+), 2 deletions(-) 6804 6805commit b9c1de0ec7001ce6a6b62dbd8d1fd9ee15539093 6806Author: Emmanuele Bassi <ebassi@linux.intel.com> 6807Date: Wed Dec 23 08:34:08 2009 +0000 6808 6809 box-layout: Remove the allocations hash table 6810 6811 The BoxLayout uses a HashTable to map the latest stable allocation of 6812 each child, in order to use that as the initial value during an 6813 animation; this in spite of already having a perfectly valid per-child 6814 storage as part of the layout manager: ClutterBoxChild. 6815 6816 The last stable allocation should be stored inside the ClutterBoxChild 6817 instead of having it in the private data for ClutterBoxLayout. The 6818 access remains O(1), since there is a 1:1 mapping between child and 6819 BoxChild instances, but we save a little bit of memory and we avoid 6820 keeping aroud allocations for old children. 6821 6822 clutter/clutter-box-layout.c | 47 +++++++++++++++++++++-------------------------- 6823 1 file changed, 21 insertions(+), 26 deletions(-) 6824 6825commit c8c5e0ee39626d434c2d3e5486c6520eff17f519 6826Author: Emmanuele Bassi <ebassi@linux.intel.com> 6827Date: Tue Dec 22 18:10:39 2009 +0000 6828 6829 docs: Clean up the README file 6830 6831 README | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------ 6832 1 file changed, 83 insertions(+), 54 deletions(-) 6833 6834commit a09ac0b27ccb4a9c08a4e42e00776bf627f0e163 6835Merge: b6bd8be6c 34913378f 6836Author: Emmanuele Bassi <ebassi@linux.intel.com> 6837Date: Sun Dec 20 17:39:12 2009 +0000 6838 6839 Merge branch 'stage-use-alpha' into ebassi-next 6840 6841 * stage-use-alpha: 6842 tests: Use accessor methods for :use-alpha 6843 stage: Add accessors for :use-alpha 6844 tests: Allow setting the stage opacity in test-paint-wrapper 6845 stage: Premultiply the stage color 6846 stage: Composite the opacity with the alpha channel 6847 glx: Always request an ARGB visual 6848 stage: Add :use-alpha property 6849 materials: Get the right blend function for alpha 6850 6851commit b6bd8be6cb0fabf2ddf3eedadce68c8d3a60c3d9 6852Merge: 7b53aa751 c7e8ddb7a 6853Author: Emmanuele Bassi <ebassi@linux.intel.com> 6854Date: Sun Dec 20 17:33:51 2009 +0000 6855 6856 Merge branch 'internal-flag' into ebassi-next 6857 6858 * internal-flag: 6859 conform: Add test unit for the destruction of Containers 6860 actor: Add internal child flag 6861 Clean up whitespace, indentation and comments 6862 6863commit c7e8ddb7a60dd76d5f62027383693575f30e2473 6864Author: Emmanuele Bassi <ebassi@linux.intel.com> 6865Date: Fri Dec 18 23:29:11 2009 +0000 6866 6867 conform: Add test unit for the destruction of Containers 6868 6869 Verify that internal children do not go through the remove() 6870 implementation, and that non-internal children do. 6871 6872 .gitignore | 1 + 6873 tests/conform/Makefile.am | 1 + 6874 tests/conform/test-actor-destroy.c | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6875 tests/conform/test-conform-main.c | 1 + 6876 4 files changed, 171 insertions(+) 6877 6878commit 1520ba6190165dc8902b622833efbccf23716751 6879Author: Emmanuele Bassi <ebassi@linux.intel.com> 6880Date: Fri Dec 18 23:20:04 2009 +0000 6881 6882 actor: Add internal child flag 6883 6884 ClutterActor checks, when destroying and reparenting, if the parent 6885 actor implements the Container interface, and automatically calls the 6886 remove() method to perform a clean removal. 6887 6888 Actors implementing Container, though, might have internal children; 6889 that is, children that are not added through the Container API. It is 6890 already possible to iterate through them using the Container API to 6891 avoid breaking invariants - but calling clutter_actor_destroy() on 6892 these children (even from the Container implementation, and thus outside 6893 of Clutter's control) will either lead to leaks or to segmentation 6894 faults. 6895 6896 Clutter needs a way to distinguish a clutter_actor_set_parent() done on 6897 an internal child from one done on a "public" child; for this reason, a 6898 push/pop pair of functions should be available to Actor implementations 6899 to mark the section where they wish to add internal children: 6900 6901 ➔ clutter_actor_push_internal (); 6902 ... 6903 clutter_actor_set_parent (child1, parent); 6904 clutter_actor_set_parent (child2, parent); 6905 ... 6906 ➔ clutter_actor_pop_internal (); 6907 6908 The set_parent() call will automatically set the newly added 6909 INTERNAL_CHILD private flag on each child, and both 6910 clutter_actor_destroy() and clutter_actor_unparent() will check for the 6911 flag before deciding whether to call the Container's remove method. 6912 6913 clutter/clutter-actor.c | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 6914 clutter/clutter-actor.h | 3 +++ 6915 clutter/clutter-private.h | 29 ++++++++++++++++++++++------- 6916 doc/reference/clutter/clutter-sections.txt | 2 ++ 6917 4 files changed, 132 insertions(+), 12 deletions(-) 6918 6919commit 4a21425f4837798d01f4435b68582faf9029c61c 6920Author: Emmanuele Bassi <ebassi@linux.intel.com> 6921Date: Sun Dec 13 01:23:54 2009 +0000 6922 6923 layout: Let begin_animation() return the Alpha 6924 6925 When beginning a new animation for a LayoutManager, the implementation 6926 should return the ClutterAlpha used. This allows controlling the 6927 timeline and/or modifying the animation parameters on the fly. 6928 6929 clutter/clutter-box-layout.c | 5 +++-- 6930 clutter/clutter-layout-manager.c | 30 ++++++++++++++++++++++-------- 6931 clutter/clutter-layout-manager.h | 5 +++-- 6932 3 files changed, 28 insertions(+), 12 deletions(-) 6933 6934commit 2e6397c39132007e79f5f87743fe9378fd8d5387 6935Author: Emmanuele Bassi <ebassi@linux.intel.com> 6936Date: Sun Dec 13 01:07:44 2009 +0000 6937 6938 box-layout: Add knobs for controlling animations 6939 6940 ClutterLayoutManager does not have any state associated with it, and 6941 defers all the state to its sub-classes. 6942 6943 The BoxLayout is thus in charge of controlling: 6944 6945 • whether or not animations should be used 6946 • the duration of the animation 6947 • the easing mode of the animation 6948 6949 By adding three new properties: 6950 6951 • ClutterBoxLayout:use-animations 6952 • ClutterBoxLayout:easing-duration 6953 • ClutterBoxLayout:easing-mode 6954 6955 And their relative accessors pairs we can make BoxLayout decide whether 6956 or not, and with which parameters, call the begin_animation() method of 6957 ClutterLayoutManager. 6958 6959 The test-box-layout has been modified to reflect this new functionality, 6960 by checking the key-press event for the 'a' key symbol to toggle the use 6961 of animations. 6962 6963 clutter/clutter-box-layout.c | 320 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------- 6964 clutter/clutter-box-layout.h | 90 +++++++++++++++++++++++++++++------------------------ 6965 doc/reference/clutter/clutter-sections.txt | 8 +++++ 6966 tests/interactive/test-box-layout.c | 6 ++++ 6967 4 files changed, 370 insertions(+), 54 deletions(-) 6968 6969commit 3c2e91aef586de5521aa9674b80d449cf96da0e1 6970Author: Emmanuele Bassi <ebassi@linux.intel.com> 6971Date: Sat Dec 12 00:13:05 2009 +0000 6972 6973 box-layout: Animate layout properties 6974 6975 Use the newly added animation support inside LayoutManager to animate 6976 between state changes of the BoxLayout properties. 6977 6978 The implementation is based on equivalent code from Mx, written by: 6979 6980 Thomas Wood <thomas.wood@intel.com> 6981 6982 clutter/clutter-box-layout.c | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------- 6983 1 file changed, 113 insertions(+), 17 deletions(-) 6984 6985commit f94a903d9ebdbc055010bb4a4c6fe7e76f418bd8 6986Author: Emmanuele Bassi <ebassi@linux.intel.com> 6987Date: Sat Dec 12 00:02:43 2009 +0000 6988 6989 layout: Add animation support to LayoutManager 6990 6991 In order to animate a fluid layout we cannot use the common animation 6992 code paths as they will override the size request and allocation paths 6993 that are handled by the layout manager itself. 6994 6995 One way to introduce animations in the allocation sequence is to use a 6996 Timeline and an Alpha to compute a progress value and then use that 6997 value to interpolate an ActorBox between the initial and final states of 6998 the animation - with the initial state being the last allocation of the 6999 child prior to the animation start, and the final state the allocation 7000 of the child at the end; for every frame of the Timeline we then queue a 7001 relayout on the layout manager's container, which will result in an 7002 animation. 7003 7004 ClutterLayoutManager is the most likely place to add a generic API for 7005 beginning and ending an animation, as well as the place to provide a 7006 default code path to create the ancillary Timeline and Alpha instances 7007 needed to drive the animation. 7008 7009 A LayoutManager sub-class will need to: 7010 7011 • call clutter_layout_manager_begin_animation() whenever it should 7012 animate between two states, for instance: whenever a layout property 7013 changes value; 7014 • eventually override begin_animation() and end_animation() in case 7015 further state needs to be set up, and then chain up to the default 7016 implementation provided by LayoutManager; 7017 • if a completely different implementation is required, the layout 7018 manager sub-class should override begin_animation(), end_animation() 7019 and get_animation_progress(). 7020 7021 Inside the allocate() implementation the sub-class should also 7022 interpolate between the last known allocation of a child and the newly 7023 computed allocation. 7024 7025 clutter/clutter-layout-manager.c | 159 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 7026 clutter/clutter-layout-manager.h | 68 ++++++++++++++++++++++++++++++++++++++++++++------------------------ 7027 doc/reference/clutter/clutter-sections.txt | 5 +++++ 7028 3 files changed, 207 insertions(+), 25 deletions(-) 7029 7030commit 999359d64ccfbdbcc952662c14fa47441d6a5225 7031Author: Emmanuele Bassi <ebassi@linux.intel.com> 7032Date: Fri Dec 11 23:48:58 2009 +0000 7033 7034 Add ActorBox animation methods 7035 7036 ClutterActorBox should have an interpolate() method that allows to 7037 compute the intermediate values between two states, given a progress 7038 value, e.g.: 7039 7040 clutter_actor_box_interpolate (start, end, alpha, &result); 7041 7042 Another utility method, useful for layout managers, is a modifier 7043 that clamps the members of the actor box to the nearest integer 7044 value. 7045 7046 clutter/clutter-actor.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 7047 clutter/clutter-types.h | 5 +++++ 7048 doc/reference/clutter/clutter-sections.txt | 2 ++ 7049 3 files changed, 54 insertions(+) 7050 7051commit d2ea7cd6a8a1eb4ff04f11cb53aa387458a8e128 7052Author: Emmanuele Bassi <ebassi@linux.intel.com> 7053Date: Fri Dec 11 20:17:58 2009 +0000 7054 7055 Clean up whitespace, indentation and comments 7056 7057 clutter/clutter-main.c | 70 ++++++++++++++++++++++++++++++++++++---------------------------------- 7058 1 file changed, 36 insertions(+), 34 deletions(-) 7059 7060commit 7b53aa7510adc60d3287740772ec97117ce78ab9 7061Merge: 60a6bff31 1374b5aac 7062Author: Emmanuele Bassi <ebassi@linux.intel.com> 7063Date: Thu Dec 10 23:36:04 2009 +0000 7064 7065 Merge branch 'get-current-event' into ebassi-next 7066 7067 * get-current-event: 7068 Add clutter_get_current_event 7069 7070commit 1374b5aac9398852cf3f3482fdf925b52aa31338 7071Author: Colin Walters <walters@verbum.org> 7072Date: Thu Nov 12 17:33:15 2009 -0500 7073 7074 Add clutter_get_current_event 7075 7076 When getting signals from higher level toolkits, occasionally 7077 one wants access to the underlying event; say for a Button 7078 widget's "clicked" signal, to get the keyboard state. 7079 7080 Rather than having all of the highlevel widgets emit 7081 ClutterEvent just for the more unusual use cases, 7082 add a global function to access the event state. 7083 7084 http://bugzilla.openedhand.com/show_bug.cgi?id=1888 7085 7086 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 7087 7088 clutter/clutter-event.c | 23 +++++++++++++++++++++++ 7089 clutter/clutter-event.h | 1 + 7090 clutter/clutter-main.c | 62 +++++++++++++++++++++++++++++++++++--------------------------- 7091 clutter/clutter-private.h | 1 + 7092 doc/reference/clutter/clutter-sections.txt | 1 + 7093 5 files changed, 61 insertions(+), 27 deletions(-) 7094 7095commit 60a6bff3136c21c5ff6d4c5bb6614716853620f0 7096Merge: dc47550bc c4f27b155 7097Author: Emmanuele Bassi <ebassi@linux.intel.com> 7098Date: Wed Dec 9 23:32:41 2009 +0000 7099 7100 Merge branch 'no-layout-flag' into ebassi-next 7101 7102 * no-layout-flag: 7103 actor: Add a NO_LAYOUT flag for actors 7104 7105commit dc47550bc8eabc2c6e6e99364c1cb536a9adc973 7106Merge: 86ce92eec b33b6287a 7107Author: Emmanuele Bassi <ebassi@linux.intel.com> 7108Date: Wed Dec 9 23:32:18 2009 +0000 7109 7110 Merge branch 'size-cache' into ebassi-next 7111 7112 * size-cache: 7113 tests: Clean up the BoxLayout interactive test 7114 actor: Add debugging notes for size cache 7115 Add a cache of size requests 7116 7117commit 86ce92eec14aa1aaf7c9ab14a520b66690488213 7118Author: Emmanuele Bassi <ebassi@linux.intel.com> 7119Date: Wed Dec 9 18:46:25 2009 +0000 7120 7121 x11: Emulate XKB's detectable key auto-repeat 7122 7123 Old-style X11 terminals require that even modern X11 send KeyPress 7124 and KeyRelease pairs when auto-repeating. For this reason modern(-ish) 7125 API like XKB has a way to detect auto-repeat and do a single KeyRelease 7126 at the end of a KeyPress sequence. 7127 7128 The newly added check emulates XKB's detectable auto-repeat by peeking 7129 the next event after a KeyRelease and checking if it's a KeyPress for 7130 the same key and timestamp - and then ignoring the KeyRelease if it 7131 matches. 7132 7133 clutter/x11/clutter-event-x11.c | 26 ++++++++++++++++++++++++++ 7134 1 file changed, 26 insertions(+) 7135 7136commit 9242d6b934710ca4001e8dc2a0f1f4bc4a738a63 7137Author: Emmanuele Bassi <ebassi@linux.intel.com> 7138Date: Wed Dec 9 18:10:52 2009 +0000 7139 7140 docs: Move RELEASING under docs/ 7141 7142 RELEASING => doc/RELEASING | 0 7143 1 file changed, 0 insertions(+), 0 deletions(-) 7144 7145commit 1ffd2ccb87a570733647e655e5e608ee05661c74 7146Author: Emmanuele Bassi <ebassi@linux.intel.com> 7147Date: Wed Dec 9 01:52:09 2009 +0000 7148 7149 stage: Deprecate default stage size macros 7150 7151 The macros for getting the size of the default stage are a relic of the 7152 past and they should be deprecated. 7153 7154 clutter/clutter-stage.h | 36 ++++++++++++++---------------------- 7155 1 file changed, 14 insertions(+), 22 deletions(-) 7156 7157commit 34913378fb7aa84874bfda63648e9e0e02e40d8c 7158Author: Emmanuele Bassi <ebassi@linux.intel.com> 7159Date: Wed Dec 9 17:17:33 2009 +0000 7160 7161 tests: Use accessor methods for :use-alpha 7162 7163 Instead of using g_object_set(). 7164 7165 tests/interactive/test-paint-wrapper.c | 6 ++---- 7166 1 file changed, 2 insertions(+), 4 deletions(-) 7167 7168commit 1208e47198ea981b644bca2ce9beab3b59f05d0b 7169Author: Emmanuele Bassi <ebassi@linux.intel.com> 7170Date: Wed Dec 9 02:04:56 2009 +0000 7171 7172 stage: Add accessors for :use-alpha 7173 7174 Use real accessors for the :use-alpha property. 7175 7176 clutter/clutter-stage.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 7177 clutter/clutter-stage.h | 4 ++++ 7178 doc/reference/clutter/clutter-sections.txt | 2 ++ 7179 3 files changed, 57 insertions(+), 2 deletions(-) 7180 7181commit 3b075b6dc4197ed78f6386ee7e9a6e307839590f 7182Author: Emmanuele Bassi <ebassi@linux.intel.com> 7183Date: Wed Dec 9 01:46:52 2009 +0000 7184 7185 tests: Allow setting the stage opacity in test-paint-wrapper 7186 7187 This allows testing the Stage:use-alpha property and the blending done 7188 by a compositor. 7189 7190 tests/interactive/test-paint-wrapper.c | 15 +++++++++++++++ 7191 1 file changed, 15 insertions(+) 7192 7193commit 3a3c815286daa55761787a49d7a33c6eb8c3d74d 7194Author: Emmanuele Bassi <ebassi@linux.intel.com> 7195Date: Wed Dec 9 01:46:09 2009 +0000 7196 7197 stage: Premultiply the stage color 7198 7199 In case we are using Stage:use-alpha then we need to premultiply the 7200 stage color to get the correct blending from the compositor. 7201 7202 clutter/clutter-stage.c | 1 + 7203 1 file changed, 1 insertion(+) 7204 7205commit e957e277b8a4893ce8c99e94402036d42a8b3748 7206Author: Emmanuele Bassi <ebassi@linux.intel.com> 7207Date: Tue Dec 8 18:24:30 2009 +0000 7208 7209 x11: Do not manage a foreign window 7210 7211 If a Stage has been set to use a foreign Window then Clutter should not 7212 be managing it; calling XWithdrawWindow and XMapWindow should be 7213 reserved to the windows we manage ourselves. 7214 7215 clutter/x11/clutter-stage-x11.c | 23 ++++++++++++++--------- 7216 1 file changed, 14 insertions(+), 9 deletions(-) 7217 7218commit 28cb2cdab588ac361544538d4bb70a3e9bf24c81 7219Author: Emmanuele Bassi <ebassi@linux.intel.com> 7220Date: Mon Dec 7 19:00:55 2009 +0000 7221 7222 Remove clutter_set_default_text_direction() 7223 7224 Setting the default text direction programmatically is wrong: it is a 7225 value dependent on the locale or by the environment. 7226 7227 clutter/clutter-actor.c | 3 ++- 7228 clutter/clutter-main.c | 32 ++++++++++++++------------------ 7229 clutter/clutter-main.h | 1 - 7230 doc/reference/clutter/clutter-sections.txt | 1 - 7231 4 files changed, 16 insertions(+), 21 deletions(-) 7232 7233commit 3b9575baf8d254b7ba8b5faf56b14fbc6c3fde74 7234Author: Emmanuele Bassi <ebassi@linux.intel.com> 7235Date: Mon Dec 7 18:41:15 2009 +0000 7236 7237 Queue a relayout when the default text direction changes 7238 7239 We need a relayout cycle if the default direction for the text changes 7240 while the main loop is running. 7241 7242 clutter/clutter-main.c | 8 +++++++- 7243 1 file changed, 7 insertions(+), 1 deletion(-) 7244 7245commit 6a3f6a460e730b0067adfa1eac455246c8d6e8d8 7246Author: Emmanuele Bassi <ebassi@linux.intel.com> 7247Date: Mon Dec 7 17:35:17 2009 +0000 7248 7249 stage: Composite the opacity with the alpha channel 7250 7251 The Stage's opacity should be composited with the alpha component of the 7252 Stage's background color. 7253 7254 clutter/clutter-stage.c | 20 +++++++++++--------- 7255 1 file changed, 11 insertions(+), 9 deletions(-) 7256 7257commit c4f27b1556b65464fd1f53749d32db9adab97942 7258Author: Emmanuele Bassi <ebassi@gnome.org> 7259Date: Wed Oct 7 16:41:25 2009 +0100 7260 7261 actor: Add a NO_LAYOUT flag for actors 7262 7263 Some actor implementation might avoid imposing any layout on their 7264 children. The Actor base class usually assumes some sort of layout 7265 management is in place, so it will queue relayouts when, for instance, 7266 an actor is shown or is hidden. If the parent of the actor does not 7267 impose any layout, though, showing or hiding one of its children will 7268 not affect the layout of the others. 7269 7270 An example of this kind of container is ClutterGroup. 7271 7272 By adding a new Actor flag, CLUTTER_ACTOR_NO_LAYOUT, and by making 7273 the Group actor set it on itself, the Actor base class can now decide 7274 whether or not to queue a relayout. The flag is not meant to be used 7275 by application code, and should only be set when implementing a new 7276 container. 7277 7278 http://bugzilla.openedhand.com/show_bug.cgi?id=1838 7279 7280 clutter/clutter-actor.c | 37 +++++++++++++++++++++++++++---------- 7281 clutter/clutter-actor.h | 15 ++++++++++----- 7282 clutter/clutter-group.c | 6 ++++++ 7283 3 files changed, 43 insertions(+), 15 deletions(-) 7284 7285commit 34b50934be581cde0ef2eba75f45aa36b1add14d 7286Author: Neil Roberts <neil@linux.intel.com> 7287Date: Sat Dec 5 14:20:00 2009 +0000 7288 7289 cogl-material: Ensure mipmaps before doing anything else on a texture 7290 7291 When the texture is in the atlas, ensuring the mipmaps can effectively 7292 make it become a completely different texture so we should do this 7293 before getting the GL handle. 7294 7295 clutter/cogl/cogl/cogl-material.c | 19 +++++++++++-------- 7296 1 file changed, 11 insertions(+), 8 deletions(-) 7297 7298commit 231cfffa1871806713928f7b4c599d904a813fb9 7299Author: Neil Roberts <neil@linux.intel.com> 7300Date: Sat Dec 5 13:48:03 2009 +0000 7301 7302 cogl-atlas-texture: Remove textures from the atlas when mipmapping is required 7303 7304 Mipmaps don't work very well in the current atlas because there is not 7305 enough padding between the textures. If ensure_mipmaps is called it 7306 will now create a new texture and migrate the atlased texture to 7307 it. It will use the same blit mechanism as when migrating so it will 7308 try to use an FBO for a fast blit. However if this is not possible it 7309 will end up downloading the data for the entire atlas which is not 7310 ideal. 7311 7312 clutter/cogl/cogl/cogl-atlas-texture.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------- 7313 1 file changed, 57 insertions(+), 9 deletions(-) 7314 7315commit 6cf5ee2cbdad4bb71a065bb7e49a534ca7ba78ac 7316Author: Neil Roberts <neil@linux.intel.com> 7317Date: Sat Dec 5 13:24:01 2009 +0000 7318 7319 cogl-atlas-texture: Try to do texture blits using an FBO 7320 7321 When reorganizing the textures, we can avoid downloading the entire 7322 texture data if we bind the source texture in a framebuffer object and 7323 copy the destination using glCopyTexSubImage2D. This is also 7324 implemented using a much faster path in Mesa. 7325 7326 Currently it is calling the GL framebuffer API directly but ideally it 7327 would use the Cogl offscreen API. However there is no way to tell Cogl 7328 not to create a stencil renderbuffer which seems like a waste in this 7329 situation. 7330 7331 If FBOs are not available it will fallback to reading back the entire 7332 texture data as before. 7333 7334 clutter/cogl/cogl/cogl-atlas-texture.c | 198 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------- 7335 1 file changed, 168 insertions(+), 30 deletions(-) 7336 7337commit c51a31a2fc3f0f087a44cbccf1726c40fa581746 7338Author: Neil Roberts <neil@linux.intel.com> 7339Date: Fri Dec 4 19:43:39 2009 +0000 7340 7341 cogl-atlas: Add a debug option to visualize the atlas 7342 7343 This adds a 'dump-atlas-image' debug category. When enabled, CoglAtlas 7344 will use Cairo to create a png which visualizes the leaf rectangles of 7345 the atlas. 7346 7347 clutter/cogl/cogl/cogl-atlas.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 7348 clutter/cogl/cogl/cogl-debug.c | 3 ++- 7349 clutter/cogl/cogl/cogl-debug.h | 3 ++- 7350 3 files changed, 80 insertions(+), 2 deletions(-) 7351 7352commit 032d6e8aa00cd04a8084303a4942760ef5651a0c 7353Author: Neil Roberts <neil@linux.intel.com> 7354Date: Fri Dec 4 18:55:53 2009 +0000 7355 7356 cogl-texture-atlas: Add some debugging notes 7357 7358 This adds an 'atlas' category to the COGL_DEBUG environment 7359 variable. When enabled Cogl will display messages when textures are 7360 added to the atlas and when the atlas is reorganized. 7361 7362 clutter/cogl/cogl/cogl-atlas-texture.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 7363 clutter/cogl/cogl/cogl-debug.c | 3 ++- 7364 clutter/cogl/cogl/cogl-debug.h | 3 ++- 7365 3 files changed, 60 insertions(+), 8 deletions(-) 7366 7367commit bc845e26d9cab75ecba69d12a937cf7d42bcaf71 7368Author: Neil Roberts <neil@linux.intel.com> 7369Date: Fri Dec 4 18:24:15 2009 +0000 7370 7371 cogl-atlas-texture: Support reorganizing the atlas when it is full 7372 7373 When space can't be found in the atlas for a new texture it will now 7374 try to reorganize the atlas to make space. A new CoglAtlas is created 7375 and all of the textures are readded in decreasing size order. If the 7376 textures still don't fit then the size of the atlas is doubled until 7377 either we find a space or we reach the texture size limits. If we 7378 successfully find an organization that fits then all of the textures 7379 will be migrated to a new texture. This involves copying the texture 7380 data into CPU memory and then uploading it again. Potentially it could 7381 eventually use a PBO or an FBO to transfer the image without going 7382 through the CPU. 7383 7384 The algorithm for laying out the textures works a lot better if the 7385 rectangles are added in order so we might eventually want some API for 7386 creating multiple textures in one go to avoid reorganizing the atlas 7387 as far as possible. 7388 7389 clutter/cogl/cogl/cogl-atlas-texture.c | 315 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------- 7390 1 file changed, 280 insertions(+), 35 deletions(-) 7391 7392commit 1fb32167ec37f7b3bc8193258faa5963fe49569e 7393Author: Neil Roberts <neil@linux.intel.com> 7394Date: Fri Dec 4 13:06:32 2009 +0000 7395 7396 cogl: Add an atlased texture backend 7397 7398 This adds a CoglAtlas type which is a data structure that keeps track 7399 of unused sub rectangles of a larger rectangle. There is a new atlased 7400 texture backend which uses this to put multiple textures into a single 7401 larger texture. 7402 7403 Currently the atlas is always sized 256x256 and the textures are never 7404 moved once they are put in. Eventually it needs to be able to 7405 reorganise the atlas and grow it if necessary. It also needs to 7406 migrate the textures out of the atlas if mipmaps are required. 7407 7408 clutter/cogl/cogl/Makefile.am | 4 ++ 7409 clutter/cogl/cogl/cogl-atlas-texture-private.h | 64 +++++++++++++++++++++++ 7410 clutter/cogl/cogl/cogl-atlas-texture.c | 488 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 7411 clutter/cogl/cogl/cogl-atlas.c | 520 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 7412 clutter/cogl/cogl/cogl-atlas.h | 76 +++++++++++++++++++++++++++ 7413 clutter/cogl/cogl/cogl-context.c | 14 +++++ 7414 clutter/cogl/cogl/cogl-context.h | 8 +++ 7415 clutter/cogl/cogl/cogl-texture.c | 30 ++++++----- 7416 clutter/cogl/cogl/cogl-types.h | 3 +- 7417 9 files changed, 1194 insertions(+), 13 deletions(-) 7418 7419commit b33b6287a1d3d3b07bbb845e79dfc4e2162c5c77 7420Author: Emmanuele Bassi <ebassi@linux.intel.com> 7421Date: Fri Dec 4 17:39:04 2009 +0000 7422 7423 tests: Clean up the BoxLayout interactive test 7424 7425 tests/interactive/test-box-layout.c | 27 ++++++++++++++++----------- 7426 1 file changed, 16 insertions(+), 11 deletions(-) 7427 7428commit cf62b8fe4ab0d7cca360077843a9e213540e2c4d 7429Author: Emmanuele Bassi <ebassi@linux.intel.com> 7430Date: Fri Dec 4 17:38:26 2009 +0000 7431 7432 actor: Add debugging notes for size cache 7433 7434 Add a note for cache hits, and another one for cache misses. 7435 7436 clutter/clutter-actor.c | 3 +++ 7437 1 file changed, 3 insertions(+) 7438 7439commit 9ccdf2eb02a0d0155e27d5f9270bca6b72c08359 7440Author: Emmanuele Bassi <ebassi@linux.intel.com> 7441Date: Fri Dec 4 16:54:22 2009 +0000 7442 7443 box: Add relative packing methods 7444 7445 ClutterBox should provide some convenience functions to pack a new child 7446 at a given position, either an absolute index or relative to a sibling. 7447 7448 clutter/clutter-box.c | 221 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------- 7449 clutter/clutter-box.h | 16 ++++++++++++++ 7450 doc/reference/clutter/clutter-sections.txt | 3 +++ 7451 tests/interactive/test-bin-layout.c | 1 - 7452 4 files changed, 203 insertions(+), 38 deletions(-) 7453 7454commit c9b7efec96636e9368a8dfb76440d1b89c618c99 7455Author: Johan Bilien <jobi@via.ecp.fr> 7456Date: Wed Nov 11 20:40:57 2009 -0500 7457 7458 Add a cache of size requests 7459 7460 clutter_actor_get_preferred_width/height currently caches only one size 7461 requests, for a given height / width. 7462 7463 It's common for a layout manager to call get_preferred_width with 2 7464 different heights during the same allocation cycle. Typically once in 7465 the size request, once in the allocation. If 7466 clutter_actor_get_preferred_width is called 7467 alternatively with 2 different for_height, the cache is totally 7468 inefficient, and we end up always querying the actor size even 7469 when the actor does not need a re-allocation. 7470 7471 http://bugzilla.openedhand.com/show_bug.cgi?id=1876 7472 7473 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 7474 7475 clutter/clutter-actor.c | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------- 7476 1 file changed, 117 insertions(+), 20 deletions(-) 7477 7478commit 18860eb16f36eb62b94aee353b4e2ace76e2fffa 7479Author: Bastian Winkler <buz@netbuz.org> 7480Date: Thu Dec 3 15:38:05 2009 +0000 7481 7482 flow-layout: Use the natural size 7483 7484 Fix a copy-and-paste thinko where the cell size was computed using the 7485 minimum size instead of the natural size. For actors with a minimum size 7486 of zero, like Textures, this implied always a zero allocation. 7487 7488 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 7489 7490 clutter/clutter-flow-layout.c | 4 ++-- 7491 1 file changed, 2 insertions(+), 2 deletions(-) 7492 7493commit 6c3e1989e47b17f826d25704b2433ffecc6e83b9 7494Author: Neil Roberts <neil@linux.intel.com> 7495Date: Thu Dec 3 14:46:20 2009 +0000 7496 7497 cogl-sub-texture: Fix the height of sub textures 7498 7499 The code which is used to get the texture height was accidentally 7500 using the width due to a cut-and-paste fail. 7501 7502 clutter/cogl/cogl/cogl-sub-texture.c | 6 +++--- 7503 1 file changed, 3 insertions(+), 3 deletions(-) 7504 7505commit 97f8eed11917fa0d545dcb08d20841f6b501c878 7506Author: Neil Roberts <neil@linux.intel.com> 7507Date: Fri Nov 27 18:45:36 2009 +0000 7508 7509 cogl: Add a CoglTexture2D backend 7510 7511 This is an optimised version of CoglTexture2DSliced that always deals 7512 with a single texture and always uses the GL_TEXTURE_2D 7513 target. cogl_texture_new_from_bitmap now tries to use this backend 7514 first. If it can't create a texture with that size then it falls back 7515 the sliced backend. 7516 7517 cogl_texture_upload_data_prepare has been split into two functions 7518 because the sliced backend needs to know the real internal format 7519 before the conversion is performed. Otherwise the converted bitmap 7520 will be wasted if the backend can't support the size. 7521 7522 clutter/cogl/cogl/Makefile.am | 2 + 7523 clutter/cogl/cogl/cogl-texture-2d-private.h | 69 +++++++++++++++++++++ 7524 clutter/cogl/cogl/cogl-texture-2d.c | 623 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 7525 clutter/cogl/cogl/cogl-texture-private.h | 9 +++ 7526 clutter/cogl/cogl/cogl-texture.c | 75 ++++++++++++++++------- 7527 5 files changed, 755 insertions(+), 23 deletions(-) 7528 7529commit f3df76d5129ba0ed7014c6aa52be7bee67c3f7aa 7530Author: Neil Roberts <neil@linux.intel.com> 7531Date: Mon Nov 30 12:15:05 2009 +0000 7532 7533 cogl: Add _cogl_texture_driver_upload_to_gl 7534 7535 This provides a way to upload the entire data for a texture without 7536 having to first call glTexImage and then glTexSubImage. This should be 7537 faster especially with indirect rendering where it would needlessy 7538 send the data for the texture twice. 7539 7540 clutter/cogl/cogl/cogl-texture-driver.h | 14 ++++++++++++++ 7541 clutter/cogl/cogl/driver/gl/cogl-texture-driver.c | 26 ++++++++++++++++++++++++++ 7542 clutter/cogl/cogl/driver/gles/cogl-texture-driver.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 7543 3 files changed, 87 insertions(+) 7544 7545commit 19a19579ba72ea9ca4f6d406c035c3ad074fd442 7546Author: Neil Roberts <neil@linux.intel.com> 7547Date: Fri Nov 27 16:59:51 2009 +0000 7548 7549 cogl: Move some of the texture_2d_sliced_new_* functions into cogl-texture 7550 7551 new_from_data and new_from_file can be implemented in terms of 7552 new_from_bitmap so it makes sense to move these to cogl-texture rather 7553 than having to implement them in every texture backend. 7554 7555 clutter/cogl/cogl/cogl-texture-2d-sliced-private.h | 16 ---------------- 7556 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 84 ------------------------------------------------------------------------------------ 7557 clutter/cogl/cogl/cogl-texture.c | 44 +++++++++++++++++++++++++++++++++----------- 7558 3 files changed, 33 insertions(+), 111 deletions(-) 7559 7560commit 27c4eb483d0ce219d80000613357c20fc25724e3 7561Author: Neil Roberts <neil@linux.intel.com> 7562Date: Fri Nov 27 16:40:31 2009 +0000 7563 7564 cogl: Add a conformance test for sub textures 7565 7566 This tests creating a sub texture from a larger texture using various 7567 different texture coordinates. It also tries to read back the texture 7568 data using cogl_texture_get_data. 7569 7570 tests/conform/Makefile.am | 1 + 7571 tests/conform/test-cogl-sub-texture.c | 388 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 7572 tests/conform/test-conform-main.c | 1 + 7573 3 files changed, 390 insertions(+) 7574 7575commit 9752493272b39e6a8aeb1b8d667667d53de439fb 7576Author: Neil Roberts <neil@linux.intel.com> 7577Date: Fri Nov 27 16:39:16 2009 +0000 7578 7579 cogl: Add a sub texture backend 7580 7581 This adds a new texture backend which represents a sub texture of a 7582 larger texture. The texture is created with a reference to the full 7583 texture and a set of coordinates describing the region. The backend 7584 simply defers to the full texture for all operations and maps the 7585 coordinates to the other range. You can also use coordinates outside 7586 the range [0,1] to create a repeated version of the full texture. 7587 7588 A new public API function called cogl_texture_new_from_sub_texture is 7589 available to create the sub texture. 7590 7591 clutter/cogl/cogl/Makefile.am | 2 + 7592 clutter/cogl/cogl/cogl-sub-texture-private.h | 56 +++++++++++++++ 7593 clutter/cogl/cogl/cogl-sub-texture.c | 699 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 7594 clutter/cogl/cogl/cogl-texture.c | 15 +++- 7595 clutter/cogl/cogl/cogl-texture.h | 27 ++++++++ 7596 doc/reference/cogl/cogl-sections.txt | 1 + 7597 6 files changed, 798 insertions(+), 2 deletions(-) 7598 7599commit 070a91f31176eb304031fc6dc2c374ef25f92a92 7600Author: Neil Roberts <neil@linux.intel.com> 7601Date: Wed Dec 2 17:17:24 2009 +0000 7602 7603 cogl: Make the callback for foreach_sub_texture_in_region use const 7604 7605 The CoglTextureSliceCallback function pointer now takes const pointers 7606 for the texture coordinates. This makes it clearer that the callback 7607 should not modify the array and therefore the backend can use the same 7608 array for both sets of coords. 7609 7610 clutter/cogl/cogl/cogl-journal-private.h | 2 +- 7611 clutter/cogl/cogl/cogl-journal.c | 2 +- 7612 clutter/cogl/cogl/cogl-primitives.c | 14 +++++++------- 7613 clutter/cogl/cogl/cogl-texture-private.h | 4 ++-- 7614 4 files changed, 11 insertions(+), 11 deletions(-) 7615 7616commit 1a1de0e278de7c06b528ae74a31580dfd576d041 7617Author: Neil Roberts <neil@linux.intel.com> 7618Date: Wed Dec 2 13:41:49 2009 +0000 7619 7620 cogl: Add a texture utility function for manually repeating 7621 7622 Given a region of texture coordinates this utility invokes a callback 7623 enough times to cover the region with a subregion that spans the 7624 texture at most once. Eg, if called with tx1 and tx2 as 0.5 and 3.0 it 7625 it would invoke the callback with: 7626 7627 0.5,1.0 1.0,2.0 2.0,3.0 7628 7629 Manual repeating is needed by all texture backends regardless of 7630 whether they can support hardware repeating because when Cogl calls 7631 the foreach_sub_texture_in_region method then it sets the wrap mode to 7632 GL_CLAMP_TO_EDGE and no hardware repeating is possible. 7633 7634 clutter/cogl/cogl/cogl-texture-private.h | 14 ++++++++++++++ 7635 clutter/cogl/cogl/cogl-texture.c | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 7636 2 files changed, 116 insertions(+) 7637 7638commit 5fcb29c91695bdbb2aec418ba1d2956ff23612a0 7639Author: Neil Roberts <neil@linux.intel.com> 7640Date: Fri Nov 27 15:47:22 2009 +0000 7641 7642 cogl-primitives: Check for repeating after the coordinate transform 7643 7644 In _cogl_multitexture_quad_single_primitive we use a wrap mode of 7645 GL_CLAMP_TO_EDGE if the texture coordinates are all in the range [0,1] 7646 or GL_REPEAT otherwise. This is to avoid pulling in pixels from either 7647 side when using GL_LINEAR filter mode and rendering the entire 7648 texture. Previously it was checking using the unconverted texture 7649 coordinates. This is ok unless the texture backend is radically 7650 transforming the texture coordinates, such as in the sub texture 7651 backend where the coordinates may map to something completely 7652 different. We now check whether the coordinates are in range after 7653 converting them. 7654 7655 clutter/cogl/cogl/cogl-primitives.c | 87 +++++++++++++++++++++++++++++++++++++-------------------------------------------------- 7656 1 file changed, 37 insertions(+), 50 deletions(-) 7657 7658commit 812d4d25bb28d8512c101701cf7cd06dc2dd95eb 7659Author: Neil Roberts <neil@linux.intel.com> 7660Date: Thu Nov 26 18:58:17 2009 +0000 7661 7662 cogl: Move all of the fields from CoglTexture to CoglTexture2DSliced 7663 7664 Most of the fields that were previously in CoglTexture are specific to 7665 the implementation of CoglTexture2DSliced so they should be placed 7666 there instead. For example, the 'mipmaps_dirty' flag is an 7667 implementation detail of the ensure_mipmaps function so it doesn't 7668 make sense to force all texture backends to have this function. 7669 7670 Other fields such as width, height, gl_format and format may make 7671 sense for all textures but I've added them as virtual functions 7672 instead. This may make more sense for a sub-texture backend for 7673 example where it can calculate these based on the full texture. 7674 7675 clutter/cogl/cogl/cogl-texture-2d-sliced-private.h | 25 +++++++++++++++++----- 7676 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 204 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------ 7677 clutter/cogl/cogl/cogl-texture-private.h | 21 ++++++------------- 7678 clutter/cogl/cogl/cogl-texture.c | 19 +++++++---------- 7679 4 files changed, 149 insertions(+), 120 deletions(-) 7680 7681commit 071dea2fbc307eca949f5f44c4ccb6c4dd73f789 7682Author: Neil Roberts <neil@linux.intel.com> 7683Date: Thu Nov 26 17:32:52 2009 +0000 7684 7685 cogl: Move data only used for upload out of CoglTexture 7686 7687 The CoglTexture struct previously contained some fields which are only 7688 used to upload data such as the CoglBitmap and the source GL 7689 format. These are now moved to a separate CoglTextureUploadData struct 7690 which only exists for the duration of one of the cogl_texture_*_new 7691 functions. In cogl-texture there are utility functions which operate 7692 on this new struct rather than on CoglTexture directly. 7693 7694 Some of the fields that were previously stored in the CoglBitmap 7695 struct are now copied to the CoglTexture such as the width, height, 7696 format and internal GL format. 7697 7698 The rowstride was previously stored in CoglTexture and this was 7699 publicly accessible with the cogl_texture_get_rowstride 7700 function. However this doesn't seem to be a useful function because 7701 there is no need to use the same rowstride again when uploading or 7702 downloading new data. Instead cogl_texture_get_rowstride now just 7703 calculates a suitable rowstride from the format and width of the 7704 texture. 7705 7706 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 344 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------- 7707 clutter/cogl/cogl/cogl-texture-driver.h | 6 ++-- 7708 clutter/cogl/cogl/cogl-texture-private.h | 51 +++++++++++++++++---------- 7709 clutter/cogl/cogl/cogl-texture.c | 93 +++++++++++++++++++++++++------------------------ 7710 clutter/cogl/cogl/driver/gl/cogl-texture-driver.c | 14 ++++---- 7711 clutter/cogl/cogl/driver/gles/cogl-texture-driver.c | 16 ++++----- 7712 6 files changed, 262 insertions(+), 262 deletions(-) 7713 7714commit 7f58c14dcdbb5a6a24f17aacb784702dbaa468fb 7715Author: Neil Roberts <neil@linux.intel.com> 7716Date: Wed Dec 2 21:54:22 2009 +0000 7717 7718 cogl: Use #ifdef GL around GL_TEXTURE_RECTANGLE_ARB 7719 7720 Commit 558b17ee1e added support for rectangle textures to the 7721 framebuffer code. Under GLES there is no GL_TEXTURE_RECTANGLE_ARB 7722 definition so this was breaking the build. The rest of Cogl uses 7723 ifdef's around that constant so we should do the same here. 7724 7725 clutter/cogl/cogl/cogl-framebuffer.c | 7 +++++-- 7726 1 file changed, 5 insertions(+), 2 deletions(-) 7727 7728commit 59d84f7806e16b3d1fea5eed44a5d06d9772be23 7729Author: Emmanuele Bassi <ebassi@linux.intel.com> 7730Date: Wed Dec 2 16:03:55 2009 +0000 7731 7732 build: Fix CPP and LD flags 7733 7734 • The debug flags are pre-processor ones, so they should be listed 7735 inside AM_CPPFLAGS. 7736 7737 • Clutter's publicly exported symbols match the following regular 7738 expression: 7739 7740 ^(clutter|cogl|json)_* 7741 7742 The old one also listed "pango" as a possible prefix, but the 7743 Pango API is now under the Cogl namespace. 7744 7745 clutter/Makefile.am | 5 +++-- 7746 1 file changed, 3 insertions(+), 2 deletions(-) 7747 7748commit 17e3b526d569b6c8f33cd050acce107d5f1b057b 7749Author: Emmanuele Bassi <ebassi@linux.intel.com> 7750Date: Wed Dec 2 14:15:43 2009 +0000 7751 7752 docs: Document Clutter's threading model 7753 7754 Be explicit on how to deal with threads and Clutter. 7755 7756 clutter/clutter-main.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 7757 1 file changed, 56 insertions(+) 7758 7759commit fc7bbf1abf732ba37fee8f12b5ed36e0b9a5fb95 7760Author: Emmanuele Bassi <ebassi@linux.intel.com> 7761Date: Wed Dec 2 14:15:19 2009 +0000 7762 7763 docs: Fix docbook syntax 7764 7765 The <variablename> tag is really called <varname> in DocBook. 7766 7767 clutter/clutter-layout-manager.c | 9 ++++----- 7768 1 file changed, 4 insertions(+), 5 deletions(-) 7769 7770commit 3c08c411d2ccd1523439c4f35427d266d1ef67dd 7771Author: Emmanuele Bassi <ebassi@linux.intel.com> 7772Date: Wed Dec 2 11:38:04 2009 +0000 7773 7774 docs: Annotate StageManager 7775 7776 The ClutterStageManager instance structure is private, so we need a 7777 "floating" annotation. 7778 7779 clutter/clutter-stage-manager.h | 8 ++++++++ 7780 1 file changed, 8 insertions(+) 7781 7782commit 7a33b706a40719e1d123ccfa71c3d5c5d864fdea 7783Author: Emmanuele Bassi <ebassi@linux.intel.com> 7784Date: Wed Dec 2 11:37:13 2009 +0000 7785 7786 Remove a gtk-doc annotation 7787 7788 The Mesa matrix code still has a comment that looks like a gtk-doc 7789 annotation. 7790 7791 clutter/cogl/cogl/cogl-matrix-mesa.c | 2 +- 7792 1 file changed, 1 insertion(+), 1 deletion(-) 7793 7794commit 0270313121e9a02cb1f59de134ed724e6f8c0ae6 7795Author: Emmanuele Bassi <ebassi@linux.intel.com> 7796Date: Wed Dec 2 11:36:25 2009 +0000 7797 7798 layout: Add padding to LayoutMeta 7799 7800 Add some padding to the LayoutMeta and LayoutMetaClass structures. 7801 7802 clutter/clutter-layout-meta.h | 18 +++++++++++++++++- 7803 1 file changed, 17 insertions(+), 1 deletion(-) 7804 7805commit 02398c0cf13f8326a8fadf0536ce1ac1994901ee 7806Author: Emmanuele Bassi <ebassi@linux.intel.com> 7807Date: Tue Dec 1 18:16:48 2009 +0000 7808 7809 Remove unused variable 'lang' 7810 7811 Fix a compiler warning. 7812 7813 clutter/clutter-main.c | 1 - 7814 1 file changed, 1 deletion(-) 7815 7816commit cdba8cc220a8ef026ade2dfaa542ff94c92cd5ef 7817Author: Rob Bradford <rob@linux.intel.com> 7818Date: Tue Dec 1 17:44:42 2009 +0000 7819 7820 flow-layout: Include the first line when calculating number of lines 7821 7822 This ensures that the preferred height / width height takes into consideration 7823 the correct amount of padding 7824 7825 clutter/clutter-flow-layout.c | 6 ++++++ 7826 1 file changed, 6 insertions(+) 7827 7828commit c564303601f6cabdc3314070d225f74a3c6df174 7829Author: Rob Bradford <rob@linux.intel.com> 7830Date: Tue Dec 1 17:11:08 2009 +0000 7831 7832 flow-layout: Respect row-spacing/col-spacine in horizontal/vertical flows 7833 7834 We need to add the row-spacing value when calculating the y position for lines 7835 of actors in horizontal flowing layouts. 7836 7837 Similarly we need to add the col-spacing value when calculating the x posution 7838 for actors in vertical flowing layouts. 7839 7840 clutter/clutter-flow-layout.c | 6 ++++++ 7841 1 file changed, 6 insertions(+) 7842 7843commit e6ca2d891a2c48c91db45a0c2f5ce84d5e6621e1 7844Author: Emmanuele Bassi <ebassi@linux.intel.com> 7845Date: Tue Dec 1 16:18:39 2009 +0000 7846 7847 glx: Always request an ARGB visual 7848 7849 When requesting the GLXFBConfig for creating the GLX context, we should 7850 always request one that links to an ARGB visual instead of a plain RGB 7851 one. 7852 7853 By using an ARGB visual we allow the ClutterStage:use-alpha property to 7854 work as intended when running Clutter under a compositing manager. 7855 7856 The default behaviour of requesting an ARGB visual can be disabled by 7857 using the: 7858 7859 CLUTTER_DISABLE_ARGB_VISUAL 7860 7861 Environment variable. 7862 7863 clutter/glx/clutter-backend-glx.c | 128 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------- 7864 clutter/glx/clutter-backend-glx.h | 5 +++-- 7865 clutter/glx/clutter-glx.h | 5 ----- 7866 clutter/glx/clutter-stage-glx.c | 13 +++---------- 7867 clutter/x11/clutter-backend-x11.c | 15 ++++++++++++++- 7868 clutter/x11/clutter-x11.h | 2 ++ 7869 6 files changed, 125 insertions(+), 43 deletions(-) 7870 7871commit 2f7ff4d3e363a0568e4051ab67c0df6f745d06d2 7872Author: Emmanuele Bassi <ebassi@linux.intel.com> 7873Date: Tue Dec 1 16:16:18 2009 +0000 7874 7875 stage: Add :use-alpha property 7876 7877 The ClutterStage:use-alpha property is used to let a stage know that it 7878 should honour the alpha component of the ClutterStage:color property. 7879 7880 If :use-alpha is set to FALSE the stage always uses the full opacity 7881 when clearing itself before a paint(); otherwise, the alpha value is 7882 used. 7883 7884 clutter/clutter-stage.c | 38 +++++++++++++++++++++++++++++++++++--- 7885 1 file changed, 35 insertions(+), 3 deletions(-) 7886 7887commit 1d87ecc6a1be73e7d72c8c5ecb2b8268d5a0cd5e 7888Author: Emmanuele Bassi <ebassi@linux.intel.com> 7889Date: Tue Dec 1 16:22:45 2009 +0000 7890 7891 materials: Get the right blend function for alpha 7892 7893 The correct blend function for the alpha channel is: 7894 7895 GL_ONE, GL_ONE_MINUS_SRC_ALPHA 7896 7897 As per bug 1406. This fix was dropped when the switch to premultiplied 7898 alpha was merged. 7899 7900 clutter/cogl/cogl/cogl-material.c | 2 +- 7901 1 file changed, 1 insertion(+), 1 deletion(-) 7902 7903commit b43e804c078578e54b0ef9680a5d7b4bf53cafe8 7904Author: Emmanuele Bassi <ebassi@linux.intel.com> 7905Date: Tue Dec 1 16:06:57 2009 +0000 7906 7907 actor: Fix a pre-condition check in set_text_direction() 7908 7909 The check is failing because the condition should be: 7910 7911 text_dir != CLUTTER_TEXT_DIRECTION_DEFAULT 7912 7913 clutter/clutter-actor.c | 2 +- 7914 1 file changed, 1 insertion(+), 1 deletion(-) 7915 7916commit 3e034cda58776a0fbc6812cd8d859ad58b5cab54 7917Author: Emmanuele Bassi <ebassi@linux.intel.com> 7918Date: Tue Dec 1 15:17:49 2009 +0000 7919 7920 build: More cleanups for the configure summary 7921 7922 Document each section, and add some more items to the summary like what 7923 JSON-GLib are we using, and which version of the GLES API is COGL 7924 wrapping. 7925 7926 configure.ac | 27 ++++++++++++++++++++++----- 7927 1 file changed, 22 insertions(+), 5 deletions(-) 7928 7929commit e3b409529e9000cff6aabac8efdaccc0eaecf83f 7930Author: Emmanuele Bassi <ebassi@linux.intel.com> 7931Date: Tue Dec 1 15:17:16 2009 +0000 7932 7933 build: Require a stable JSON-GLib version 7934 7935 The 0.7 version is the development cycle for JSON-GLib 0.8. 7936 7937 configure.ac | 8 ++++---- 7938 1 file changed, 4 insertions(+), 4 deletions(-) 7939 7940commit 1c47638db4ac741f4bae9ede860d16b4e1693a36 7941Author: Emmanuele Bassi <ebassi@linux.intel.com> 7942Date: Tue Dec 1 14:59:44 2009 +0000 7943 7944 docs: Add missing symbols to clutter-sections.txt 7945 7946 doc/reference/clutter/clutter-sections.txt | 8 ++++++++ 7947 1 file changed, 8 insertions(+) 7948 7949commit 586750751a60b76e2f398be28d596009b6587c52 7950Merge: c2332a5d2 6e99c1aef 7951Author: Emmanuele Bassi <ebassi@linux.intel.com> 7952Date: Tue Dec 1 14:55:19 2009 +0000 7953 7954 Merge branch 'text-direction' 7955 7956 * text-direction: 7957 docs: Add text-direction accessors 7958 Set the default language on the Pango context 7959 actor: Set text direction on parenting 7960 tests: Display the index inside text-box-layout 7961 box-layout: Honour :text-direction 7962 text: Dirty layout cache on text direction changes 7963 actor: Add :text-direction property 7964 Use the newly added ClutterTextDirection enumeration 7965 Add ClutterTextDirection enumeration 7966 7967commit 6e99c1aefe8f76cb3004a8cc89ae6f8b95d1f597 7968Author: Emmanuele Bassi <ebassi@linux.intel.com> 7969Date: Tue Dec 1 14:55:01 2009 +0000 7970 7971 docs: Add text-direction accessors 7972 7973 doc/reference/clutter/clutter-sections.txt | 4 ++++ 7974 1 file changed, 4 insertions(+) 7975 7976commit c2332a5d26d854dcb4223088904305988b35a906 7977Author: Bastian Winkler <buz@netbuz.org> 7978Date: Tue Dec 1 12:31:07 2009 +0000 7979 7980 build: Fix the SUBDIRS ordering 7981 7982 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 7983 7984 Makefile.am | 4 +--- 7985 1 file changed, 1 insertion(+), 3 deletions(-) 7986 7987commit 220a8fbfda5bda38e6c7689176fd876c57074ab5 7988Author: Emmanuele Bassi <ebassi@linux.intel.com> 7989Date: Tue Dec 1 10:16:25 2009 +0000 7990 7991 docs: Move documentation under doc/ 7992 7993 Clean up the root directory of the project and try to keep the 7994 documentation all together. 7995 7996 Makefile.am | 3 --- 7997 CODING_STYLE => doc/CODING_STYLE | 0 7998 HACKING => doc/HACKING | 0 7999 HACKING.backends => doc/HACKING.backends | 0 8000 doc/Makefile.am | 5 +++++ 8001 5 files changed, 5 insertions(+), 3 deletions(-) 8002 8003commit 348f5bfec8b8c0c682384001ac39b4e656b9c526 8004Author: Emmanuele Bassi <ebassi@linux.intel.com> 8005Date: Tue Dec 1 10:11:33 2009 +0000 8006 8007 cookbook: Clean up the text 8008 8009 • Remove the empty sections. 8010 8011 • Add the description for the "overriding the paint sequence" recipe. 8012 8013 doc/cookbook/clutter-cookbook.xml.in | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------- 8014 1 file changed, 86 insertions(+), 38 deletions(-) 8015 8016commit 52db14b78d848f0f876d4721895ccc2c83e06aba 8017Author: Emmanuele Bassi <ebassi@linux.intel.com> 8018Date: Mon Nov 30 21:51:46 2009 +0000 8019 8020 docs: Fix recursion into doc/ directory 8021 8022 We should always recurse into the doc/ directory; whether we should then 8023 recurse into reference/, cookbook/ and manual/ is a matter of specific 8024 configure-time flags. 8025 8026 Makefile.am | 6 +----- 8027 doc/Makefile.am | 6 +++++- 8028 2 files changed, 6 insertions(+), 6 deletions(-) 8029 8030commit 5e1ccaeb603fb9f9b2b11cad13bbcf8682b33504 8031Author: Emmanuele Bassi <ebassi@linux.intel.com> 8032Date: Thu Sep 3 13:04:59 2009 +0100 8033 8034 docs: Clean up the additional documentation build 8035 8036 • Make the manual a DevHelp book 8037 8038 • Make the generation of PDFs of the cookbook and the manual optional 8039 8040 • Consequently, make the hard dependency on jw optional 8041 8042 • Clean up the checks and build for the additional documentation 8043 8044 .gitignore | 9 +++++---- 8045 configure.ac | 41 +++++++++++++++++++++-------------------- 8046 doc/Makefile.am | 8 +++++++- 8047 doc/common/Makefile.am | 9 +++++++++ 8048 doc/{cookbook => common}/common.xsl | 0 8049 doc/{cookbook => common}/devhelp.xsl | 0 8050 doc/{cookbook => common}/html.xsl | 0 8051 doc/{cookbook => common}/ref-html-style.xsl | 0 8052 doc/{cookbook => common}/style.css | 0 8053 doc/cookbook/Makefile.am | 30 ++++++++++++++---------------- 8054 doc/cookbook/{clutter-cookbook.xml => clutter-cookbook.xml.in} | 7 ++++--- 8055 doc/cookbook/cookbook.xsl | 14 -------------- 8056 doc/manual/Makefile.am | 84 ++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------ 8057 doc/manual/clutter-manual.xml.in | 9 ++++----- 8058 14 files changed, 112 insertions(+), 99 deletions(-) 8059 8060commit ee9d358c452c8da879e7f40e4a2e701472067c04 8061Author: Emmanuele Bassi <ebassi@linux.intel.com> 8062Date: Wed Sep 2 18:11:06 2009 +0100 8063 8064 [cookbook] Build the Cookbook as a devhelp document 8065 8066 Instead of creating stand-alone HTML files, use XSLT to transform the 8067 DocBook into a DevHelp file, so that we can read the Cookbook inside 8068 DevHelp -- just like the API reference. 8069 8070 configure.ac | 9 +++++-- 8071 doc/cookbook/Makefile.am | 83 +++++++++++++++++++++++++++++++--------------------------- 8072 doc/cookbook/common.xsl | 19 ++++++++++++++ 8073 doc/cookbook/devhelp.xsl | 154 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8074 doc/cookbook/html.xsl | 285 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8075 doc/cookbook/ref-html-style.xsl | 54 ++++++++++++++++++++++++++++++++++++++ 8076 6 files changed, 564 insertions(+), 40 deletions(-) 8077 8078commit 9485ef81a61d8950b7f04e01c749964c6a64922c 8079Author: Emmanuele Bassi <ebassi@linux.intel.com> 8080Date: Wed Sep 2 13:13:44 2009 +0100 8081 8082 [cookbook] Fix folds 8083 8084 doc/cookbook/clutter-cookbook.xml | 5 +++-- 8085 1 file changed, 3 insertions(+), 2 deletions(-) 8086 8087commit 2675b829990eb0b6fb9bae848bd64fc4461324d2 8088Author: Emmanuele Bassi <ebassi@linux.intel.com> 8089Date: Thu Dec 11 17:03:10 2008 +0000 8090 8091 Update the ignore file 8092 8093 Add the temporary and output files of the cookbook. 8094 8095 .gitignore | 5 +++++ 8096 1 file changed, 5 insertions(+) 8097 8098commit a7f7bfbc876a256f40fc0c3a43691b07bffeae96 8099Author: Emmanuele Bassi <ebassi@linux.intel.com> 8100Date: Thu Dec 11 17:02:05 2008 +0000 8101 8102 Add the secon recipe to the Actors chapter 8103 8104 The second recipe shows how to use the ::paint signal to override 8105 the paint sequence of a pre-existing actor. 8106 8107 doc/cookbook/clutter-cookbook.xml | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------- 8108 1 file changed, 122 insertions(+), 31 deletions(-) 8109 8110commit 26b35e657f3fcf3ae8b919c4c315337f2261003f 8111Author: Emmanuele Bassi <ebassi@linux.intel.com> 8112Date: Thu Dec 11 17:00:16 2008 +0000 8113 8114 Add the first recipe to the Actors chapter 8115 8116 The first recipe shows how to be notified when the relative position 8117 and size of an actor changes using the notify:: signal on the actor's 8118 dimensional and positional properties. 8119 8120 doc/cookbook/clutter-cookbook.xml | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------- 8121 1 file changed, 120 insertions(+), 8 deletions(-) 8122 8123commit 135cb5c6e21200162939dc5a42f0a34c4daf8a39 8124Author: Emmanuele Bassi <ebassi@linux.intel.com> 8125Date: Thu Dec 11 16:58:07 2008 +0000 8126 8127 Add a preface instead of an introduction 8128 8129 Make the Cookbook look more like a book than a tutorial. 8130 8131 doc/cookbook/clutter-cookbook.xml | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 8132 1 file changed, 58 insertions(+), 6 deletions(-) 8133 8134commit 35627f240fa498656492e437c130ffe34674ca54 8135Author: Emmanuele Bassi <ebassi@linux.intel.com> 8136Date: Thu Dec 11 16:57:46 2008 +0000 8137 8138 Add the Clutter Cookbook to the build 8139 8140 The "Clutter Cookbook" is a document designed to contain solutions 8141 to common problems applications developers might encounter when using 8142 Clutter. It is meant as a companion to the API reference but it 8143 requires knowledge of the Clutter API and framework. 8144 8145 .gitignore | 1 + 8146 configure.ac | 2 ++ 8147 doc/cookbook/Makefile.am | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8148 doc/cookbook/clutter-cookbook.xml | 200 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8149 doc/cookbook/cookbook.xsl | 14 ++++++++++++++ 8150 doc/cookbook/style.css | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8151 doc/cookbook/version.xml.in | 1 + 8152 7 files changed, 386 insertions(+) 8153 8154commit 15a04a1dd39fd19f28132cbd3c22b49c05c0773b 8155Author: Emmanuele Bassi <ebassi@linux.intel.com> 8156Date: Mon Nov 30 19:03:11 2009 +0000 8157 8158 layout-manager: Create LayoutMeta on demand 8159 8160 The ClutterLayoutMeta instances should be created on demand, whenever 8161 the layout manager needs them - if the layout manager supports layout 8162 properties. 8163 8164 This removes the requirement to call add_child_meta() and 8165 remove_child_meta() on add and remove respectively; it also simplifies 8166 the implementation of LayoutManager sub-classes since we can add 8167 fallback code in the base abstract class. 8168 8169 Eventually, this will also lead to an easier to implement ClutterScript 8170 parser for layout properties. 8171 8172 With the new scheme, the ClutterLayoutMeta instance is created whenever 8173 the layout manager tries to access it; if there isn't an instance 8174 already attached to the container's child, one is created -- assuming 8175 that the LayoutManager sub-class has overridden the 8176 get_child_meta_type() virtual function and it's returning a valid GType. 8177 8178 We can also provide a default implementation for create_child_meta(), 8179 by getting the GType and instantiating a ClutterLayoutMeta with all the 8180 fields already set. If the layout manager requires more work then it can 8181 obviously override the default implementation (and even chain up to it). 8182 8183 The ClutterBox actor has been updated, as well as the ClutterBoxLayout 8184 layout manager, to take advantage of the changes of LayoutManager. 8185 8186 clutter/clutter-box-layout.c | 13 ------------ 8187 clutter/clutter-box.c | 10 --------- 8188 clutter/clutter-layout-manager.c | 221 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------------------------- 8189 clutter/clutter-layout-manager.h | 8 +------ 8190 doc/reference/clutter/clutter-sections.txt | 2 -- 8191 5 files changed, 70 insertions(+), 184 deletions(-) 8192 8193commit 7d842079ca7521332b98e7cc06480a3f7e23110f 8194Author: Emmanuele Bassi <ebassi@linux.intel.com> 8195Date: Mon Nov 30 18:22:26 2009 +0000 8196 8197 conform: Add named object property unit for ClutterScript 8198 8199 We should exercise the resolution of the object properties containing a 8200 string pointing to an object previously defined using ClutterScript. 8201 8202 .gitignore | 1 + 8203 tests/conform/test-conform-main.c | 1 + 8204 tests/conform/test-script-parser.c | 28 ++++++++++++++++++++++++++++ 8205 tests/data/Makefile.am | 18 ++++++++++++++---- 8206 tests/data/test-script-named-object.json | 22 ++++++++++++++++++++++ 8207 5 files changed, 66 insertions(+), 4 deletions(-) 8208 8209commit c3e640e6e36d3d3c72c1e340efa78817308a4283 8210Author: Neil Roberts <neil@linux.intel.com> 8211Date: Mon Nov 30 19:06:05 2009 +0000 8212 8213 Use the correct colour when clearing the stage for picking 8214 8215 The colour test for the stage in _clutter_do_pick checks for white to 8216 determine whether the stage was picked but since 47db7af4d we were 8217 setting the colur to black. This usually worked because the id of the 8218 default stage ends up being 0 which equates to black. However if a 8219 second stage is created then it will always end up picking the first 8220 stage. 8221 8222 clutter/clutter-main.c | 2 +- 8223 1 file changed, 1 insertion(+), 1 deletion(-) 8224 8225commit 1bb034fbd75bb7153f35c88b05ed0fb9544d0c8b 8226Author: Neil Roberts <neil@linux.intel.com> 8227Date: Sun Nov 29 20:06:36 2009 +0000 8228 8229 cogl: Enable blending if a lighting colour is semi-transparent 8230 8231 We currently enable blending if the material colour has 8232 transparency. This patch makes it also enable blending if any of the 8233 lighting colours have transparency. Arguably this isn't neccessary 8234 because we don't expose any API to enable lighting so there is no 8235 bug. However it is currently possible to enable lighting with a direct 8236 call to glEnable and this otherwise works so it is a shame not to have 8237 it. 8238 8239 http://bugzilla.openedhand.com/show_bug.cgi?id=1907 8240 8241 clutter/cogl/cogl/cogl-material.c | 14 +++++++++++++- 8242 1 file changed, 13 insertions(+), 1 deletion(-) 8243 8244commit 3cb974ee8be182944848b5e64dd4724f118bc8fa 8245Author: Emmanuele Bassi <ebassi@linux.intel.com> 8246Date: Mon Nov 30 16:15:19 2009 +0000 8247 8248 Set the default language on the Pango context 8249 8250 When creating the Pango context we should also set the language 8251 to be the default Pango language. 8252 8253 clutter/clutter-main.c | 2 ++ 8254 1 file changed, 2 insertions(+) 8255 8256commit daeb3b2fecb3d740b6d84215928fc4477396dc71 8257Author: Emmanuele Bassi <ebassi@linux.intel.com> 8258Date: Mon Nov 30 16:14:09 2009 +0000 8259 8260 actor: Set text direction on parenting 8261 8262 When setting the parent on an actor we should set the text direction to 8263 be the same as the parent's. 8264 8265 clutter/clutter-actor.c | 12 ++++++++---- 8266 1 file changed, 8 insertions(+), 4 deletions(-) 8267 8268commit 0ce5c7d350c8b904ed8cc15c911e6433619c6a2d 8269Author: Damien Lespiau <damien.lespiau@intel.com> 8270Date: Mon Nov 30 13:26:45 2009 +0100 8271 8272 gitignore: update gitignore files to match the latest cogl tests 8273 8274 Some cogl tests were renamed in c1247066 to have 'cogl' in their names. 8275 It's a good excuse to merge .gitigore and tests/.gitignore. 8276 8277 .gitignore | 21 +++++++++++++-------- 8278 tests/.gitignore | 52 ---------------------------------------------------- 8279 2 files changed, 13 insertions(+), 60 deletions(-) 8280 8281commit 4f06d035a2895b2839ba0e97109e8a44c1ad07e2 8282Author: Damien Lespiau <damien.lespiau@intel.com> 8283Date: Wed Nov 25 13:29:26 2009 +0100 8284 8285 tests: fix argument parsing of test-texture-quality 8286 8287 This test did not open redhand.png as argc/argv should be handled 8288 normally (argv[0] being the name of the exectutable). 8289 8290 Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com> 8291 8292 tests/interactive/test-texture-quality.c | 4 ++-- 8293 1 file changed, 2 insertions(+), 2 deletions(-) 8294 8295commit e4180b283836ccd665d23d1e19d35a8911c40436 8296Author: Damien Lespiau <damien.lespiau@intel.com> 8297Date: Wed Nov 25 13:25:14 2009 +0100 8298 8299 tests: give all the arguments to the wrapper 8300 8301 Some tests can be given extra arguments. The test-interactive dispatch 8302 mechanism handles that but the small shell scripts around the wrapper 8303 do not forward the arguments to the wrapper. 8304 8305 Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com> 8306 8307 tests/interactive/Makefile.am | 5 +++-- 8308 1 file changed, 3 insertions(+), 2 deletions(-) 8309 8310commit 934eb5d251ad9d9987d0ff1f0f9878fffc2484f1 8311Author: Robert Bragg <robert@linux.intel.com> 8312Date: Fri Nov 27 15:24:09 2009 +0000 8313 8314 primitives: Don't use dynamic arrays since VS2008 can't cope with them :-( 8315 8316 This changes _cogl_path_fill_nodes_scanlines to use g_alloca instead of 8317 using a variable to declare an array length. 8318 8319 clutter/cogl/cogl/cogl-primitives.c | 2 +- 8320 1 file changed, 1 insertion(+), 1 deletion(-) 8321 8322commit 47db7af4d3001387a3c7adc60f6c3166c149ab5d 8323Author: Robert Bragg <robert@linux.intel.com> 8324Date: Wed Nov 25 20:37:01 2009 +0000 8325 8326 picking: avoid redundant picking geometry for the stage. 8327 8328 The stage's pick id can be written to the framebuffer when we call 8329 cogl_clear so there's no need for the stage to also chain up in it's pick 8330 function resulting in clutter-actor.c also emitting a rectangle for the 8331 stage. 8332 8333 clutter/clutter-main.c | 6 +++--- 8334 clutter/clutter-stage.c | 12 +++++++----- 8335 2 files changed, 10 insertions(+), 8 deletions(-) 8336 8337commit c12470666e6bd63024437a389cd2c1202df93c33 8338Author: Robert Bragg <robert@linux.intel.com> 8339Date: Fri Nov 27 00:28:39 2009 +0000 8340 8341 tests: rename cogl conformance tests so they can be clearly identified 8342 8343 All Cogl conformance tests are now prefixed 'test-cogl-' 8344 8345 tests/conform/Makefile.am | 24 ++++++++++++------------ 8346 tests/conform/{test-backface-culling.c => test-cogl-backface-culling.c} | 4 ++-- 8347 tests/conform/{test-blend-strings.c => test-cogl-blend-strings.c} | 4 ++-- 8348 tests/conform/{test-clutter-fixed.c => test-cogl-fixed.c} | 4 ++-- 8349 tests/conform/{test-materials.c => test-cogl-materials.c} | 4 ++-- 8350 tests/conform/{test-npot-texture.c => test-cogl-npot-texture.c} | 4 ++-- 8351 tests/conform/{test-premult.c => test-cogl-premult.c} | 4 ++-- 8352 tests/conform/{test-vertex-buffer-contiguous.c => test-cogl-vertex-buffer-contiguous.c} | 4 ++-- 8353 tests/conform/{test-vertex-buffer-interleved.c => test-cogl-vertex-buffer-interleved.c} | 4 ++-- 8354 tests/conform/{test-vertex-buffer-mutability.c => test-cogl-vertex-buffer-mutability.c} | 4 ++-- 8355 tests/conform/test-conform-main.c | 34 ++++++++++++++++++---------------- 8356 11 files changed, 48 insertions(+), 46 deletions(-) 8357 8358commit 439f8c62b0e2651b9afeb08cb5166ed9e7f49521 8359Author: Robert Bragg <robert@linux.intel.com> 8360Date: Thu Nov 26 19:06:35 2009 +0000 8361 8362 cogl: deprecate cogl_draw_buffer API and replace with a cogl_framebuffer API 8363 8364 cogl_push_draw_buffer, cogl_set_draw_buffer and cogl_pop_draw_buffer are now 8365 deprecated and new code should use the new cogl_framebuffer_* API instead. 8366 8367 Code that previously did: 8368 cogl_push_draw_buffer (); 8369 cogl_set_draw_buffer (COGL_OFFSCREEN_BUFFER, buffer); 8370 /* draw */ 8371 cogl_pop_draw_buffer (); 8372 should now be re-written as: 8373 cogl_push_framebuffer (buffer); 8374 /* draw */ 8375 cogl_pop_framebuffer (); 8376 8377 As can be seen from the example above the rename has been used as an 8378 opportunity to remove the redundant target argument from 8379 cogl_set_draw_buffer; it now only takes one call to redirect to an offscreen 8380 buffer, and finally the term framebuffer may be a bit more familiar to 8381 anyone coming from an OpenGL background. 8382 8383 README | 13 ++++++ 8384 clutter/clutter-texture.c | 15 +++---- 8385 clutter/cogl/cogl/Makefile.am | 4 +- 8386 clutter/cogl/cogl/cogl-clip-stack.c | 74 +++++++++++++++---------------- 8387 clutter/cogl/cogl/cogl-context.c | 13 +++--- 8388 clutter/cogl/cogl/cogl-context.h | 4 +- 8389 clutter/cogl/cogl/{cogl-draw-buffer-private.h => cogl-framebuffer-private.h} | 75 ++++++++++++++------------------ 8390 clutter/cogl/cogl/{cogl-draw-buffer.c => cogl-framebuffer.c} | 367 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------- 8391 clutter/cogl/cogl/cogl-journal.c | 12 +++--- 8392 clutter/cogl/cogl/cogl-matrix-stack.c | 6 +-- 8393 clutter/cogl/cogl/cogl-primitives.c | 30 ++++++------- 8394 clutter/cogl/cogl/cogl-texture.c | 12 +++--- 8395 clutter/cogl/cogl/cogl-vertex-buffer.c | 6 +-- 8396 clutter/cogl/cogl/cogl.c | 80 +++++++++++++++++----------------- 8397 clutter/cogl/cogl/cogl.h | 73 ++++++++++++++++++++++++++----- 8398 doc/reference/cogl/cogl-sections.txt | 3 ++ 8399 tests/conform/test-backface-culling.c | 7 ++- 8400 tests/conform/test-cogl-offscreen.c | 33 +++++++------- 8401 tests/conform/test-cogl-readpixels.c | 45 ++++++++++--------- 8402 tests/conform/test-cogl-viewport.c | 90 +++++++++++++++++++------------------- 8403 tests/interactive/test-cogl-offscreen.c | 4 +- 8404 21 files changed, 517 insertions(+), 449 deletions(-) 8405 8406commit b598210e011f6711848e649217ac7a35770bfe8e 8407Author: Robert Bragg <robert@linux.intel.com> 8408Date: Thu Nov 26 17:47:17 2009 +0000 8409 8410 cogl_offscreen: deprecate cogl_offscreen_ref/unref. 8411 8412 New code should use cogl_handle_ref/unref 8413 8414 clutter/cogl/cogl/cogl-offscreen.h | 34 +++++++++++++++++++++------------- 8415 1 file changed, 21 insertions(+), 13 deletions(-) 8416 8417commit e12a691187a7dbbcfe5b46b94fe2975fd0927966 8418Author: Neil Roberts <neil@linux.intel.com> 8419Date: Wed Nov 25 13:39:45 2009 +0000 8420 8421 cogl: Use a vtable for the texture backends instead of a type and switch 8422 8423 Instead of storing an enum with the backend type for each texture and 8424 then using a switch statement to decide which function to call, we 8425 should store pointers to all of the functions in a struct and have 8426 each texture point to that struct. This is potentially slightly faster 8427 when there are more backends and it makes implementing new backends 8428 easier because it's more obvious which functions have to be 8429 implemented. 8430 8431 clutter/cogl/cogl/cogl-texture-2d-sliced-private.h | 62 -------------------------------------------------------------- 8432 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------ 8433 clutter/cogl/cogl/cogl-texture-private.h | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------- 8434 clutter/cogl/cogl/cogl-texture.c | 124 ++++++++++++++++++++++++---------------------------------------------------------------------------------------------------- 8435 4 files changed, 154 insertions(+), 251 deletions(-) 8436 8437commit 558b17ee1e71fb0fe7aea35e13cd5a73b18130dc 8438Author: Robert Bragg <robert@linux.intel.com> 8439Date: Wed Nov 25 02:47:52 2009 +0000 8440 8441 offscreen: cogl_offscreen_new_to_texture now supports GL_TEXTURE_RECTANGLE_ARB 8442 8443 cogl_offscreen_new_to_texture previously bailed out if the given texture's 8444 GL target was anything but GL_TEXTURE_2D, but it now also allows 8445 foreign GL_TEXTURE_RECTANGLE_ARB textures. 8446 8447 Thanks to Owen for reporting this issue, ref: 8448 https://bugzilla.gnome.org/show_bug.cgi?id=601032 8449 8450 clutter/cogl/cogl/cogl-draw-buffer.c | 3 ++- 8451 1 file changed, 2 insertions(+), 1 deletion(-) 8452 8453commit d3a01e0c96237ca060e3451d2b80e692dfb3b8f6 8454Author: Robert Bragg <robert@linux.intel.com> 8455Date: Tue Nov 24 18:24:07 2009 +0000 8456 8457 debug: remove the COGL_DEBUG=client-side-matrices option 8458 8459 Cogl only supports client side matrices so this debug option is no longer 8460 useful. 8461 8462 clutter/cogl/cogl/cogl-debug.c | 1 - 8463 clutter/cogl/cogl/cogl-debug.h | 13 ++++++------- 8464 2 files changed, 6 insertions(+), 8 deletions(-) 8465 8466commit b38c6b420f0ae1f118189bd0a8994fce479aef7b 8467Author: Robert Bragg <robert@linux.intel.com> 8468Date: Wed Nov 11 12:50:48 2009 +0000 8469 8470 [cogl-material] Adds cogl_material_copy() API 8471 8472 cogl_material_copy can be used to create a new CoglHandle referencing a copy 8473 of some given material. 8474 8475 From now on we will advise that developers always aim to use this function 8476 instead of cogl_material_new() when creating a material that is in any way 8477 derived from another. 8478 8479 By using cogl_material_copy, Cogl can maintain an ancestry for each material 8480 and keep track of "similar" materials. The plan is that Cogl will use this 8481 information to minimize the cost of GPU state transitions. 8482 8483 README | 5 +++++ 8484 clutter/cogl/cogl/cogl-context.c | 13 +++++++++---- 8485 clutter/cogl/cogl/cogl-context.h | 4 +++- 8486 clutter/cogl/cogl/cogl-material-private.h | 9 +++++++++ 8487 clutter/cogl/cogl/cogl-material.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++--------- 8488 clutter/cogl/cogl/cogl-material.h | 18 ++++++++++++++++++ 8489 clutter/cogl/cogl/cogl.c | 6 +++--- 8490 7 files changed, 100 insertions(+), 17 deletions(-) 8491 8492commit 70ca3bfe4173aabd352fd0aed484c0bab57a8d02 8493Author: Robert Bragg <robert@linux.intel.com> 8494Date: Wed Nov 11 12:52:08 2009 +0000 8495 8496 [cogl] remove unused gles/cogl-utils.[c,h] 8497 8498 The only function in gles/cogl-utils.c was cogl_util_next_p2() and it's 8499 redundant since we also have a cogl/cogl-utils.[c,h] 8500 8501 clutter/cogl/cogl/driver/gles/cogl-util.c | 49 ------------------------------------------------- 8502 clutter/cogl/cogl/driver/gles/cogl-util.h | 30 ------------------------------ 8503 2 files changed, 79 deletions(-) 8504 8505commit 4a63af0c631cd9391a6b3cef6fdb545e36a68730 8506Author: Robert Bragg <robert@linux.intel.com> 8507Date: Mon Nov 23 11:30:32 2009 +0000 8508 8509 docs: Don't document cogl_flush_gl_state as public API 8510 8511 This function was #if 0'd before we released Clutter 1.0 so there's no 8512 implementation of it. At some point we thought it might assist with 8513 developers breaking out into raw OpenGL. Breaking out to raw GL is a 8514 difficult problem though so we decided instead we will wait for a specific 8515 use case to arrise before trying to support it. 8516 8517 clutter/cogl/cogl/cogl.c | 8 -------- 8518 clutter/cogl/cogl/cogl.h | 22 ---------------------- 8519 doc/reference/cogl/cogl-sections.txt | 1 - 8520 3 files changed, 31 deletions(-) 8521 8522commit 328ce370e7a7f155f63ee8206e8b6cd4e66a6c94 8523Author: Emmanuele Bassi <ebassi@linux.intel.com> 8524Date: Tue Nov 24 16:59:24 2009 +0000 8525 8526 animation: Keep a weak reference on actors 8527 8528 Actors, unlike objects, can effectively go away whilst being 8529 animated - usually because of an explicit destoy(). 8530 8531 The Animation created by clutter_actor_animate() and friends 8532 should keep a weak reference on the actor and eventually 8533 get rid of the animation itself in case the actor goes away 8534 whilst being animated. 8535 8536 clutter/clutter-animation.c | 13 +++++++++++++ 8537 1 file changed, 13 insertions(+) 8538 8539commit 1107fa8797b0d2475097c20b50065dbc3ae014a1 8540Author: Neil Roberts <neil@linux.intel.com> 8541Date: Thu Nov 19 16:07:38 2009 +0000 8542 8543 Minor fix to cogl material 8544 8545 _cogl_material_get_layer expects a CoglMaterial* pointer but it was 8546 being called with a CoglHandle. This doesn't matter because the 8547 CoglHandle is actually just the CoglMaterial* pointer anyway but it 8548 breaks the ability to change the _cogl_material_pointer_from_handle 8549 macro. 8550 8551 clutter/cogl/cogl/cogl-material.c | 2 +- 8552 1 file changed, 1 insertion(+), 1 deletion(-) 8553 8554commit 6fd80ffbd926318413296112871891706867cd78 8555Author: Emmanuele Bassi <ebassi@linux.intel.com> 8556Date: Thu Nov 19 14:30:01 2009 +0000 8557 8558 docs: Add indices to the Cogl API reference 8559 8560 The Clutter API reference has an index of the symbols for each minor 8561 version, and a list of deprecated symbols. The Cogl API reference 8562 should have the same layout. 8563 8564 doc/reference/cogl/cogl-docs.xml.in | 23 ++++++++++++++++++++++- 8565 1 file changed, 22 insertions(+), 1 deletion(-) 8566 8567commit 8d64c4641dbf9dfb09d2719872911263d2b758dc 8568Author: Emmanuele Bassi <ebassi@linux.intel.com> 8569Date: Thu Nov 19 13:55:10 2009 +0000 8570 8571 docs: Increase consistency in Cogl documentation 8572 8573 clutter/cogl/cogl/cogl-texture.h | 66 ++++++++++++++++++++++++++++++++++++++---------------------------- 8574 clutter/cogl/cogl/cogl-vertex-buffer.h | 134 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------- 8575 clutter/cogl/cogl/cogl.h | 90 ++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------ 8576 3 files changed, 157 insertions(+), 133 deletions(-) 8577 8578commit 550c14449e090f7921cdddc6acedb1bd72552663 8579Author: Emmanuele Bassi <ebassi@linux.intel.com> 8580Date: Thu Nov 19 13:33:26 2009 +0000 8581 8582 docs: Documentation fixes for CoglMatrix 8583 8584 Clean up the references, the docbook tags, and the style to fit in 8585 with the rest of the API references for Cogl and Clutter. 8586 8587 clutter/cogl/cogl/cogl-matrix.h | 136 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------- 8588 1 file changed, 68 insertions(+), 68 deletions(-) 8589 8590commit 056cfcffc312f9508f07c82e41d96c606559db97 8591Author: Emmanuele Bassi <ebassi@linux.intel.com> 8592Date: Thu Nov 19 13:33:08 2009 +0000 8593 8594 Whitespace fix for cogl-color.h 8595 8596 clutter/cogl/cogl/cogl-color.h | 3 ++- 8597 1 file changed, 2 insertions(+), 1 deletion(-) 8598 8599commit 851d628cf8fe89ab28d66f790ad98db766831e37 8600Author: Emmanuele Bassi <ebassi@linux.intel.com> 8601Date: Thu Nov 19 13:31:38 2009 +0000 8602 8603 docs: Documentation fixes for CoglMaterial 8604 8605 Clean up the references, the docbook tags, and the style to fit in 8606 with the rest of the API references for Cogl and Clutter. 8607 8608 clutter/cogl/cogl/cogl-material.h | 404 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------- 8609 1 file changed, 205 insertions(+), 199 deletions(-) 8610 8611commit fe804f1d023b50801d400971bf311545727921e9 8612Author: Emmanuele Bassi <ebassi@linux.intel.com> 8613Date: Thu Nov 19 13:29:02 2009 +0000 8614 8615 docs: Documentation fixes for CoglBitmap 8616 8617 • Use the same style for the Cogl API reference as the one used for 8618 the Clutter API reference. 8619 8620 • Fix the introspection annotations for cogl_bitmap_get_size_from_file() 8621 8622 clutter/cogl/cogl/cogl-bitmap.h | 25 +++++++++++++------------ 8623 1 file changed, 13 insertions(+), 12 deletions(-) 8624 8625commit 1bf8db9e75c6155bb852980cb40a9117c6190500 8626Author: Emmanuele Bassi <ebassi@linux.intel.com> 8627Date: Thu Nov 19 12:34:06 2009 +0000 8628 8629 docs: Fix Cogl API reference build 8630 8631 • Ignore all the private header files 8632 8633 • Add all missing/unused symbols 8634 8635 • Remove deprecated symbols from 0.* 8636 8637 doc/reference/cogl/Makefile.am | 30 ++++++++++++++++++++++-------- 8638 doc/reference/cogl/cogl-sections.txt | 29 ++++++++++++++++++++++++----- 8639 2 files changed, 46 insertions(+), 13 deletions(-) 8640 8641commit 05a5a7e759455a98233ea86016edf86d6d17be36 8642Author: Emmanuele Bassi <ebassi@linux.intel.com> 8643Date: Thu Nov 19 12:32:59 2009 +0000 8644 8645 docs: Remove non-gtk-doc annotations 8646 8647 The imported Mesa matrix code has some documentation annotations 8648 that make gtk-doc very angry. Since it's all private anyway we 8649 can safely make gtk-doc ignore the offending stuff. 8650 8651 clutter/cogl/cogl/cogl-matrix-mesa.c | 136 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------- 8652 clutter/cogl/cogl/cogl-matrix-mesa.h | 12 ++++++------ 8653 2 files changed, 74 insertions(+), 74 deletions(-) 8654 8655commit 7a011af97406c0075cc32eb2fbe4a07dc3d828c2 8656Author: Neil Roberts <neil@linux.intel.com> 8657Date: Thu Nov 19 11:51:21 2009 +0000 8658 8659 docs: Fix the 'Since' annotation for some functions 8660 8661 The 'Since' annotation needs to have a colon after it or gtk-doc won't 8662 pick it up. 8663 8664 clutter/clutter-behaviour-path.h | 2 +- 8665 clutter/clutter-text.c | 2 +- 8666 clutter/cogl/cogl/cogl-material.h | 40 ++++++++++++++++++++-------------------- 8667 clutter/cogl/cogl/cogl-texture.h | 6 +++--- 8668 clutter/cogl/cogl/cogl.h | 4 ++-- 8669 clutter/x11/clutter-x11-texture-pixmap.c | 4 ++-- 8670 6 files changed, 29 insertions(+), 29 deletions(-) 8671 8672commit 8ef57898ad66af345946a1f69172fc8be7038def 8673Author: Neil Roberts <neil@linux.intel.com> 8674Date: Wed Nov 18 19:09:10 2009 +0000 8675 8676 cogl: Use APIENTRY for GL function pointer declarations 8677 8678 This matters for platforms such as Windows that use a different 8679 calling covention from the default for GL functions. 8680 8681 clutter/cogl/cogl/driver/gl/cogl-context-driver.h | 6 +++++- 8682 clutter/cogl/cogl/driver/gles/cogl-context-driver.h | 6 +++++- 8683 2 files changed, 10 insertions(+), 2 deletions(-) 8684 8685commit be58e5261f3b0c6a760577f67f2859511d6e52f2 8686Author: Neil Roberts <neil@linux.intel.com> 8687Date: Wed Nov 18 19:23:57 2009 +0000 8688 8689 build: Fix out-of-tree builds for cogl-defines.h 8690 8691 $(COGL_DRIVER)/cogl-defines.h is generated in the configure script so 8692 it ends up in the build directory. Therefore the build rule for 8693 cogl/cogl-defines.h should depend on the file in $(builddir) not 8694 $(srcdir). 8695 8696 clutter/cogl/cogl/Makefile.am | 4 ++-- 8697 1 file changed, 2 insertions(+), 2 deletions(-) 8698 8699commit 19e485325faa59d44556dd6dac9543fb616e680b 8700Author: Emmanuele Bassi <ebassi@linux.intel.com> 8701Date: Wed Nov 18 18:04:13 2009 +0000 8702 8703 docs: Clean up deprecation notices 8704 8705 The deprecation notices in gtk-doc should also refer to the 8706 release that added the deprecation, and if the deprecated 8707 symbol has been replaced by something else then the new symbol 8708 should be correctly referenced. 8709 8710 clutter/cogl/cogl/cogl.h | 46 +++++++++++++++++++++++----------------------- 8711 1 file changed, 23 insertions(+), 23 deletions(-) 8712 8713commit 5f28c8b654094e27112426c206cf8294428515f9 8714Author: Emmanuele Bassi <ebassi@linux.intel.com> 8715Date: Wed Nov 18 17:35:07 2009 +0000 8716 8717 build: Make cogl.h not conditional on driver defines 8718 8719 The main COGL header cogl.h is currently created at configure time 8720 because it conditionally includes the driver-dependent defines. This 8721 sometimes leads to a stale cogl.h with old definitions which can 8722 break the build until you clean out the whole tree and start from 8723 scratch. 8724 8725 We can generate a stable cogl-defines.h at build time from the 8726 equivalent driver-dependent header and let cogl.h include that 8727 file instead. 8728 8729 .gitignore | 7 +++---- 8730 clutter/cogl/cogl/Makefile.am | 18 ++++++++++++------ 8731 clutter/cogl/cogl/{cogl.h.in => cogl.h} | 2 +- 8732 configure.ac | 5 ++--- 8733 4 files changed, 18 insertions(+), 14 deletions(-) 8734 8735commit b869e87c86b73a8c09c5f509955a120978da7604 8736Author: Neil Roberts <neil@linux.intel.com> 8737Date: Wed Nov 18 17:16:38 2009 +0000 8738 8739 test-npot-texture: Add some verbose notes 8740 8741 This just adds some verbose output stating whether Cogl thinks that 8742 NPOT textures are supported. 8743 8744 tests/conform/test-npot-texture.c | 16 ++++++++++++++++ 8745 1 file changed, 16 insertions(+) 8746 8747commit 8f1edcb6eda89405286b7b1cdab3b8d8b899a778 8748Author: Neil Roberts <neil@linux.intel.com> 8749Date: Wed Nov 18 14:21:22 2009 +0000 8750 8751 disable-npots: Don't allow the GL version to be 2.0 8752 8753 Cogl now assumes non-power-of-two textures are supported if the GL 8754 version is >= 2.0 so the disable-npots utility should also change the 8755 GL version. 8756 8757 tests/tools/disable-npots.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------- 8758 1 file changed, 72 insertions(+), 7 deletions(-) 8759 8760commit e80030755e37df28b30903bad63dc776b546abc3 8761Author: Emmanuele Bassi <ebassi@linux.intel.com> 8762Date: Wed Nov 18 15:21:09 2009 +0000 8763 8764 build: Fix EXTRA_DIST and MAINTAINERCLEANFILES rules 8765 8766 Makefile.am | 19 +++++++------------ 8767 1 file changed, 7 insertions(+), 12 deletions(-) 8768 8769commit ed4f0beac944a036839cd860f8aad223ffc101f2 8770Author: Emmanuele Bassi <ebassi@linux.intel.com> 8771Date: Wed Nov 18 15:11:56 2009 +0000 8772 8773 Update README file 8774 8775 README | 36 ++++++++++++++++++------------------ 8776 1 file changed, 18 insertions(+), 18 deletions(-) 8777 8778commit 44f926556d98737fd10b18fdb6951a41672c46db 8779Author: Emmanuele Bassi <ebassi@linux.intel.com> 8780Date: Wed Nov 18 15:06:37 2009 +0000 8781 8782 docs: Update the "writing a backend" documentation 8783 8784 The documentation on how a ClutterBackend and stage are implemented 8785 is a wee bit out of date. 8786 8787 HACKING.backends | 39 +++++++++++++++++++++++---------------- 8788 1 file changed, 23 insertions(+), 16 deletions(-) 8789 8790commit f8e4e6727290aa63d2ec7dc30ca46913c98cb7ea 8791Author: Emmanuele Bassi <ebassi@linux.intel.com> 8792Date: Wed Nov 18 14:56:59 2009 +0000 8793 8794 Remove clutter.symbols 8795 8796 The symbols file is unused since Clutter 0.6, and the win32 backend 8797 does not depend on it anymore. 8798 8799 clutter.symbols | 611 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 8800 1 file changed, 611 deletions(-) 8801 8802commit a4f1d1d6cc12b7007ac467673cf8d98dba132c87 8803Author: Emmanuele Bassi <ebassi@linux.intel.com> 8804Date: Wed Nov 18 14:56:25 2009 +0000 8805 8806 Rename ChangeLog.SVN 8807 8808 ChangeLog.SVN => ChangeLog.pre-git-import | 0 8809 1 file changed, 0 insertions(+), 0 deletions(-) 8810 8811commit 60fae6a92eff5b61e4074f40161aa7b0b40bf2b9 8812Author: Emmanuele Bassi <ebassi@linux.intel.com> 8813Date: Wed Nov 18 14:37:43 2009 +0000 8814 8815 build: Add cogl-matrix-private.h to the dist 8816 8817 clutter/cogl/cogl/Makefile.am | 1 + 8818 1 file changed, 1 insertion(+) 8819 8820commit 425f3b466041f46d1faed06da1cc46665bad60c6 8821Author: Emmanuele Bassi <ebassi@linux.intel.com> 8822Date: Wed Nov 18 14:34:33 2009 +0000 8823 8824 build: Add cogl-feature-functions.h to the dist 8825 8826 clutter/cogl/cogl/driver/gl/Makefile.am | 1 + 8827 clutter/cogl/cogl/driver/gles/Makefile.am | 3 ++- 8828 2 files changed, 3 insertions(+), 1 deletion(-) 8829 8830commit d11343532d813cf9b16e5c1ac92c0f0bc56e8850 8831Author: Emmanuele Bassi <ebassi@linux.intel.com> 8832Date: Wed Nov 18 14:21:08 2009 +0000 8833 8834 build: Generate per-cycle ChangeLog files 8835 8836 We should generate a ChangeLog for each minor version cycle, starting 8837 from the Git import date (since before that we used ChangeLog-style 8838 commit messages that don't really look good with the Git ones). 8839 8840 For this reason we can take Cairo's Makefile.am.changelog file and, 8841 after tweaking it to fit our use case, let it generate the correct 8842 ChangeLogs on dist. 8843 8844 ChangeLog | 5 ----- 8845 Makefile.am | 3 ++- 8846 build/autotools/Makefile.am.changelog | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------- 8847 configure.ac | 8 +++++--- 8848 4 files changed, 82 insertions(+), 25 deletions(-) 8849 8850commit 18e9d0db6fc9e120a63485d1ecbc8b5514d66c77 8851Author: Emmanuele Bassi <ebassi@linux.intel.com> 8852Date: Wed Nov 18 12:20:53 2009 +0000 8853 8854 build: Move ChangeLog rules in a separate file 8855 8856 The ChangeLog creation rules should be moved to their own file, to 8857 make it easier to fix or change them in the future. 8858 8859 Makefile.am | 20 +------------------- 8860 build/autotools/Makefile.am | 1 + 8861 build/autotools/Makefile.am.changelog | 19 +++++++++++++++++++ 8862 3 files changed, 21 insertions(+), 19 deletions(-) 8863 8864commit 142305b1d51e9a3c69e8e2e224480297e43f79ea 8865Author: Neil Roberts <neil@linux.intel.com> 8866Date: Wed Nov 18 13:23:10 2009 +0000 8867 8868 cogl: Add the missing terminators for the arrays of feature functions 8869 8870 _cogl_feature_check expects the array of function names to be 8871 terminated with a NULL pointer but I forgot to add this. This was 8872 causing crashes depending on what happened to be in memory after the 8873 array. 8874 8875 clutter/cogl/cogl/driver/gl/cogl.c | 1 + 8876 clutter/cogl/cogl/driver/gles/cogl.c | 1 + 8877 2 files changed, 2 insertions(+) 8878 8879commit 70aeb1c64216d75ba63f1cbae1c824b69305bd73 8880Author: Christian Persch <chpe@gnome.org> 8881Date: Tue Nov 17 20:43:39 2009 +0100 8882 8883 Pass the interned string value to the binding callback 8884 8885 http://bugzilla.openedhand.com/show_bug.cgi?id=1891 8886 8887 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 8888 8889 clutter/clutter-binding-pool.c | 2 +- 8890 1 file changed, 1 insertion(+), 1 deletion(-) 8891 8892commit 2832940603733873a76cb4c890f4a3d656d07112 8893Author: Neil Roberts <neil@linux.intel.com> 8894Date: Tue Nov 17 18:06:31 2009 +0000 8895 8896 cogl: Use the GL_EXT_blend_{func,equation}_separate extensions 8897 8898 We should use these extensions to check for glBlendFuncSeparate and 8899 glBlendEquationSeparate as well as checking the GL version number. 8900 8901 clutter/cogl/cogl/driver/gl/cogl-feature-functions.h | 12 ++++++------ 8902 1 file changed, 6 insertions(+), 6 deletions(-) 8903 8904commit 6e0877507e00016cac1136c4e0dbab67e6a3e9ba 8905Author: Neil Roberts <neil@linux.intel.com> 8906Date: Tue Nov 17 17:22:22 2009 +0000 8907 8908 cogl: Don't bother checking for NPOTs or VBOs on later GLs 8909 8910 For VBOs, we don't need to check for the extension if the GL version 8911 is greater than 1.5. Non-power-of-two textures are given in 2.0. 8912 8913 We could also assume shader support in GL 2.0 except that the function 8914 names are different from those in the extension so it wouldn't work 8915 well with the current mechanism. 8916 8917 clutter/cogl/cogl/driver/gl/cogl-feature-functions.h | 4 +++- 8918 clutter/cogl/cogl/driver/gl/cogl.c | 3 ++- 8919 2 files changed, 5 insertions(+), 2 deletions(-) 8920 8921commit 4a8c1ff8fa6244cad0b0e770ab6f68e319271675 8922Author: Emmanuele Bassi <ebassi@linux.intel.com> 8923Date: Tue Nov 17 15:32:00 2009 +0000 8924 8925 build: Clean up the configure summary 8926 8927 Split out into section the configuration report, and clean 8928 up the reported settings - including when experimental features 8929 have been enabled. 8930 8931 configure.ac | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------- 8932 1 file changed, 64 insertions(+), 33 deletions(-) 8933 8934commit 91cde78a7023d728ebb33c73684fc3702ad87963 8935Author: Neil Roberts <neil@linux.intel.com> 8936Date: Tue Nov 17 13:52:40 2009 +0000 8937 8938 cogl: Make it easier to add checks for GL extensions 8939 8940 Previously if you need to depend on a new GL feature you had to: 8941 8942 - Add typedefs for all of the functions in cogl-defines.h.in 8943 8944 - Add function pointers for each of the functions in 8945 cogl-context-driver.h 8946 8947 - Add an initializer for the function pointers in 8948 cogl-context-driver.c 8949 8950 - Add a check for the extension and all of the functions in 8951 cogl_features_init. If the extension is available under multiple 8952 names then you have to duplicate the checks. 8953 8954 This is quite tedious and error prone. This patch moves all of the 8955 features and their functions into a list of macro invocations in 8956 cogl-feature-functions.h. The macros can be redefined to implement all 8957 of the above tasks from the same header. 8958 8959 The features are described in a struct with a pointer to a table of 8960 functions. A new function takes the feature description from this 8961 struct and checks for its availability. The feature can take a list of 8962 extension names with a list of alternate namespaces (such as "EXT" or 8963 "ARB"). It can also detect the feature from a particular version of 8964 GL. 8965 8966 The typedefs are now gone and instead the function pointer in the Cogl 8967 context just directly contains the type. 8968 8969 Some of the functions in the context were previously declared with the 8970 'ARB' extension. This has been removed so that now all the functions 8971 have no suffix. This makes more sense when the extension could 8972 potentially be merged into GL core as well. 8973 8974 clutter/cogl/cogl/Makefile.am | 2 + 8975 clutter/cogl/cogl/cogl-feature-private.c | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8976 clutter/cogl/cogl/cogl-feature-private.h | 71 ++++++++++++++++++++++++++++++++++ 8977 clutter/cogl/cogl/cogl-journal.c | 10 ++--- 8978 clutter/cogl/cogl/cogl-vertex-buffer.c | 21 +++++----- 8979 clutter/cogl/cogl/driver/gl/cogl-context-driver.c | 58 +++------------------------- 8980 clutter/cogl/cogl/driver/gl/cogl-context-driver.h | 81 ++++++--------------------------------- 8981 clutter/cogl/cogl/driver/gl/cogl-defines.h.in | 361 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 8982 clutter/cogl/cogl/driver/gl/cogl-feature-functions.h | 326 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8983 clutter/cogl/cogl/driver/gl/cogl-program.c | 89 +++++++++++++++++++++---------------------- 8984 clutter/cogl/cogl/driver/gl/cogl-shader.c | 27 +++++++------ 8985 clutter/cogl/cogl/driver/gl/cogl.c | 369 +++++++++++++++++--------------------------------------------------------------------------------------------------------------------------------------------------------------- 8986 clutter/cogl/cogl/driver/gles/cogl-context-driver.c | 19 ++++------ 8987 clutter/cogl/cogl/driver/gles/cogl-context-driver.h | 25 ++++++------ 8988 clutter/cogl/cogl/driver/gles/cogl-defines.h.in | 70 ---------------------------------- 8989 clutter/cogl/cogl/driver/gles/cogl-feature-functions.h | 72 +++++++++++++++++++++++++++++++++++ 8990 clutter/cogl/cogl/driver/gles/cogl.c | 82 +++++++++++++++++---------------------- 8991 17 files changed, 794 insertions(+), 1030 deletions(-) 8992 8993commit 4734b7be418274cf00390c805b472b9493100157 8994Author: Emmanuele Bassi <ebassi@linux.intel.com> 8995Date: Sat Nov 14 13:03:59 2009 +0000 8996 8997 docs: Detail the Clutter debugging flags 8998 8999 doc/reference/clutter/running-clutter.xml | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 9000 1 file changed, 56 insertions(+) 9001 9002commit 037192552ed126c35e430c11f030f16e984ac0b4 9003Author: Neil Roberts <neil@linux.intel.com> 9004Date: Fri Nov 13 17:23:13 2009 +0000 9005 9006 win32: Remove the check for GL 1.2 9007 9008 Since 568c29ba4 the GL version is now validated further up in 9009 ClutterStage via Cogl so there is no need for the Win32 backend to do 9010 it. 9011 9012 clutter/win32/clutter-stage-win32.c | 42 ------------------------------------------ 9013 1 file changed, 42 deletions(-) 9014 9015commit 62a37d8e538abc6d0c67bd69b4eb2a724668cce0 9016Author: Neil Roberts <neil@linux.intel.com> 9017Date: Wed Nov 11 16:42:53 2009 +0000 9018 9019 Use the GL_ARB_multitexture extension on GL 1.2 9020 9021 Cogl requires multi-texturing support. This is only available as an 9022 extension in GL 1.2 so we should check for it before accepting the 9023 driver. 9024 9025 http://bugzilla.openedhand.com/show_bug.cgi?id=1875 9026 9027 clutter/cogl/cogl/driver/gl/cogl.c | 46 +++++++++++++++++++++++++++++++++++++++------- 9028 1 file changed, 39 insertions(+), 7 deletions(-) 9029 9030commit 2e99b276a4d312d6123426e2c88adf621a427c86 9031Author: Neil Roberts <neil@linux.intel.com> 9032Date: Wed Nov 11 13:38:52 2009 +0000 9033 9034 cogl-material: Fallback to BlendFunc if BlendFuncSeparate is unavailable 9035 9036 glBlendFuncSeparate is only available in OpenGL 1.4. If we 9037 conditionally check for this then Clutter will work with OpenGL 1.2. 9038 9039 http://bugzilla.openedhand.com/show_bug.cgi?id=1875 9040 9041 clutter/cogl/cogl/cogl-material.c | 11 ++++++++--- 9042 1 file changed, 8 insertions(+), 3 deletions(-) 9043 9044commit 568c29ba491e4a6b3bef426be528d7246110011c 9045Author: Neil Roberts <neil@linux.intel.com> 9046Date: Wed Nov 11 13:26:54 2009 +0000 9047 9048 Validate that the GL version is >= 1.2 9049 9050 There is a new internal Cogl function called _cogl_check_driver_valid 9051 which looks at the value of the GL_VERSION string to determine whether 9052 the driver is supported. Clutter now calls this after the stage is 9053 realized. If it fails then the stage is marked as unrealized and a 9054 warning is shown. 9055 9056 _cogl_features_init now also checks the version number before getting 9057 the function pointers for glBlendFuncSeparate and 9058 glBlendEquationSeparate. It is not safe to just check for the presence 9059 of the functions because some drivers may define the function without 9060 fully implementing the spec. 9061 9062 The GLES version of _cogl_check_driver_valid just always returns TRUE 9063 because there are no version requirements yet. 9064 9065 Eventually the function could also check for mandatory extensions if 9066 there were any. 9067 9068 http://bugzilla.openedhand.com/show_bug.cgi?id=1875 9069 9070 clutter/clutter-backend.c | 14 ++++++++++---- 9071 clutter/clutter-private.h | 3 +++ 9072 clutter/clutter-stage.c | 22 ++++++++++++++++++++-- 9073 clutter/cogl/cogl/cogl.c | 5 +++++ 9074 clutter/cogl/cogl/cogl.h.in | 9 +++++++++ 9075 clutter/cogl/cogl/driver/gl/cogl.c | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------- 9076 clutter/cogl/cogl/driver/gles/cogl.c | 6 ++++++ 9077 7 files changed, 133 insertions(+), 13 deletions(-) 9078 9079commit 677ff9fb30a99b850eb1b41c34f80e5e01f8e43e 9080Author: Samuel Degrande <Samuel.Degrande@lifl.fr> 9081Date: Tue Oct 27 11:18:49 2009 +0100 9082 9083 Can no more include clutter-stage.h inside clutter-win32.h 9084 9085 http://bugzilla.openedhand.com/show_bug.cgi?id=1847 9086 9087 Signed-off-by: Neil Roberts <neil@linux.intel.com> 9088 9089 clutter/win32/clutter-win32.h | 2 +- 9090 1 file changed, 1 insertion(+), 1 deletion(-) 9091 9092commit 26ce94eda071cc133ab2b469cae0b19aae727279 9093Author: Samuel Degrande <Samuel.Degrande@lifl.fr> 9094Date: Mon Oct 26 16:28:36 2009 +0100 9095 9096 Adapt win32 backend to the semantic change of StageWindow 9097 9098 http://bugzilla.openedhand.com/show_bug.cgi?id=1847 9099 9100 Signed-off-by: Neil Roberts <neil@linux.intel.com> 9101 9102 clutter/win32/clutter-backend-win32.c | 34 ++++++++++--------- 9103 clutter/win32/clutter-stage-win32.c | 345 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------ 9104 clutter/win32/clutter-stage-win32.h | 2 ++ 9105 3 files changed, 194 insertions(+), 187 deletions(-) 9106 9107commit b69ee0989b3ec4b588a1e80ea933b3b8997f6898 9108Author: Emmanuele Bassi <ebassi@linux.intel.com> 9109Date: Fri Nov 13 15:27:18 2009 +0000 9110 9111 tests: Add instructions to test-box-layout 9112 9113 tests/interactive/test-box-layout.c | 17 ++++++++++++++++- 9114 1 file changed, 16 insertions(+), 1 deletion(-) 9115 9116commit 568ad044eba38198ecdb32f671047bffa27353a9 9117Author: Neil Roberts <neil@linux.intel.com> 9118Date: Fri Nov 13 13:39:24 2009 +0000 9119 9120 Clear pending events for a stage when it is destroyed 9121 9122 We can not process events for a stage that has been destroyed so we 9123 should make sure that the events for the stage are removed from the 9124 global event queue during dispose. 9125 9126 http://bugzilla.openedhand.com/show_bug.cgi?id=1882 9127 9128 clutter/clutter-stage.c | 18 ++++++++++++++++++ 9129 1 file changed, 18 insertions(+) 9130 9131commit 49cd887aabf7ff8cbfb147ceacfc82e3c75c0c9b 9132Author: Emmanuele Bassi <ebassi@linux.intel.com> 9133Date: Fri Nov 13 14:43:57 2009 +0000 9134 9135 docs: Document the AnimationMode definition 9136 9137 Both ClutterAlpha:mode and ClutterAnimation:mode can be defined using: 9138 9139 • an integer id 9140 • the "nick" field of the AnimationMode GEnumValue 9141 • a custom, tweener-like string 9142 9143 All these methods should be documented. 9144 9145 clutter/clutter-alpha.c | 8 ++++++-- 9146 clutter/clutter-animation.c | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 9147 2 files changed, 67 insertions(+), 2 deletions(-) 9148 9149commit c8d57037882729a7ea0117726f2e8e48b10416ac 9150Author: Emmanuele Bassi <ebassi@linux.intel.com> 9151Date: Fri Nov 13 14:10:29 2009 +0000 9152 9153 tests: Add unit for Animation definitions 9154 9155 Verify that an Animation can be defined using ClutterScript. 9156 9157 No initial/final state of the animation, yet. 9158 9159 .gitignore | 1 + 9160 tests/conform/test-conform-main.c | 1 + 9161 tests/conform/test-script-parser.c | 22 ++++++++++++++++++++++ 9162 tests/data/test-script-animation.json | 14 ++++++++++++++ 9163 4 files changed, 38 insertions(+) 9164 9165commit d54f4e944c8725c84a5534d519fb3f9de7b95430 9166Author: Emmanuele Bassi <ebassi@linux.intel.com> 9167Date: Fri Nov 13 14:08:49 2009 +0000 9168 9169 Whitespace fixes 9170 9171 clutter/clutter-animation.c | 7 +++---- 9172 clutter/clutter-script-parser.c | 3 +-- 9173 2 files changed, 4 insertions(+), 6 deletions(-) 9174 9175commit 95b55588ad6c57cbeb7cda50886e709aa1ae1c00 9176Author: Emmanuele Bassi <ebassi@linux.intel.com> 9177Date: Fri Nov 13 14:07:25 2009 +0000 9178 9179 tests: Print out parser errors if present 9180 9181 If the conformance test for the Script parser throws an error 9182 and we've enabled verbosity then we should print out the error 9183 message before aborting. 9184 9185 tests/conform/test-script-parser.c | 10 ++++++++-- 9186 1 file changed, 8 insertions(+), 2 deletions(-) 9187 9188commit 9bae5535646b64e7c43f3a628942531d14e5a0f1 9189Author: Emmanuele Bassi <ebassi@linux.intel.com> 9190Date: Fri Nov 13 13:21:47 2009 +0000 9191 9192 animation: Override parsing :mode 9193 9194 Like in ClutterAlpha, ClutterAnimation:mode must be overridden when 9195 parsing a Script definition, as we accept both a numeric id and the 9196 string id for easing modes. 9197 9198 clutter/clutter-animation.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- 9199 1 file changed, 50 insertions(+), 1 deletion(-) 9200 9201commit dab1da20ae144afe56f48c0a3be5865d84245658 9202Author: Neil Roberts <neil@linux.intel.com> 9203Date: Mon Oct 5 13:37:11 2009 +0100 9204 9205 [cogl-primitives] Don't clear the whole stencil buffer 9206 9207 When _cogl_add_path_to_stencil_buffer is used to draw a path we don't 9208 need to clear the entire stencil buffer. Instead it can clear just the 9209 bounding box of the path. This adds an extra parameter called 9210 'need_clear' which is only set if the stencil buffer is being used for 9211 clipping. 9212 9213 http://bugzilla.openedhand.com/show_bug.cgi?id=1829 9214 9215 clutter/cogl/cogl/cogl-clip-stack.c | 6 ++++-- 9216 clutter/cogl/cogl/cogl-primitives.c | 37 ++++++++++++++++++++++++++++++------- 9217 2 files changed, 34 insertions(+), 9 deletions(-) 9218 9219commit bc8faf52f4a817d7d023f554dcd7ace0efac9942 9220Author: Neil Roberts <neil@linux.intel.com> 9221Date: Thu Nov 12 17:00:15 2009 +0000 9222 9223 Remove _cogl_flush_matrix_stacks from cogl-internal.h 9224 9225 The definition for this function was removed in f7d64e5abvoid so it 9226 should be removed from the header too. 9227 9228 clutter/cogl/cogl/cogl-internal.h | 2 -- 9229 1 file changed, 2 deletions(-) 9230 9231commit 9fa562ad216d516d1cd66f72aa39eaad0a5c40b9 9232Author: Emmanuele Bassi <ebassi@linux.intel.com> 9233Date: Wed Nov 11 10:32:39 2009 +0000 9234 9235 cogl: Declare cogl_is_bitmap() 9236 9237 The function is automatically defined by the CoglHandle type 9238 definition macro, but it still requires to be declared in the 9239 header file to be used. 9240 9241 clutter/cogl/cogl/cogl-bitmap.h | 13 +++++++++++++ 9242 1 file changed, 13 insertions(+) 9243 9244commit 482e4e8d111fa76194a20ccd120eac41afa277d8 9245Author: Emmanuele Bassi <ebassi@linux.intel.com> 9246Date: Tue Nov 10 12:21:26 2009 +0000 9247 9248 tests: Display the index inside text-box-layout 9249 9250 Since the rectangles packed inside the BoxLayout interactive test 9251 have random colors it's not easy to verify the ordering. By using 9252 the CoglPango API to print out the index in the middle of each 9253 rectangle. 9254 9255 tests/interactive/test-box-layout.c | 41 ++++++++++++++++++++++++++++++++++++++--- 9256 1 file changed, 38 insertions(+), 3 deletions(-) 9257 9258commit 4bc3d02ebd928b4bc7c59811b9e90aae36750cfb 9259Author: Emmanuele Bassi <ebassi@linux.intel.com> 9260Date: Tue Nov 10 12:20:14 2009 +0000 9261 9262 box-layout: Honour :text-direction 9263 9264 During size request and allocation a ClutterBoxLayout should honour 9265 the ClutterActor:text-direction property, and change the order of 9266 the children. 9267 9268 clutter/clutter-box-layout.c | 206 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------- 9269 1 file changed, 142 insertions(+), 64 deletions(-) 9270 9271commit adab87b520699892e012d601821a5aee11410125 9272Author: Emmanuele Bassi <ebassi@linux.intel.com> 9273Date: Tue Nov 10 12:18:32 2009 +0000 9274 9275 text: Dirty layout cache on text direction changes 9276 9277 When the text direction changes we should evict the cached layouts 9278 to avoid stale entries in case the direction change produces a layout 9279 with the same size. 9280 9281 clutter/clutter-text.c | 23 +++++++++++++++++++++++ 9282 1 file changed, 23 insertions(+) 9283 9284commit f94f7692a6836ed4a5f039e4c2a44966b47c77fc 9285Author: Emmanuele Bassi <ebassi@linux.intel.com> 9286Date: Fri Nov 6 16:55:46 2009 +0000 9287 9288 actor: Add :text-direction property 9289 9290 Every actor should have a property for retrieving (and setting) the 9291 text direction. 9292 9293 The text direction is used to provide a consisten behaviour in both 9294 left-to-right and right-to-left languages. For instance, ClutterText 9295 should perform key navigation following text direction. Layout 9296 managers should also take into account text direction to derive the 9297 right packing order for their children. 9298 9299 clutter/clutter-actor.c | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 9300 clutter/clutter-actor.h | 4 ++++ 9301 2 files changed, 119 insertions(+), 1 deletion(-) 9302 9303commit 53a9d0c637ee1ef07e9251b77f86f0cd42ab611e 9304Author: Emmanuele Bassi <ebassi@linux.intel.com> 9305Date: Fri Nov 6 16:50:53 2009 +0000 9306 9307 Use the newly added ClutterTextDirection enumeration 9308 9309 Instead of using PangoDirection directly we should use the 9310 ClutterTextDirection enumeration. 9311 9312 We also need a pair of accessor functions for setting and 9313 getting the default text direction. 9314 9315 clutter/clutter-main.c | 43 +++++++++++++++++++++++++++++++++---------- 9316 clutter/clutter-main.h | 3 +++ 9317 2 files changed, 36 insertions(+), 10 deletions(-) 9318 9319commit 3958df4ff9b3aa800df2e0f1695fd143439d870a 9320Author: Emmanuele Bassi <ebassi@linux.intel.com> 9321Date: Fri Nov 6 16:49:55 2009 +0000 9322 9323 Add ClutterTextDirection enumeration 9324 9325 The ClutterTextDirection is composed of three values: 9326 9327 DEFAULT: a flag for returning the default text direction 9328 LTR: left to right 9329 RTL: right to left 9330 9331 clutter/clutter-types.h | 17 +++++++++++++++++ 9332 1 file changed, 17 insertions(+) 9333 9334commit 2671c425894c89a4afd415b70e8ebbc4f057e02b 9335Author: Neil Roberts <neil@linux.intel.com> 9336Date: Mon Nov 9 12:12:27 2009 +0000 9337 9338 Revert changes to test-cogl-primitives.c from 272e227109 9339 9340 These changes caused the test to try to load redhand.png but this no 9341 longer works since the TESTS_DATADIR changes in 0b4899ef23. The only 9342 use of the hand is commented out anyway so it looks like the changes 9343 were intended for temporary debugging. 9344 9345 tests/interactive/test-cogl-primitives.c | 14 -------------- 9346 1 file changed, 14 deletions(-) 9347 9348commit ac9f65cb92196e2eafd4b1e25dabd9cb6a428db3 9349Author: Damien Lespiau <damien.lespiau@intel.com> 9350Date: Mon Nov 9 13:05:40 2009 +0000 9351 9352 build: Make the glib-mkenums generated files depend on their templates 9353 9354 With this, if one changes the underlying template files, we run 9355 glib-mkenums again to generate updated glib_enum_[ch] files. 9356 9357 Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com> 9358 9359 build/autotools/Makefile.am.enums | 4 ++-- 9360 1 file changed, 2 insertions(+), 2 deletions(-) 9361 9362commit 1be23c0cc9741cbe68a54cd84de772bd120254b6 9363Author: Emmanuele Bassi <ebassi@linux.intel.com> 9364Date: Mon Nov 9 16:44:34 2009 +0000 9365 9366 build: Fix --with-imagebackend configure switch 9367 9368 An overeager search and replace broke the image backend command 9369 line switch for the configure script. 9370 9371 configure.ac | 2 +- 9372 1 file changed, 1 insertion(+), 1 deletion(-) 9373 9374commit 1ce25ffbb2561ab5eb3f6b07b74ec49587f44d32 9375Author: Neil Roberts <neil@linux.intel.com> 9376Date: Mon Nov 9 11:50:16 2009 +0000 9377 9378 cogl: Add an initialiser for enable_flags in cogl_begin_gl 9379 9380 This fixes a warning about an uninitialised value. It could also 9381 potentially fix some crashes for example if the enable_flags value 9382 happened to include a bit for enabling a vertex array if no vertex 9383 buffer pointer was set. 9384 9385 clutter/cogl/cogl/cogl.c | 2 +- 9386 1 file changed, 1 insertion(+), 1 deletion(-) 9387 9388commit 09c04d4c67ea8d3ebeb3ee5adfc3752562cae3cc 9389Author: Emmanuele Bassi <ebassi@linux.intel.com> 9390Date: Mon Nov 9 11:07:27 2009 +0000 9391 9392 text: Add a NULL preedit string check 9393 9394 This commit avoids a critical warning introduced by commit 9395 bc51b8ca47ac90e52ab6a27ff791ea97d53f4648 9396 9397 clutter/clutter-text.c | 4 +++- 9398 1 file changed, 3 insertions(+), 1 deletion(-) 9399 9400commit bc51b8ca47ac90e52ab6a27ff791ea97d53f4648 9401Author: Raymond Liu <raymond.liu@intel.com> 9402Date: Mon Nov 9 16:42:15 2009 +0800 9403 9404 Fix cursor position in preedit status 9405 9406 http://bugzilla.openedhand.com/show_bug.cgi?id=1871 9407 9408 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 9409 9410 clutter/clutter-text.c | 14 ++++++++++++-- 9411 1 file changed, 12 insertions(+), 2 deletions(-) 9412 9413commit 7e17822cfd860fd694735fbf550013f7f8b7a915 9414Author: Emmanuele Bassi <ebassi@linux.intel.com> 9415Date: Fri Nov 6 15:06:39 2009 +0000 9416 9417 Clean up cogl.h template 9418 9419 The inclusion order is mostly random, and it should really be 9420 in alphabetic order, just like clutter.h. 9421 9422 Also, cogl-vertex-buffer.h is included twice. 9423 9424 clutter/cogl/cogl/cogl.h.in | 17 +++++++++-------- 9425 1 file changed, 9 insertions(+), 8 deletions(-) 9426 9427commit fcd8237ac5f5dc7bc485b8b5726824129215beea 9428Author: Tim Horton <hortont424@gmail.com> 9429Date: Fri Nov 6 11:57:43 2009 +0000 9430 9431 osx: CGBitmapContextCreate can't make 24bpp, alphaless offscreen pixmaps 9432 9433 While loading a JPEG from disk (with clutter_texture_new_from_file), 9434 I got the following: 9435 9436 <Error>: CGBitmapContextCreate: unsupported parameter combination: 8 9437 integer bits/component; 24 bits/pixel; 3-component colorspace; 9438 kCGImageAlphaNone; 3072 bytes/row. 9439 <Error>: CGContextDrawImage: invalid context 9440 9441 Looking around, I found that CGBitmapContextCreate can't make 24bpp 9442 offscreen pixmaps without an alpha channel... 9443 9444 This fixes the bug, and seems to not break other things... 9445 9446 http://bugzilla.openedhand.com/show_bug.cgi?id=1159 9447 9448 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 9449 9450 clutter/cogl/cogl/cogl-bitmap-pixbuf.c | 18 +++--------------- 9451 1 file changed, 3 insertions(+), 15 deletions(-) 9452 9453commit 5c67e8e0c09c83c470f999c86091181cc373d5b6 9454Author: Emmanuele Bassi <ebassi@linux.intel.com> 9455Date: Fri Nov 6 14:07:46 2009 +0000 9456 9457 script: Coding style clean-ups 9458 9459 clutter/clutter-script.c | 38 +++++++++++++++++++------------------- 9460 1 file changed, 19 insertions(+), 19 deletions(-) 9461 9462commit 179a66c922f85fdfc8968f7f60a5b76154696ad4 9463Author: Emmanuele Bassi <ebassi@linux.intel.com> 9464Date: Fri Nov 6 14:07:26 2009 +0000 9465 9466 script: Document private functions 9467 9468 clutter/clutter-script.c | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 9469 1 file changed, 67 insertions(+), 4 deletions(-) 9470 9471commit 30bc36082e2922b11b98907fde12f64fd4f7399d 9472Author: Emmanuele Bassi <ebassi@linux.intel.com> 9473Date: Fri Nov 6 14:04:36 2009 +0000 9474 9475 Do not pass flags to g_module_open(NULL) 9476 9477 The flags are ignored when opening the main module, so we 9478 should pass 0 to avoid confusion when reading the source. 9479 9480 clutter/clutter-alpha.c | 2 +- 9481 clutter/clutter-script-parser.c | 6 +++--- 9482 clutter/clutter-script.c | 2 +- 9483 clutter/cogl/cogl/cogl.c | 4 ++-- 9484 4 files changed, 7 insertions(+), 7 deletions(-) 9485 9486commit 4262f79f34c35a8eb620fb82eb0e36d5ac191600 9487Merge: b9e519c3b 031d4d620 9488Author: Emmanuele Bassi <ebassi@linux.intel.com> 9489Date: Fri Nov 6 11:50:22 2009 +0000 9490 9491 Merge branch 'josh-osx-fixes' 9492 9493 * josh-osx-fixes: 9494 osx: Fix a warning on Snow Leopard 9495 docs: Fix OS X docs to install Ports in correct order 9496 osx: Implement the updated ClutterStageWindow interface 9497 9498commit b9e519c3b2bc5fc01743568a2a37029c61fdf6ef 9499Author: Joshua Lock <josh@linux.intel.com> 9500Date: Thu Nov 5 15:50:21 2009 +0000 9501 9502 tests: Remove a spurious #include 9503 9504 The test-backface-culling has what looks like a stray #include in which 9505 stops the test compiling for backends without GdkPixbuf. Remove it. 9506 9507 http://bugzilla.openedhand.com/show_bug.cgi?id=1867 9508 9509 tests/conform/test-backface-culling.c | 2 -- 9510 1 file changed, 2 deletions(-) 9511 9512commit 031d4d6203f007fea2b95ca883c7113d0160372d 9513Author: Joshua Lock <josh@linux.intel.com> 9514Date: Thu Nov 5 15:48:25 2009 +0000 9515 9516 osx: Fix a warning on Snow Leopard 9517 9518 Apple where nice and changed API between releases. This patch checks the 9519 version of the compilation environment and tries to use the right parameter 9520 type. 9521 9522 http://bugzilla.openedhand.com/show_bug.cgi?id=1866 9523 9524 clutter/osx/clutter-backend-osx.c | 8 ++++++-- 9525 1 file changed, 6 insertions(+), 2 deletions(-) 9526 9527commit 58f1dfcf35626b8b1ea896dfbd27623b15779fce 9528Author: Joshua Lock <josh@linux.intel.com> 9529Date: Thu Nov 5 15:31:56 2009 +0000 9530 9531 docs: Fix OS X docs to install Ports in correct order 9532 9533 The order in which the MacPorts are installed is important otherwise we open 9534 the user up to a world of pain. 9535 This patch also tweaks the OS X docs to follow the formatting of the rest of 9536 the docs and to discuss the option of GtkDoc. 9537 9538 http://bugzilla.openedhand.com/show_bug.cgi?id=1865 9539 9540 doc/reference/clutter/building-clutter.xml | 67 +++++++++++++++++++++++++++++++++++++------------------------------ 9541 1 file changed, 37 insertions(+), 30 deletions(-) 9542 9543commit 4533e37744f8751e254741104d27b7b37e2fdfd7 9544Author: Joshua Lock <josh@linux.intel.com> 9545Date: Thu Nov 5 15:44:32 2009 +0000 9546 9547 osx: Implement the updated ClutterStageWindow interface 9548 9549 In the new Clutter world backend stage implementations should be lightweight 9550 objects implementing the ClutterStageWindow interface and not ClutterActor 9551 subclasses. 9552 9553 This patch performs various cut-n-pastes to acheive that for the OSX backend 9554 9555 http://bugzilla.openedhand.com/show_bug.cgi?id=1864 9556 9557 clutter/osx/clutter-backend-osx.c | 4 ++-- 9558 clutter/osx/clutter-stage-osx.c | 196 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------- 9559 clutter/osx/clutter-stage-osx.h | 8 ++++---- 9560 3 files changed, 89 insertions(+), 119 deletions(-) 9561 9562commit cb60c038acb0de9178d0aee22e3a9847653c9627 9563Author: Emmanuele Bassi <ebassi@linux.intel.com> 9564Date: Fri Nov 6 11:33:32 2009 +0000 9565 9566 behaviour: Implement the implicit alpha parsing 9567 9568 ClutterBehaviour should implement the Scriptable interface 9569 and parse ClutterAlpha when implicitly defined, instead of 9570 having this ad hoc code inside ClutterScriptParser itself. 9571 9572 After all, only ClutterBehaviour supports Alpha defined 9573 implicitly. 9574 9575 clutter/clutter-behaviour.c | 46 +++++++++++++++++++++++++++++++++++++++++----- 9576 clutter/clutter-script-parser.c | 19 ++----------------- 9577 clutter/clutter-script-private.h | 4 ++-- 9578 3 files changed, 45 insertions(+), 24 deletions(-) 9579 9580commit f1ed8be066a7c5f16e2e876cc76ef1f5348bc14e 9581Author: Emmanuele Bassi <ebassi@linux.intel.com> 9582Date: Fri Nov 6 11:32:28 2009 +0000 9583 9584 conform: Add unit for properties holding objects 9585 9586 Exercise the definition of GObjects for properties defined using 9587 GParamSpecObject. 9588 9589 .gitignore | 1 + 9590 tests/conform/test-conform-main.c | 1 + 9591 tests/conform/test-script-parser.c | 25 +++++++++++++++++++++++++ 9592 tests/data/test-script-object-property.json | 13 +++++++++++++ 9593 4 files changed, 40 insertions(+) 9594 9595commit 7279afd28c1bc47e1b47f0c2f8d53e5ea75df832 9596Author: Emmanuele Bassi <ebassi@linux.intel.com> 9597Date: Fri Nov 6 11:17:42 2009 +0000 9598 9599 script: Generic assignment of properties requiring objects 9600 9601 The ClutterScriptParser should do most of the heavy-lifting for 9602 parsing a JSON object member defining another JSON object into 9603 a GObject property defined using a GParamSpecObject. 9604 9605 clutter/clutter-script-parser.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++---------- 9606 1 file changed, 52 insertions(+), 10 deletions(-) 9607 9608commit 185107c6cfe174ed829ce26241bf0e2f532a4394 9609Author: Emmanuele Bassi <ebassi@linux.intel.com> 9610Date: Fri Nov 6 10:53:43 2009 +0000 9611 9612 conformance: Add unit on the implicit alpha definition 9613 9614 Exercise the implicit alpha and timeline definition to catch 9615 regressions in the ClutterScript parser code. 9616 9617 .gitignore | 1 + 9618 tests/conform/test-conform-main.c | 1 + 9619 tests/conform/test-script-parser.c | 32 ++++++++++++++++++++++++++++++++ 9620 tests/data/test-script-implicit-alpha.json | 8 ++++++++ 9621 4 files changed, 42 insertions(+) 9622 9623commit f9581ca5ce87437df40e27bc0228fdb6c6897619 9624Author: Emmanuele Bassi <ebassi@linux.intel.com> 9625Date: Fri Nov 6 10:17:30 2009 +0000 9626 9627 script: Apply properties when constructing implicit timelines 9628 9629 The object construction is done in two passes, now, so we must do both 9630 passes when parsing implicit timelines from a fake ObjectInfo. 9631 9632 clutter/clutter-script-parser.c | 1 + 9633 1 file changed, 1 insertion(+) 9634 9635commit abae6013e10e08cc67be53d5d067ca5ed4ad7ee3 9636Author: Robert Bragg <robert@linux.intel.com> 9637Date: Thu Nov 5 16:50:24 2009 +0000 9638 9639 Remove all internal use of deprecated cogl_clip_* API 9640 9641 cogl_clip_push, and cogl_clip_push_window_rect which are now deprecated were 9642 used in various places internally so this just switches to using the 9643 replacement functions. 9644 9645 clutter/clutter-actor.c | 10 +++++----- 9646 clutter/clutter-main.c | 2 +- 9647 clutter/clutter-text.c | 6 +++--- 9648 tests/conform/test-cogl-viewport.c | 10 ++++++---- 9649 tests/interactive/test-clip.c | 8 ++++---- 9650 5 files changed, 19 insertions(+), 17 deletions(-) 9651 9652commit c1d9e09d38bcf61eb7e6f88f5a052870d8abdc5e 9653Author: Robert Bragg <robert@linux.intel.com> 9654Date: Thu Nov 5 10:56:24 2009 +0000 9655 9656 [clip-stack] stop using deprecated cogl_clip_push_window_rect API 9657 9658 try_pushing_rect_as_window_rect now uses the new 9659 cogl_clip_push_window_rectangle API. 9660 9661 clutter/cogl/cogl/cogl-clip-stack.c | 2 +- 9662 1 file changed, 1 insertion(+), 1 deletion(-) 9663 9664commit 272e227109387c9287081e9dad467290e4e93faf 9665Author: Robert Bragg <robert@linux.intel.com> 9666Date: Wed Nov 4 19:31:43 2009 +0000 9667 9668 [cogl-clip] deprecate parts and cleanup the API 9669 9670 cogl_clip_push() which accepts a rectangle in model space shouldn't have 9671 been defined to take x,y,width,height arguments because this isn't consistant 9672 with other Cogl API dealing with model space rectangles. If you are using a 9673 coordinate system with the origin at the center and the y+ extending up, 9674 then x,y,width,height isn't as natural as (x0,y0)(x1,y1). This API has 9675 now been replace with cogl_clip_push_rectangle() 9676 9677 (As a general note: the Cogl API should only use the x,y,width,height style 9678 when the appropriate coordinate space is defined by Cogl to have a top left 9679 origin. E.g. window coordinates, or potentially texture coordinates) 9680 9681 cogl_clip_push_window_rect() shouldn't have been defined to take float 9682 arguments since we only clip with integral pixel precision. We also 9683 shouldn't have abbreviated "rectangle". This API has been replaced with 9684 cogl_clip_push_window_rectangle() 9685 9686 cogl_clip_ensure() wasn't documented at all in Clutter 1.0 and probably 9687 no one even knew it existed. This API isn't useful, and so it's now 9688 deprecated. If no one complains we may remove the API altogether for 9689 Clutter 1.2. 9690 9691 cogl_clip_stack_save() and cogl_clip_stack_restore() were originally added 9692 to allow us to save/restore the clip when switching to/from offscreen 9693 rendering. Now that offscreen draw buffers are defined to own their clip 9694 state and the state will be automatically saved and restored this API is now 9695 redundant and so deprecated. 9696 9697 README | 13 +++++++++++++ 9698 clutter/cogl/cogl/cogl-clip-stack.c | 44 ++++++++++++++++++++++++-------------------- 9699 clutter/cogl/cogl/cogl.h.in | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 9700 doc/reference/cogl/cogl-sections.txt | 9 ++++++--- 9701 tests/interactive/test-cogl-primitives.c | 14 ++++++++++++++ 9702 5 files changed, 144 insertions(+), 28 deletions(-) 9703 9704commit 6cd49fdd40bd20716365e399c3dfa039e3b6f377 9705Author: Robert Bragg <robert@linux.intel.com> 9706Date: Wed Nov 4 20:17:56 2009 +0000 9707 9708 [clip-stack] Internally track model space clip rects as (x0,y0)(x1,y1) pairs 9709 9710 Don't track the rectangles as x0,y0,width,height. This is in preparation 9711 for some API tidy up. 9712 9713 clutter/cogl/cogl/cogl-clip-stack.c | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------ 9714 1 file changed, 59 insertions(+), 54 deletions(-) 9715 9716commit 7752ed98f1eafa9bd65fbdd2e018b0026430b579 9717Author: Robert Bragg <robert@linux.intel.com> 9718Date: Wed Nov 4 19:42:17 2009 +0000 9719 9720 [clip-stack] move lots of supporting code from cogl.c to cogl-clip-stack.c 9721 9722 There was quite a bit of code in cogl.c that was only used to support 9723 cogl-clip-stack.c, so this has now been moved to cogl-clip-stack.c 9724 9725 clutter/cogl/cogl/cogl-clip-stack.c | 277 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------- 9726 clutter/cogl/cogl/cogl.c | 237 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- 9727 2 files changed, 250 insertions(+), 264 deletions(-) 9728 9729commit 864e12df056ccbd116eb0a0992a82e5194c26787 9730Author: Robert Bragg <robert@linux.intel.com> 9731Date: Wed Nov 4 16:55:18 2009 +0000 9732 9733 [debug] Adds a COGL_DEBUG=force-scanline-paths 9734 9735 For a long time now the GLES driver for Cogl has supported a fallback 9736 scanline rasterizer for filling paths when no stencil buffer is available, 9737 but now that we build the same cogl-primitives code for GL and GLES I 9738 thought it may sometimes be useful for debugging to force Cogl to use the 9739 scanline rasterizer instead of the current stencil buffer approach. 9740 9741 clutter/cogl/cogl/cogl-debug.c | 3 ++- 9742 clutter/cogl/cogl/cogl-debug.h | 3 ++- 9743 clutter/cogl/cogl/cogl-primitives.c | 3 ++- 9744 3 files changed, 6 insertions(+), 3 deletions(-) 9745 9746commit 0b4899ef23e4979326439613dfba814bd49aeb2e 9747Author: Emmanuele Bassi <ebassi@linux.intel.com> 9748Date: Thu Nov 5 17:30:33 2009 +0000 9749 9750 tests: Clean up interactive test build 9751 9752 The build for interactive tests creates symbolic links for the data 9753 under tests/data; it also uses symbolic links for creating "binaries" 9754 for each interactive test. This is less than ideal, though. 9755 9756 Instead, the tests should build a path to the data files by using 9757 a pre-processor define like TESTS_DATADIR; both g_build_filename() and 9758 pre-processor string concatenation can be used to generate a valid 9759 file name with the full path to the files. 9760 9761 The build system should also create wrapper scripts, just like we 9762 do inside the conformance test suite, to be able to launch single 9763 tests. 9764 9765 .gitignore | 1 + 9766 tests/interactive/Makefile.am | 59 ++++++++++++++++++++++++++++++++++------------------------- 9767 tests/interactive/test-actor-clone.c | 27 ++++++++++++++------------- 9768 tests/interactive/test-actors.c | 11 ++++++----- 9769 tests/interactive/test-behave.c | 14 ++++++++------ 9770 tests/interactive/test-bin-layout.c | 6 +++++- 9771 tests/interactive/test-clip.c | 5 ++++- 9772 tests/interactive/test-cogl-multitexture.c | 15 ++++++++++++--- 9773 tests/interactive/test-cogl-offscreen.c | 6 +++++- 9774 tests/interactive/test-cogl-tex-convert.c | 28 +++++++++++++++++++--------- 9775 tests/interactive/test-cogl-tex-getset.c | 12 ++++++++---- 9776 tests/interactive/test-cogl-tex-polygon.c | 9 +++++++-- 9777 tests/interactive/test-cogl-tex-tile.c | 6 +++++- 9778 tests/interactive/test-depth.c | 5 ++++- 9779 tests/interactive/test-devices.c | 5 ++++- 9780 tests/interactive/test-fbo.c | 11 ++++++++--- 9781 tests/interactive/test-layout.c | 5 ++++- 9782 tests/interactive/test-multistage.c | 5 ++++- 9783 tests/interactive/test-paint-wrapper.c | 5 ++++- 9784 tests/interactive/test-pixmap.c | 2 +- 9785 tests/interactive/test-rotate.c | 8 ++++++-- 9786 tests/interactive/test-script.c | 9 +++++++-- 9787 tests/interactive/test-shader.c | 84 +++++++++++++++++++++++++++++++++++++++++++++--------------------------------------- 9788 tests/interactive/test-texture-async.c | 57 +++++++++++++++++++++++++-------------------------------- 9789 tests/interactive/test-texture-quality.c | 15 +++++++++++---- 9790 tests/interactive/test-viewport.c | 8 ++++++-- 9791 tests/interactive/wrapper.sh | 4 +++- 9792 27 files changed, 260 insertions(+), 162 deletions(-) 9793 9794commit c3368c0d157c5fa28a4e29e6caaed4323e82990d 9795Author: Emmanuele Bassi <ebassi@linux.intel.com> 9796Date: Thu Nov 5 12:24:37 2009 +0000 9797 9798 layout: Add layout properties introspection 9799 9800 In order to know if a layout property exists and retrieve its 9801 description in form of a GParamSpec, we need a wrapper API inside 9802 ClutterLayoutManager. This allows introspecting a LayoutManager 9803 sub-class and eventually serialize and deserialize it. 9804 9805 clutter/clutter-layout-manager.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 9806 clutter/clutter-layout-manager.h | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------- 9807 2 files changed, 130 insertions(+), 49 deletions(-) 9808 9809commit b0c9de273096d8949c8eafa3d5da017bb551e3f0 9810Author: Emmanuele Bassi <ebassi@linux.intel.com> 9811Date: Thu Nov 5 12:23:49 2009 +0000 9812 9813 box-layout: Add get_child_meta_type() override 9814 9815 Return the GType of ClutterBoxChild. 9816 9817 clutter/clutter-box-layout.c | 8 ++++++++ 9818 1 file changed, 8 insertions(+) 9819 9820commit eea00d280549641403dbaae27e370e16fe9f975b 9821Author: Emmanuele Bassi <ebassi@linux.intel.com> 9822Date: Thu Nov 5 12:23:22 2009 +0000 9823 9824 bin-layout: Add get_child_meta_type() override 9825 9826 Return the GType of ClutterBinLayer. 9827 9828 clutter/clutter-bin-layout.c | 8 ++++++++ 9829 1 file changed, 8 insertions(+) 9830 9831commit e6dff59b27d7eb6d9fca51f6ddf74fcb7d8253e3 9832Author: Emmanuele Bassi <ebassi@linux.intel.com> 9833Date: Thu Nov 5 11:57:06 2009 +0000 9834 9835 layout: Add LayoutManager::get_child_meta_type() 9836 9837 In order to inspect a LayoutManager using LayoutMeta we need a 9838 virtual function that returns the GType of the LayoutMeta used. 9839 9840 clutter/clutter-layout-manager.c | 7 +++++++ 9841 clutter/clutter-layout-manager.h | 3 +++ 9842 2 files changed, 10 insertions(+) 9843 9844commit 95d78acb4ca72951fc9552c9fcffa645b1be739a 9845Author: Emmanuele Bassi <ebassi@linux.intel.com> 9846Date: Wed Nov 4 16:45:44 2009 +0000 9847 9848 script: Allow parsing child properties 9849 9850 The ClutterScript parser needs to be extended to parse child properties 9851 and apply them after an actor has been added to a container. In order to 9852 distinguish child properties from regular GObject properties we can use 9853 the "child::" prefix, e.g.: 9854 9855 { 9856 "type" : "ClutterRectangle", 9857 "id" : "child-01", 9858 "child::has-focus" : true, 9859 ... 9860 } 9861 9862 Parsing child properties can be deferred to the ClutterScriptable 9863 interface, just like regular properties. 9864 9865 .gitignore | 1 + 9866 clutter/clutter-script-parser.c | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 9867 clutter/clutter-script-private.h | 2 ++ 9868 tests/conform/Makefile.am | 2 ++ 9869 tests/conform/test-conform-main.c | 1 + 9870 tests/conform/test-script-parser.c | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 9871 tests/data/test-script-child.json | 21 +++++++++++++++++++++ 9872 7 files changed, 297 insertions(+), 1 deletion(-) 9873 9874commit c52d8780325a0077f7fc6e898d902462ffbe3c8c 9875Author: Robert Bragg <robert@linux.intel.com> 9876Date: Sat Oct 17 04:06:56 2009 +0100 9877 9878 [cogl-primitives] Get rid of driver specific cogl-primitives code 9879 9880 These files were practically identical, except the gles code had additional 9881 support for filling paths without a stencil buffer. All the driver code has 9882 now been moved into cogl/cogl-primitives.c 9883 9884 clutter/cogl/cogl/cogl-primitives.c | 488 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 9885 clutter/cogl/cogl/driver/gl/Makefile.am | 1 - 9886 clutter/cogl/cogl/driver/gl/cogl-primitives.c | 313 --------------------------------------------------------------------------------------------------------------- 9887 clutter/cogl/cogl/driver/gles/Makefile.am | 1 - 9888 clutter/cogl/cogl/driver/gles/cogl-primitives.c | 516 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 9889 5 files changed, 482 insertions(+), 837 deletions(-) 9890 9891commit 8ba13d6495d00885380db3a23f552633c5c43c0a 9892Author: Emmanuele Bassi <ebassi@linux.intel.com> 9893Date: Wed Nov 4 15:21:03 2009 +0000 9894 9895 script: Clean up Color parsing rules 9896 9897 All the ClutterColor parsing rules should be coalesced inside 9898 clutter_script_parse_color(): object, array and string notations 9899 are the canonical ways of defining a ClutterColor inside a 9900 ClutterScript definition. Having a single function in charge of 9901 the parsing cleans up the code. 9902 9903 clutter/clutter-script-parser.c | 17 +++++++---------- 9904 tests/conform/test-script-parser.c | 6 ++++++ 9905 2 files changed, 13 insertions(+), 10 deletions(-) 9906 9907commit 3e815de32b2aa525365b80fb7d2f5d5dc9d2fb72 9908Author: Emmanuele Bassi <ebassi@linux.intel.com> 9909Date: Wed Nov 4 15:20:12 2009 +0000 9910 9911 script: Simplify boxed types parsing 9912 9913 We should use the typed accessors for complex JSON types, and 9914 be more liberal in what we accept. 9915 9916 clutter/clutter-script-parser.c | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------ 9917 1 file changed, 57 insertions(+), 90 deletions(-) 9918 9919commit 4df59d330ca4ba7ffcff830001ddbc4fe64167ee 9920Author: Emmanuele Bassi <ebassi@linux.intel.com> 9921Date: Wed Nov 4 14:05:13 2009 +0000 9922 9923 script: Separate construction from properties application 9924 9925 Currently, ClutterScriptParser will construct the object (using the 9926 construct-only and construct parameters), apply the properties from 9927 the ClutterScript definition, and eventuall will add children and 9928 behaviours. 9929 9930 The construction phase should be more compartimentalized: the objects 9931 should be constructed first and eventual children and behaviours 9932 added. Then, once an object is requested or when the parsing process 9933 has terminated, all the properties should be applied. 9934 9935 This change allows us to set up the actors before setting their 9936 non-construct properties. 9937 9938 clutter/clutter-script-parser.c | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------ 9939 clutter/clutter-script-private.h | 8 +++++--- 9940 clutter/clutter-script.c | 22 ++++++++++++++++++---- 9941 3 files changed, 88 insertions(+), 79 deletions(-) 9942 9943commit 31e5dadb68cf285d57935573e16713201f24503e 9944Author: Emmanuele Bassi <ebassi@linux.intel.com> 9945Date: Wed Nov 4 13:32:26 2009 +0000 9946 9947 script: Move all parser code inside ClutterScriptParser 9948 9949 ClutterScript is currently a mix of parser-related code and 9950 the ClutterScript object. All the parser-related code should 9951 be moved inside a private class, ClutterScriptParser, inheriting 9952 from JsonParser. 9953 9954 clutter/clutter-script-parser.c | 1288 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 9955 clutter/clutter-script-private.h | 38 +++++- 9956 clutter/clutter-script.c | 1485 ++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 9957 3 files changed, 1438 insertions(+), 1373 deletions(-) 9958 9959commit d7cfa158513263a5f75934a8f9ddceea9a6b8800 9960Author: Emmanuele Bassi <ebassi@linux.intel.com> 9961Date: Wed Nov 4 11:50:45 2009 +0000 9962 9963 conform: Add the beginnings of a ClutterScript test suite 9964 9965 ClutterScript is a very complicated piece of machinery, with a 9966 parser that has custom variations on top of the basic JSON 9967 format; it could also be extended in the future, so if we don't 9968 want to introduce regressions or break existing ClutterScript 9969 definitions, we'd better have a conformance test suite. 9970 9971 .gitignore | 1 + 9972 tests/conform/Makefile.am | 1 + 9973 tests/conform/test-conform-main.c | 2 ++ 9974 tests/conform/test-script-parser.c | 33 +++++++++++++++++++++++++++++++++ 9975 tests/data/Makefile.am | 13 ++++++++----- 9976 tests/data/test-script-single.json | 10 ++++++++++ 9977 6 files changed, 55 insertions(+), 5 deletions(-) 9978 9979commit 7d891d9dd4acbaedc5b2a2f95445a1e93fd1529f 9980Author: Emmanuele Bassi <ebassi@linux.intel.com> 9981Date: Wed Nov 4 11:47:09 2009 +0000 9982 9983 tests: Allow getting data files from the tests/data directory 9984 9985 The units under the conformance test suite should be able to use 9986 external files. Linking the files in tests/conform like the 9987 interactive tests do seems like a hack piled on top of a hack, so 9988 instead we should provide a programmatic way for a conformance 9989 test unit to get the full path of a file, regardless of where the 9990 tests/data directory is. 9991 9992 We can use a define to get the full path of tests/data and then 9993 a function using g_build_filename() to construct the path to the 9994 file we want. 9995 9996 tests/conform/Makefile.am | 14 +++++++++----- 9997 tests/conform/test-conform-common.h | 1 + 9998 tests/conform/test-conform-main.c | 6 ++++++ 9999 3 files changed, 16 insertions(+), 5 deletions(-) 10000 10001commit 3e20468c6bd982eb8be0e3cbf9c9b72df38eaeeb 10002Author: Emmanuele Bassi <ebassi@linux.intel.com> 10003Date: Wed Nov 4 11:05:25 2009 +0000 10004 10005 Add new conformance tests to the ignore list 10006 10007 .gitignore | 3 +++ 10008 1 file changed, 3 insertions(+) 10009 10010commit 6e571928a49641f353f31e1f69328e1466b6ac66 10011Author: Emmanuele Bassi <ebassi@linux.intel.com> 10012Date: Tue Nov 3 18:30:28 2009 +0000 10013 10014 script: Take a copy of property nodes 10015 10016 Instead of counting on a JsonNode pointer to survive we should take 10017 a copy. This allows keeping unresolved properties across different 10018 ClutterScript passes. 10019 10020 clutter/clutter-script.c | 5 ++++- 10021 1 file changed, 4 insertions(+), 1 deletion(-) 10022 10023commit 4ad57aa3e4caedd89e9c60c60aadbc239290cfe3 10024Author: Emmanuele Bassi <ebassi@linux.intel.com> 10025Date: Tue Nov 3 18:29:52 2009 +0000 10026 10027 script: Use JsonObject direct accessors 10028 10029 Instead of getting the JsonNode for a member of which we mandate 10030 the type we can use the typed accessors of JsonObject. 10031 10032 clutter/clutter-script.c | 16 ++++++++++------ 10033 1 file changed, 10 insertions(+), 6 deletions(-) 10034 10035commit 0ff420fab59221fccf711893c363145607b40898 10036Merge: f6e0e48ac 4258214e5 10037Author: Robert Bragg <robert@linux.intel.com> 10038Date: Wed Nov 4 03:46:45 2009 +0000 10039 10040 Merge commit 'cogl-reorg-draw-buffers' 10041 10042 * cogl-reorg-draw-buffers: (38 commits) 10043 [test-fbo] greatly simplify the test 10044 [tests] test-backface-culling: test culling with offscreen rendering 10045 [tests] Adds test-cogl-readpixels.c for very basic cogl_read_pixels testing 10046 [tests] Adds test-cogl-offscreen to validate offscreen draw buffer 10047 [tests] test-cogl-viewport tests semantics of over/under size viewports 10048 [test-texture-fbo] comment the colors defined in corner_colors 10049 Add a conformance test for clutter_texture_new_from_actor 10050 [cogl-texture-2d-sliced] allow COGL_FORMAT_ANY with _new_with_size() 10051 [texture] fix rounding when calculating update_fbo viewport offset 10052 [texture] switch to a new design for handling offscreen rendering 10053 [texture] split out fbo update code from cluter_texture_paint 10054 [texture] push/pop draw buffer when painting actors to a texture 10055 [texture] Avoid redundant use of cogl_clip_stack_save when drawing offscreen 10056 [cogl-draw-buffer] fix Cogl -> GL viewport coord conversion 10057 [cogl_clip_push_window_rect] fix Cogl -> GL coordinate conversion 10058 [matrix] Adds cogl_matrix_get_inverse API 10059 [debug] Adds a COGL_DEBUG=matrices debug option 10060 [cogl-matrix] Import Mesa's matrix manipulation code 10061 [cogl] avoid any state changes when cogl_set_backface_culling_enable is a nop 10062 [cogl] Use clockwise face winding for offscreen buffers with culling enabled 10063 ... 10064 10065commit 4258214e509edbc4ff82de418ffc9662088fa835 10066Author: Robert Bragg <robert@linux.intel.com> 10067Date: Wed Oct 7 10:40:15 2009 +0100 10068 10069 [test-fbo] greatly simplify the test 10070 10071 This test tried to do too much, and I can't remember the last time I saw this 10072 test work. 10073 10074 It no longer tries to create a texture from an offscreen actor and it no 10075 longer tries to use shaders. 10076 10077 It does though show that chaining of clutter_texture_new_from_actor now 10078 works, and that animating the source actor is reflected in textures created 10079 from it. 10080 10081 When run you should see three actors: 10082 - on the left is the pristine source actor rotating around the y-axis 10083 - in the middle is the first texture created from the source actor 10084 - and on the right a texture created from the middle actor 10085 10086 Note: the somewhat strange bobbing of the middle and right textures is 10087 actually correct given how it was decided long ago to map the transformed 10088 (to screen space) allocation of the source actor to the texture. When the 10089 hand spins around the perspective projection of the top of the hand results 10090 in the origin of the texture bobbing up to a higher stage position, but the 10091 position of the textures is fixed. This design also means we end up 10092 reallocating our offscreen draw buffer every frame that the actors 10093 transformed size changes, which isn't ideal. 10094 10095 tests/interactive/test-fbo.c | 192 ++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------- 10096 1 file changed, 34 insertions(+), 158 deletions(-) 10097 10098commit ffb592de5908d844b527cb4fe75b7195eb0dc55d 10099Author: Robert Bragg <robert@linux.intel.com> 10100Date: Thu Oct 22 19:01:27 2009 +0100 10101 10102 [tests] test-backface-culling: test culling with offscreen rendering 10103 10104 Since offscreen rendering is internally forced to be upside down Cogl 10105 needs to reverse the glFrontFace winding order so as not to interfere 10106 with the use of cogl_set_backface_culling_enabled() 10107 10108 This ensures we test that mechanism. 10109 10110 tests/conform/test-backface-culling.c | 172 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------- 10111 1 file changed, 111 insertions(+), 61 deletions(-) 10112 10113commit 60b642f5d6aada0d237cfb7d81f6b78299c29e73 10114Author: Robert Bragg <robert@linux.intel.com> 10115Date: Thu Oct 22 16:56:01 2009 +0100 10116 10117 [tests] Adds test-cogl-readpixels.c for very basic cogl_read_pixels testing 10118 10119 Mostly this was written to verify that we don't flip the data read back from 10120 an offscreen draw buffer. (since all offscreen rendering is done upside 10121 down) 10122 10123 tests/conform/Makefile.am | 1 + 10124 tests/conform/test-cogl-readpixels.c | 153 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 10125 tests/conform/test-conform-main.c | 1 + 10126 3 files changed, 155 insertions(+) 10127 10128commit 2ff7f2d287f8dc80f0e6e02bdc388d4fee99d878 10129Author: Robert Bragg <robert@linux.intel.com> 10130Date: Thu Oct 22 12:36:17 2009 +0100 10131 10132 [tests] Adds test-cogl-offscreen to validate offscreen draw buffer 10133 10134 This adds a basic test to check that rendering a few colored rectangles 10135 offscreen works and that the modelview gets restored when switching back to 10136 the previous buffer. 10137 10138 tests/conform/Makefile.am | 1 + 10139 tests/conform/test-cogl-offscreen.c | 169 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 10140 tests/conform/test-conform-main.c | 1 + 10141 3 files changed, 171 insertions(+) 10142 10143commit 369e68630daf7f833da986a19ad17043b43d61e3 10144Author: Robert Bragg <robert@linux.intel.com> 10145Date: Wed Oct 21 16:06:43 2009 +0100 10146 10147 [tests] test-cogl-viewport tests semantics of over/under size viewports 10148 10149 Unlike OpenGL Cogl puts the origin of windows/viewports at the top left 10150 instead of bottom left. This test verifies that we correctly translate Cogl 10151 viewports to OpenGL viewports for the awkward cases where the given viewport 10152 has an offset and/or the viewport has a different size to the current draw 10153 buffer. 10154 10155 tests/conform/Makefile.am | 1 + 10156 tests/conform/test-cogl-viewport.c | 417 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 10157 tests/conform/test-conform-main.c | 2 + 10158 3 files changed, 420 insertions(+) 10159 10160commit bc24190b9ac32405d4be24d84968357921c7f7e2 10161Author: Robert Bragg <robert@linux.intel.com> 10162Date: Mon Nov 2 01:23:25 2009 +0000 10163 10164 [test-texture-fbo] comment the colors defined in corner_colors 10165 10166 It helps to be able to quickly glance at the definition to see which 10167 quadrant of the test actor should be which color, so when debugging a 10168 problem and looking at the visual output you can easily verify if it's being 10169 flipped upside down/left to right. 10170 10171 tests/conform/test-texture-fbo.c | 8 ++++---- 10172 1 file changed, 4 insertions(+), 4 deletions(-) 10173 10174commit b41a81fb0868e51bf03d25446f8cc9748fcd6bc7 10175Author: Neil Roberts <neil@linux.intel.com> 10176Date: Thu Sep 17 14:25:29 2009 +0100 10177 10178 Add a conformance test for clutter_texture_new_from_actor 10179 10180 This contains four tests :- 10181 10182 - A regular onscreen source with a clone next to it 10183 10184 - An offscreen source with a clone. This is currently commented out 10185 because it no longer works. 10186 10187 - An onscreen source with a rectangular clip and a clone. 10188 10189 - An onscreen source with a clip from a path and a clone. 10190 10191 The sources are all a 2x2 grid of colors. Each clone is tested that it 10192 either contains the color that should be at that grid position or that 10193 the stage color is showing through if the source is clipped. 10194 10195 tests/conform/Makefile.am | 1 + 10196 tests/conform/test-conform-main.c | 1 + 10197 tests/conform/test-texture-fbo.c | 255 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 10198 3 files changed, 257 insertions(+) 10199 10200commit fec13f6202067f0700514db6676d3984b78a26df 10201Author: Robert Bragg <robert@linux.intel.com> 10202Date: Sat Oct 31 00:01:44 2009 +0000 10203 10204 [cogl-texture-2d-sliced] allow COGL_FORMAT_ANY with _new_with_size() 10205 10206 It's useful when initialzing offscreen draw buffers to be able to ask 10207 Cogl to create a texture of a given size and with the default internal 10208 pixel format. 10209 10210 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 2 +- 10211 1 file changed, 1 insertion(+), 1 deletion(-) 10212 10213commit ae57c30e937d90eb1e541edd36ae9f81aedc2854 10214Author: Robert Bragg <robert@linux.intel.com> 10215Date: Sun Nov 1 23:56:03 2009 +0000 10216 10217 [texture] fix rounding when calculating update_fbo viewport offset 10218 10219 When rendering to an fbo for supporting clutter_texture_new_from_actor we 10220 render to an fbo with the same size as the source actor, but with a viewport 10221 the same size as the stage. We offset the viewport so when we render the 10222 source actor in its normal transformed stage position it lands on the fbo. 10223 Previously we were rounding the transformed position given as a float by 10224 truncating the fraction (just using a C cast) but that resulted in an 10225 incorrect pixel offset when rendering offscreen depending on the source 10226 position. 10227 10228 We now simply + 0.5 before casting (or -0.5 for negative numbers) 10229 10230 clutter/clutter-texture.c | 14 +++++++++++++- 10231 1 file changed, 13 insertions(+), 1 deletion(-) 10232 10233commit 309f852efbde6a3e025225d01293509c28989d0c 10234Author: Robert Bragg <robert@linux.intel.com> 10235Date: Mon Nov 2 01:14:50 2009 +0000 10236 10237 [texture] switch to a new design for handling offscreen rendering 10238 10239 For supporting clutter_texture_new_from_actor(): when updating a 10240 ClutterTexture's fbo we previously set up an offset frustum in the 10241 perspective matrix before rendering source actors to an offscreen draw 10242 buffer so as to give a perspective as if it were being drawn at its 10243 original stage location. 10244 10245 Now that Cogl supports offset viewports there is a simpler way... 10246 10247 When we come to render the source actor to our offscreen draw buffer we 10248 now copy the projection matrix from the stage; we create a viewport 10249 that's also the same size as the stage (though larger than the offscreen 10250 draw buffer) and as before we apply the modelview transformations of 10251 the source actors ancestry before painting it. 10252 10253 The only trick we need now is to offset the viewport according to the 10254 transformed (to screen space) allocation of the source actor (something we 10255 required previously too). We negatively offset the stage sized viewport 10256 such that the smaller offscreen draw buffer is positioned to sit underneath 10257 the source actor in stage coordinates. 10258 10259 clutter/clutter-texture.c | 100 +++++++++++++++++++++++++++++++++++----------------------------------------------------------------- 10260 1 file changed, 35 insertions(+), 65 deletions(-) 10261 10262commit 94a6028358caed32dba7ba37db9784c95d4690f2 10263Author: Robert Bragg <robert@linux.intel.com> 10264Date: Thu Sep 24 14:34:09 2009 +0100 10265 10266 [texture] split out fbo update code from cluter_texture_paint 10267 10268 To help keep clutter_texture_paint maintainable this splits out a big 10269 chunk of standalone code that's responsible for updating the fbo when 10270 clutter_texture_new_from_actor has been used. 10271 10272 clutter/clutter-texture.c | 156 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------- 10273 1 file changed, 81 insertions(+), 75 deletions(-) 10274 10275commit 2762e6d9b90731fd05b46aac407cebd3ba372027 10276Author: Robert Bragg <robert@linux.intel.com> 10277Date: Tue Oct 13 22:22:39 2009 +0100 10278 10279 [texture] push/pop draw buffer when painting actors to a texture 10280 10281 When updating the FBO for a source actor (to support 10282 clutter_texture_new_from_actor()) we used to simply set an offscreen draw 10283 buffer to be current, paint the source actor and then explicitly set the 10284 window to be current again. This precluded chaining texture_new_from_actor 10285 though because updating another FBO associated with a source actor would end 10286 up restoring the window as the current buffer instead of the previous 10287 offscreen buffer. Now that we use Cogl's draw buffer stack; chaining 10288 clutter_texture_new_from_actor() should be possible. 10289 10290 clutter/clutter-texture.c | 5 +++-- 10291 1 file changed, 3 insertions(+), 2 deletions(-) 10292 10293commit c7d229585f2e8dec30162cbad955230c25e16718 10294Author: Robert Bragg <robert@linux.intel.com> 10295Date: Fri Oct 23 00:16:30 2009 +0100 10296 10297 [texture] Avoid redundant use of cogl_clip_stack_save when drawing offscreen 10298 10299 Since cogl draw buffers now own their clip state the stage's clip state will 10300 automatically be saved and restored via the cogl_set_draw_buffer API. 10301 10302 clutter/clutter-texture.c | 6 ------ 10303 1 file changed, 6 deletions(-) 10304 10305commit 90dbae5aa9a31688f2dd73b75df67607795fa60e 10306Author: Robert Bragg <robert@linux.intel.com> 10307Date: Sat Oct 31 00:00:33 2009 +0000 10308 10309 [cogl-draw-buffer] fix Cogl -> GL viewport coord conversion 10310 10311 Before we call glViewport we need to convert Cogl viewport coordinates 10312 (where the origin is defined to be top left) to OpenGL coordinates 10313 (where the origin is defined to be bottom left) 10314 10315 We weren't considering that offscreen rendering is always upside down 10316 and in this case Cogl coordinates == OpenGL coordinates. 10317 10318 clutter/cogl/cogl/cogl-draw-buffer.c | 15 +++++++++++---- 10319 1 file changed, 11 insertions(+), 4 deletions(-) 10320 10321commit 149e3e168a14049bb496a6438b711caa1fbe8129 10322Author: Robert Bragg <robert@linux.intel.com> 10323Date: Fri Oct 30 23:57:56 2009 +0000 10324 10325 [cogl_clip_push_window_rect] fix Cogl -> GL coordinate conversion 10326 10327 Firstly this now uses the draw buffer height not the viewport height 10328 when we need to perform a y = height - y conversion, since (as the 10329 name suggests) we are dealing with window coordinates not viewport 10330 coordinates. 10331 10332 Secondly this skips any conversion when the current draw buffer is an 10333 offscreen draw buffer since offscreen rendering is always forced to be 10334 upside down and in this case Cogl window coordinates == GL window 10335 coordinates. 10336 10337 clutter/cogl/cogl/cogl-clip-stack.c | 32 ++++++++++++++++++++++++++------ 10338 1 file changed, 26 insertions(+), 6 deletions(-) 10339 10340commit 0369a1b84d725c6dbd90f9a9dd1753bea1f9c3e1 10341Author: Robert Bragg <robert@linux.intel.com> 10342Date: Mon Oct 26 17:51:34 2009 +0000 10343 10344 [matrix] Adds cogl_matrix_get_inverse API 10345 10346 This new API takes advantage of the recently imported Mesa code to support 10347 inverse matrix calculation. The matrix code keeps track (via internal 10348 flags) of the transformations a matrix represents so that it can select an 10349 optimized inversion function. 10350 10351 Note: although other aspects of the Cogl matrix API have followed a similar 10352 style to Cairo's matrix API we haven't added a cogl_matrix_invert API 10353 because the inverse of a CoglMatrix is actually cached as part of the 10354 CoglMatrix structure meaning a destructive API like cogl_matrix_invert 10355 doesn't let users take advantage of this caching design. 10356 10357 clutter/cogl/cogl/cogl-context.h | 3 --- 10358 clutter/cogl/cogl/cogl-matrix-stack.c | 11 +++++++++++ 10359 clutter/cogl/cogl/cogl-matrix-stack.h | 3 +++ 10360 clutter/cogl/cogl/cogl-matrix.c | 33 +++++++++++++++++++++------------ 10361 clutter/cogl/cogl/cogl-matrix.h | 21 +++++++++++++++++++++ 10362 clutter/cogl/cogl/cogl.c | 47 +++++++++-------------------------------------- 10363 6 files changed, 65 insertions(+), 53 deletions(-) 10364 10365commit 8051596e96a296cf30887f6e522a288895b628f8 10366Author: Robert Bragg <robert@linux.intel.com> 10367Date: Mon Oct 26 11:01:33 2009 +0000 10368 10369 [debug] Adds a COGL_DEBUG=matrices debug option 10370 10371 This adds a COGL_DEBUG=matrices debug option that can be used to trace all 10372 matrix manipulation done using the Cogl API. This can be handy when you 10373 break something in such a way that a trace is still comparable with a 10374 previous working version since you can simply diff a log of the broken 10375 version vs the working version to home in on the bug. 10376 10377 clutter/cogl/cogl/cogl-debug.c | 3 ++- 10378 clutter/cogl/cogl/cogl-debug.h | 3 ++- 10379 clutter/cogl/cogl/cogl-matrix-private.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 10380 clutter/cogl/cogl/cogl-matrix.c | 20 ++++++++++++++++++++ 10381 clutter/cogl/cogl/cogl.c | 5 +++++ 10382 5 files changed, 76 insertions(+), 2 deletions(-) 10383 10384commit eb438dd499c002a7d770d5e3d0c1fb1c84da933e 10385Author: Robert Bragg <robert@linux.intel.com> 10386Date: Mon Oct 26 08:23:21 2009 +0000 10387 10388 [cogl-matrix] Import Mesa's matrix manipulation code 10389 10390 This pulls in code from Mesa to improve our matrix manipulation support. It 10391 includes support for calculating the inverse of matrices based on top of a 10392 matrix categorizing system that allows optimizing certain matrix types. 10393 (the main thing we were after) but also adds some optimisations for 10394 rotations. 10395 10396 Changes compared to the original code from Mesa: 10397 10398 - Coding style is consistent with the rest of Cogl 10399 - Instead of allocating matrix->m and matrix->inv using malloc, our public 10400 CoglMatrix typedef is large enough to directly contain the matrix, its 10401 inverse, a type and a set of flags. 10402 - Instead of having a _math_matrix_analyse which updates the type, flags and 10403 inverse, we have _math_matrix_update_inverse which essentially does the 10404 same thing (internally making use of _math_matrix_update_type_and_flags()) 10405 but with additional guards in place to bail out when the inverse matrix is 10406 still valid. 10407 - When initializing a matrix with the identity matrix we don't immediately 10408 initialize the inverse matrix; rather we just set the dirty flag for the 10409 inverse (since it's likely the user won't request the inverse of the 10410 identity matrix) 10411 10412 clutter/cogl/cogl/Makefile.am | 2 + 10413 clutter/cogl/cogl/cogl-matrix-mesa.c | 1698 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 10414 clutter/cogl/cogl/cogl-matrix-mesa.h | 226 ++++++++++++++++++++++++++ 10415 clutter/cogl/cogl/cogl-matrix.c | 39 ++++- 10416 clutter/cogl/cogl/cogl-matrix.h | 6 +- 10417 5 files changed, 1967 insertions(+), 4 deletions(-) 10418 10419commit d38d888f786f3be03778bcc10f20389e6c7ff1ff 10420Author: Robert Bragg <robert@linux.intel.com> 10421Date: Thu Oct 22 19:09:20 2009 +0100 10422 10423 [cogl] avoid any state changes when cogl_set_backface_culling_enable is a nop 10424 10425 This is a simple optimization to bail out of cogl_set_backface_culling_enable 10426 if it's not resulting in a change of state. 10427 10428 clutter/cogl/cogl/cogl.c | 3 +++ 10429 1 file changed, 3 insertions(+) 10430 10431commit 764cca75b4ee6bb269097445cb5220f0e044a57c 10432Author: Robert Bragg <robert@linux.intel.com> 10433Date: Thu Oct 22 19:01:52 2009 +0100 10434 10435 [cogl] Use clockwise face winding for offscreen buffers with culling enabled 10436 10437 Because Cogl defines the origin for texture as top left and offscreen draw 10438 buffers can be used to render to textures, we (internally) force all 10439 offscreen rendering to be upside down. (because OpenGL defines the origin 10440 to be bottom left) 10441 10442 By forcing the users scene to be rendered upside down though we also reverse 10443 the winding order of all the drawn triangles which may interfere with the 10444 users use of backface culling. This patch ensures that we reverse the 10445 winding order for a front face (if culling is in use) while rendering 10446 offscreen so we don't conflict with the users back face culling. 10447 10448 clutter/cogl/cogl/cogl-context.c | 2 ++ 10449 clutter/cogl/cogl/cogl-context.h | 1 + 10450 clutter/cogl/cogl/cogl-internal.h | 9 +++++++++ 10451 clutter/cogl/cogl/cogl-journal.c | 1 + 10452 clutter/cogl/cogl/cogl-primitives.c | 1 + 10453 clutter/cogl/cogl/cogl-vertex-buffer.c | 1 + 10454 clutter/cogl/cogl/cogl.c | 33 +++++++++++++++++++++++++++++++++ 10455 7 files changed, 48 insertions(+) 10456 10457commit b2ebb7db485d0a58bcb642fe9e4584c85ac9a503 10458Author: Robert Bragg <robert@linux.intel.com> 10459Date: Fri Oct 30 23:54:13 2009 +0000 10460 10461 [main] Use cogl_read_pixels not glReadPixels in clutter-main.c 10462 10463 The debugging function read_pixels_to_file() and _clutter_do_pick were both 10464 directly calling glReadPixels, but we don't wan't Clutter making direct 10465 OpenGL calls and Cogl provides a suitable alternative. It also means 10466 read_pixels_to_file() doesn't need to manually flip the data read due to 10467 differences in Clutter/Cogl coordinate systems. 10468 10469 clutter/clutter-main.c | 31 +++++++++++++++---------------- 10470 1 file changed, 15 insertions(+), 16 deletions(-) 10471 10472commit 40b8399d49f6b0383b9eebcdf1ca501b5edb4f39 10473Author: Robert Bragg <robert@linux.intel.com> 10474Date: Tue Nov 3 12:54:45 2009 +0000 10475 10476 [cogl_read_pixels] don't force a 4 byte pack alignment 10477 10478 Technically this change shouldn't make a difference since we are 10479 calling glReadPixels with GL_RGBA GL_UNSIGNED_BYTE which is a 4 10480 byte format and it should always result in the same value according 10481 to how OpenGL calculates the location of sequential rows. 10482 10483 i.e. k = a/s * ceil(snl/a) where: 10484 a = alignment 10485 s = component size (1) 10486 n = number of components per pixel (4) 10487 l = number of pixels in a row 10488 gives: 10489 k = 4/1 * ceil(4l/4) and k = 1/1 * ceil(4l/1) which are equivalent 10490 10491 I'm changing it because I've seen i915 driver code that bails out of 10492 hardware accelerated paths if the alignment isn't 1, and because 10493 conceptually we have no alignment constraints here so even if the current 10494 value has no effect, when we start reading back other formats it may upset 10495 things. 10496 10497 clutter/cogl/cogl/cogl.c | 10 +++++----- 10498 1 file changed, 5 insertions(+), 5 deletions(-) 10499 10500commit a222ee22f9dd35c5e0671914206759699e63750d 10501Author: Robert Bragg <robert@linux.intel.com> 10502Date: Mon Nov 2 01:11:21 2009 +0000 10503 10504 [cogl_read_pixels] call cogl_flush() before changing glPixelStore state 10505 10506 We were previously calling cogl_flush() after setting up the glPixelStore 10507 state for calling glReadPixels, but flushing the journal could itself 10508 change the glPixelStore state. 10509 10510 clutter/cogl/cogl/cogl.c | 8 ++++---- 10511 1 file changed, 4 insertions(+), 4 deletions(-) 10512 10513commit ed431a3c65507b3e3da4760eae6e2b22be1f27f5 10514Author: Robert Bragg <robert@linux.intel.com> 10515Date: Mon Nov 2 01:10:02 2009 +0000 10516 10517 [cogl_read_pixels] ensure we flush the current draw buffer state before reading 10518 10519 Make sure we call _cogl_draw_buffer_flush_state() before glReadPixels() to 10520 be sure we have bound the correct framebuffer. 10521 10522 clutter/cogl/cogl/cogl.c | 3 +++ 10523 1 file changed, 3 insertions(+) 10524 10525commit b47404c91d6fac264840a0dafb5dd2dd5567c6a9 10526Author: Robert Bragg <robert@linux.intel.com> 10527Date: Mon Nov 2 01:12:10 2009 +0000 10528 10529 [cogl_read_pixels] fixes for calculating the y offset when rendering offscreen 10530 10531 Since offscreen rendering is forced to be upside down we don't need to do 10532 any conversion of the users coordinates to go from Cogl window coordinates 10533 to OpenGL window coordinates. 10534 10535 clutter/cogl/cogl/cogl.c | 9 +++++++-- 10536 1 file changed, 7 insertions(+), 2 deletions(-) 10537 10538commit 426197f51da9c4351b36812276f0caee06965cb1 10539Author: Robert Bragg <robert@linux.intel.com> 10540Date: Thu Oct 22 16:55:07 2009 +0100 10541 10542 [read-pixels] don't flip data when reading from offscreen draw buffers 10543 10544 Since we do all offscreen rendering upside down (so that we can have the 10545 origin for texture coordinates be the top left of textures for the cases 10546 where offscreen draw buffers are bound to textures) we don't need to flip 10547 data read back from an offscreen framebuffer before we we return it to the 10548 user. 10549 10550 clutter/cogl/cogl/cogl.c | 9 ++++++++- 10551 1 file changed, 8 insertions(+), 1 deletion(-) 10552 10553commit 21322848e0094a025dc0b5461eff30e0d66542da 10554Author: Robert Bragg <robert@linux.intel.com> 10555Date: Wed Oct 21 23:22:45 2009 +0100 10556 10557 [clip-stack] tidy up transform_point() code 10558 10559 I was originally expecting the code not to handle offset viewports or 10560 viewports with a different size to the framebuffer, but it turns out the 10561 code worked fine. In the process though I think I made the code slightly 10562 more readable. 10563 10564 clutter/cogl/cogl/cogl-clip-stack.c | 32 +++++++++++++++++++++----------- 10565 1 file changed, 21 insertions(+), 11 deletions(-) 10566 10567commit 8c3a132ecb3ce805c45dad70c05417713ed9d05d 10568Author: Robert Bragg <robert@linux.intel.com> 10569Date: Tue Nov 3 13:26:58 2009 +0000 10570 10571 [cogl] deprecate cogl_viewport() in favour of cogl_set_viewport() 10572 10573 cogl_viewport only accepted a viewport width and height, but there are times 10574 when it's also desireable to have a viewport offset so that a scene can be 10575 translated after projection but before hitting the framebuffer. 10576 10577 README | 6 ++++++ 10578 clutter/clutter-texture.c | 2 +- 10579 clutter/cogl/cogl/cogl.c | 12 ++++++------ 10580 clutter/cogl/cogl/cogl.h.in | 22 +++++++++++++++++++++- 10581 4 files changed, 34 insertions(+), 8 deletions(-) 10582 10583commit 1e2d88e7891a02b26d0143e28788072e8731be6b 10584Author: Robert Bragg <robert@linux.intel.com> 10585Date: Wed Oct 21 23:24:28 2009 +0100 10586 10587 [cogl_read_pixels] use buffer not viewport height to calculate y offset 10588 10589 glReadPixel takes window coordinates not viewport coordinates so we 10590 shouldn't have been assuming that the viewport height == window height. 10591 10592 clutter/cogl/cogl/cogl.c | 8 +++----- 10593 1 file changed, 3 insertions(+), 5 deletions(-) 10594 10595commit e1630be35a912125b1f493c7d1007b65eaecd048 10596Author: Robert Bragg <robert@linux.intel.com> 10597Date: Wed Oct 21 23:20:44 2009 +0100 10598 10599 [draw-buffer] Adds cogl_draw_buffer_get_{width,height} API 10600 10601 Simply adds missing API to query the width and height of any Cogl draw buffer. 10602 10603 clutter/cogl/cogl/cogl-draw-buffer-private.h | 4 ++++ 10604 clutter/cogl/cogl/cogl-draw-buffer.c | 14 ++++++++++++++ 10605 2 files changed, 18 insertions(+) 10606 10607commit 12af2751392ea53959fa41dd7cb19e07358655f2 10608Author: Robert Bragg <robert@linux.intel.com> 10609Date: Wed Oct 21 23:24:49 2009 +0100 10610 10611 [cogl] Make sure Cogl always knows the current window geometry 10612 10613 Because Cogl defines the origin of viewport and window coordinates to be 10614 top-left it always needs to know the size of the current window so that Cogl 10615 window/viewport coordinates can be transformed into OpenGL coordinates. 10616 10617 This also fixes cogl_read_pixels to use the current draw buffer height 10618 instead of the viewport height to determine the OpenGL y coordinate to use 10619 for glReadPixels. 10620 10621 clutter/clutter-backend.c | 19 ++++++++++++++++++- 10622 clutter/clutter-stage.c | 8 ++++++++ 10623 clutter/cogl/cogl/cogl-context.c | 2 +- 10624 clutter/cogl/cogl/cogl-context.h | 2 +- 10625 clutter/cogl/cogl/cogl-draw-buffer.c | 36 +++++++++++++++++++++++++++++++----- 10626 clutter/cogl/cogl/cogl.h.in | 3 +++ 10627 6 files changed, 62 insertions(+), 8 deletions(-) 10628 10629commit e3391b0173479b9ba3b01321ab606d83999bee1a 10630Author: Robert Bragg <robert@linux.intel.com> 10631Date: Thu Oct 22 16:13:01 2009 +0100 10632 10633 [cogl] Make sure we draw upside down to offscreen draw buffers 10634 10635 First a few notes about Cogl coordinate systems: 10636 - Cogl defines the window origin, viewport origin and texture coordinates 10637 origin to be top left unlike OpenGL which defines them as bottom left. 10638 - Cogl defines the modelview and projection identity matrices in exactly the 10639 same way as OpenGL. 10640 - I.e. we believe that for 2D centric constructs: windows/framebuffers, 10641 viewports and textures developers are more used to dealing with a top left 10642 origin, but when modeling objects in 3D; an origin at the center with y 10643 going up is quite natural. 10644 10645 The way Cogl handles textures is by uploading data upside down in OpenGL 10646 terms so that bottom left becomes top left. (Note: This also has the 10647 benefit that we don't need to flip the data we get from image decoding 10648 libraries since they typically also consider top left to be the image 10649 origin.) 10650 10651 The viewport and window coords are mostly handled with various y = 10652 height - y tweaks before we pass y coordinates to OpenGL. 10653 10654 Generally speaking though the handling of coordinate spaces in Cogl is a bit 10655 fragile. I guess partly because none of it was design to be, it just 10656 evolved from how Clutter defines its coordinates without much consideration 10657 or testing. I hope to improve this over a number of commits; starting here. 10658 10659 This commit deals with the fact that offscreen draw buffers may be bound to 10660 textures but we don't "upload" the texture data upside down, and so if you 10661 texture from an offscreen draw buffer you need to manually flip the texture 10662 coordinates to get it the right way around. We now force offscreen 10663 rendering to be flipped upside down by tweaking the projection matrix right 10664 before we submit it to OpenGL to scale y by -1. The tweak is entirely 10665 hidden from the user such that if you call cogl_get_projection you will not 10666 see this scale. 10667 10668 clutter/cogl/cogl/cogl-context.c | 4 ++++ 10669 clutter/cogl/cogl/cogl-context.h | 4 ++++ 10670 clutter/cogl/cogl/cogl-draw-buffer-private.h | 3 +++ 10671 clutter/cogl/cogl/cogl-matrix-stack.c | 36 ++++++++++++++++++++++++++---------- 10672 4 files changed, 37 insertions(+), 10 deletions(-) 10673 10674commit 8b4c496f2a0291eb202d775e210b5901b6b73940 10675Author: Robert Bragg <robert@linux.intel.com> 10676Date: Thu Oct 22 12:35:33 2009 +0100 10677 10678 [cogl] Ensure features are initialized first in cogl_create_context 10679 10680 Previously some context initializing was being done without valid feature 10681 flags. 10682 10683 clutter/cogl/cogl/cogl-context.c | 10 +++++----- 10684 1 file changed, 5 insertions(+), 5 deletions(-) 10685 10686commit 419db4dcfbef74475e155f8dd060bc1c526d5643 10687Author: Robert Bragg <robert@linux.intel.com> 10688Date: Sat Oct 17 00:31:26 2009 +0100 10689 10690 [clip-stack] Handle flipped rectangles in try_pushing_rect_as_window_rect() 10691 10692 We were ignoring the possibility that the current modelview matrix may flip 10693 the incoming rectangle in which case we didn't calculate a valid scissor 10694 rectangle for clipping. 10695 10696 This fixes: http://bugzilla.o-hand.com/show_bug.cgi?id=1809 10697 (Clipping doesn't work within an FBO) 10698 10699 clutter/cogl/cogl/cogl-clip-stack.c | 18 ++++++++++++++++++ 10700 1 file changed, 18 insertions(+) 10701 10702commit f7d64e5abd5717bb522d28b7565ecccae63271fc 10703Author: Robert Bragg <robert@linux.intel.com> 10704Date: Fri Sep 25 14:34:34 2009 +0100 10705 10706 [draw-buffers] First pass at overhauling Cogl's framebuffer management 10707 10708 Cogl's support for offscreen rendering was originally written just to support 10709 the clutter_texture_new_from_actor API and due to lack of documentation and 10710 several confusing - non orthogonal - side effects of using the API it wasn't 10711 really possible to use directly. 10712 10713 This commit does a number of things: 10714 - It removes {gl,gles}/cogl-fbo.{c,h} and adds shared cogl-draw-buffer.{c,h} 10715 files instead which should be easier to maintain. 10716 - internally CoglFbo objects are now called CoglDrawBuffers. A 10717 CoglDrawBuffer is an abstract base class that is inherited from to 10718 implement CoglOnscreen and CoglOffscreen draw buffers. CoglOffscreen draw 10719 buffers will initially be used to support the 10720 cogl_offscreen_new_to_texture API, and CoglOnscreen draw buffers will 10721 start to be used internally to represent windows as we aim to migrate some 10722 of Clutter's backend code to Cogl. 10723 - It makes draw buffer objects the owners of the following state: 10724 - viewport 10725 - projection matrix stack 10726 - modelview matrix stack 10727 - clip state 10728 (This means when you switch between draw buffers you will automatically be 10729 switching to their associated viewport, matrix and clip state) 10730 10731 Aside from hopefully making cogl_offscreen_new_to_texture be more useful 10732 short term by having simpler and well defined semantics for 10733 cogl_set_draw_buffer, as mentioned above this is the first step for a couple 10734 of other things: 10735 - Its a step toward moving ownership for windows down from Clutter backends 10736 into Cogl, by (internally at least) introducing the CoglOnscreen draw 10737 buffer. Note: the plan is that cogl_set_draw_buffer will accept on or 10738 offscreen draw buffer handles, and the "target" argument will become 10739 redundant since we will instead query the type of the given draw buffer 10740 handle. 10741 - Because we have a common type for on and offscreen framebuffers we can 10742 provide a unified API for framebuffer management. Things like: 10743 - blitting between buffers 10744 - managing ancillary buffers (e.g. attaching depth and stencil buffers) 10745 - size requisition 10746 - clearing 10747 10748 clutter/clutter-main.c | 5 +- 10749 clutter/cogl/cogl/Makefile.am | 2 + 10750 clutter/cogl/cogl/cogl-clip-stack.c | 199 ++++++++++++++++++++++++++++++++++++++++++++++------------------ 10751 clutter/cogl/cogl/cogl-clip-stack.h | 9 +-- 10752 clutter/cogl/cogl/cogl-context.c | 34 +++++------ 10753 clutter/cogl/cogl/cogl-context.h | 20 ++----- 10754 clutter/cogl/cogl/cogl-draw-buffer-private.h | 126 +++++++++++++++++++++++++++++++++++++++++ 10755 clutter/cogl/cogl/cogl-draw-buffer.c | 555 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 10756 clutter/cogl/cogl/cogl-journal.c | 33 ++++++++--- 10757 clutter/cogl/cogl/cogl-primitives.c | 19 +++---- 10758 clutter/cogl/cogl/cogl-texture.c | 19 ++++--- 10759 clutter/cogl/cogl/cogl-vertex-buffer.c | 14 ++--- 10760 clutter/cogl/cogl/cogl.c | 220 ++++++++++++++++++++++++++++++++++++++++++++--------------------------- 10761 clutter/cogl/cogl/cogl.h.in | 1 + 10762 clutter/cogl/cogl/driver/gl/Makefile.am | 2 - 10763 clutter/cogl/cogl/driver/gl/cogl-context-driver.c | 19 ++++--- 10764 clutter/cogl/cogl/driver/gl/cogl-context-driver.h | 23 ++++---- 10765 clutter/cogl/cogl/driver/gl/cogl-defines.h.in | 28 ++++----- 10766 clutter/cogl/cogl/driver/gl/cogl-fbo.c | 315 ------------------------------------------------------------------------------------------------------ 10767 clutter/cogl/cogl/driver/gl/cogl-fbo.h | 39 ------------- 10768 clutter/cogl/cogl/driver/gl/cogl-primitives.c | 99 ++++++++++++++++++++++---------- 10769 clutter/cogl/cogl/driver/gl/cogl-texture-driver.c | 2 +- 10770 clutter/cogl/cogl/driver/gl/cogl.c | 114 ++++++++++++++++++------------------- 10771 clutter/cogl/cogl/driver/gles/Makefile.am | 2 - 10772 clutter/cogl/cogl/driver/gles/cogl-context-driver.c | 10 ++++ 10773 clutter/cogl/cogl/driver/gles/cogl-context-driver.h | 17 ++++-- 10774 clutter/cogl/cogl/driver/gles/cogl-defines.h.in | 70 +++++++++++++++++++++++ 10775 clutter/cogl/cogl/driver/gles/cogl-fbo.c | 328 ---------------------------------------------------------------------------------------------------------- 10776 clutter/cogl/cogl/driver/gles/cogl-fbo.h | 39 ------------- 10777 clutter/cogl/cogl/driver/gles/cogl-primitives.c | 121 +++++++++++++++++++++++++++++++-------- 10778 clutter/cogl/cogl/driver/gles/cogl.c | 75 +++++++++++++++++++++++++ 10779 31 files changed, 1471 insertions(+), 1088 deletions(-) 10780 10781commit f8f8873714043efbcbf92718493a94ac9ddf303f 10782Author: Robert Bragg <robert@linux.intel.com> 10783Date: Tue Oct 20 16:55:10 2009 +0100 10784 10785 [stage-x11] Ensure viewport is initialized before first stage paint 10786 10787 This ensures that glViewport is called before the first stage paint. 10788 Previously _clutter_stage_maybe_setup_viewport (which is done before we 10789 start painting) was bailing out without calling cogl_setup_viewport because 10790 the CLUTTER_STAGE_IN_RESIZE flag may be set if the stage was resized before 10791 the first paint. (NB: The CLUTTER_STAGE_IN_RESIZE flag isn't removed until 10792 we get an explicit event back from the X server since the window manager may 10793 choose to deny/alter the resize.) 10794 10795 We now special case the first resize - where the viewport hasn't previously 10796 been initialized and use the requested geometry to initialize the 10797 glViewport without waiting for a reply from the server. 10798 10799 clutter/x11/clutter-stage-x11.c | 18 ++++++++++++++++++ 10800 clutter/x11/clutter-stage-x11.h | 7 ++++--- 10801 2 files changed, 22 insertions(+), 3 deletions(-) 10802 10803commit ad98e96d977e43a882b8a2f680e59ed281c90baf 10804Author: Robert Bragg <robert@linux.intel.com> 10805Date: Tue Sep 15 22:19:01 2009 +0100 10806 10807 [cogl-fbo] Bring the gles code more in line with gl code 10808 10809 Over time the two cogl-fbo.c files have needlessly diverged as bug fixes or 10810 cleanups went into one version but not the other. This tries to bring them 10811 back in line with each other. It should actually be simple enough to move 10812 cogl-fbo.c to be a common file, and simply not build it for GLES 1.1, so 10813 maybe I'll follow up with such a patch soon. 10814 10815 clutter/cogl/cogl/driver/gles/cogl-fbo.c | 8 ++++++++ 10816 1 file changed, 8 insertions(+) 10817 10818commit 613977f7108efb8897bffb2e47bfcf29bce29ddc 10819Author: Robert Bragg <robert@linux.intel.com> 10820Date: Tue Sep 15 22:15:03 2009 +0100 10821 10822 [cogl-fbo] Remove poorly documented workaround for unknown driver/hardware 10823 10824 The comment just said: "Some implementation require a clear before drawing 10825 to an fbo. Luckily it is affected by scissor test." and did a scissored 10826 clear, which is clearly a driver bug workaround, but for what driver? The 10827 fact that it was copied into the gles backend (or vica versa is also 10828 suspicious since it seems unlikely that the workaround is necessary for both 10829 backends.) 10830 10831 We can easily restore the workaround with a better comment if this problem 10832 really still exists on current drivers, but for now I'd rather minimize 10833 hand-wavey workaround code that can't be tested. 10834 10835 clutter/cogl/cogl/driver/gl/cogl-fbo.c | 10 ---------- 10836 clutter/cogl/cogl/driver/gles/cogl-fbo.c | 19 ------------------- 10837 2 files changed, 29 deletions(-) 10838 10839commit 0599d12ec94344174c947310bddb5658f1b9db58 10840Author: Damien Lespiau <damien.lespiau@gmail.com> 10841Date: Sun Nov 1 14:36:05 2009 +0000 10842 10843 texture: Don't compare fbo_source with COGL_INVALID_HANDLE 10844 10845 fbo_source is a ClutterActor, it should be compared to NULL instead of 10846 COGL_INVALID_HANDLE. 10847 10848 clutter/clutter-texture.c | 2 +- 10849 1 file changed, 1 insertion(+), 1 deletion(-) 10850 10851commit f6e0e48ac613d10d02d27182ebd48be1aeb8b474 10852Author: Emmanuele Bassi <ebassi@linux.intel.com> 10853Date: Fri Oct 30 12:11:19 2009 +0000 10854 10855 build: Add missing gles/cogl-context-driver.h to dist 10856 10857 The gles/cogl-context-driver.h header file is missing from the 10858 dist target, which means it's not in the tarballs. 10859 10860 clutter/cogl/cogl/driver/gles/Makefile.am | 1 + 10861 1 file changed, 1 insertion(+) 10862 10863commit f551cbfb61adb1c454fa36477ad5847b6238e17b 10864Author: Emmanuele Bassi <ebassi@linux.intel.com> 10865Date: Fri Oct 30 11:02:35 2009 +0000 10866 10867 Add run-time version checks 10868 10869 Just like CLUTTER_CHECK_VERSION does version checking at compile 10870 time, we need a way to verify the version of the library that we 10871 are linking against. This is mostly needed for language bindings 10872 and for run-time loadable modules -- when we'll get those. 10873 10874 clutter/clutter-main.c | 34 ++++++++++++++++++++++++++++++++++ 10875 clutter/clutter-version.h.in | 15 ++++++++++++++- 10876 doc/reference/clutter/clutter-sections.txt | 7 +++++++ 10877 3 files changed, 55 insertions(+), 1 deletion(-) 10878 10879commit f8e6727e74c80b80bba3ccb9201e1afd23349c35 10880Author: Neil Roberts <neil@linux.intel.com> 10881Date: Tue Oct 27 13:18:51 2009 +0000 10882 10883 [cogl_polygon] Enable COGL_ENABLE_BLEND when use_color is set 10884 10885 Otherwise you can't use the alpha channel of the vertex colors unless 10886 the material has a texture with alpha or the material's color has 10887 alpha less than 255. 10888 10889 clutter/cogl/cogl/cogl-primitives.c | 2 +- 10890 1 file changed, 1 insertion(+), 1 deletion(-) 10891 10892commit 0c32573ffa980fffc966cf35768233a3ff1ed076 10893Author: Neil Roberts <neil@linux.intel.com> 10894Date: Tue Oct 27 12:38:10 2009 +0000 10895 10896 build: Add $(top_buiddir)/clutter/cogl to the include path in clutter/cogl/cogl 10897 10898 Some files try to include "cogl/cogl-defines-gl.h" so 10899 $(top_builddir)/clutter/cogl needs to be in the include path for out of 10900 tree builds to work. 10901 10902 clutter/cogl/cogl/Makefile.am | 1 + 10903 1 file changed, 1 insertion(+) 10904 10905commit c387513a5fd5293cb8cf60e9c1334ceeff905852 10906Author: Emmanuele Bassi <ebassi@linux.intel.com> 10907Date: Mon Oct 26 16:29:31 2009 +0000 10908 10909 color: Fix HLS-to-RGB conversion 10910 10911 Apparently, on 64bit systems the floating point noise is enough 10912 to screw up the float-to-int truncation. 10913 10914 The solution is to round up by 0.5 and then use floorf(). This 10915 gives predictable and correct results on both 32bit and 64bit 10916 systems. 10917 10918 clutter/clutter-color.c | 8 +++++--- 10919 1 file changed, 5 insertions(+), 3 deletions(-) 10920 10921commit 5a14db50891196a9d17a0df49bf0858551e5a0af 10922Author: Emmanuele Bassi <ebassi@linux.intel.com> 10923Date: Mon Oct 26 16:02:06 2009 +0000 10924 10925 layout: Do not create a LayoutMeta on remove 10926 10927 When calling remove_child_meta() we check if there is a LayoutMeta 10928 already attached to the Actor, and if that LayoutMeta matches the 10929 (manager, container, actor) tuple. If the LayoutMeta does not match, 10930 though, we create a new LayoutMeta instance -- in order to remove it 10931 right afterwards. 10932 10933 Instead of doing this, we can simply check for a matching LayoutMeta 10934 and if present, remove it. 10935 10936 In case of an existing, non-matching LayoutMeta, we're left with a 10937 dangling instance, but it does not matter: the removal happens in the 10938 unparenting phase of a ClutterContainer, so either the Actor will be 10939 destroyed and thus the LayoutMeta will be disposed along with it; or 10940 it will be parented to another container, and thus the LayoutMeta 10941 will be replaced. 10942 10943 clutter/clutter-layout-manager.c | 23 ++++++++++++++++++++++- 10944 1 file changed, 22 insertions(+), 1 deletion(-) 10945 10946commit 5a63e8af8f715c3fe6ded8a9432c999aab73311a 10947Author: Emmanuele Bassi <ebassi@linux.intel.com> 10948Date: Mon Oct 26 15:10:20 2009 +0000 10949 10950 tests: Use the right key symbol for adding children 10951 10952 The test-box-layout should be using CLUTTER_plus instead of a 10953 literal '+'. 10954 10955 tests/interactive/test-box-layout.c | 2 +- 10956 1 file changed, 1 insertion(+), 1 deletion(-) 10957 10958commit a5a0171cb02dcbd67efbf87480aa5cea215c128d 10959Author: Emmanuele Bassi <ebassi@linux.intel.com> 10960Date: Mon Oct 26 15:09:07 2009 +0000 10961 10962 box: Depth level changes should queue a relayout 10963 10964 ClutterBox is not ClutterGroup: a change in the level of an actor 10965 through raise, lower or depth sorting must trigger a relayout. 10966 10967 clutter/clutter-box.c | 6 +++--- 10968 1 file changed, 3 insertions(+), 3 deletions(-) 10969 10970commit 2cad7e24f00e2f8fccfdc75086dd9e1071d71c18 10971Author: Emmanuele Bassi <ebassi@linux.intel.com> 10972Date: Mon Oct 26 15:08:03 2009 +0000 10973 10974 box: Check before using the LayoutManager instance 10975 10976 A ClutterBox might not have a ClutterLayoutManager instance 10977 associated -- for instance, during destruction. We should check 10978 for one before calling methods on it. 10979 10980 clutter/clutter-box.c | 23 +++++++++++++---------- 10981 1 file changed, 13 insertions(+), 10 deletions(-) 10982 10983commit 81c8cf3e6d839b13e106ab346feaccf1f2f9d3fd 10984Author: Emmanuele Bassi <ebassi@linux.intel.com> 10985Date: Mon Oct 26 11:51:30 2009 +0000 10986 10987 texture: Error handling fix 10988 10989 When cogl_texture_new_from_data() fails in clutter_texture_set_from_data() 10990 and no GError is provided, the clutter app will segfault when dereferencing 10991 the GError ** and emitting LOAD_FINISHED signal. 10992 10993 Based on a patch by: Haakon Sporsheim <haakon.sporsheim@gmail.com> 10994 10995 http://bugzilla.openedhand.com/show_bug.cgi?id=1806 10996 10997 clutter/clutter-texture.c | 12 +++++++++--- 10998 1 file changed, 9 insertions(+), 3 deletions(-) 10999 11000commit 00748f66560f3105ff9c636cd01428d8b5e30e9e 11001Author: Emmanuele Bassi <ebassi@linux.intel.com> 11002Date: Mon Oct 26 11:42:16 2009 +0000 11003 11004 tests: Print out the captured event type 11005 11006 The ::captured-event signal on the Stage is not printing out the 11007 event type. 11008 11009 tests/interactive/test-events.c | 31 ++++++++++++++++++++++++++++++- 11010 1 file changed, 30 insertions(+), 1 deletion(-) 11011 11012commit f0b434918bcdb0d77467d66d28448672940f6a90 11013Author: Emmanuele Bassi <ebassi@linux.intel.com> 11014Date: Fri Oct 23 17:32:18 2009 +0100 11015 11016 docs: Add images for layout managers 11017 11018 It's easier to show the layout manager policy with a simple 11019 screen shot coming from our interactive tests. 11020 11021 clutter/clutter-bin-layout.c | 10 ++++++++++ 11022 clutter/clutter-box-layout.c | 7 +++++++ 11023 clutter/clutter-flow-layout.c | 16 ++++++++++++++++ 11024 doc/reference/clutter/Makefile.am | 8 ++++++++ 11025 doc/reference/clutter/bin-layout.png | Bin 0 -> 12890 bytes 11026 doc/reference/clutter/box-layout.png | Bin 0 -> 5119 bytes 11027 doc/reference/clutter/flow-layout-horizontal.png | Bin 0 -> 5888 bytes 11028 doc/reference/clutter/flow-layout-vertical.png | Bin 0 -> 5333 bytes 11029 8 files changed, 41 insertions(+) 11030 11031commit 924780ce3511ba9bc9e2a6b955836eaaa4d0a216 11032Author: Emmanuele Bassi <ebassi@linux.intel.com> 11033Date: Fri Oct 23 16:44:28 2009 +0100 11034 11035 cogl: Avoid C99-isms 11036 11037 Do not declare variables after statements. 11038 11039 clutter/cogl/cogl/cogl.c | 4 ++-- 11040 1 file changed, 2 insertions(+), 2 deletions(-) 11041 11042commit b56b26cc62a851ee4a851a27ce0d6b76936afc6a 11043Author: Emmanuele Bassi <ebassi@linux.intel.com> 11044Date: Fri Oct 23 15:46:25 2009 +0100 11045 11046 cogl: Remove cogl-current-matrix.c 11047 11048 The cogl-current-matrix.c file is unused since commit 11049 5e5d94dfbed18bf2b4c8c7a7ff9847952b2c4ae2 and it's not compiled 11050 or distributed anymore. 11051 11052 clutter/cogl/cogl/cogl-current-matrix.c | 409 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 11053 1 file changed, 409 deletions(-) 11054 11055commit 1c43c195098b4705b59891b6b98bc24407cb3264 11056Author: Emmanuele Bassi <ebassi@linux.intel.com> 11057Date: Fri Oct 23 14:30:15 2009 +0100 11058 11059 Update Git ignore rules 11060 11061 .gitignore | 4 ++-- 11062 1 file changed, 2 insertions(+), 2 deletions(-) 11063 11064commit 0d5af4c24932b5e468fa21e8ddd1c85d9c807320 11065Author: Emmanuele Bassi <ebassi@linux.intel.com> 11066Date: Fri Oct 23 13:55:50 2009 +0100 11067 11068 Post-release bump to 1.1.3 11069 11070 configure.ac | 4 ++-- 11071 1 file changed, 2 insertions(+), 2 deletions(-) 11072 11073commit dec06979b911ca410cc289f12e053a2d49c49abb 11074Author: Emmanuele Bassi <ebassi@linux.intel.com> 11075Date: Fri Oct 23 13:38:28 2009 +0100 11076 11077 Release 1.1.2 developers snapshot 11078 11079 .gitignore | 2 +- 11080 NEWS | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 11081 README | 8 ++++++++ 11082 configure.ac | 2 +- 11083 4 files changed, 105 insertions(+), 2 deletions(-) 11084 11085commit 24594bcde40cc282efa94f9076a1b687c9e9827e 11086Author: Emmanuele Bassi <ebassi@linux.intel.com> 11087Date: Fri Oct 23 12:15:25 2009 +0100 11088 11089 build: Make COGL pass distcheck 11090 11091 Some changes to make COGL pass distcheck with Automake 1.11 and 11092 anal-retentiveness turned up to 11. 11093 11094 The "major" change is the flattening of the winsys/ part of COGL, 11095 which is built directly inside libclutter-cogl.la instead of an 11096 intermediate libclutter-cogl-winsys.la object. 11097 11098 Ideally, the whole COGL should be flattened out using a 11099 quasi-non-recursive Automake layout; unfortunately, the driver/ 11100 sub-section ships with identical targets and Automake cannot 11101 distinguish GL and GLES objects. 11102 11103 clutter/cogl/cogl/Makefile.am | 196 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------- 11104 clutter/cogl/cogl/winsys/Makefile.am | 43 ------------------------------------------- 11105 configure.ac | 1 - 11106 3 files changed, 98 insertions(+), 142 deletions(-) 11107 11108commit c882893e91b1b3ec42be8d790a8210c17de58666 11109Author: Emmanuele Bassi <ebassi@linux.intel.com> 11110Date: Fri Oct 23 10:17:40 2009 +0100 11111 11112 actor: Identify allocation cycles 11113 11114 If an actor calls directly or indirectly clutter_actor_queue_relayout() 11115 on itself from within the allocate() implementation it will cause a 11116 relayout cycle. This is usually a condition that should be checked by 11117 ClutterActor and we should emit a warning if it is verified. 11118 11119 clutter/clutter-actor.c | 15 +++++++++++++++ 11120 1 file changed, 15 insertions(+) 11121 11122commit ca15143d1fbb09d5dbe0daeb09d7765b7cf0dfe3 11123Author: Emmanuele Bassi <ebassi@linux.intel.com> 11124Date: Fri Oct 23 10:08:02 2009 +0100 11125 11126 actor: Add checks for IN_DESTRUCTION flag 11127 11128 ClutterActor should check whether the current instance is being 11129 destroyed and avoid performing operations like: 11130 11131 • queueing redraws 11132 • queueing relayouts 11133 11134 It should also warn if the actor is being parented to an actor 11135 currently being destroyed. 11136 11137 clutter/clutter-actor.c | 28 ++++++++++++++++++++++++---- 11138 1 file changed, 24 insertions(+), 4 deletions(-) 11139 11140commit 7de47e74bda68c5d4dde82f2cbba6782fcf69d27 11141Author: Emmanuele Bassi <ebassi@linux.intel.com> 11142Date: Fri Oct 23 09:48:35 2009 +0100 11143 11144 actor: Show actor name or type in the state checks warnings 11145 11146 When showing a warning in the state checks we perform to verify that 11147 the invariants are maintained when showing, mapping and realizing, we 11148 should also print out the name of the actor failing the checks. If the 11149 actor has no name, the GType name should be used as a fallback. 11150 11151 clutter/clutter-actor.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++---------------------- 11152 1 file changed, 47 insertions(+), 22 deletions(-) 11153 11154commit f02874470682f819766055f3976a2d6c74988dc7 11155Author: Neil Roberts <neil@linux.intel.com> 11156Date: Thu Oct 22 16:55:29 2009 +0100 11157 11158 Fix some compilation errors in cogl-gles2-wrapper.c 11159 11160 The changes in 74f2122b6 introduced some syntax errors which were 11161 preventing the GLES2 backend from compiling. 11162 11163 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 27 ++++++++++++--------------- 11164 1 file changed, 12 insertions(+), 15 deletions(-) 11165 11166commit 8727c3127cc049bf22e3b7cb89041b104ae4fea7 11167Author: Emmanuele Bassi <ebassi@linux.intel.com> 11168Date: Thu Oct 22 13:48:49 2009 +0100 11169 11170 clone: Set :source as CONSTRUCT 11171 11172 The :source property for ClutterClone is a constructor property, but 11173 it most definitely is not a constructor-only one. 11174 11175 clutter/clutter-clone.c | 2 +- 11176 1 file changed, 1 insertion(+), 1 deletion(-) 11177 11178commit b82f874b464b252c5f3bbb5e903197a048034430 11179Author: Neil Roberts <neil@linux.intel.com> 11180Date: Thu Oct 22 15:39:30 2009 +0100 11181 11182 Remove cogl/{gl,gles}/Makefile.am 11183 11184 These are no longer used anywhere. 11185 11186 clutter/cogl/gl/Makefile.am | 62 -------------------------------------------------------------- 11187 clutter/cogl/gles/Makefile.am | 88 ---------------------------------------------------------------------------------------- 11188 2 files changed, 150 deletions(-) 11189 11190commit bd809f690a447c813bba02d83ba3c8b22a825b38 11191Author: Emmanuele Bassi <ebassi@linux.intel.com> 11192Date: Wed Oct 21 17:44:44 2009 +0100 11193 11194 docs: Close the right tag to avoid XML errors 11195 11196 clutter/clutter-alpha.c | 2 +- 11197 1 file changed, 1 insertion(+), 1 deletion(-) 11198 11199commit 4996b2224a54efeddce776cade725ec1cd7fca69 11200Author: Emmanuele Bassi <ebassi@linux.intel.com> 11201Date: Wed Oct 21 17:43:34 2009 +0100 11202 11203 docs: Rename the Shader and StageManager sections 11204 11205 doc/reference/clutter/clutter-sections.txt | 4 ++-- 11206 1 file changed, 2 insertions(+), 2 deletions(-) 11207 11208commit 673199b6e0399e8f1fcd52662429287f92cb95e9 11209Author: Emmanuele Bassi <ebassi@linux.intel.com> 11210Date: Wed Oct 21 16:15:18 2009 +0100 11211 11212 tests: Update test-script 11213 11214 Use explicit alpha definition and custom alpha functions. 11215 11216 tests/interactive/test-script.c | 41 +++++++++++++++++++++++++++++++++++------ 11217 1 file changed, 35 insertions(+), 6 deletions(-) 11218 11219commit 7a52fddcd673c4aa14faf2396a0a74db644ba64d 11220Author: Emmanuele Bassi <ebassi@linux.intel.com> 11221Date: Wed Oct 21 16:04:12 2009 +0100 11222 11223 alpha: Manually parse the :mode property in ClutterScript 11224 11225 The :mode property for a ClutterAlpha can either be an integer, for 11226 an easing mode logical id, or a string for the easing mode "nickname". 11227 11228 clutter/clutter-alpha.c | 33 ++++++++++++++++++++++++++++++++- 11229 clutter/clutter-script-private.h | 2 ++ 11230 clutter/clutter-script.c | 12 +++++++++--- 11231 3 files changed, 43 insertions(+), 4 deletions(-) 11232 11233commit 01bc3fa2c80e9c965222b88ad20b470ae00028ec 11234Author: Emmanuele Bassi <ebassi@linux.intel.com> 11235Date: Wed Oct 21 15:43:01 2009 +0100 11236 11237 script, docs: Update documentation for alphas 11238 11239 It is now possible to have Alpha instances defined explicitly for 11240 behaviours, so we need to fix the documentation. 11241 11242 clutter/clutter-script.c | 40 +++++++++++++++++++++++++++++++--------- 11243 1 file changed, 31 insertions(+), 9 deletions(-) 11244 11245commit f0ed71c77dd94e6bf644aba84f2e1cdc2d874fc1 11246Author: Emmanuele Bassi <ebassi@linux.intel.com> 11247Date: Wed Oct 21 15:29:25 2009 +0100 11248 11249 alpha: Allow setting the function in ClutterScript 11250 11251 When defining an Alpha in ClutterScript we should allow setting 11252 the alpha function by using a custom property. This makes it 11253 possible to have both: 11254 11255 { 11256 "id" : "behaviour-1", 11257 "type" : "ClutterBehaviourDepth", 11258 "alpha" : { "timeline" : "timeline-1", "function" : "alpha_func" }, 11259 ... 11260 } 11261 11262 And: 11263 11264 { 11265 "id" : "alpha-1", 11266 "type" : "ClutterAlpha", 11267 "timeline" : "timeline-1", 11268 "function" : "alpha_func" 11269 }, 11270 { 11271 "id" : "behaviour-1", 11272 "type" : "ClutterBehaviourDepth", 11273 "alpha" : "alpha-1", 11274 ... 11275 } 11276 11277 The latter allows defining a single alpha function for multiple 11278 behaviours. 11279 11280 clutter/clutter-alpha.c | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 11281 1 file changed, 101 insertions(+), 1 deletion(-) 11282 11283commit 50aec3c540d6609d9980fab6a26ba14869982c8b 11284Author: Emmanuele Bassi <ebassi@linux.intel.com> 11285Date: Wed Oct 21 15:17:50 2009 +0100 11286 11287 script: Always allow setting object properties by id reference 11288 11289 The block that allows setting a GObject property holding an object 11290 instance is conditionally depending on the USE_PIXBUF define. This 11291 makes it impossible to reference an object inside ClutterScript on 11292 platforms not using GdkPixbuf. 11293 11294 clutter/clutter-script.c | 25 +++++++++++++++---------- 11295 1 file changed, 15 insertions(+), 10 deletions(-) 11296 11297commit ef8ae7d72f752e10552e254c1ff9e76d19430aac 11298Author: Emmanuele Bassi <ebassi@linux.intel.com> 11299Date: Wed Oct 21 15:16:43 2009 +0100 11300 11301 behaviour: Notify changes of the :alpha property 11302 11303 The set_alpha() setter of ClutterBehaviour is not emitting notifications 11304 for the alpha property. 11305 11306 clutter/clutter-behaviour.c | 12 +++++++----- 11307 1 file changed, 7 insertions(+), 5 deletions(-) 11308 11309commit c13701052497b4cdb009f95ad8ccce9f4a7d825e 11310Author: Owen W. Taylor <otaylor@fishsoup.net> 11311Date: Mon Oct 5 23:20:07 2009 -0400 11312 11313 Force a relayout when showing an actor 11314 11315 When an actor is hidden, the parent actor is not required to 11316 size request or allocate it. (ClutterGroup does, but, for example, 11317 NbtkBoxLayout doesn't.) This means that the 11318 needs_width_request/needs_height_request/needs_allocate can be 11319 stale when we go to show it again - they are set for the actor 11320 but not the parent. Explicitly setting them to FALSE avoids 11321 clutter_actor_relayout() improperly short-circuiting. 11322 11323 http://bugzilla.openedhand.com/show_bug.cgi?id=1831 11324 11325 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 11326 11327 clutter/clutter-actor.c | 9 +++++++++ 11328 1 file changed, 9 insertions(+) 11329 11330commit 571df43b6d2348fd4db4b0275c8ed55e760ab353 11331Author: Emmanuele Bassi <ebassi@linux.intel.com> 11332Date: Tue Oct 20 22:05:04 2009 +0100 11333 11334 text: Invalidate caches and sizes in set_text_internal() 11335 11336 The change in commit 3bbc96e17e5a03ba931c86a5cd2a0ecaa2a3b77b moved the 11337 :text property setter to use set_text_internal(); this function does not 11338 invalidate the Layout cache and does not queue a relayout, thus breaking 11339 the behaviour of ClutterText when setting the contents of the actor using 11340 the property. 11341 11342 http://bugzilla.openedhand.com/show_bug.cgi?id=1851 11343 11344 clutter/clutter-text.c | 12 ++++-------- 11345 1 file changed, 4 insertions(+), 8 deletions(-) 11346 11347commit 91c38f877fe0a6224c648ec9f6ecbab8190b536e 11348Author: Robert Bragg <robert@linux.intel.com> 11349Date: Tue Oct 20 14:57:40 2009 +0100 11350 11351 [group] Fix copy & paste error from 857b0239e (Use FixedLayout inside Group) 11352 11353 clutter_group_get_preferred_height was calling 11354 clutter_layout_manager_get_preferred_width which e.g. broke 11355 test-actor-clone. 11356 11357 clutter/clutter-group.c | 8 ++++---- 11358 1 file changed, 4 insertions(+), 4 deletions(-) 11359 11360commit 74f2122b68547ac6228c1a8d49765aa71638fa1b 11361Author: Robert Bragg <robert@linux.intel.com> 11362Date: Tue Sep 29 02:56:23 2009 +0100 11363 11364 [gles2] remove lots of redundant matrix stack code 11365 11366 Since we no longer depend on the GL matrix API in Cogl we can remove a lot 11367 of wrapper code from the GLES 2 backend. This is particularly nice given 11368 that there was no code shared between the cogl-matrix-stack API and gles2 11369 wrappers so we had a lot of duplicated logic. 11370 11371 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c | 287 ++++++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------------------------------- 11372 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h | 9 ++---- 11373 2 files changed, 34 insertions(+), 262 deletions(-) 11374 11375commit 5e5d94dfbed18bf2b4c8c7a7ff9847952b2c4ae2 11376Author: Robert Bragg <robert@linux.intel.com> 11377Date: Tue Oct 13 23:09:42 2009 +0100 11378 11379 [cogl] Removes the cogl-current-matrix abstraction 11380 11381 The indirection through this API isn't necessary since we no longer 11382 arbitrate between the OpenGL matrix API and Cogl's client side API. Also it 11383 doesn't help to maintain an OpenGL style matrix mode API for internal use 11384 since it's awkward to keep restoring the MODELVIEW mode and easy enough to 11385 directly work with the matrix stacks of interest. 11386 11387 This replaces use of the _cogl_current_matrix API with direct use of the 11388 _cogl_matrix_stack API. All the unused cogl_current_matrix API is removed 11389 and the matrix utility code left in cogl-current-matrix.c was moved to 11390 cogl.c. 11391 11392 clutter/cogl/cogl/Makefile.am | 2 -- 11393 clutter/cogl/cogl/cogl-clip-stack.c | 15 +++++++----- 11394 clutter/cogl/cogl/cogl-context.c | 8 +++---- 11395 clutter/cogl/cogl/cogl-context.h | 4 ++-- 11396 clutter/cogl/cogl/cogl-current-matrix.h | 95 ---------------------------------------------------------------------------- 11397 clutter/cogl/cogl/cogl-internal.h | 14 +++++++++--- 11398 clutter/cogl/cogl/cogl-material.c | 2 ++ 11399 clutter/cogl/cogl/cogl-texture.c | 28 +++++++++++------------ 11400 clutter/cogl/cogl/cogl-util.c | 1 - 11401 clutter/cogl/cogl/cogl.c | 228 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------- 11402 clutter/cogl/cogl/driver/gl/cogl-fbo.c | 26 ++++++++------------- 11403 clutter/cogl/cogl/driver/gl/cogl-primitives.c | 24 ++++++-------------- 11404 clutter/cogl/cogl/driver/gles/cogl-fbo.c | 27 +++++++++------------- 11405 clutter/cogl/cogl/driver/gles/cogl-primitives.c | 24 ++++++-------------- 11406 doc/reference/cogl/Makefile.am | 1 - 11407 15 files changed, 271 insertions(+), 228 deletions(-) 11408 11409commit 9f7bf9fb4d234a25aba03266a286bc8c2d41f3fd 11410Author: Robert Bragg <robert@linux.intel.com> 11411Date: Wed Oct 14 10:53:48 2009 +0100 11412 11413 [matrix-stack] Adds ctx->flushed_matrix_mode to cache the gl matrix mode 11414 11415 This cache of the gl matrix mode lets us avoid repeat calls to glMatrixMode 11416 in _cogl_matrix_stack_flush_to_gl when we have lots of sequential modelview 11417 matrix modifications. 11418 11419 clutter/cogl/cogl/cogl-context.c | 1 + 11420 clutter/cogl/cogl/cogl-context.h | 1 + 11421 clutter/cogl/cogl/cogl-matrix-stack.c | 30 ++++++++++++++++++------------ 11422 3 files changed, 20 insertions(+), 12 deletions(-) 11423 11424commit b1f9f0a97d1abd4465ed7c7bed1da4ed366491ad 11425Author: Robert Bragg <robert@linux.intel.com> 11426Date: Tue Oct 6 12:36:32 2009 +0100 11427 11428 matrix-stack: more optimization for load_identity case 11429 11430 This goes a bit further than the previous patch, and as a special case 11431 we now simply represent identity matrices using a boolean, and only 11432 lazily initialize them when they need to be modified. 11433 11434 clutter/cogl/cogl/cogl-matrix-stack.c | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------- 11435 1 file changed, 71 insertions(+), 11 deletions(-) 11436 11437commit 460025d60348e3346cfd864b81d9867ea8474eee 11438Author: Robert Bragg <robert@linux.intel.com> 11439Date: Tue Oct 6 10:52:07 2009 +0100 11440 11441 [matrix-stack] avoid redundant clearing of matrix when using load_identity 11442 11443 The journal always uses an identity matrix since it uses software 11444 transformation. Currently it manually uses glLoadMatrix since previous 11445 experimentation showed that the cogl-matrix-stack gave bad performance, but 11446 it would be nice to fix performance so we only have to care about one path 11447 for loading matrices. 11448 11449 For the common case where we do: 11450 cogl_matrix_stack_push() 11451 cogl_matrix_stack_load_identity() 11452 we were effectively initializing the matrix 3 times. Once due to use of 11453 g_slice_new0, then we had a cogl_matrix_init_identity in 11454 _cogl_matrix_state_new for good measure, and then finally in 11455 cogl_matrix_stack_load_identity we did another cogl_matrix_init_identity. 11456 11457 We don't use g_slice_new0 anymore, _cogl_matrix_state_new is documented as 11458 not initializing the matrix (instead _cogl_matrix_stack_top_mutable now 11459 takes a boolean to choose if new stack entries should be initialised) and so 11460 we now only initialize once in cogl_matrix_stack_load_identity. 11461 11462 clutter/cogl/cogl/cogl-matrix-stack.c | 54 ++++++++++++++++++++++++++---------------------------- 11463 1 file changed, 26 insertions(+), 28 deletions(-) 11464 11465commit 2656b569b9911b8aa427a5a02c8b1f4095de6ed7 11466Author: Robert Bragg <robert@linux.intel.com> 11467Date: Tue Sep 29 02:58:27 2009 +0100 11468 11469 [current-matrix] Adds texture matrix stacks + removes GL matrix API usage 11470 11471 This relates back to an earlier commitment to stop using the OpenGL matrix 11472 API which is considered deprecated. (ref 54159f5a1d029db) 11473 11474 The new texture matrix stacks are hung from a list of (internal only) 11475 CoglTextureUnit structures which the CoglMaterial code internally references 11476 via _cogl_get_texure_unit (). 11477 11478 So we would be left with only the cogl-matrix-stack code being responsible 11479 for glMatrixMode, glLoadMatrix and glLoadIdentity this commit updates the 11480 journal code so it now uses the matrix-stack API instead of GL directly. 11481 11482 clutter/cogl/cogl/cogl-context.c | 4 ++++ 11483 clutter/cogl/cogl/cogl-context.h | 5 +++-- 11484 clutter/cogl/cogl/cogl-current-matrix.c | 236 +++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------- 11485 clutter/cogl/cogl/cogl-internal.h | 12 ++++++++++ 11486 clutter/cogl/cogl/cogl-journal.c | 33 ++++++++++++++++----------- 11487 clutter/cogl/cogl/cogl-material.c | 22 +++++++++++------- 11488 clutter/cogl/cogl/cogl-matrix-stack.c | 15 ++++++++++++- 11489 clutter/cogl/cogl/cogl.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++++ 11490 8 files changed, 174 insertions(+), 212 deletions(-) 11491 11492commit 473f7ee31ebd6d52126978ba4e155a3bebc4cac1 11493Author: Emmanuele Bassi <ebassi@linux.intel.com> 11494Date: Mon Oct 19 15:31:29 2009 +0100 11495 11496 text: Take pre-edit cursor position into account 11497 11498 When determining the cursor position we also need to take into account 11499 the pre-edit cursor position as set by the set_preedit_string() 11500 function. 11501 11502 clutter/clutter-text.c | 16 ++++++++++++++-- 11503 1 file changed, 14 insertions(+), 2 deletions(-) 11504 11505commit 23cd0b79254acd2b97467a62010244328e210a87 11506Author: Emmanuele Bassi <ebassi@gnome.org> 11507Date: Mon Oct 19 12:01:38 2009 +0100 11508 11509 docs: Documentation fixes 11510 11511 • Fix list_stages() and peek_stages() documentation 11512 11513 • Fix clutter_text_set_preedit_string() arguments in the header 11514 to match source and documentation 11515 11516 • Add clutter_units_cm() to the private section for Units 11517 11518 • Rename the LayoutManager section 11519 11520 • Add FlowLayout:homogeneous accessors 11521 11522 clutter/clutter-stage-manager.c | 4 ++-- 11523 clutter/clutter-text.h | 4 ++-- 11524 doc/reference/clutter/clutter-sections.txt | 9 ++++++--- 11525 3 files changed, 10 insertions(+), 7 deletions(-) 11526 11527commit ba25571c8e34593f99ba302edf381a0151c98bbb 11528Merge: 936779fd9 8ce8b9138 11529Author: Emmanuele Bassi <ebassi@gnome.org> 11530Date: Mon Oct 19 11:45:15 2009 +0100 11531 11532 Merge branch 'layout-manager' 11533 11534 * layout-manager: (50 commits) 11535 docs: Reword a link 11536 layout, docs: Add more documentation to LayoutManager 11537 layout, docs: Fix description of Bin properties 11538 layout, bin: Use ceilf() instead of casting to int 11539 layout, docs: Add long description for FlowLayout 11540 layout, box: Clean up 11541 layout, box: Write long description for Box 11542 layout, docs: Remove unused functions 11543 layout: Document BoxLayout 11544 layout: Add BoxLayout, a single line layout manager 11545 layout: Report the correct size of FlowLayout 11546 layout: Resizing the stage resizes the FlowLayout box 11547 layout: Use the get_request_mode() getter in BinLayout 11548 layout: Change the request-mode along with the orientation 11549 actor: Add set_request_mode() method 11550 [layout] Remove FlowLayout:wrap 11551 [layout] Rename BinLayout and FlowLayout interactive tests 11552 [layout] Skip invisible children in FlowLayout 11553 [layout] Clean up and document FlowLayout 11554 [layout] Snap children of FlowLayout to column/row 11555 ... 11556 11557commit 8ce8b91383390482efe56d982d945a384766ca8c 11558Author: Emmanuele Bassi <ebassi@gnome.org> 11559Date: Mon Oct 19 11:44:29 2009 +0100 11560 11561 docs: Reword a link 11562 11563 clutter/clutter-layout-manager.c | 3 ++- 11564 1 file changed, 2 insertions(+), 1 deletion(-) 11565 11566commit cd3c85f7ba9094a250ec03f0380428fadafef0df 11567Author: Emmanuele Bassi <ebassi@gnome.org> 11568Date: Mon Oct 19 11:00:23 2009 +0100 11569 11570 layout, docs: Add more documentation to LayoutManager 11571 11572 The layout manager reference should have some documentation on how 11573 to use a LayoutManager object inside a container and how to implement 11574 a LayoutManager sub-class correctly. 11575 11576 clutter/clutter-layout-manager.c | 41 +++++++++++++++++++++++++++++++++++++++++ 11577 1 file changed, 41 insertions(+) 11578 11579commit 936779fd96cc0d8d6713c5cb4c5dc9240cc04d97 11580Author: Emmanuele Bassi <ebassi@gnome.org> 11581Date: Sun Oct 18 17:49:00 2009 +0100 11582 11583 build: Add back QUIET_GEN to the GIR generation 11584 11585 clutter/Makefile.am | 2 +- 11586 1 file changed, 1 insertion(+), 1 deletion(-) 11587 11588commit bc8a7bd5b4c70247e4bc8cccc194c12e5b6a9a2f 11589Author: Emmanuele Bassi <ebassi@gnome.org> 11590Date: Sun Oct 18 17:15:04 2009 +0100 11591 11592 Update ignore file 11593 11594 .gitignore | 13 ++++++------- 11595 1 file changed, 6 insertions(+), 7 deletions(-) 11596 11597commit ab376d961fee066f809169f32946a32700ea0e53 11598Author: Emmanuele Bassi <ebassi@gnome.org> 11599Date: Sun Oct 18 17:12:12 2009 +0100 11600 11601 build: De-nest the JSON from the introspection rules 11602 11603 The JSON conditional rules can be moved outside the introspection 11604 conditional ones to avoid a nested check, as all the JSON rules do 11605 is setting up variables that may or may not be used. 11606 11607 clutter/Makefile.am | 26 ++++++++++++-------------- 11608 1 file changed, 12 insertions(+), 14 deletions(-) 11609 11610commit 5c162d904bbbbd5ae0f66885497dd0658d27e87f 11611Author: Emmanuele Bassi <ebassi@gnome.org> 11612Date: Sun Oct 18 17:11:42 2009 +0100 11613 11614 build: Use QUIET_GEN when building ClutterJson GIR 11615 11616 clutter/json/Makefile.am | 5 ++++- 11617 1 file changed, 4 insertions(+), 1 deletion(-) 11618 11619commit 8f11b3ca48fde34f5bc214f1ff122e5ed6298eac 11620Author: Emmanuele Bassi <ebassi@gnome.org> 11621Date: Sun Oct 18 17:00:24 2009 +0100 11622 11623 build: Fix up the GIR generation rules 11624 11625 The rules for generating Clutter's introspection data are 11626 still referencing the old COGL layout. 11627 11628 clutter/Makefile.am | 9 ++++++--- 11629 1 file changed, 6 insertions(+), 3 deletions(-) 11630 11631commit ad5c0af6399353ad49663954c6abd7305ecc9ad6 11632Author: Emmanuele Bassi <ebassi@gnome.org> 11633Date: Sat Oct 17 00:30:37 2009 +0100 11634 11635 build: Add CPPFLAGS for the g-ir-scanner command line 11636 11637 When I moved all CPP flags to AM_CPPFLAGS from the INCLUDES directive 11638 I forgot that g-ir-scanner needs those defines as well. 11639 11640 clutter/Makefile.am | 1 + 11641 1 file changed, 1 insertion(+) 11642 11643commit ef9ea9e2377f63e8bbf22f4829b8a51953a434ef 11644Author: Robert Bragg <robert@linux.intel.com> 11645Date: Wed Sep 16 14:01:57 2009 +0100 11646 11647 [cogl-primitives] Split the journal out from cogl-primitives.c 11648 11649 The Journal can be considered a standalone component, so even though 11650 it's currently only used to log quads, it seems better to split it 11651 out into its own file. 11652 11653 clutter/cogl/cogl/Makefile.am | 2 + 11654 clutter/cogl/cogl/cogl-context.c | 1 + 11655 clutter/cogl/cogl/cogl-journal-private.h | 57 +++++++++++++++ 11656 clutter/cogl/cogl/cogl-journal.c | 744 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 11657 clutter/cogl/cogl/cogl-primitives.c | 705 +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 11658 clutter/cogl/cogl/cogl-texture-private.h | 14 ---- 11659 6 files changed, 805 insertions(+), 718 deletions(-) 11660 11661commit 8790306629f8186bba7998b5567c2a45aafb87d9 11662Author: Robert Bragg <robert@linux.intel.com> 11663Date: Sun Sep 6 21:47:46 2009 +0100 11664 11665 [test-backface-culling] Check that inverted tex coords don't affect culling 11666 11667 The additional check draws another front facing rectangle but this time with 11668 the texture coords flipped on the x axis. The code that handles sliced 11669 textures in cogl-primitives.c makes some suspicious changes to the geometry 11670 when the texture coords are inverted. 11671 11672 tests/conform/test-backface-culling.c | 28 ++++++++++++++++++++-------- 11673 1 file changed, 20 insertions(+), 8 deletions(-) 11674 11675commit 2f628b1a8a405d2e4c08f2b2d125002ded0d8981 11676Author: Robert Bragg <robert@linux.intel.com> 11677Date: Wed Sep 23 15:11:55 2009 +0100 11678 11679 [cogl-spans] split out cogl-spans code from cogl-texture-2d-sliced 11680 11681 When we implement atlas textures we will probably want to use the spans API 11682 to handle texture repeating so it doesn't make sense to leave the code in 11683 cogl-texture-2d-sliced.c. Since it's a standalone set of data structures 11684 and algorithms it also seems reasonable to split out from cogl-texture. 11685 11686 clutter/cogl/cogl/Makefile.am | 2 ++ 11687 clutter/cogl/cogl/cogl-spans.c | 132 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 11688 clutter/cogl/cogl/cogl-spans.h | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 11689 clutter/cogl/cogl/cogl-texture-2d-sliced-private.h | 27 ------------------------- 11690 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 195 +++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------- 11691 5 files changed, 248 insertions(+), 178 deletions(-) 11692 11693commit 568d6841871bdfea5d49d2a8143a49a0a7664a7b 11694Author: Vladimir Nadvornik <nadvornik@suse.cz> 11695Date: Sun Aug 30 12:36:11 2009 +0200 11696 11697 [cogl-texture] Split CoglTexture into an abstract class + CoglTexture2dSliced 11698 11699 cogl-texture-2d-sliced provides an implementation of CoglTexture and this 11700 seperation lays the foundation for potentially supporting atlas textures, 11701 pixmap textures (as in GLX_EXT_texture_from_pixmap) and fast-path 11702 GL_TEXTURE_{1D,2D,3D,RECTANGLE} textures in a maintainable fashion. 11703 11704 clutter/cogl/cogl/Makefile.am | 2 + 11705 clutter/cogl/cogl/cogl-context.c | 2 + 11706 clutter/cogl/cogl/cogl-context.h | 2 + 11707 clutter/cogl/cogl/cogl-handle.h | 4 +- 11708 clutter/cogl/cogl/cogl-texture-2d-sliced-private.h | 191 ++++++++++++++++++ 11709 clutter/cogl/cogl/cogl-texture-2d-sliced.c | 1871 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 11710 clutter/cogl/cogl/cogl-texture-driver.h | 12 ++ 11711 clutter/cogl/cogl/cogl-texture-private.h | 80 +++----- 11712 clutter/cogl/cogl/cogl-texture.c | 1926 +++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------- 11713 clutter/cogl/cogl/driver/gl/cogl-texture-driver.c | 97 +-------- 11714 clutter/cogl/cogl/driver/gles/cogl-context-driver.c | 2 - 11715 clutter/cogl/cogl/driver/gles/cogl-context-driver.h | 2 - 11716 clutter/cogl/cogl/driver/gles/cogl-texture-driver.c | 217 +------------------- 11717 13 files changed, 2551 insertions(+), 1857 deletions(-) 11718 11719commit 9da26fc1ca820d12d325df400e6e02d7cd25423a 11720Author: Robert Bragg <robert@linux.intel.com> 11721Date: Wed Sep 16 11:56:17 2009 +0100 11722 11723 [cogl-texture] Seal CoglTexture internals from cogl-primitives.c 11724 11725 cogl-primitives.c was previously digging right into CoglTextures so it could 11726 manually iterate the texture slices for texturing quads and polygons and 11727 because we were missing some state getters we were lazily just poking into 11728 the structures directly. 11729 11730 This adds some extra state getter functions, and adds a higher level 11731 _cogl_texture_foreach_slice () API that hopefully simplifies the way in 11732 which sliced textures may be used to render primitives. This lets you 11733 specify a rectangle in "virtual" texture coords and it will call a given 11734 callback for each slice that intersects that rectangle giving the virtual 11735 coords of the current slice and corresponding "real" texture coordinates for 11736 the underlying gl texture. 11737 11738 At the same time a noteable bug in how we previously iterated sliced 11739 textures was fixed, whereby we weren't correctly handling inverted texture 11740 coordinates. E.g. with the previous code if you supplied texture coords of 11741 tx1=100,ty1=0,tx2=0,ty2=100 (inverted along y axis) that would result in a 11742 back-facing quad, which could be discarded if using back-face culling. 11743 11744 clutter/cogl/cogl/cogl-material.c | 9 +-- 11745 clutter/cogl/cogl/cogl-primitives.c | 736 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------- 11746 clutter/cogl/cogl/cogl-texture-private.h | 47 ++++++++----- 11747 clutter/cogl/cogl/cogl-texture.c | 239 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 11748 clutter/cogl/cogl/cogl-vertex-buffer.c | 6 +- 11749 clutter/cogl/cogl/driver/gl/cogl-fbo.c | 29 ++++---- 11750 clutter/cogl/cogl/driver/gles/cogl-fbo.c | 29 ++++---- 11751 7 files changed, 640 insertions(+), 455 deletions(-) 11752 11753commit 52cecd50ec87b617cc20dbc3ba4f843340fb5d63 11754Author: Robert Bragg <robert@linux.intel.com> 11755Date: Thu Jul 30 12:06:02 2009 +0100 11756 11757 [docs] switch gl_handle+gl_target docs for cogl_texture_new_from_foreign 11758 11759 The descriptions for gl_handle and gl_target were inverted. 11760 11761 Thanks to Young-Ho Cha for spotting that. 11762 11763 Signed-off-by: Robert Bragg <robert@linux.intel.com> 11764 11765 clutter/cogl/cogl/cogl-texture.h | 4 ++-- 11766 1 file changed, 2 insertions(+), 2 deletions(-) 11767 11768commit 95a869dab1b893f74c5b880e7be43e134eeb706f 11769Author: Robert Bragg <robert@linux.intel.com> 11770Date: Wed Jul 29 17:21:07 2009 +0100 11771 11772 [cogl] move clutter/pango to clutter/cogl/pango 11773 11774 As part of the re-organisation of Cogl; move clutter/pango to be part of the 11775 cogl sub-project. 11776 11777 clutter/Makefile.am | 22 +++++++++++----------- 11778 clutter/cogl/Makefile.am | 2 +- 11779 clutter/{ => cogl}/pango/Makefile.am | 0 11780 clutter/{ => cogl}/pango/cogl-pango-display-list.c | 0 11781 clutter/{ => cogl}/pango/cogl-pango-display-list.h | 0 11782 clutter/{ => cogl}/pango/cogl-pango-fontmap.c | 0 11783 clutter/{ => cogl}/pango/cogl-pango-glyph-cache.c | 0 11784 clutter/{ => cogl}/pango/cogl-pango-glyph-cache.h | 0 11785 clutter/{ => cogl}/pango/cogl-pango-private.h | 0 11786 clutter/{ => cogl}/pango/cogl-pango-render.c | 0 11787 clutter/{ => cogl}/pango/cogl-pango.h | 0 11788 configure.ac | 2 +- 11789 12 files changed, 13 insertions(+), 13 deletions(-) 11790 11791commit 43efab46bcf88c14cc429c6c7b659bdbc84f1f71 11792Author: Robert Bragg <robert@linux.intel.com> 11793Date: Tue Jul 28 02:02:02 2009 +0100 11794 11795 Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 11796 11797 As part of an incremental process to have Cogl be a standalone project we 11798 want to re-consider how we organise the Cogl source code. 11799 11800 Currently this is the structure I'm aiming for: 11801 cogl/ 11802 cogl/ 11803 <put common source here> 11804 winsys/ 11805 cogl-glx.c 11806 cogl-wgl.c 11807 driver/ 11808 gl/ 11809 gles/ 11810 os/ ? 11811 utils/ 11812 cogl-fixed 11813 cogl-matrix-stack? 11814 cogl-journal? 11815 cogl-primitives? 11816 pango/ 11817 11818 The new winsys component is a starting point for migrating window system 11819 code (i.e. x11,glx,wgl,osx,egl etc) from Clutter to Cogl. 11820 11821 The utils/ and pango/ directories aren't added by this commit, but they are 11822 noted because I plan to add them soon. 11823 11824 Overview of the planned structure: 11825 11826 * The winsys/ API is the API that binds OpenGL to a specific window system, 11827 be that X11 or win32 etc. Example are glx, wgl and egl. Much of the logic 11828 under clutter/{glx,osx,win32 etc} should migrate here. 11829 11830 * Note there is also the idea of a winsys-base that may represent a window 11831 system for which there are multiple winsys APIs. An example of this is 11832 x11, since glx and egl may both be used with x11. (currently only Clutter 11833 has the idea of a winsys-base) 11834 11835 * The driver/ represents a specific varient of OpenGL. Currently we have "gl" 11836 representing OpenGL 1.4-2.1 (mostly fixed function) and "gles" representing 11837 GLES 1.1 (fixed funciton) and 2.0 (fully shader based) 11838 11839 * Everything under cogl/ should fundamentally be supporting access to the 11840 GPU. Essentially Cogl's most basic requirement is to provide a nice GPU 11841 Graphics API and drawing a line between this and the utility functionality 11842 we add to support Clutter should help keep this lean and maintainable. 11843 11844 * Code under utils/ as suggested builds on cogl/ adding more convenient 11845 APIs or mechanism to optimize special cases. Broadly speaking you can 11846 compare cogl/ to OpenGL and utils/ to GLU. 11847 11848 * clutter/pango will be moved to clutter/cogl/pango 11849 11850 How some of the internal configure.ac/pkg-config terminology has changed: 11851 backendextra -> CLUTTER_WINSYS_BASE # e.g. "x11" 11852 backendextralib -> CLUTTER_WINSYS_BASE_LIB # e.g. "x11/libclutter-x11.la" 11853 clutterbackend -> {CLUTTER,COGL}_WINSYS # e.g. "glx" 11854 CLUTTER_FLAVOUR -> {CLUTTER,COGL}_WINSYS 11855 clutterbackendlib -> CLUTTER_WINSYS_LIB 11856 CLUTTER_COGL -> COGL_DRIVER # e.g. "gl" 11857 11858 Note: The CLUTTER_FLAVOUR and CLUTTER_COGL defines are kept for apps 11859 11860 As the first thing to take advantage of the new winsys component in Cogl; 11861 cogl_get_proc_address() has been moved from cogl/{gl,gles}/cogl.c into 11862 cogl/common/cogl.c and this common implementation first trys 11863 _cogl_winsys_get_proc_address() but if that fails then it falls back to 11864 gmodule. 11865 11866 Makefile.am | 8 +++----- 11867 clutter.pc.in | 10 ++++++---- 11868 clutter/Makefile.am | 38 +++++++++++++++++++------------------- 11869 clutter/cogl/Makefile.am | 89 +---------------------------------------------------------------------------------------- 11870 clutter/cogl/TODO | 25 ------------------------- 11871 clutter/cogl/cogl.pc.in | 15 --------------- 11872 clutter/cogl/cogl/Makefile.am | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 11873 clutter/cogl/{common => cogl}/cogl-bitmap-fallback.c | 0 11874 clutter/cogl/{common => cogl}/cogl-bitmap-pixbuf.c | 0 11875 clutter/cogl/{common => cogl}/cogl-bitmap-private.h | 0 11876 clutter/cogl/{common => cogl}/cogl-bitmap.c | 0 11877 clutter/cogl/{ => cogl}/cogl-bitmap.h | 0 11878 clutter/cogl/{common => cogl}/cogl-blend-string.c | 0 11879 clutter/cogl/{common => cogl}/cogl-blend-string.h | 0 11880 clutter/cogl/{common => cogl}/cogl-clip-stack.c | 0 11881 clutter/cogl/{common => cogl}/cogl-clip-stack.h | 0 11882 clutter/cogl/{common => cogl}/cogl-color.c | 0 11883 clutter/cogl/{ => cogl}/cogl-color.h | 0 11884 clutter/cogl/{common => cogl}/cogl-context.c | 0 11885 clutter/cogl/{common => cogl}/cogl-context.h | 0 11886 clutter/cogl/{common => cogl}/cogl-current-matrix.c | 0 11887 clutter/cogl/{common => cogl}/cogl-current-matrix.h | 0 11888 clutter/cogl/{common => cogl}/cogl-debug.c | 0 11889 clutter/cogl/{ => cogl}/cogl-debug.h | 0 11890 clutter/cogl/{ => cogl}/cogl-deprecated.h | 0 11891 clutter/cogl/{common => cogl}/cogl-enum-types.c.in | 0 11892 clutter/cogl/{common => cogl}/cogl-enum-types.h.in | 0 11893 clutter/cogl/{common => cogl}/cogl-fixed.c | 0 11894 clutter/cogl/{ => cogl}/cogl-fixed.h | 0 11895 clutter/cogl/{common => cogl}/cogl-handle.h | 0 11896 clutter/cogl/{common => cogl}/cogl-internal.h | 0 11897 clutter/cogl/{common => cogl}/cogl-material-private.h | 0 11898 clutter/cogl/{common => cogl}/cogl-material.c | 0 11899 clutter/cogl/{ => cogl}/cogl-material.h | 0 11900 clutter/cogl/{common => cogl}/cogl-matrix-stack.c | 0 11901 clutter/cogl/{common => cogl}/cogl-matrix-stack.h | 3 ++- 11902 clutter/cogl/{common => cogl}/cogl-matrix.c | 0 11903 clutter/cogl/{ => cogl}/cogl-matrix.h | 0 11904 clutter/cogl/{ => cogl}/cogl-offscreen.h | 0 11905 clutter/cogl/{ => cogl}/cogl-path.h | 0 11906 clutter/cogl/{common => cogl}/cogl-primitives.c | 0 11907 clutter/cogl/{common => cogl}/cogl-primitives.h | 6 +++--- 11908 clutter/cogl/{ => cogl}/cogl-shader.h | 0 11909 clutter/cogl/{common => cogl}/cogl-texture-driver.h | 0 11910 clutter/cogl/{common => cogl}/cogl-texture-private.h | 0 11911 clutter/cogl/{common => cogl}/cogl-texture.c | 0 11912 clutter/cogl/{ => cogl}/cogl-texture.h | 0 11913 clutter/cogl/{ => cogl}/cogl-types.h | 0 11914 clutter/cogl/{common => cogl}/cogl-util.c | 0 11915 clutter/cogl/{common => cogl}/cogl-util.h | 0 11916 clutter/cogl/{common => cogl}/cogl-vertex-buffer-private.h | 0 11917 clutter/cogl/{common => cogl}/cogl-vertex-buffer.c | 0 11918 clutter/cogl/{ => cogl}/cogl-vertex-buffer.h | 0 11919 clutter/cogl/{common => cogl}/cogl.c | 35 ++++++++++++++++++++++++++++------- 11920 clutter/cogl/{ => cogl}/cogl.h.in | 2 +- 11921 clutter/cogl/cogl/cogl.pc.in | 17 +++++++++++++++++ 11922 clutter/cogl/cogl/driver/Makefile.am | 7 +++++++ 11923 clutter/cogl/cogl/driver/gl/Makefile.am | 39 +++++++++++++++++++++++++++++++++++++++ 11924 clutter/cogl/{ => cogl/driver}/gl/cogl-context-driver.c | 0 11925 clutter/cogl/{ => cogl/driver}/gl/cogl-context-driver.h | 0 11926 clutter/cogl/{ => cogl/driver}/gl/cogl-defines.h.in | 0 11927 clutter/cogl/{ => cogl/driver}/gl/cogl-fbo.c | 0 11928 clutter/cogl/{ => cogl/driver}/gl/cogl-fbo.h | 0 11929 clutter/cogl/{ => cogl/driver}/gl/cogl-primitives.c | 0 11930 clutter/cogl/{ => cogl/driver}/gl/cogl-program.c | 0 11931 clutter/cogl/{ => cogl/driver}/gl/cogl-program.h | 0 11932 clutter/cogl/{ => cogl/driver}/gl/cogl-shader-private.h | 0 11933 clutter/cogl/{ => cogl/driver}/gl/cogl-shader.c | 0 11934 clutter/cogl/{ => cogl/driver}/gl/cogl-texture-driver.c | 0 11935 clutter/cogl/{ => cogl/driver}/gl/cogl.c | 72 ------------------------------------------------------------------------ 11936 clutter/cogl/cogl/driver/gles/Makefile.am | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 11937 clutter/cogl/{ => cogl/driver}/gles/cogl-context-driver.c | 0 11938 clutter/cogl/{ => cogl/driver}/gles/cogl-context-driver.h | 0 11939 clutter/cogl/{ => cogl/driver}/gles/cogl-defines.h.in | 0 11940 clutter/cogl/{ => cogl/driver}/gles/cogl-fbo.c | 0 11941 clutter/cogl/{ => cogl/driver}/gles/cogl-fbo.h | 0 11942 clutter/cogl/{ => cogl/driver}/gles/cogl-fixed-fragment-shader.glsl | 0 11943 clutter/cogl/{ => cogl/driver}/gles/cogl-fixed-vertex-shader.glsl | 0 11944 clutter/cogl/{ => cogl/driver}/gles/cogl-gles2-wrapper.c | 0 11945 clutter/cogl/{ => cogl/driver}/gles/cogl-gles2-wrapper.h | 0 11946 clutter/cogl/{ => cogl/driver}/gles/cogl-primitives.c | 0 11947 clutter/cogl/{ => cogl/driver}/gles/cogl-program.c | 0 11948 clutter/cogl/{ => cogl/driver}/gles/cogl-program.h | 0 11949 clutter/cogl/{ => cogl/driver}/gles/cogl-shader-private.h | 0 11950 clutter/cogl/{ => cogl/driver}/gles/cogl-shader.c | 0 11951 clutter/cogl/{ => cogl/driver}/gles/cogl-texture-driver.c | 0 11952 clutter/cogl/{ => cogl/driver}/gles/cogl-util.c | 0 11953 clutter/cogl/{ => cogl/driver}/gles/cogl-util.h | 0 11954 clutter/cogl/{ => cogl/driver}/gles/cogl.c | 10 ---------- 11955 clutter/cogl/{ => cogl/driver}/gles/stringify.sh | 0 11956 clutter/cogl/{common => cogl}/stb_image.c | 0 11957 clutter/cogl/cogl/winsys/Makefile.am | 43 +++++++++++++++++++++++++++++++++++++++++++ 11958 clutter/cogl/cogl/winsys/cogl-eglnative.c | 35 +++++++++++++++++++++++++++++++++++ 11959 clutter/cogl/cogl/winsys/cogl-eglx.c | 35 +++++++++++++++++++++++++++++++++++ 11960 clutter/cogl/cogl/winsys/cogl-fruity.c | 35 +++++++++++++++++++++++++++++++++++ 11961 clutter/cogl/cogl/winsys/cogl-glx.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 11962 clutter/cogl/cogl/winsys/cogl-osx.c | 35 +++++++++++++++++++++++++++++++++++ 11963 clutter/cogl/cogl/winsys/cogl-sdl.c | 35 +++++++++++++++++++++++++++++++++++ 11964 clutter/cogl/cogl/winsys/cogl-win32.c | 35 +++++++++++++++++++++++++++++++++++ 11965 clutter/cogl/cogl/winsys/cogl-winsys.h | 30 ++++++++++++++++++++++++++++++ 11966 clutter/cogl/common/Makefile.am | 96 ------------------------------------------------------------------------------------------------ 11967 clutter/eglnative/Makefile.am | 12 +++++++----- 11968 clutter/eglx/Makefile.am | 2 ++ 11969 clutter/fruity/Makefile.am | 8 +++++--- 11970 clutter/glx/Makefile.am | 2 ++ 11971 clutter/osx/Makefile.am | 6 ++++-- 11972 clutter/sdl/Makefile.am | 2 ++ 11973 clutter/win32/Makefile.am | 2 ++ 11974 clutter/win32/clutter-win32.pc.in | 8 +++++--- 11975 clutter/x11/Makefile.am | 2 ++ 11976 clutter/x11/clutter-x11.pc.in | 10 ++++++---- 11977 configure.ac | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------- 11978 doc/reference/clutter/Makefile.am | 6 +++--- 11979 doc/reference/cogl/Makefile.am | 11 +++++------ 11980 tests/conform/Makefile.am | 4 +++- 11981 tests/interactive/Makefile.am | 4 +++- 11982 tests/micro-bench/Makefile.am | 9 +++++++-- 11983 tests/tools/Makefile.am | 2 ++ 11984 118 files changed, 834 insertions(+), 431 deletions(-) 11985 11986commit 2eea83de75cec3dbc334feecd004a180a7f5b1e5 11987Author: Robert Bragg <robert@linux.intel.com> 11988Date: Tue Jul 28 01:34:33 2009 +0100 11989 11990 Make the CoglContext structure a bit more maintainable 11991 11992 This moves most of cogl-context.{c.h} to cogl/common with some driver 11993 specific members now living in a CoglContextDriver struct. Driver specific 11994 context initialization and typedefs now live in 11995 cogl/{gl,gles}/cogl-context-driver.{c,h} 11996 11997 Driver specific members can be found under ctx->drv.stuff 11998 11999 clutter/cogl/common/Makefile.am | 2 ++ 12000 clutter/cogl/common/cogl-blend-string.c | 2 +- 12001 clutter/cogl/{gles => common}/cogl-context.c | 45 +++++++++++++++--------------- 12002 clutter/cogl/{gles => common}/cogl-context.h | 23 ++++++---------- 12003 clutter/cogl/common/cogl-material.c | 14 +++++----- 12004 clutter/cogl/common/cogl-primitives.c | 12 ++++---- 12005 clutter/cogl/common/cogl-vertex-buffer.c | 26 +++++++++--------- 12006 clutter/cogl/common/cogl.c | 2 +- 12007 clutter/cogl/gl/Makefile.am | 2 +- 12008 clutter/cogl/gl/cogl-context-driver.c | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 12009 clutter/cogl/gl/{cogl-context.h => cogl-context-driver.h} | 106 ++++------------------------------------------------------------------- 12010 clutter/cogl/gl/cogl-context.c | 259 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 12011 clutter/cogl/gl/cogl-fbo.c | 24 ++++++++-------- 12012 clutter/cogl/gl/cogl-primitives.c | 2 +- 12013 clutter/cogl/gl/cogl-program.c | 50 +++++++++++++++++----------------- 12014 clutter/cogl/gl/cogl-shader.c | 12 ++++---- 12015 clutter/cogl/gl/cogl-texture-driver.c | 2 +- 12016 clutter/cogl/gl/cogl.c | 224 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------- 12017 clutter/cogl/gles/Makefile.am | 2 +- 12018 clutter/cogl/gles/cogl-context-driver.c | 41 ++++++++++++++++++++++++++++ 12019 clutter/cogl/gles/cogl-context-driver.h | 44 ++++++++++++++++++++++++++++++ 12020 clutter/cogl/gles/cogl-fbo.c | 8 ++++-- 12021 clutter/cogl/gles/cogl-gles2-wrapper.c | 2 +- 12022 clutter/cogl/gles/cogl-program.c | 16 +++++------ 12023 clutter/cogl/gles/cogl-texture-driver.c | 14 +++++----- 12024 25 files changed, 417 insertions(+), 601 deletions(-) 12025 12026commit 157eb437bac38d7a61991f47bd943cb9f6d84ad7 12027Author: Robert Bragg <robert@linux.intel.com> 12028Date: Tue Jul 28 00:37:11 2009 +0100 12029 12030 Improve cogl-texture maintainability by moving 90% into cogl/common 12031 12032 This splits the limited components that differed between 12033 cogl/{gl,gles}/cogl-texture.c into new {gl,gles}/cogl-texture-driver.c files 12034 and the rest that can now be shared into cogl/common/cogl-texture.c 12035 12036 clutter/cogl/common/Makefile.am | 3 + 12037 clutter/cogl/common/cogl-internal.h | 1 + 12038 clutter/cogl/common/cogl-texture-driver.h | 157 ++++++++++++++ 12039 clutter/cogl/{gl => common}/cogl-texture-private.h | 12 +- 12040 clutter/cogl/{gl => common}/cogl-texture.c | 474 +++++++---------------------------------- 12041 clutter/cogl/gl/Makefile.am | 3 +- 12042 clutter/cogl/gl/cogl-texture-driver.c | 454 ++++++++++++++++++++++++++++++++++++++++ 12043 clutter/cogl/gles/Makefile.am | 3 +- 12044 clutter/cogl/gles/cogl-gles2-wrapper.h | 1 + 12045 clutter/cogl/gles/cogl-texture-driver.c | 481 ++++++++++++++++++++++++++++++++++++++++++ 12046 clutter/cogl/gles/cogl-texture-private.h | 144 ------------- 12047 clutter/cogl/gles/cogl-texture.c | 2066 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 12048 12 files changed, 1188 insertions(+), 2611 deletions(-) 12049 12050commit fe01ec6323967614c6404bc193503adb5bda1624 12051Author: Robert Bragg <robert@linux.intel.com> 12052Date: Thu Aug 20 11:54:41 2009 +0100 12053 12054 [stage-egl] support fallbacks in clutter_stage_egl_realize 12055 12056 Most of clutter_stage_egl_realize was renamed to 12057 _clutter_stage_egl_try_realize which now takes a cookie indicating which 12058 fallback number should tried next. clutter_stage_egl_realize now keeps 12059 trying to realize with successive fallback numbers until it succeeds or runs 12060 out of fallbacks. 12061 12062 The only fallback supported for now is for hardware with no stencil buffer 12063 support. 12064 12065 clutter/eglx/clutter-stage-egl.c | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------ 12066 1 file changed, 82 insertions(+), 30 deletions(-) 12067 12068commit 3187e1964279b3fb93703fe6c67df5b6025729c9 12069Author: Robert Bragg <robert@linux.intel.com> 12070Date: Mon Aug 3 14:50:10 2009 +0100 12071 12072 [x11 backend] remove data duplicated between backends and stages 12073 12074 Make backends the canonical point of reference for the xdisplay, the xscreen 12075 number, the x root window and the xvisinfo for creating foreign stages. 12076 12077 clutter/eglx/clutter-backend-egl.c | 10 +++------- 12078 clutter/eglx/clutter-stage-egl.c | 18 ++++++++++-------- 12079 clutter/glx/clutter-backend-glx.c | 59 ++++++++++++++++++++++++++++++++++------------------------- 12080 clutter/glx/clutter-backend-glx.h | 6 ++++++ 12081 clutter/glx/clutter-stage-glx.c | 58 +++++++++++++++++++++++++++++++--------------------------- 12082 clutter/x11/clutter-backend-x11.c | 1 + 12083 clutter/x11/clutter-backend-x11.h | 5 +++++ 12084 clutter/x11/clutter-stage-x11.c | 177 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------- 12085 clutter/x11/clutter-stage-x11.h | 8 +------- 12086 9 files changed, 200 insertions(+), 142 deletions(-) 12087 12088commit 63414ab233522b0da8462b32c4e36e74be891475 12089Author: Robert Bragg <robert@linux.intel.com> 12090Date: Fri Jul 31 20:39:28 2009 +0100 12091 12092 [glx backend] white space fixes 12093 12094 Simply removes lots of trailing white spaces 12095 12096 clutter/glx/clutter-backend-glx.c | 40 ++++++++++++++++++++-------------------- 12097 1 file changed, 20 insertions(+), 20 deletions(-) 12098 12099commit 45a668bef855b8564236a3153bf07e1ea0148d16 12100Author: Robert Bragg <robert@linux.intel.com> 12101Date: Fri Jul 31 17:07:10 2009 +0100 12102 12103 [glx backend] use FBConfigs instead of Visuals for GL context creation 12104 12105 This replaces calls to the old (glx 1.2) functions glXChooseVisual, 12106 glXCreateContext, glXMakeCurrent with the 1.3+ fbconfig varients 12107 glXChooseFBConfig, glXCreateNewContext, glXMakeContextCurrent. 12108 12109 clutter/glx/clutter-backend-glx.c | 122 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------- 12110 1 file changed, 75 insertions(+), 47 deletions(-) 12111 12112commit 15d7a86621f3fc80d3d50e7f5a3a141412163e7f 12113Author: Robert Bragg <robert@linux.intel.com> 12114Date: Fri Jul 31 18:34:51 2009 +0100 12115 12116 [backends] Remove the idea of offscreen stages from all backends 12117 12118 The only backend that tried to implement offscreen stages was the GLX backend 12119 and even this has apparently be broken for some time without anyone noticing. 12120 12121 The property still remains and since the property already clearly states that 12122 it may not work I don't expect anyone to notice. 12123 12124 This simplifies quite a bit of the GLX code which is very desireable from the 12125 POV that we want to start migrating window system code down to Cogl and the 12126 simpler the code is the more straight forward this work will be. 12127 12128 In the future when Cogl has a nicely designed API for framebuffer objects then 12129 re-implementing offscreen stages cleanly for *all* backends should be quite 12130 straightforward. 12131 12132 clutter/clutter-backend.c | 3 +- 12133 clutter/clutter-backend.h | 1 - 12134 clutter/clutter-private.h | 1 - 12135 clutter/clutter-stage.c | 33 ++------------------- 12136 clutter/eglnative/clutter-stage-egl.c | 217 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------ 12137 clutter/eglx/clutter-backend-egl.c | 3 +- 12138 clutter/eglx/clutter-stage-egl.c | 307 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------- 12139 clutter/fruity/clutter-stage-fruity.c | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------- 12140 clutter/glx/clutter-backend-glx.c | 59 ++++++++++--------------------------- 12141 clutter/glx/clutter-stage-glx.c | 224 ++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------- 12142 clutter/osx/clutter-stage-osx.c | 10 ------- 12143 clutter/sdl/clutter-stage-sdl.c | 39 +++++++++---------------- 12144 clutter/x11/clutter-backend-x11.c | 5 ++-- 12145 clutter/x11/clutter-backend-x11.h | 8 ++---- 12146 clutter/x11/clutter-stage-x11.c | 5 +--- 12147 15 files changed, 435 insertions(+), 655 deletions(-) 12148 12149commit 35f11d863c4ac66136df9846c898ed88ff8ffb34 12150Author: Robert Bragg <robert@linux.intel.com> 12151Date: Fri Oct 16 17:15:47 2009 +0100 12152 12153 [build] more Makefile.am.{enums,marshal} fixes for out of tree builds 12154 12155 for the marshal files $(srcdir) was getting prefixed twice since my last 12156 commit (2cc88f1140) since it was already being prefixed including 12157 Makefile.am. The problem with prefixing it in the includer file though is 12158 that the Make variable substitutions like :.list=.h mean we end up 12159 generating into the $(srcdir). This removes the prefix added in 12160 clutter/Makefile.am 12161 12162 We were also missing a $(srcdir) prefix when setting EXTRA_DIST 12163 12164 build/autotools/Makefile.am.enums | 2 +- 12165 build/autotools/Makefile.am.marshal | 3 ++- 12166 clutter/Makefile.am | 2 +- 12167 3 files changed, 4 insertions(+), 3 deletions(-) 12168 12169commit f1acc91f3704bfff45652aea4f14355485f34df0 12170Author: Emmanuele Bassi <ebassi@gnome.org> 12171Date: Fri Oct 16 15:57:21 2009 +0100 12172 12173 Simple coding style fix for commit c5551184 12174 12175 clutter/clutter-interval.c | 2 ++ 12176 1 file changed, 2 insertions(+) 12177 12178commit a9d2c0f6903fff5a5b445265040f8bb689c10750 12179Merge: b5adbf89b 70c812845 12180Author: Emmanuele Bassi <ebassi@gnome.org> 12181Date: Fri Oct 16 15:55:05 2009 +0100 12182 12183 Merge branch 'bug-1846' 12184 12185 * bug-1846: 12186 Fix warning message in the ParamSpec validation 12187 12188commit b5adbf89b851baa9fb833b00ad6137cc5e6547cb 12189Merge: ee9f8c3bd c5551184b 12190Author: Emmanuele Bassi <ebassi@gnome.org> 12191Date: Fri Oct 16 15:55:04 2009 +0100 12192 12193 Merge branch 'bug-1845' 12194 12195 * bug-1845: 12196 Add a warning when ClutterInterval can't compute progress 12197 12198commit 70c8128457d49bf9dde0838470f1b4b363f9aafb 12199Author: Damien Lespiau <damien.lespiau@intel.com> 12200Date: Mon Oct 12 17:05:05 2009 +0100 12201 12202 Fix warning message in the ParamSpec validation 12203 12204 When validating a new GValue against the ClutterParamSpecUnits, we issue 12205 a warning when the units do not match with both the new value and the 12206 unit we expect to have. Unfortunately we were printing the unit of the 12207 new value twice and not the unit of the ParamSpec. 12208 12209 http://bugzilla.openedhand.com/show_bug.cgi?id=1846 12210 12211 clutter/clutter-units.c | 2 +- 12212 1 file changed, 1 insertion(+), 1 deletion(-) 12213 12214commit c5551184b0337ea8a990b14e52eb15e855a27ca9 12215Author: Damien Lespiau <damien.lespiau@intel.com> 12216Date: Mon Oct 12 16:45:39 2009 +0100 12217 12218 Add a warning when ClutterInterval can't compute progress 12219 12220 This is really useful when trying to animate GTypes that haven't 12221 registered any progress function. Instead of silently not working it 12222 will warn the developer. 12223 12224 http://bugzilla.openedhand.com/show_bug.cgi?id=1845 12225 12226 clutter/clutter-interval.c | 9 +++++++++ 12227 1 file changed, 9 insertions(+) 12228 12229commit ee9f8c3bdf9672e0d79598eed8f73569190888dc 12230Author: Damien Lespiau <damien.lespiau@intel.com> 12231Date: Mon Oct 12 16:28:10 2009 +0100 12232 12233 Add ClutterInterval integration 12234 12235 To be able to animate CLUTTER_TYPE_UNITS properties we need to register 12236 the GType and its progress function against the ClutterInterval code. 12237 12238 The two ClutterUnits defining the interval can use different units, the 12239 resulting unit will always be in pixels, so calculating a progress 12240 between 10px and 4cm is valid. 12241 12242 http://bugzilla.openedhand.com/show_bug.cgi?id=1844 12243 12244 clutter/clutter-units.c | 29 +++++++++++++++++++++++++++++ 12245 1 file changed, 29 insertions(+) 12246 12247commit 83b4ec7a12ea279b59a80f6008e1bece25de3a8c 12248Author: Emmanuele Bassi <ebassi@gnome.org> 12249Date: Fri Oct 16 15:25:37 2009 +0100 12250 12251 units: Cache the pixels value inside Units 12252 12253 When computing the pixels value of a ClutterUnits value we should 12254 be caching the value to avoid recomputing for every call of 12255 clutter_units_to_pixels(). We already have a flag telling us to 12256 return the cached value, but we miss the mechanism to evict the 12257 cache whenever the Backend settings affecting the conversion, that 12258 is default font and resolution, change. 12259 12260 In order to implement the eviction we can use a "serial"; the 12261 Backend will have an internal serial field which we retrieve and 12262 put inside the ClutterUnits structure (we split one of the two 12263 64 bit padding fields into two 32 bit fields to maintain ABI); every 12264 time we call clutter_units_to_pixels() we compare the units serial 12265 with that of the Backend; if they match and pixels_set is set to 12266 TRUE then we just return the stored pixels value. If the serials 12267 do not match then we unset the pixels_set flag and recompute the 12268 pixels value. 12269 12270 We can verify this by adding a simple test unit checking that 12271 by changing the resolution of ClutterBackend we get different 12272 pixel values for 1 em. 12273 12274 http://bugzilla.openedhand.com/show_bug.cgi?id=1843 12275 12276 .gitignore | 1 + 12277 clutter/clutter-backend.c | 21 +++++++++++++++++++-- 12278 clutter/clutter-private.h | 2 ++ 12279 clutter/clutter-units.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ 12280 clutter/clutter-units.h | 9 ++++++++- 12281 tests/conform/test-clutter-units.c | 23 +++++++++++++++++++++++ 12282 tests/conform/test-conform-main.c | 1 + 12283 7 files changed, 99 insertions(+), 3 deletions(-) 12284 12285commit 2ff31dfbaaad3056265b05efe57eac63f8e3ce61 12286Author: Emmanuele Bassi <ebassi@gnome.org> 12287Date: Fri Oct 16 14:22:15 2009 +0100 12288 12289 text: Notify :position when it changes 12290 12291 The :position property is not notified when changed. 12292 12293 http://bugzilla.openedhand.com/show_bug.cgi?id=1830 12294 12295 clutter/clutter-text.c | 15 +++++++++++++++ 12296 1 file changed, 15 insertions(+) 12297 12298commit bc424fb56c3a75a822b22c0e5b284b5775f76abe 12299Author: Emmanuele Bassi <ebassi@linux.intel.com> 12300Date: Sat Sep 19 09:19:06 2009 +0100 12301 12302 [text] NULL-ify strings to avoid double-frees 12303 12304 clutter/clutter-text.c | 1 + 12305 1 file changed, 1 insertion(+) 12306 12307commit 6f43f4b805387e0cac054d7b002634da3b00b106 12308Author: Emmanuele Bassi <ebassi@linux.intel.com> 12309Date: Sat Sep 19 09:18:06 2009 +0100 12310 12311 [text] Do not apply unset preedit attributes 12312 12313 The pre-edit attributes are optional and thus should only be applied 12314 if they have been set to avoid assertion failures. 12315 12316 clutter/clutter-text.c | 11 +++++++---- 12317 1 file changed, 7 insertions(+), 4 deletions(-) 12318 12319commit 28837283877c11f26565d79e6bcd4b171203a9b0 12320Author: Emmanuele Bassi <ebassi@linux.intel.com> 12321Date: Wed Sep 9 12:15:23 2009 +0100 12322 12323 [text] Add pre-edit string to ClutterText 12324 12325 Input Methods require to be able to set a "pre-edit string", that is 12326 a string that it's just displayed into the Text actor without being 12327 committed to the actor's buffer. The string might require custom Pango 12328 attributes, and an update of the cursor position. 12329 12330 clutter/clutter-text.c | 193 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------- 12331 clutter/clutter-text.h | 5 +++++ 12332 doc/reference/clutter/clutter-sections.txt | 1 + 12333 tests/interactive/test-text-field.c | 179 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 12334 4 files changed, 346 insertions(+), 32 deletions(-) 12335 12336commit 2cc88f1140ffa774371b877d723dfaf9e33a6ce5 12337Author: Robert Bragg <robert@linux.intel.com> 12338Date: Thu Oct 15 19:12:34 2009 +0100 12339 12340 [build] fix Makefile.am.{enums,marshal} to support out of tree builds 12341 12342 Out of tree builds were broken in commit 46b736f42e1165 since we didn't 12343 explicitly use $(srcdir) to find the input files for glib-mkenums and 12344 glib-genmarshal. 12345 12346 build/autotools/Makefile.am.enums | 4 ++-- 12347 build/autotools/Makefile.am.marshal | 4 ++-- 12348 2 files changed, 4 insertions(+), 4 deletions(-) 12349 12350commit 87f0b94df7524400b233cd1acca871fa6f8f0a02 12351Author: Emmanuele Bassi <ebassi@gnome.org> 12352Date: Thu Oct 15 14:20:44 2009 +0100 12353 12354 layout, docs: Fix description of Bin properties 12355 12356 The BinLayer and BinLayout properties name and blurb for introspection 12357 should be slightly more descriptive. 12358 12359 clutter/clutter-bin-layout.c | 12 ++++++------ 12360 1 file changed, 6 insertions(+), 6 deletions(-) 12361 12362commit 852abbb138898467fb6497508e99fb1a92203c78 12363Author: Emmanuele Bassi <ebassi@gnome.org> 12364Date: Thu Oct 15 14:12:37 2009 +0100 12365 12366 layout, bin: Use ceilf() instead of casting to int 12367 12368 Casting a float to int to truncate it before assigning the value 12369 to a float again is wrong. We should use ceilf() instead which 12370 does what we want to achieve (rounding up the size to avoid 12371 sub-pixel positioning of children). 12372 12373 clutter/clutter-bin-layout.c | 26 ++++++++++++++------------ 12374 1 file changed, 14 insertions(+), 12 deletions(-) 12375 12376commit 308c930f37c7c00eb6791d53fced7d1c2ac9600e 12377Author: Emmanuele Bassi <ebassi@gnome.org> 12378Date: Thu Oct 15 14:11:36 2009 +0100 12379 12380 layout, docs: Add long description for FlowLayout 12381 12382 Add the full description of the layout policy 12383 12384 clutter/clutter-flow-layout.c | 16 ++++++++++++++++ 12385 1 file changed, 16 insertions(+) 12386 12387commit 4d153e4507fdd8fc135998f771e1826a9b02e658 12388Author: Emmanuele Bassi <ebassi@gnome.org> 12389Date: Thu Oct 15 12:15:49 2009 +0100 12390 12391 layout, box: Clean up 12392 12393 * Use g_list_foreach() instead of iterating over the list inside 12394 the destruction sequence, since we are causing the widgets to be 12395 implicitly removed from the list via the destroy() call. 12396 12397 * Use g_signal_connect_swapped() and spare us from a callback. 12398 12399 clutter/clutter-box.c | 20 ++++++-------------- 12400 1 file changed, 6 insertions(+), 14 deletions(-) 12401 12402commit adca939101e3a25309c29e6a263c1c7ac7b0d877 12403Author: Emmanuele Bassi <ebassi@gnome.org> 12404Date: Thu Oct 15 12:04:50 2009 +0100 12405 12406 layout, box: Write long description for Box 12407 12408 Also have an example of how to create a Box with a layout manager 12409 and how to use the pack() method. 12410 12411 clutter/clutter-box.c | 45 ++++++++++++++++++++++++++++++++++++++++++++- 12412 1 file changed, 44 insertions(+), 1 deletion(-) 12413 12414commit 9f06f726d409d0ac948179b9771350147c5e699b 12415Author: Emmanuele Bassi <ebassi@linux.intel.com> 12416Date: Tue Oct 13 16:52:57 2009 +0100 12417 12418 layout, docs: Remove unused functions 12419 12420 The :wrap property and its accessor functions were removed from 12421 ClutterFlowLayout. 12422 12423 doc/reference/clutter/clutter-sections.txt | 2 -- 12424 1 file changed, 2 deletions(-) 12425 12426commit cd3dce1d5d957046934062780d21558e182ceb1a 12427Author: Emmanuele Bassi <ebassi@linux.intel.com> 12428Date: Tue Oct 13 12:15:25 2009 +0100 12429 12430 layout: Document BoxLayout 12431 12432 Add BoxLayout to the API reference. 12433 12434 doc/reference/clutter/clutter-docs.xml.in | 1 + 12435 doc/reference/clutter/clutter-sections.txt | 38 ++++++++++++++++++++++++++++++++++++++ 12436 doc/reference/clutter/clutter.types | 1 + 12437 3 files changed, 40 insertions(+) 12438 12439commit b526b765931bcf4e44feac4ab1b72763eb68f264 12440Author: Emmanuele Bassi <ebassi@linux.intel.com> 12441Date: Tue Oct 13 12:14:05 2009 +0100 12442 12443 layout: Add BoxLayout, a single line layout manager 12444 12445 The BoxLayout layout manager implements a layout policy for arranging 12446 children on a single line, either alongside the X axis or alongside the 12447 Y axis. 12448 12449 .gitignore | 1 + 12450 clutter/Makefile.am | 2 + 12451 clutter/clutter-box-layout.c | 1496 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 12452 clutter/clutter-box-layout.h | 143 +++++++++++++++++++ 12453 clutter/clutter.h | 1 + 12454 tests/interactive/Makefile.am | 3 +- 12455 tests/interactive/test-box-layout.c | 207 +++++++++++++++++++++++++++ 12456 7 files changed, 1852 insertions(+), 1 deletion(-) 12457 12458commit c4b2d4ce797b5ac4c61865d4249badcfb85657f0 12459Author: Emmanuele Bassi <ebassi@gnome.org> 12460Date: Thu Oct 8 15:45:29 2009 +0100 12461 12462 layout: Report the correct size of FlowLayout 12463 12464 FlowLayout should compute the correct height for the assigned width when 12465 in horizontal flow, and the correct width for the assigned height when 12466 in vertical flow. This means pre-computing the number of lines inside 12467 the get_preferred_width() and get_preferred_height(). We can then cache 12468 the computed column width and row height, cache them inside the layout 12469 and then use them when allocating the children. 12470 12471 clutter/clutter-flow-layout.c | 457 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------- 12472 tests/interactive/test-flow-layout.c | 4 +- 12473 2 files changed, 369 insertions(+), 92 deletions(-) 12474 12475commit 6f19666b13ac9bde44996620df714484dbe4bd67 12476Author: Emmanuele Bassi <ebassi@gnome.org> 12477Date: Wed Oct 7 15:30:29 2009 +0100 12478 12479 layout: Resizing the stage resizes the FlowLayout box 12480 12481 Add some user interaction to verify the dynamic reflowing. 12482 12483 tests/interactive/test-flow-layout.c | 21 +++++++++++++++++++++ 12484 1 file changed, 21 insertions(+) 12485 12486commit 0876575a9549acd54fbc3c70b4e7178e9e4e1e65 12487Author: Emmanuele Bassi <ebassi@gnome.org> 12488Date: Wed Oct 7 15:29:47 2009 +0100 12489 12490 layout: Use the get_request_mode() getter in BinLayout 12491 12492 Instead of using g_object_get(child, "request-mode", ...). 12493 12494 clutter/clutter-bin-layout.c | 3 +-- 12495 1 file changed, 1 insertion(+), 2 deletions(-) 12496 12497commit eb40e856e1a687c27d047ee6069b6ec84e1e1237 12498Author: Emmanuele Bassi <ebassi@gnome.org> 12499Date: Wed Oct 7 15:28:01 2009 +0100 12500 12501 layout: Change the request-mode along with the orientation 12502 12503 When changing the orientation of a FlowLayout, the associated 12504 container should also change its request mode. A horizontally 12505 flowing layout has a height depending on the width, since it 12506 will reflow vertically; similarly, a vertically reflowing layout 12507 will have a width depending on the height. 12508 12509 clutter/clutter-flow-layout.c | 30 ++++++++++++++++++++++++++++-- 12510 1 file changed, 28 insertions(+), 2 deletions(-) 12511 12512commit b5895335ab2d6975665426693fb1b96d7ca86f74 12513Author: Emmanuele Bassi <ebassi@gnome.org> 12514Date: Wed Oct 7 15:15:02 2009 +0100 12515 12516 actor: Add set_request_mode() method 12517 12518 We should not require the use g_object_set()/_get() for accessing 12519 the :request-mode property. A proper accessors pair should be 12520 preferred. 12521 12522 clutter/clutter-actor.c | 48 +++++++++++++++++++++++++++++++++++++++++------- 12523 clutter/clutter-actor.h | 3 +++ 12524 doc/reference/clutter/clutter-sections.txt | 2 ++ 12525 3 files changed, 46 insertions(+), 7 deletions(-) 12526 12527commit 19317520b57461b505751411cf9d9f39bbf12ad5 12528Author: Emmanuele Bassi <ebassi@gnome.org> 12529Date: Wed Oct 7 12:35:39 2009 +0100 12530 12531 [layout] Remove FlowLayout:wrap 12532 12533 The :wrap property is not implemented, and mostly useless: the 12534 FlowLayout is a reflowing grid. This means that if it receives 12535 less than the preferred width or height in the flow direction 12536 then it should always reflow. 12537 12538 clutter/clutter-flow-layout.c | 107 ++++++++--------------------------------------------------------------------------------------------------- 12539 clutter/clutter-flow-layout.h | 3 --- 12540 2 files changed, 8 insertions(+), 102 deletions(-) 12541 12542commit 6d954ec0742bad823c8c474873a21ab990a56c7f 12543Author: Emmanuele Bassi <ebassi@gnome.org> 12544Date: Wed Oct 7 11:42:09 2009 +0100 12545 12546 [layout] Rename BinLayout and FlowLayout interactive tests 12547 12548 The BinLayout and FlowLayout interactive tests should be named more 12549 explicitly. 12550 12551 .gitignore | 4 ++-- 12552 tests/interactive/Makefile.am | 4 ++-- 12553 tests/interactive/{test-box.c => test-bin-layout.c} | 2 +- 12554 tests/interactive/{test-flow.c => test-flow-layout.c} | 2 +- 12555 4 files changed, 6 insertions(+), 6 deletions(-) 12556 12557commit 4ea57bc685abeea9273b2b8427a9199980cc2f40 12558Author: Emmanuele Bassi <ebassi@gnome.org> 12559Date: Wed Oct 7 11:39:18 2009 +0100 12560 12561 [layout] Skip invisible children in FlowLayout 12562 12563 Skip hidden actors when computing the preferred size and when 12564 allocating. 12565 12566 clutter/clutter-flow-layout.c | 9 +++++++++ 12567 1 file changed, 9 insertions(+) 12568 12569commit b1bae4d66afc8420209f72dabcbf2fe81b461ff3 12570Author: Emmanuele Bassi <ebassi@gnome.org> 12571Date: Wed Oct 7 11:08:51 2009 +0100 12572 12573 [layout] Clean up and document FlowLayout 12574 12575 clutter/clutter-flow-layout.c | 177 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------- 12576 1 file changed, 168 insertions(+), 9 deletions(-) 12577 12578commit db3ef971705485b1000def688635daaac99f79cd 12579Author: Emmanuele Bassi <ebassi@gnome.org> 12580Date: Tue Oct 6 17:30:49 2009 +0100 12581 12582 [layout] Snap children of FlowLayout to column/row 12583 12584 Use the column and row size to align each child; with :homogeneous 12585 set to TRUE, or with children with the same size, the FlowLayout 12586 will behave like a reflowing grid. 12587 12588 clutter/clutter-flow-layout.c | 14 ++++++++++---- 12589 1 file changed, 10 insertions(+), 4 deletions(-) 12590 12591commit e5a074fd9e487444db9114c2970a4d83c1661c7f 12592Author: Emmanuele Bassi <ebassi@gnome.org> 12593Date: Tue Oct 6 16:17:16 2009 +0100 12594 12595 [layout] Add :homogeneous to FlowLayout 12596 12597 clutter/clutter-flow-layout.c | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------ 12598 clutter/clutter-flow-layout.h | 3 +++ 12599 tests/interactive/test-flow.c | 37 ++++++++++++++++++++++++++++++++++--- 12600 3 files changed, 115 insertions(+), 15 deletions(-) 12601 12602commit 5737cf869f162f5539ae00f86db7923502c38dab 12603Author: Emmanuele Bassi <ebassi@linux.intel.com> 12604Date: Fri Sep 18 17:28:02 2009 +0100 12605 12606 [layout] Initial implementation of FlowLayout 12607 12608 FlowLayout is a layout manager that arranges its children in a 12609 reflowing line; the orientation controls the major axis for the 12610 layout: horizontal, for reflow on the Y axis, and vertical, for 12611 reflow on the X axis. 12612 12613 .gitignore | 1 + 12614 clutter/Makefile.am | 2 + 12615 clutter/clutter-flow-layout.c | 855 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 12616 clutter/clutter-flow-layout.h | 127 ++++++++++++++++++++++++++++ 12617 clutter/clutter.h | 1 + 12618 doc/reference/clutter/clutter-docs.xml.in | 1 + 12619 doc/reference/clutter/clutter-sections.txt | 34 ++++++++ 12620 doc/reference/clutter/clutter.types | 1 + 12621 tests/interactive/Makefile.am | 3 +- 12622 tests/interactive/test-flow.c | 117 ++++++++++++++++++++++++++ 12623 10 files changed, 1141 insertions(+), 1 deletion(-) 12624 12625commit 857b0239e906b0e5eb1a2fec8703eb675a70675f 12626Author: Emmanuele Bassi <ebassi@gnome.org> 12627Date: Mon Oct 5 17:21:41 2009 +0100 12628 12629 [layout] Use FixedLayout inside Group 12630 12631 The Group actor should use the FixedLayout layout manager object 12632 to avoid duplicating code. 12633 12634 clutter/clutter-group.c | 138 +++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------- 12635 1 file changed, 29 insertions(+), 109 deletions(-) 12636 12637commit 62db72cf4106f498a041d02d67de72460130acdd 12638Author: Emmanuele Bassi <ebassi@gnome.org> 12639Date: Mon Oct 5 17:09:04 2009 +0100 12640 12641 [layout] Update FixedLayout 12642 12643 The behaviour of ClutterGroup has been fixed with regards to the 12644 preferred size request; the fixed layout manager should use the 12645 same behaviour. 12646 12647 clutter/clutter-fixed-layout.c | 116 ++++++++++++++++++++------------------------------------------------------------------------------------------------ 12648 1 file changed, 20 insertions(+), 96 deletions(-) 12649 12650commit 4663552a0017f85c818a664b3528fab617e6e15c 12651Author: Emmanuele Bassi <ebassi@linux.intel.com> 12652Date: Fri Sep 18 15:29:09 2009 +0100 12653 12654 [layout] Typo and whitespace fixes 12655 12656 clutter/clutter-box.c | 2 +- 12657 clutter/clutter-box.h | 2 +- 12658 2 files changed, 2 insertions(+), 2 deletions(-) 12659 12660commit c98388bb0166fedd4e72bca42b99782a9b2fb52c 12661Author: Emmanuele Bassi <ebassi@linux.intel.com> 12662Date: Thu Sep 17 18:21:51 2009 +0100 12663 12664 [layout, box] Add Box:color 12665 12666 Allow setting the background color of a ClutterBox 12667 12668 clutter/clutter-box.c | 136 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 12669 clutter/clutter-box.h | 5 +++++ 12670 doc/reference/clutter/clutter-sections.txt | 4 ++++ 12671 3 files changed, 144 insertions(+), 1 deletion(-) 12672 12673commit df6ca3d171a6a8d1a18cbf0fe70f4e4572e54479 12674Author: Emmanuele Bassi <ebassi@linux.intel.com> 12675Date: Thu Sep 17 11:38:43 2009 +0100 12676 12677 [layout, docs] Clean up BinLayout documentation 12678 12679 Documentation and code style fixes for BinLayout. 12680 12681 clutter/clutter-bin-layout.c | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------- 12682 clutter/clutter-bin-layout.h | 24 ++++++++++++++++++++++++ 12683 2 files changed, 112 insertions(+), 32 deletions(-) 12684 12685commit 8b2088a91787562c01d5b8184f1f2b2f1d225371 12686Author: Emmanuele Bassi <ebassi@linux.intel.com> 12687Date: Wed Sep 16 15:55:30 2009 +0100 12688 12689 [layout, tests] Use variants for child packing in Box 12690 12691 There are three potential variants to add a child inside a Box 12692 with a BinLayout: 12693 12694 - clutter_box_pack(), a variadic argument function which 12695 allows passing arbitrary LayoutMeta properties and values; 12696 12697 - clutter_bin_layout_add(), which uses the backpointer to 12698 the container from the LayoutManager and sets the layout 12699 properties directly without GValue (de)marshalling 12700 12701 - clutter_container_add_actor() and 12702 clutter_bin_layout_set_alignment(), similar to the 12703 clutter_bin_layout_add() function above, but split in two 12704 12705 The test-box interactive test should exercise all three variants. 12706 12707 tests/interactive/test-box.c | 24 ++++++++++++++++-------- 12708 1 file changed, 16 insertions(+), 8 deletions(-) 12709 12710commit 431a63d04adc40dfd719563c4f9978324f618b4e 12711Author: Emmanuele Bassi <ebassi@linux.intel.com> 12712Date: Wed Sep 16 15:51:13 2009 +0100 12713 12714 [layout] Store and use the container inside BinLayout 12715 12716 The BinLayout should store a pointer to the Container that it is 12717 using it as the layout manager. 12718 12719 This allows us to fix the API and drop the additional Container 12720 arguments from set_alignment() and get_alignment(). 12721 12722 This also allows us to add a ClutterBinLayout::add() method which 12723 adds an actor and sets the alignment policies without dealing with 12724 variadic arguments functions and GValue (de)marshalling. 12725 12726 clutter/clutter-bin-layout.c | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------ 12727 clutter/clutter-bin-layout.h | 7 +++++-- 12728 doc/reference/clutter/clutter-sections.txt | 1 + 12729 3 files changed, 114 insertions(+), 14 deletions(-) 12730 12731commit 755896664f7efc4bbfce0bfb6ea3249b6c526a59 12732Author: Emmanuele Bassi <ebassi@linux.intel.com> 12733Date: Wed Sep 16 15:48:28 2009 +0100 12734 12735 [layout] Set a back pointer to Box inside the layout 12736 12737 Use the LayoutManager API to set a back pointer to the Box actor 12738 inside the LayoutManager used by the box. 12739 12740 This also allows us to replace the LayoutManager on a Box, since 12741 the LayoutManager will be able to replace all the metadata if 12742 needed. 12743 12744 clutter/clutter-box.c | 37 +++++++++++++++++++++++++++++++++++-- 12745 clutter/clutter-box.h | 2 ++ 12746 doc/reference/clutter/clutter-sections.txt | 1 + 12747 3 files changed, 38 insertions(+), 2 deletions(-) 12748 12749commit 22bb243ec24821cd18e7dba791e793884ffe2a63 12750Author: Emmanuele Bassi <ebassi@linux.intel.com> 12751Date: Wed Sep 16 15:47:26 2009 +0100 12752 12753 [layout] Replace stale LayoutMeta 12754 12755 If a LayoutMeta references a different container and/or layout manager 12756 then we should simply replace it and discard the previous one. 12757 12758 clutter/clutter-layout-manager.c | 17 ++++++++++++++++- 12759 1 file changed, 16 insertions(+), 1 deletion(-) 12760 12761commit 9117ee205691a5bb1a3bb65e1963ed5b8826b79f 12762Author: Emmanuele Bassi <ebassi@linux.intel.com> 12763Date: Wed Sep 16 14:58:30 2009 +0100 12764 12765 [layout] Allow taking a back pointer to the Container 12766 12767 The LayoutManager implementation might opt to take a back pointer 12768 to the Container that is using the layout instance; this allows 12769 direct access to the container itself from within the implementation. 12770 12771 clutter/clutter-layout-manager.c | 28 ++++++++++++++++++++++++++++ 12772 clutter/clutter-layout-manager.h | 12 ++++++++++++ 12773 doc/reference/clutter/clutter-sections.txt | 1 + 12774 3 files changed, 41 insertions(+) 12775 12776commit f58bdbad15206f4369589f50789b9db9585f6e03 12777Author: Emmanuele Bassi <ebassi@linux.intel.com> 12778Date: Wed Sep 16 11:10:45 2009 +0100 12779 12780 [layout] Rename Box::add to Box::pack 12781 12782 Since ClutterBox is a ClutterContainer we should avoid naming 12783 collisions between methods. 12784 12785 clutter/clutter-box.c | 24 ++++++++++++------------ 12786 clutter/clutter-box.h | 4 ++-- 12787 doc/reference/clutter/clutter-sections.txt | 4 ++-- 12788 tests/interactive/test-box.c | 24 ++++++++++++------------ 12789 4 files changed, 28 insertions(+), 28 deletions(-) 12790 12791commit c6f67bf872ec2b51951a554e0351e6d7615d28ce 12792Author: Emmanuele Bassi <ebassi@linux.intel.com> 12793Date: Wed Sep 16 11:10:38 2009 +0100 12794 12795 [layout, docs] Document FixedLayout 12796 12797 clutter/clutter-fixed-layout.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ 12798 clutter/clutter-fixed-layout.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 12799 2 files changed, 87 insertions(+) 12800 12801commit aaae60e17837d6f0b330c04345f1e2c2be9f24b9 12802Author: Emmanuele Bassi <ebassi@linux.intel.com> 12803Date: Tue Sep 15 23:20:51 2009 +0100 12804 12805 [layout] Implement ClutterBox::add 12806 12807 The ClutterBox::add method is a simple wrapper around the Container 12808 add_actor() method and the LayoutManager layout properties API. It 12809 allows adding an actor to a Box and setting the layout properties in 12810 one call. 12811 12812 If the LayoutManager used by the Box does not support layout properties 12813 then the add() method short-circuits out. 12814 12815 Along with the varargs version of the method there's also a vector-based 12816 variant, for language bindings to use. 12817 12818 clutter/clutter-box.c | 186 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 12819 clutter/clutter-box.h | 10 ++++++++++ 12820 doc/reference/clutter/clutter-sections.txt | 2 ++ 12821 tests/interactive/test-box.c | 31 ++++++++++++------------------- 12822 4 files changed, 210 insertions(+), 19 deletions(-) 12823 12824commit a2086f1178fa3aed7fdc6f94d09efbc0e1bc2c11 12825Author: Emmanuele Bassi <ebassi@linux.intel.com> 12826Date: Tue Sep 15 17:37:11 2009 +0100 12827 12828 [layout] Add LayoutMeta 12829 12830 Instead of overloading ClutterChildMeta with both container and layout 12831 metadata and delegate to every LayoutManager implementation to keep a 12832 backpointer to the layout manager instance, we can simply subclass 12833 ChildMeta into LayoutMeta and presto! everything works out pretty well 12834 for everyone. 12835 12836 clutter/Makefile.am | 2 ++ 12837 clutter/clutter-bin-layout.c | 35 ++++++++++++++++------------------- 12838 clutter/clutter-layout-manager.c | 58 ++++++++++++++++++++++++++++++++-------------------------- 12839 clutter/clutter-layout-manager.h | 133 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------ 12840 clutter/clutter-layout-meta.c | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 12841 clutter/clutter-layout-meta.h | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 12842 clutter/clutter-types.h | 1 + 12843 clutter/clutter.h | 1 + 12844 doc/reference/clutter/clutter-docs.xml.in | 5 +++-- 12845 doc/reference/clutter/clutter-sections.txt | 19 +++++++++++++++++++ 12846 doc/reference/clutter/clutter.types | 1 + 12847 11 files changed, 369 insertions(+), 113 deletions(-) 12848 12849commit 899db6f226864614350d6aa07d8313dccf7d652f 12850Author: Emmanuele Bassi <ebassi@linux.intel.com> 12851Date: Tue Sep 15 16:24:47 2009 +0100 12852 12853 [layout, docs] Add layout managers sections 12854 12855 Add LayoutManager and its subclasses, and the Box actor to the 12856 gtk-doc machinery needed to generate the API reference. 12857 12858 clutter/clutter-bin-layout.c | 6 ++++-- 12859 clutter/clutter-bin-layout.h | 4 ++-- 12860 clutter/clutter-layout-manager.c | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 12861 clutter/clutter-layout-manager.h | 16 +++++++++++++--- 12862 doc/reference/clutter/clutter-docs.xml.in | 9 +++++++++ 12863 doc/reference/clutter/clutter-sections.txt | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 12864 doc/reference/clutter/clutter.types | 4 ++++ 12865 7 files changed, 269 insertions(+), 9 deletions(-) 12866 12867commit 9cccff504a40706e70b11878572d7e7db7430792 12868Author: Emmanuele Bassi <ebassi@linux.intel.com> 12869Date: Mon Sep 14 21:51:49 2009 +0100 12870 12871 [layout] Add layers to BinLayout 12872 12873 Each actor managed by a BinLayout policy should reside inside its 12874 own "layer", with horizontal and vertical alignment. The :x-align 12875 and :y-align properties of the BinLayout are the default alignment 12876 policies, which are copied to each new "layer" when it is created. 12877 12878 The set_alignment() and get_alignment() methods of BinLayout can 12879 be changed to operate on a specific "layer". 12880 12881 The whole machinery uses the new ChildMeta support inside the 12882 LayoutManager base abstract class. 12883 12884 clutter/clutter-bin-layout.c | 265 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------- 12885 clutter/clutter-bin-layout.h | 4 ++++ 12886 tests/interactive/test-box.c | 147 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 12887 3 files changed, 385 insertions(+), 31 deletions(-) 12888 12889commit 98474076a1310494fec252fb6bfce8001bca78da 12890Author: Emmanuele Bassi <ebassi@linux.intel.com> 12891Date: Mon Sep 14 21:50:20 2009 +0100 12892 12893 [layout] Bind the layout ChildMeta inside Box 12894 12895 The ClutterBox container actor should add and remove ChildMeta to 12896 each actor that has been added and removed to the list of children, 12897 respectively. 12898 12899 clutter/clutter-box.c | 9 +++++++++ 12900 1 file changed, 9 insertions(+) 12901 12902commit 7051fe275d9d052ce42e8237080844aa18ee927c 12903Author: Emmanuele Bassi <ebassi@linux.intel.com> 12904Date: Mon Sep 14 21:48:06 2009 +0100 12905 12906 [layout] Bind ChildMeta to LayoutManager 12907 12908 The ChildMeta object is a storage for child-container properties, 12909 that is properties that exist only when an actor is inside a specific 12910 container. The LayoutManager delegate class should also have 12911 layout-specific properties -- so, for this job, we can "recycle" 12912 ChildMeta as the storage. 12913 12914 clutter/clutter-layout-manager.c | 372 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 12915 clutter/clutter-layout-manager.h | 92 ++++++++++++++++++++++++++++++++----------------- 12916 2 files changed, 432 insertions(+), 32 deletions(-) 12917 12918commit 83a4e9626772453804c61d7aa022eacf540bf0ce 12919Author: Emmanuele Bassi <ebassi@linux.intel.com> 12920Date: Mon Sep 14 12:04:42 2009 +0100 12921 12922 [layout] Document BinLayout 12923 12924 clutter/clutter-bin-layout.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 12925 clutter/clutter-bin-layout.h | 46 ++++++++++++++++++++++++++++++++++++++++++++-- 12926 2 files changed, 137 insertions(+), 2 deletions(-) 12927 12928commit b06a3293fe3d065369d9f97ad8bfa77051414fec 12929Author: Emmanuele Bassi <ebassi@linux.intel.com> 12930Date: Mon Sep 14 12:03:38 2009 +0100 12931 12932 [layout] Notify of alignment changes in BinLayout 12933 12934 Emit the ::layout-changed when the BinLayout alignment policies change. 12935 12936 This will result in a queue_relayout() on the containers using the 12937 BinLayout layout manager. 12938 12939 clutter/clutter-bin-layout.c | 10 ++++++++++ 12940 1 file changed, 10 insertions(+) 12941 12942commit 4e8d8bbc15f26e95adfd59469306b7098f9fd491 12943Author: Emmanuele Bassi <ebassi@linux.intel.com> 12944Date: Mon Sep 14 11:28:34 2009 +0100 12945 12946 [layout] Update Box 12947 12948 * Use ::layout-changed to queue a relayout when the layout changes 12949 12950 * Destroy the Box children when destroying the Box 12951 12952 * Allow getting the layout manager from the Box 12953 12954 clutter/clutter-box.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 12955 clutter/clutter-box.h | 4 +++- 12956 2 files changed, 70 insertions(+), 6 deletions(-) 12957 12958commit d096a3c791ab5b105d55a19ab316cd8b2fff878b 12959Author: Emmanuele Bassi <ebassi@linux.intel.com> 12960Date: Mon Sep 14 11:04:11 2009 +0100 12961 12962 [layout] Add LayoutManager::layout-changed signal 12963 12964 If a sub-class of LayoutManager wishes to implement a parametrized 12965 layout policy it also needs a way to notify the container using the 12966 layout manager that the layout has changed. We cannot do it directly 12967 and automatically from the LayoutManager because a) it has no back 12968 link to the actor that it is using it and b) it can be attached to 12969 multiple actors. 12970 12971 This is a job for <cue raising dramatic music> signals! 12972 12973 By adding ClutterLayoutManager::layout-changed (and its relative 12974 emitted function) we can notify actors using the layout manager that 12975 the layout parameters have been changed, and thus they should queue 12976 a relayout. 12977 12978 clutter/clutter-layout-manager.c | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 12979 clutter/clutter-layout-manager.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 12980 2 files changed, 146 insertions(+), 1 deletion(-) 12981 12982commit a1853892bae7c54d28a86e253e04c3753d65e159 12983Author: Emmanuele Bassi <ebassi@linux.intel.com> 12984Date: Fri Sep 11 15:34:13 2009 +0100 12985 12986 [tests] Add a Box interactive test 12987 12988 .gitignore | 1 + 12989 tests/interactive/Makefile.am | 3 ++- 12990 tests/interactive/test-box.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 12991 3 files changed, 50 insertions(+), 1 deletion(-) 12992 12993commit 1061ebeac90a5b03a172aa649aa5a8b8cfb5b293 12994Author: Emmanuele Bassi <ebassi@linux.intel.com> 12995Date: Fri Sep 11 13:51:23 2009 +0100 12996 12997 [layout] Add BinLayout 12998 12999 A BinLayout is a simple layout manager that allocates a single cell, 13000 providing alignment on both the horizontal and vertical axis. 13001 13002 If the container associated to the BinLayout has more than one child, 13003 the preferred size returned by the layout manager will be as big as 13004 the maximum of the children preferred sizes; the allocation will be 13005 applied to all children - but it will still depend on each child 13006 preferred size and the BinLayout horizontal and vertical alignment 13007 properties. 13008 13009 The supported alignment properties are: 13010 13011 * center: align the child by centering it 13012 * start: align the child at the top or left border of the layout 13013 * end: align the child at the bottom or right border of the layout 13014 * fill: expand the child to fill the size of the layout 13015 * fixed: let the child position itself 13016 13017 clutter/Makefile.am | 2 ++ 13018 clutter/clutter-bin-layout.c | 397 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 13019 clutter/clutter-bin-layout.h | 50 ++++++++++++++++++++++++++ 13020 clutter/clutter.h | 1 + 13021 4 files changed, 450 insertions(+) 13022 13023commit 6d4cc13f7c7047a609dd8055ce63048da294af39 13024Author: Emmanuele Bassi <ebassi@linux.intel.com> 13025Date: Wed Sep 2 12:37:16 2009 +0100 13026 13027 [layout] Add Fixed layout manager 13028 13029 The FixedLayout layout manager object implements the same layout 13030 policy of ClutterGroup. 13031 13032 clutter/Makefile.am | 2 ++ 13033 clutter/clutter-fixed-layout.c | 217 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 13034 clutter/clutter-fixed-layout.h | 38 +++++++++++++++++++++++++++++++++++ 13035 clutter/clutter.h | 1 + 13036 4 files changed, 258 insertions(+) 13037 13038commit 141a1556908749236c90e69fc2388f4fc40c6d8f 13039Author: Emmanuele Bassi <ebassi@linux.intel.com> 13040Date: Wed Sep 2 11:55:22 2009 +0100 13041 13042 [layout] Make LayoutManager a floating object 13043 13044 A layout manager instance makes only sense if it's owned by a 13045 container. For this reason, it should have a floating reference 13046 instead of a full reference on construction; this allows constructing 13047 Boxes like: 13048 13049 box = clutter_box_new (clutter_fixed_layout_new ()); 13050 13051 without leaking the layout manager instance. 13052 13053 clutter/clutter-box.c | 3 ++- 13054 clutter/clutter-layout-manager.c | 4 +++- 13055 clutter/clutter-layout-manager.h | 4 ++-- 13056 3 files changed, 7 insertions(+), 4 deletions(-) 13057 13058commit 0340f656346d80696305218897720e28c88f367a 13059Author: Emmanuele Bassi <ebassi@linux.intel.com> 13060Date: Tue Sep 1 17:42:50 2009 +0100 13061 13062 [box] Add ClutterBox 13063 13064 ClutterBox is an actor with no layout management. It relies on 13065 a ClutterLayoutManager to perform size requisition and allocation 13066 of its children. 13067 13068 clutter/Makefile.am | 2 ++ 13069 clutter/clutter-box.c | 368 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 13070 clutter/clutter-box.h | 43 +++++++++++++++++++++++++ 13071 clutter/clutter.h | 1 + 13072 4 files changed, 414 insertions(+) 13073 13074commit d6183e95e51d1e3807ed5150768de2426b6b8e65 13075Author: Emmanuele Bassi <ebassi@linux.intel.com> 13076Date: Tue Sep 1 16:34:28 2009 +0100 13077 13078 [layout] Add initial implementation of LayoutManager 13079 13080 The LayoutManager class is an abstract proxy for the size requesition 13081 and size allocation process in ClutterActor. 13082 13083 A ClutterLayoutManager sub-class must implement get_preferred_width(), 13084 get_preferred_height() and allocate(); a ClutterContainer using the 13085 LayoutManager API will then proxy the corresponding Actor virtual 13086 functions to the LayoutManager instance. This allows having a generic 13087 "blank" ClutterActor sub-class, implementing the ClutterContainer 13088 interface, which leaves only the layout management implementation to 13089 the application developers. 13090 13091 clutter/Makefile.am | 2 ++ 13092 clutter/clutter-layout-manager.c | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 13093 clutter/clutter-layout-manager.h | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 13094 clutter/clutter.h | 1 + 13095 4 files changed, 275 insertions(+) 13096 13097commit 4f2bfc003ad0f5b0b9d69693eed1bdbc9655f947 13098Author: Emmanuele Bassi <ebassi@linux.intel.com> 13099Date: Tue Oct 13 19:27:03 2009 +0100 13100 13101 build: Clean up main Makefile.am 13102 13103 clutter/Makefile.am | 55 +++++++++++++++++++++++++++++-------------------------- 13104 1 file changed, 29 insertions(+), 26 deletions(-) 13105 13106commit 46b736f42e1165420796ed2afe4fc791d82381da 13107Author: Emmanuele Bassi <ebassi@linux.intel.com> 13108Date: Tue Oct 13 17:27:19 2009 +0100 13109 13110 build: Move marshallers and enum types rules out 13111 13112 The rules to create signal marshallers and enumeration GTypes are 13113 usually copied and pasted all over different projects, though they 13114 are pretty generic and, given a little bit of parametrization, can 13115 be put in separate Makefile.am files and included whenever needed. 13116 13117 build/autotools/Makefile.am | 2 ++ 13118 build/autotools/Makefile.am.enums | 43 +++++++++++++++++++++++++++++++++++++++++++ 13119 build/autotools/Makefile.am.marshal | 44 ++++++++++++++++++++++++++++++++++++++++++++ 13120 clutter/Makefile.am | 75 ++++++++++++++++++--------------------------------------------------------- 13121 4 files changed, 107 insertions(+), 57 deletions(-) 13122 13123commit 0e33c10048dd3cba33644fd51ae3e1ea18dcc357 13124Author: Emmanuele Bassi <ebassi@linux.intel.com> 13125Date: Tue Oct 13 17:00:15 2009 +0100 13126 13127 docs: Allow XInclude fallback for the annotation glossary 13128 13129 doc/reference/clutter/clutter-docs.xml.in | 2 +- 13130 1 file changed, 1 insertion(+), 1 deletion(-) 13131 13132commit a99f693c85cee6e389892b271f8aa25532bd7a6f 13133Author: Emmanuele Bassi <ebassi@linux.intel.com> 13134Date: Sat Oct 10 13:52:46 2009 +0100 13135 13136 docs: Make StageManager a public class 13137 13138 The StageManager API is useful to track the stages of an application. 13139 It will also be useful when we land the modules API. 13140 13141 doc/reference/clutter/Makefile.am | 1 - 13142 doc/reference/clutter/clutter-docs.xml.in | 1 + 13143 doc/reference/clutter/clutter-sections.txt | 23 +++++++++++++++++++++++ 13144 doc/reference/clutter/clutter.types | 2 ++ 13145 4 files changed, 26 insertions(+), 1 deletion(-) 13146 13147commit c3d056533c8733160227b790388723a4c8a16123 13148Author: Emmanuele Bassi <ebassi@linux.intel.com> 13149Date: Sat Oct 10 13:51:47 2009 +0100 13150 13151 stage/manager: Set :default-stage as read-only 13152 13153 The StageManager:default-stage property should be read-only, since 13154 the default stage is owned by Clutter itself. 13155 13156 clutter/clutter-stage-manager.c | 23 ++--------------------- 13157 1 file changed, 2 insertions(+), 21 deletions(-) 13158 13159commit 74eaa2941327d3ee7762a93136b647979b6e094a 13160Author: Emmanuele Bassi <ebassi@linux.intel.com> 13161Date: Sat Oct 10 13:50:25 2009 +0100 13162 13163 stage/manager: Deprecate set_default_stage() 13164 13165 The set_default_stage() method of StageManager should not be used 13166 by application code; technically, nothing in Clutter uses it, and 13167 StageManager's API is not considered public anyway. 13168 13169 clutter/clutter-stage-manager.c | 52 +++++++++++++++++++++++++++++++++++++++++----------- 13170 clutter/clutter-stage-manager.h | 23 +++++++++++++++++++---- 13171 2 files changed, 60 insertions(+), 15 deletions(-) 13172 13173commit a7ff5385a5071824e996eae6b92486ef07bd143e 13174Author: Damien Lespiau <damien.lespiau@intel.com> 13175Date: Fri Oct 9 17:18:34 2009 +0100 13176 13177 [actor] Unset the IN_DESTRUCTION flag when leaving ::destroy() 13178 13179 The IN_DESTRUCTION flag is set around the unrealization and disposal of 13180 the actor in clutter_actor_destroy() but is never unset (it's set twice 13181 instead). 13182 13183 Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com> 13184 13185 clutter/clutter-actor.c | 2 +- 13186 1 file changed, 1 insertion(+), 1 deletion(-) 13187 13188commit 3bbc96e17e5a03ba931c86a5cd2a0ecaa2a3b77b 13189Author: Emmanuele Bassi <ebassi@linux.intel.com> 13190Date: Wed Oct 7 21:44:17 2009 +0100 13191 13192 text: Make the :text property not set the :use-markup one 13193 13194 Currently, setting the :text property has the side-effect of 13195 setting the :use-markup property to FALSE. This prevents 13196 constructing a Text actor, or setting its properties, like: 13197 13198 g_object_set (text, 13199 "use-markup", TRUE, 13200 "text", some_string, 13201 NULL); 13202 13203 as the ordering becomes important. Unfortunately, the ordering 13204 of the properties cannot be enforced with ClutterScript or 13205 with language bindings. 13206 13207 The documentation of the clutter_text_set_text() method should 13208 be expanded to properly specify that the set_text() method will 13209 change the :use-markup property to FALSE as a side effect. 13210 13211 clutter/clutter-text.c | 283 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------ 13212 1 file changed, 144 insertions(+), 139 deletions(-) 13213 13214commit 1f207c00d96e08141f6b998269732d9e65d4cf14 13215Author: Emmanuele Bassi <ebassi@gnome.org> 13216Date: Wed Oct 7 17:35:11 2009 +0100 13217 13218 docs: Add the "clipping" section to the COGL API reference 13219 13220 All the clip-related API in COGL is missing from the API reference 13221 because the cogl-clipping section is not included inside the main 13222 index file. 13223 13224 doc/reference/cogl/cogl-docs.xml.in | 1 + 13225 doc/reference/cogl/cogl-sections.txt | 3 ++- 13226 2 files changed, 3 insertions(+), 1 deletion(-) 13227 13228commit 80b3a8d3283fcc8af89bc83b2266ccd894cc50a6 13229Author: Damien Lespiau <damien.lespiau@intel.com> 13230Date: Wed Oct 7 17:09:41 2009 +0100 13231 13232 [units] Ensure we don't have ponies 13233 13234 The documentation states we should not parse ponies. Even with those 13235 with exclamation marks. 13236 13237 Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com> 13238 13239 tests/conform/test-clutter-units.c | 2 +- 13240 1 file changed, 1 insertion(+), 1 deletion(-) 13241 13242commit 19c68799608910635b70c9befb92c1a6a21c15f3 13243Author: Damien Lespiau <damien.lespiau@intel.com> 13244Date: Tue Oct 6 00:49:40 2009 +0100 13245 13246 [path] Add GValue transform functions from and to G_TYPE_STRING 13247 13248 Transform functions allow the use of g_value_transform() to cast 13249 GValues. It's very handy to have casts to and from G_TYPE_STRING as it 13250 allows generic serialization and parsing of GTypes. 13251 13252 Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com> 13253 13254 clutter/clutter-path.c | 36 +++++++++++++++++++++++++++++++++++- 13255 1 file changed, 35 insertions(+), 1 deletion(-) 13256 13257commit 8605073edb7a1e830696632a6de5ad694f1af98d 13258Author: Damien Lespiau <damien.lespiau@intel.com> 13259Date: Tue Oct 6 17:47:34 2009 +0100 13260 13261 [units] Add support for centimeters 13262 13263 The only tricky part of the patch is to remember that 1cm is 10mm. 13264 13265 Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com> 13266 13267 clutter/clutter-units.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++-- 13268 clutter/clutter-units.h | 7 ++++++- 13269 doc/reference/clutter/clutter-sections.txt | 1 + 13270 tests/conform/test-clutter-units.c | 17 ++++++++++++++--- 13271 4 files changed, 67 insertions(+), 6 deletions(-) 13272 13273commit 96859959bd24d99f51d5dea3b5ec7bc4bf7071f3 13274Author: Damien Lespiau <damien.lespiau@intel.com> 13275Date: Tue Oct 6 12:02:15 2009 +0100 13276 13277 [units] Be more strict in the grammar we are parsing 13278 13279 Current parsing of units has a number of shortcomings: 13280 * a number followed by trailing space (without any unit specified) was 13281 not recognized, 13282 * "5 emeralds" was parsed as 5em, 13283 * the way we parse the digits after the separator makes us lose 13284 precision for no good reason (5.0 is parsed as 5.00010014...f which 13285 makes g_assert_cmpfloat() fail) 13286 13287 Let's define a stricter grammar we can recognize and try to do so. The 13288 description is in EBNF form, removing the optional <> which is a pain 13289 when having to write DocBook, and using '' for the terminal symbols. 13290 13291 Last step, add more ClutterUnits unit test to get a better coverage of 13292 the grammar we want to parse. 13293 13294 Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com> 13295 13296 clutter/clutter-units.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++++---------------------------- 13297 tests/conform/test-clutter-units.c | 22 ++++++++++++++++++++++ 13298 2 files changed, 70 insertions(+), 28 deletions(-) 13299 13300commit 4d481e03f3534cb703a276cd430056d3ec27fcb0 13301Author: Emmanuele Bassi <ebassi@gnome.org> 13302Date: Wed Oct 7 13:00:57 2009 +0100 13303 13304 color: Measure the string just once when parsing 13305 13306 Instead of measuring the color hexadecimal string for each case, just 13307 measure it once and then use a switch() to go to the right case. 13308 13309 clutter/clutter-color.c | 40 ++++++++++++++++++++++------------------ 13310 1 file changed, 22 insertions(+), 18 deletions(-) 13311 13312commit c7d50083ec1d1209dd8653bc30ba4f3bec09e976 13313Author: Thomas Wood <thomas.wood@intel.com> 13314Date: Wed Oct 7 12:27:38 2009 +0100 13315 13316 [color] allow alpha to be omitted when converting to color from string 13317 13318 Parse #rgb and #rrggbb in addition to forms with the alpha channel 13319 specified. This allows conversion of colour strings from documents such as 13320 CSS where the alpha channel is not specified when using '#' notation. 13321 13322 This patch also adds the relevant conformance test. 13323 13324 clutter/clutter-color.c | 22 ++++++++++++++++++++++ 13325 tests/conform/test-color.c | 28 ++++++++++++++++++++++++++++ 13326 2 files changed, 50 insertions(+) 13327 13328commit 13ac1fe75bec418f4e37e04540e6d16af55413f5 13329Author: Neil Roberts <neil@linux.intel.com> 13330Date: Wed Oct 7 11:31:44 2009 +0100 13331 13332 [clutter-id-pool] Also warn if the ID refers to a deleted actor 13333 13334 We should also warn if the glReadPixels happens to generate an ID that 13335 is within the range of the ID array but no longer points to an 13336 existing actor. 13337 13338 clutter/clutter-id-pool.c | 10 +++++----- 13339 1 file changed, 5 insertions(+), 5 deletions(-) 13340 13341commit a4ff4d37a40b60ce7f7029c6fe12181c0e1e89e5 13342Author: Neil Roberts <neil@linux.intel.com> 13343Date: Wed Oct 7 12:46:43 2009 +0100 13344 13345 [clutter-id-pool] Fix the check for out-of-range IDs 13346 13347 If id == the length of the array then it is also invalid and could 13348 cause a crash. 13349 13350 clutter/clutter-id-pool.c | 2 +- 13351 1 file changed, 1 insertion(+), 1 deletion(-) 13352 13353commit 142f8865181e92fb405ae0d2b2bc65468a9d2262 13354Author: Thomas Wood <thomas.wood@intel.com> 13355Date: Wed Oct 7 12:15:26 2009 +0100 13356 13357 Revert "[color] allow alpha to omitted when converting from strings" 13358 13359 This reverts commit eb8daac4b0726c1d9925bbbaeed7a8f39007da21. 13360 13361 The original commit was incorrect and pushed accidentally. 13362 13363 clutter/clutter-color.c | 22 ---------------------- 13364 1 file changed, 22 deletions(-) 13365 13366commit bdf7499207d3fdba440228832445b71b9f64d300 13367Author: Thomas Wood <thomas.wood@intel.com> 13368Date: Wed Oct 7 11:40:41 2009 +0100 13369 13370 [color] add a note to the documentation to specify the values of the alpha 13371 13372 The alpha channel is fully opaque at 255 and fully transparent at 0. 13373 13374 clutter/clutter-color.c | 2 ++ 13375 1 file changed, 2 insertions(+) 13376 13377commit eb8daac4b0726c1d9925bbbaeed7a8f39007da21 13378Author: Thomas Wood <thomas.wood@intel.com> 13379Date: Wed Oct 7 11:38:08 2009 +0100 13380 13381 [color] allow alpha to omitted when converting from strings 13382 13383 Parse #rgb and #rrggbb in addition to forms with the alpha channel 13384 specified. This allows conversion of colour strings from documents such as 13385 CSS where the alpha channel is not specified when using '#' notation. 13386 13387 clutter/clutter-color.c | 22 ++++++++++++++++++++++ 13388 1 file changed, 22 insertions(+) 13389 13390commit 9e03d9231696160ef7d4d98cf6c1d2f2214c7172 13391Author: Damien Lespiau <damien.lespiau@intel.com> 13392Date: Tue Oct 6 01:04:50 2009 +0100 13393 13394 [path] MOVE_TO and LINE_TO only use a pair of coordinates 13395 13396 The documentation of ClutterPathNode had a small typo and stated that 13397 they use 2 pairs of coordinates. 13398 13399 clutter/clutter-path.h | 4 ++-- 13400 1 file changed, 2 insertions(+), 2 deletions(-) 13401 13402commit dd8e4dcd62979bf8b7c8ad0e8898888a065ba445 13403Author: Robert Bragg <robert@linux.intel.com> 13404Date: Mon Oct 5 16:46:24 2009 +0100 13405 13406 [debug] Guard the use of gdk_pixbuf for pick debugging by #ifdef USE_GDKPIXBUF 13407 13408 gdk is an optional clutter dependency, so the pick buffer debugging option 13409 needs some guards so we don't break, for example, the OSX builds. This also 13410 adds a comment for the bit fiddling done on the pick colors used to ensure 13411 the pick colors are more distinguished while debugging. (we swap the 13412 nibbles of each color component so that pick buffers don't just look black.) 13413 13414 clutter/clutter-main.c | 25 +++++++++++++++++++++++++ 13415 1 file changed, 25 insertions(+) 13416 13417commit f7c02642453420cf5866f9759d5f266d8ada40a5 13418Author: Emmanuele Bassi <ebassi@gnome.org> 13419Date: Mon Oct 5 15:51:28 2009 +0100 13420 13421 [sdl] Update the SDL backend to the new StageWindow API 13422 13423 The SDL backend remains experimental and not meant for public 13424 consumption, but at least it compiles and runs successfully. 13425 13426 clutter/sdl/clutter-backend-sdl.c | 8 ++++---- 13427 clutter/sdl/clutter-stage-sdl.c | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------- 13428 2 files changed, 57 insertions(+), 81 deletions(-) 13429 13430commit 3fee43560d8108f9508cbb24ee98228e50b79e5d 13431Author: Emmanuele Bassi <ebassi@gnome.org> 13432Date: Mon Oct 5 15:53:06 2009 +0100 13433 13434 [eglx] Create a StageWindow, not an Actor 13435 13436 The Backend should create a StageWindow instance, not an Actor. 13437 13438 clutter/eglx/clutter-backend-egl.c | 4 ++-- 13439 1 file changed, 2 insertions(+), 2 deletions(-) 13440 13441commit 40222e891bec62e4e7187a3e66bdf7866a60bd38 13442Author: Neil Roberts <neil@linux.intel.com> 13443Date: Tue Sep 29 12:11:55 2009 +0100 13444 13445 [ClutterGroup] Don't take into account the left edges when calculating the size 13446 13447 ClutterGroup previously calculated the size as the distance from the 13448 left edge of the leftmost child to the right edge of the rightmost 13449 child except if there were any chidren left of the origin then the 13450 left edge would be zero. 13451 13452 However the group is always allocated its size relative to its 13453 origin so if all of the children are to the right of the origin then 13454 the preferred size would not be large enough to reach the rightmost 13455 child. 13456 13457 origin 13458 ┼──────────┐ 13459 │Group │ 13460 │ ┌────────┼─┐ 13461 │ │Child │ │ 13462 │ │ │ │ 13463 └─┼────────┘ │ 13464 │ │ 13465 └──────────┘ 13466 group size 13467 ╟──────────╢ 13468 13469 This patch makes it so the size is always just the rightmost edge. 13470 13471 origin 13472 ┼────────────┐ 13473 │Group │ 13474 │ ┌──────────┤ 13475 │ │Child │ 13476 │ │ │ 13477 │ │ │ 13478 │ │ │ 13479 └─┴──────────┘ 13480 group size 13481 ╟────────────╢ 13482 13483 Fixes bug: 13484 13485 http://bugzilla.openedhand.com/show_bug.cgi?id=1825 13486 13487 clutter/clutter-group.c | 122 ++++++++++++++++++++++++++------------------------------------------------------------------------------------------------ 13488 1 file changed, 26 insertions(+), 96 deletions(-) 13489 13490commit 14e12ae4fd9320eeb970ff8aa7dfcd43dcfd5975 13491Author: Emmanuele Bassi <ebassi@gnome.org> 13492Date: Mon Oct 5 14:58:08 2009 +0100 13493 13494 [eglx] Update the EGLX Stage to the new StageWindow API 13495 13496 Move the ::realize and ::unrealize implementations over to the 13497 StageWindow instead of using Actor. 13498 13499 clutter/eglx/clutter-stage-egl.c | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------ 13500 1 file changed, 60 insertions(+), 60 deletions(-) 13501 13502commit a799f6ccec0ea755c7677c5fe20c1bd52b321c05 13503Author: Damien Lespiau <damien.lespiau@intel.com> 13504Date: Sat Oct 3 14:08:33 2009 +0100 13505 13506 Fix string parsing when no unit is given 13507 13508 The check should really be on the character pointed by str. Added the 13509 corresponding test case. 13510 13511 clutter/clutter-units.c | 2 +- 13512 tests/conform/test-clutter-units.c | 4 ++++ 13513 2 files changed, 5 insertions(+), 1 deletion(-) 13514 13515commit 4d7b8c9d4290c91ea69d992bad396d067e84b15b 13516Author: Damien Lespiau <damien.lespiau@intel.com> 13517Date: Sat Oct 3 12:15:13 2009 +0100 13518 13519 clutter_value_get_unit() has not be renamed 13520 13521 Since the Great Rework of ClutterUnits, functions have been using 13522 'units' not 'unit' in their name. clutter_value_get_unit() is a left 13523 over from a dark age, its declaration and documentation have been 13524 updated but not the symbol itself. 13525 13526 clutter/clutter-units.c | 2 +- 13527 1 file changed, 1 insertion(+), 1 deletion(-) 13528 13529commit 72243081b5b0bf0518951f9f5f3ae91a7d4c640f 13530Merge: ad83caaed 111512a2a 13531Author: Emmanuele Bassi <ebassi@gnome.org> 13532Date: Mon Oct 5 12:37:08 2009 +0100 13533 13534 Merge branch 'stage-window-object' 13535 13536 * stage-window-object: 13537 [x11] Fix Stage user-initiated resize 13538 [x11] Remove a useless forced paint 13539 [stage] Rework the Stage implementation class 13540 13541commit ad83caaed16a36aea0fafd4ed87cc283c30c413b 13542Author: Emmanuele Bassi <ebassi@gnome.org> 13543Date: Mon Oct 5 12:34:48 2009 +0100 13544 13545 Clarify the IdPool warning 13546 13547 Instead of having an assertion failure with a message of dubious 13548 usefulness, we should probably use a more verbose warning explaining 13549 what is the problem and what might be the cause. 13550 13551 clutter/clutter-id-pool.c | 9 ++++++++- 13552 1 file changed, 8 insertions(+), 1 deletion(-) 13553 13554commit 111512a2a05243a7fc6f999f18805eae9bd6bfce 13555Author: Emmanuele Bassi <ebassi@gnome.org> 13556Date: Mon Oct 5 12:24:19 2009 +0100 13557 13558 [x11] Fix Stage user-initiated resize 13559 13560 The user-initiated resize is conflicting with the allocated size. This 13561 happens because we change the size of the stage's X Window behind the 13562 back of the size allocation machinery. 13563 13564 Instead, we should change the size of the actor whenever we receive a 13565 ConfigureNotify event to reflect the new size of the actor. 13566 13567 clutter/x11/clutter-event-x11.c | 7 +++---- 13568 clutter/x11/clutter-stage-x11.c | 6 +++++- 13569 tests/interactive/test-actors.c | 1 + 13570 3 files changed, 9 insertions(+), 5 deletions(-) 13571 13572commit e3c2ed0009e2ce85e65d5a1724a807faae865494 13573Author: Emmanuele Bassi <ebassi@gnome.org> 13574Date: Mon Oct 5 12:21:02 2009 +0100 13575 13576 [x11] Remove a useless forced paint 13577 13578 We force the redraw before mapping, in the hope that when a composited 13579 window manager maps the window it will have its contents ready; that is 13580 not going to work: the solution for this problem requires the implementation 13581 of a protocol for compositors, and not a hack. 13582 13583 Moreover, painting before mapping will cause a paint with the wrong 13584 GL viewport size, which is the wrong thing to do on GLX. 13585 13586 clutter/x11/clutter-stage-x11.c | 5 ----- 13587 1 file changed, 5 deletions(-) 13588 13589commit 6ddffac93561b5d3aa6226ee54bd8a5e1fcedeb5 13590Author: Emmanuele Bassi <ebassi@gnome.org> 13591Date: Sun Sep 27 11:38:01 2009 +0100 13592 13593 [docs] Update the "Subclassing Actor" chapter 13594 13595 The chapter on how to subclass ClutterActor inside the API reference for 13596 Clutter is still using ClutterUnit and referencing to concepts that have 13597 been changed since the document was written. 13598 13599 doc/reference/clutter/subclassing-ClutterActor.xml | 169 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------- 13600 1 file changed, 107 insertions(+), 62 deletions(-) 13601 13602commit ab76d64df02bc03f935e9cdf5a0a29c6ffeace72 13603Author: Robert Bragg <robert@linux.intel.com> 13604Date: Tue Jul 28 00:40:29 2009 +0100 13605 13606 [cogl-debug] avoid warnings when using COGL_NOTE with unbraced else clauses 13607 13608 When not building a debug build the compiler was warning about empty 13609 else clauses with no braces due to code like: 13610 if (blah) 13611 do_foo(); 13612 else 13613 COGL_NOTE (DRAW, "a-wibble"); 13614 13615 This simply ensures that even for non debug builds COGL_NOTE will expand to 13616 a single statement. 13617 13618 clutter/cogl/cogl-debug.h | 2 +- 13619 1 file changed, 1 insertion(+), 1 deletion(-) 13620 13621commit 904c495c6d3c59b34148c9a4834e4803b488997b 13622Author: Robert Bragg <robert@linux.intel.com> 13623Date: Thu Sep 24 17:34:26 2009 +0100 13624 13625 [cogl-vertex-buffer] fix n_components validation for GL's builtin attributes 13626 13627 glVertexPointer expects positions with 2, 3 or 4 components, glColorPointer 13628 expects colors with 3 or 4 components and glNormalPointer expects normals 13629 with three components so when adding vertex buffer atributes with the names 13630 "gl_Vertex", "gl_Color" or "gl_Normal" we assert these constraints and print 13631 an explanation to the developer if not met. 13632 13633 This also fixes the previosly incorrect constraint that gl_Normal attributes 13634 must have n_components == 1; thanks to Cat Sidhe for reporting this: 13635 13636 Bug: http://bugzilla.openedhand.com/show_bug.cgi?id=1819 13637 13638 clutter/cogl/common/cogl-vertex-buffer.c | 19 +++++++++++++++---- 13639 1 file changed, 15 insertions(+), 4 deletions(-) 13640 13641commit dae569b468c286ea23aa0e74e910232e025932db 13642Author: Robert Bragg <robert@linux.intel.com> 13643Date: Thu Sep 24 12:49:17 2009 +0100 13644 13645 [debug] Adds a dump-pick-buffers CLUTTER_DEBUG option 13646 13647 Now if you export CLUTTER_DEBUG=dump-pick-buffers clutter will write out a 13648 png, e.g. pick-buffer-00000.png, each time _clutter_to_pick() is called. 13649 It's a rather crude way to debug the picking (realtime visualization in a 13650 second stage would probably be nicer) but it we've used this approach 13651 successfully numerous times when debugging Clutter picking issues so it 13652 makes sense to have a debug option for it. 13653 13654 clutter/clutter-debug.h | 35 ++++++++++++++++++----------------- 13655 clutter/clutter-main.c | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 13656 2 files changed, 106 insertions(+), 23 deletions(-) 13657 13658commit 27ae9722dedb5bc25415c32326ffc7ba4ef1557d 13659Author: Neil Roberts <neil@linux.intel.com> 13660Date: Tue Sep 22 17:55:04 2009 +0100 13661 13662 [container] Remove the unused 'object' variable in destroy_child_meta 13663 13664 Since commit b2f958a61 this variable is no longer used so it was 13665 causing compiler warnings. 13666 13667 clutter/clutter-container.c | 1 - 13668 1 file changed, 1 deletion(-) 13669 13670commit 4293920a11d5216095577cdfc46b9e21bb427a12 13671Author: Robert Bragg <robert@linux.intel.com> 13672Date: Tue Sep 22 11:27:47 2009 +0100 13673 13674 [tests] Remove test-entry.c since we don't have a ClutterEntry any more 13675 13676 Removes an unused interactive unit test for the old ClutterEntry actor we 13677 used to have. 13678 13679 .gitignore | 1 - 13680 tests/interactive/test-entry.c | 47 ----------------------------------------------- 13681 2 files changed, 48 deletions(-) 13682 13683commit b710ed0eeace5561ccec1b1558ad26abb4af0da3 13684Author: Robert Bragg <robert@linux.intel.com> 13685Date: Thu Aug 20 11:53:37 2009 +0100 13686 13687 [backend-egl] fix clutter_backend_egl_get_visual_info to not use Xalloc 13688 13689 It looks like the intention was to duplicate an XVisualInfo in such a way 13690 that the pointer could be returned and then later freed using XFree. But 13691 Xalloc isn't an Xlib counterpart to XFree; Xlib doesn't provide a general 13692 purpose malloc wrapper afik. By shuffling things about a bit, it was 13693 possible to avoid the need for this hack. 13694 13695 clutter/eglx/clutter-backend-egl.c | 46 +++++++++++++++------------------------------- 13696 1 file changed, 15 insertions(+), 31 deletions(-) 13697 13698commit 6e50e26c86af20597b118f5a71d04f70b173f733 13699Author: Damien Lespiau <damien.lespiau@intel.com> 13700Date: Mon Sep 21 15:21:21 2009 +0100 13701 13702 Add a few annotations on Cogl primitives functions 13703 13704 By default, float * is considered as an out argument by gobject 13705 introspection which is wrong for quite a few Cogl symbols. Start adding 13706 annotations to fix that for the ones in the "Primitives" gtk-doc 13707 section. 13708 13709 clutter/cogl/cogl-path.h | 8 ++++---- 13710 clutter/cogl/cogl-texture.h | 15 ++++++++------- 13711 2 files changed, 12 insertions(+), 11 deletions(-) 13712 13713commit 1b37cb6cb79dc36279d40ef108576aafeb905412 13714Author: Robert Bragg <robert@linux.intel.com> 13715Date: Mon Sep 21 18:12:02 2009 +0100 13716 13717 [container] cast actor to gobject before calling g_object_set_qdata 13718 13719 A minor compiler warning fix: in destroy_child_meta we weren't casting the 13720 first argument to g_object_set_qdata to a gobject. 13721 13722 clutter/clutter-container.c | 2 +- 13723 1 file changed, 1 insertion(+), 1 deletion(-) 13724 13725commit b2f958a61807ca36ccc1e7b3edf112b317885528 13726Author: Øyvind Kolås <pippin@linux.intel.com> 13727Date: Mon Sep 21 15:55:58 2009 +0100 13728 13729 [container] unset the child meta qdata on the child, not the container 13730 13731 In the default implementation of container::destroy_child_meta Set child 13732 meta qdata to NULL on the child and not the container, since the child 13733 is the object that owns the data. 13734 13735 clutter/clutter-container.c | 2 +- 13736 1 file changed, 1 insertion(+), 1 deletion(-) 13737 13738commit d4e46bb893d41f7e9d80d3d272765e7b2779d32b 13739Author: Thomas Wood <thomas.wood@intel.com> 13740Date: Mon Sep 21 15:40:53 2009 +0100 13741 13742 [container] set the child meta qdata on the child, not the container 13743 13744 Set child meta qdata on the child and not the container, since the child is 13745 the object that owns the data. 13746 13747 clutter/clutter-container.c | 2 +- 13748 1 file changed, 1 insertion(+), 1 deletion(-) 13749 13750commit 1c3d5a0e870d6a8f221577783f4c9d79dbc062c5 13751Author: Neil Roberts <neil@linux.intel.com> 13752Date: Thu Sep 17 18:29:03 2009 +0100 13753 13754 [cogl] Remove CoglContext->journal_vbo{,_len} 13755 13756 The lifetime of the journal VBO is entirely within the scope of the 13757 cogl_journal_flush function so there is no need to store it globally 13758 in the Cogl context. Instead, upload_vertices_to_vbo just returns the 13759 new VBO. cogl_journal_flush stores this in a local variable and 13760 destroys it before returning. 13761 13762 This also fixes an assertion when using the GLES backend which was 13763 caused by nothing initialising the journal_vbo variable. 13764 13765 clutter/cogl/common/cogl-primitives.c | 20 ++++++++++---------- 13766 clutter/cogl/gl/cogl-context.c | 2 -- 13767 clutter/cogl/gl/cogl-context.h | 2 -- 13768 clutter/cogl/gles/cogl-context.h | 1 - 13769 4 files changed, 10 insertions(+), 15 deletions(-) 13770 13771commit ecfa0c4f92e3a78bdc4257c62a61b47aa41e0d05 13772Author: Emmanuele Bassi <ebassi@linux.intel.com> 13773Date: Wed Sep 16 17:43:58 2009 +0100 13774 13775 [build] Split out the custom silent rules 13776 13777 The silent rules we use for custom targets should be moved into a 13778 separate Makefile.am that gets included from all the others. 13779 13780 Makefile.am | 2 ++ 13781 build/autotools/Makefile.am | 1 + 13782 build/autotools/Makefile.am.silent | 17 +++++++++++++++++ 13783 clutter/Makefile.am | 12 +++++------- 13784 clutter/cogl/Makefile.am | 8 ++------ 13785 clutter/cogl/common/Makefile.am | 8 ++------ 13786 clutter/cogl/gl/Makefile.am | 2 ++ 13787 clutter/cogl/gles/Makefile.am | 2 ++ 13788 clutter/glx/Makefile.am | 2 ++ 13789 clutter/pango/Makefile.am | 2 ++ 13790 clutter/x11/Makefile.am | 2 ++ 13791 tests/conform/Makefile.am | 8 +++++--- 13792 tests/data/Makefile.am | 1 - 13793 tests/interactive/Makefile.am | 11 ++++++----- 13794 tests/micro-bench/Makefile.am | 2 ++ 13795 tests/tools/Makefile.am | 9 ++++++--- 13796 16 files changed, 58 insertions(+), 31 deletions(-) 13797 13798commit 94e60c393b6be8b69140da01835a377409f6a77b 13799Author: Robert Bragg <robert@linux.intel.com> 13800Date: Wed Sep 16 17:12:30 2009 +0100 13801 13802 [test-cogl-multitexture] Print an error if textures can't be loaded 13803 13804 I just wasted a silly amount time trying to bisect an apparently broken 13805 cogl-test-multitexture until I realized it was just silently failing to load 13806 any textures. 13807 13808 tests/interactive/test-cogl-multitexture.c | 15 ++++++++++++--- 13809 1 file changed, 12 insertions(+), 3 deletions(-) 13810 13811commit 3b4f46a18a1c631410b324d5f926c64f0e22ae93 13812Author: Emmanuele Bassi <ebassi@linux.intel.com> 13813Date: Wed Sep 16 12:47:46 2009 +0100 13814 13815 [docs] Fix the comment on version bumps 13816 13817 configure.ac | 5 +++-- 13818 1 file changed, 3 insertions(+), 2 deletions(-) 13819 13820commit 35c0da2b3a2558964ba74b9a213262f377aa2650 13821Author: Emmanuele Bassi <ebassi@linux.intel.com> 13822Date: Wed Sep 16 11:57:45 2009 +0100 13823 13824 [gitignore] Add test-preferred-size 13825 13826 .gitignore | 1 + 13827 1 file changed, 1 insertion(+) 13828 13829commit 9dc012c07d1f6760d8d4cca07f5279e7b316dbd0 13830Author: Emmanuele Bassi <ebassi@linux.intel.com> 13831Date: Wed Sep 16 11:55:04 2009 +0100 13832 13833 [timeline] Account for clock roll backs between frames 13834 13835 If the system clock rolls back between two frames then we need 13836 to account for the change, to avoid stopping the timeline. 13837 13838 The best option, since a roll back can be any arbitrary amount 13839 of milliseconds, is to skip a frame. 13840 13841 Fixes bug: 13842 13843 http://bugzilla.moblin.org/show_bug.cgi?id=3839 13844 13845 clutter/clutter-timeline.c | 33 +++++++++++++++++++++++---------- 13846 1 file changed, 23 insertions(+), 10 deletions(-) 13847 13848commit 0d08f6e0707c1b3274227abc8054529422206e22 13849Author: Robert Bragg <robert@linux.intel.com> 13850Date: Tue Sep 15 16:27:45 2009 +0100 13851 13852 [cogl-fbo] Disable mipmap filters before calling glCheckFramebufferStatusEXT 13853 13854 The framebuffer_object spec isn't clear in defining whether attaching a 13855 texture as a renderbuffer with mipmap filtering enabled while the mipmaps 13856 have not been uploaded should result in an incomplete framebuffer object. 13857 (different drivers make different decisions) 13858 13859 To avoid an error with drivers that do consider this a problem we explicitly 13860 set non mipmapped filters before calling glCheckFramebufferStatusEXT. The 13861 filters will later be reset when the texture is actually used for rendering 13862 according to the filters set on the corresponding CoglMaterial. 13863 13864 clutter/cogl/gl/cogl-fbo.c | 12 ++++++++++++ 13865 1 file changed, 12 insertions(+) 13866 13867commit 561f5868e876ec17e9a6fa66282b8dcdf3ead6b6 13868Author: Emmanuele Bassi <ebassi@linux.intel.com> 13869Date: Tue Sep 15 11:09:49 2009 +0100 13870 13871 [tests] Add preferred size conformance test unit 13872 13873 This unit verifies that an Actor class will invoke the get_preferred_* 13874 virtual functions unless the caching is in effect; it also verifies 13875 that the cached values are correctly evicted. 13876 13877 tests/conform/test-actor-size.c | 136 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 13878 tests/conform/test-conform-main.c | 1 + 13879 2 files changed, 136 insertions(+), 1 deletion(-) 13880 13881commit 092401c01b249cd3ae9e4788ecbcce91ebb80f38 13882Author: Emmanuele Bassi <ebassi@linux.intel.com> 13883Date: Mon Sep 14 21:45:51 2009 +0100 13884 13885 [tests] Add initial sizing conformance test suite 13886 13887 The size requisition and allocation mechanisms should be thoroughly 13888 tested to avoid unwanted regressions. 13889 13890 For starters, we can test the explicit size setting and the side 13891 effects of calling clutter_actor_set_size(). 13892 13893 .gitignore | 1 + 13894 tests/conform/Makefile.am | 1 + 13895 tests/conform/test-actor-size.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 13896 tests/conform/test-conform-main.c | 2 ++ 13897 4 files changed, 81 insertions(+) 13898 13899commit abbe2ebf8baa61edeaa2071fa850d000d565a6ce 13900Author: Emmanuele Bassi <ebassi@linux.intel.com> 13901Date: Mon Sep 14 15:57:31 2009 +0100 13902 13903 [container] Use a 1:1 mapping between child and ChildMeta 13904 13905 Since an actor can only be parented to one container we don't need 13906 the extra complications of maintaining a list of ChildMeta objects 13907 attached to an actor in the default implementation of the Container 13908 interface. 13909 13910 clutter/clutter-container.c | 50 +++++++++----------------------------------------- 13911 1 file changed, 9 insertions(+), 41 deletions(-) 13912 13913commit 6e3afa4ebed9ea4f9347e8dfd6f3cc20d1042dcd 13914Author: Damien Lespiau <damien.lespiau@intel.com> 13915Date: Thu Sep 10 13:27:02 2009 +0100 13916 13917 [docs] Clutter's model implementation is called ClutterListModel 13918 13919 It was renamed from ClutterModelDefault to ClutterListModel a while 13920 back. Update the reference to this class in ClutterModel documentation. 13921 13922 clutter/clutter-model.c | 4 ++-- 13923 1 file changed, 2 insertions(+), 2 deletions(-) 13924 13925commit c5195dda1533e2f42514a880bb5b7d105d4fe541 13926Author: Emmanuele Bassi <ebassi@linux.intel.com> 13927Date: Wed Sep 9 16:15:54 2009 +0100 13928 13929 [docs] Add fixxref for Cairo symbols 13930 13931 Let gtk-doc resolve the Cairo types and symbols to the installed 13932 Cairo documentation. 13933 13934 configure.ac | 2 ++ 13935 doc/reference/clutter/Makefile.am | 6 +++--- 13936 2 files changed, 5 insertions(+), 3 deletions(-) 13937 13938commit f4e272ee9b6224cddc7eca54172025c5232e37bf 13939Author: Emmanuele Bassi <ebassi@linux.intel.com> 13940Date: Wed Sep 9 16:01:07 2009 +0100 13941 13942 [docs] Add a Path migration guide 13943 13944 ClutterBehaviourPath has been changed and ClutterBehaviourBspline has 13945 been removed; now we use ClutterPath everywhere we need to describe a 13946 path. This warrants a chapter in the migration guide. 13947 13948 doc/reference/clutter/Makefile.am | 6 ++++-- 13949 doc/reference/clutter/clutter-docs.xml.in | 1 + 13950 doc/reference/clutter/migrating-ClutterPath.xml | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 13951 3 files changed, 172 insertions(+), 2 deletions(-) 13952 13953commit 3cc56b2b138ff6451ba73e088d1023705455aef7 13954Author: Øyvind Kolås <pippin@linux.intel.com> 13955Date: Tue Sep 8 13:06:51 2009 +0100 13956 13957 [text] implement get_property for "use-markup" 13958 13959 clutter/clutter-text.c | 4 ++++ 13960 1 file changed, 4 insertions(+) 13961 13962commit 6988744db750dc3430a6c8cdd6274bc7e855aaf5 13963Author: Emmanuele Bassi <ebassi@linux.intel.com> 13964Date: Thu Aug 13 12:34:07 2009 +0100 13965 13966 [stage] Rework the Stage implementation class 13967 13968 Instead of using ClutterActor for the base class of the Stage 13969 implementation we should extend the StageWindow interface with 13970 the required bits (geometry, realization) and use a simple object 13971 class. 13972 13973 This require a wee bit of changes across Backend, Stage and 13974 StageWindow, even though it's mostly re-shuffling. 13975 13976 First of all, StageWindow should get new virtual functions: 13977 13978 * geometry: 13979 - resize() 13980 - get_geometry() 13981 13982 * realization 13983 - realize() 13984 - unrealize() 13985 13986 This covers all the bits that we use from ClutterActor currently 13987 inside the stage implementations. 13988 13989 The ClutterBackend::create_stage() virtual function should create 13990 a StageWindow, and not an Actor (it should always have been; the 13991 fact that it returned an Actor was a leak of the black magic going 13992 on underneath). Since we never guaranteed ABI compatibility for 13993 the Backend class, this is not a problem. 13994 13995 Internally to ClutterStage we can finally drop the shenanigans of 13996 setting/unsetting actor flags on the implementation: if the realization 13997 succeeds, for instance, we set the REALIZED flag on the Stage and 13998 we're done. 13999 14000 As an initial proof of concept, the X11 and GLX stage implementations 14001 have been ported to the New World Order(tm) and show no regressions. 14002 14003 clutter/Makefile.am | 2 +- 14004 clutter/clutter-backend.c | 14 +++++++------- 14005 clutter/clutter-backend.h | 5 +++-- 14006 clutter/clutter-private.h | 2 +- 14007 clutter/clutter-stage-window.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 14008 clutter/clutter-stage-window.h | 33 +++++++++++++++++++++++++++++++++ 14009 clutter/clutter-stage.c | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------- 14010 clutter/clutter.h | 1 + 14011 clutter/glx/clutter-backend-glx.c | 14 +++++++------- 14012 clutter/glx/clutter-stage-glx.c | 50 ++++++++++++++++++++++---------------------------- 14013 clutter/x11/clutter-stage-x11.c | 161 ++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------- 14014 11 files changed, 253 insertions(+), 213 deletions(-) 14015 14016commit 742cc4d95b602440c004d5af09a7fab662f03596 14017Author: Emmanuele Bassi <ebassi@linux.intel.com> 14018Date: Mon Sep 7 11:44:44 2009 +0100 14019 14020 [docs] Small annotation fixes 14021 14022 clutter/clutter-behaviour.c | 5 +++-- 14023 clutter/cogl/cogl-material.h | 29 ++++++++++++++++++----------- 14024 clutter/cogl/cogl-texture.h | 7 ++++--- 14025 3 files changed, 25 insertions(+), 16 deletions(-) 14026 14027commit c69209a253c7ccbfe5d2c91e6972fa3dc1deb50c 14028Author: Neil Roberts <neil@linux.intel.com> 14029Date: Mon Sep 7 11:36:05 2009 +0100 14030 14031 [animation] Move the check for the 'signal::' prefix into a separate function 14032 14033 The old code checked whether the property began with 'signal-' and 14034 then checked for 'signal-swapped' and 'signal-after'. This prevented 14035 you from animating a property called for example 'signal-strength'. 14036 14037 The check for the prefix is now in a separate function which also adds 14038 a 'signal-swapped-after' prefix for completeness. 14039 14040 Fixes bug: 14041 14042 http://bugzilla.openedhand.com/show_bug.cgi?id=1798 14043 14044 clutter/clutter-animation.c | 75 +++++++++++++++++++++++++++++++++++++++++---------------------------------- 14045 1 file changed, 41 insertions(+), 34 deletions(-) 14046 14047commit 7783635af3c78cf65fcb62ccb03478f1a9556b05 14048Author: Emmanuele Bassi <ebassi@linux.intel.com> 14049Date: Thu Sep 3 16:51:14 2009 +0100 14050 14051 [docs] Add more collateral documentation 14052 14053 * Add the main Glossary for Clutter terms 14054 14055 * Add the annotation glossary, as generated by gtk-doc 14056 14057 * Add the objects index and tree 14058 14059 doc/reference/clutter/Makefile.am | 2 ++ 14060 doc/reference/clutter/clutter-docs.xml.in | 45 ++++++++++++++++++++++++++++++++++++++++----- 14061 doc/reference/clutter/glossary.xml | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 14062 3 files changed, 184 insertions(+), 5 deletions(-) 14063 14064commit 763f5a9d014656c09c4684bc69a0e45862882f43 14065Author: Samuel Degrande <samuel.degrande@lifl.fr> 14066Date: Wed Sep 2 16:27:22 2009 +0100 14067 14068 DOT3_RGB[A] cannot be used in a Blend String 14069 14070 The blend string compiler checks that the syntax of a function name is 14071 [A-Za-z_]*, preventing the use of DOT3_RGB[A]. 14072 14073 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 14074 14075 clutter/cogl/common/cogl-blend-string.c | 8 +++++++- 14076 1 file changed, 7 insertions(+), 1 deletion(-) 14077 14078commit a5e081dc9c8f39ce66270b77f5beaa6ac53e7a91 14079Author: Emmanuele Bassi <ebassi@linux.intel.com> 14080Date: Wed Sep 2 15:26:33 2009 +0100 14081 14082 [model] Do not attempt to free empty column names 14083 14084 The column names are optional - ClutterModel will use the GType name 14085 if there is no user-specified column name. Hence, the ::finalize vfunc 14086 should not try to free an empty column names vector. 14087 14088 Fixes bug: 14089 14090 http://bugzilla.openedhand.com/show_bug.cgi?id=1790 14091 14092 clutter/clutter-model.c | 15 +++++++++------ 14093 1 file changed, 9 insertions(+), 6 deletions(-) 14094 14095commit 3686107460847d6b9333ff2149b850401590bae8 14096Author: Emmanuele Bassi <ebassi@linux.intel.com> 14097Date: Mon Aug 31 15:49:39 2009 +0100 14098 14099 [docs] Make sure to document the point-release process 14100 14101 Put the documentation right inside configure.ac, lest I forget. 14102 14103 configure.ac | 25 ++++++++++++++++++------- 14104 1 file changed, 18 insertions(+), 7 deletions(-) 14105 14106commit db6b0a91e0c2aebb245ad5d382769889abbf88dd 14107Author: Neil Roberts <neil@linux.intel.com> 14108Date: Wed Aug 26 18:28:35 2009 +0100 14109 14110 Take a reference to the material in clutter_texture_set_cogl_material 14111 14112 The material is unref'd in clutter_texture_finalize and the 14113 documentation explicitly states that the function will take a ref so 14114 it really should. 14115 14116 clutter/clutter-texture.c | 2 ++ 14117 1 file changed, 2 insertions(+) 14118 14119commit bad7782ab4bc0b5a96d8a97b9b32d5726343b1c2 14120Author: Neil Roberts <neil@linux.intel.com> 14121Date: Wed Aug 26 18:24:48 2009 +0100 14122 14123 Fix the documentation for clutter_texture_set_cogl_material 14124 14125 The documentation was a copy of the docs for set_cogl_texture so it 14126 was somewhat broken. 14127 14128 clutter/clutter-texture.c | 11 ++++++++--- 14129 1 file changed, 8 insertions(+), 3 deletions(-) 14130 14131commit b766a1cc100778c7f74acd9dcc280400eae4c55b 14132Author: Emmanuele Bassi <ebassi@linux.intel.com> 14133Date: Wed Aug 26 16:50:37 2009 +0100 14134 14135 [tests] Update the script test JSON 14136 14137 The test-script.json UI definition still used old types, like 14138 ClutterLabel and ClutterCloneTexture. It should move to the classes 14139 that have replaced them. 14140 14141 tests/data/test-script.json | 18 +++++++++--------- 14142 1 file changed, 9 insertions(+), 9 deletions(-) 14143 14144commit bb17dc1ce5d91f68da53944b5d7565be00b179eb 14145Author: Emmanuele Bassi <ebassi@linux.intel.com> 14146Date: Wed Aug 26 16:49:45 2009 +0100 14147 14148 [script] Clean up the ad hoc parsing code in Actor 14149 14150 The old parsing code still assumed we had integers for pixels 14151 and floating point values for percentages; this is not the case 14152 anymore. 14153 14154 clutter/clutter-actor.c | 38 ++------------------------------------ 14155 1 file changed, 2 insertions(+), 36 deletions(-) 14156 14157commit 2ffebad3d9b29931c29b8cb927580f9166ab39df 14158Author: Emmanuele Bassi <ebassi@linux.intel.com> 14159Date: Wed Aug 26 16:48:32 2009 +0100 14160 14161 [script] Convert double to float when parsing 14162 14163 The default floating point type for JSON is double precision; this means 14164 that we need to conver to single precision when setting a property with 14165 type G_TYPE_FLOAT. 14166 14167 clutter/clutter-script.c | 13 +++++++++++++ 14168 1 file changed, 13 insertions(+) 14169 14170commit 87831b3427be959bea6a649e2718a5bda5927463 14171Author: Emmanuele Bassi <ebassi@linux.intel.com> 14172Date: Tue Aug 25 17:55:51 2009 +0100 14173 14174 [tests] Add a Group actor unit 14175 14176 We need to test that the depth sorting of ClutterGroup works correctly 14177 in case we wish to change the data structure that stores the children, 14178 and do so without changing the default behaviour. 14179 14180 .gitignore | 1 + 14181 tests/conform/Makefile.am | 1 + 14182 tests/conform/test-conform-main.c | 2 ++ 14183 tests/conform/test-group.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 14184 4 files changed, 61 insertions(+) 14185 14186commit f1d58812078e04c7db17c80b51d48bb716b868d1 14187Author: Øyvind Kolås <pippin@linux.intel.com> 14188Date: Tue Aug 25 17:32:42 2009 +0100 14189 14190 [group] Use floating point in sort_z_order 14191 14192 clutter/clutter-group.c | 8 ++++++-- 14193 1 file changed, 6 insertions(+), 2 deletions(-) 14194 14195commit d8d344f52930872a8eabdcc801872246b7ae61d1 14196Author: Emmanuele Bassi <ebassi@linux.intel.com> 14197Date: Tue Aug 25 12:39:40 2009 +0100 14198 14199 [docs] Add Interval get_type function 14200 14201 The get_type() function for ClutterInterval is missing from the 14202 known GObject types, so gtk-doc doesn't know that it has to 14203 introspect it for hierarchy, properties and signals. 14204 14205 doc/reference/clutter/clutter.types | 1 + 14206 1 file changed, 1 insertion(+) 14207 14208commit 95a6e1c925c7dd24ba97a4625d1da09ff861e5c3 14209Author: Emmanuele Bassi <ebassi@linux.intel.com> 14210Date: Tue Aug 25 12:18:32 2009 +0100 14211 14212 Fix the warnings for Animation::update_interval() 14213 14214 The bindings for update_interval() were copied from bind(). 14215 14216 clutter/clutter-animation.c | 7 ++++--- 14217 1 file changed, 4 insertions(+), 3 deletions(-) 14218 14219commit 899f051cd92fb0b5d41948897c7130b86a98dae9 14220Author: Emmanuele Bassi <ebassi@linux.intel.com> 14221Date: Tue Aug 25 12:16:41 2009 +0100 14222 14223 [animation] Add Animation::update() 14224 14225 Currently, to update a property inside an animation you have to 14226 get the interval for that property and then call the set_final_value() 14227 method. 14228 14229 We can provide a simpler, bind()-like method for the convenience of 14230 the developers that just validates everything and then calls the 14231 Interval.set_final_value(). 14232 14233 clutter/clutter-animation.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 14234 clutter/clutter-animation.h | 3 +++ 14235 doc/reference/clutter/clutter-sections.txt | 1 + 14236 3 files changed, 57 insertions(+) 14237 14238commit 4ca375e8fe395e375826ea795566b8af8029e09f 14239Author: Neil Roberts <neil@linux.intel.com> 14240Date: Mon Aug 24 12:50:57 2009 +0100 14241 14242 [cogl-texture] Set GL_PACK_ROW_LENGTH when downloading texture data 14243 14244 Otherwise the rowstride passed in from an application is not used 14245 correctly so you can not download to an area with a much larger 14246 rowstride. 14247 14248 clutter/cogl/gl/cogl-texture.c | 14 +++++++++++--- 14249 1 file changed, 11 insertions(+), 3 deletions(-) 14250 14251commit 172074fd29cd42bf2790f78aa736f854218906f0 14252Author: Emmanuele Bassi <ebassi@linux.intel.com> 14253Date: Fri Aug 21 12:05:52 2009 +0100 14254 14255 [glx] Perform more checks before calling glXMakeCurrent 14256 14257 Right now we just check for a NULL stage before calling glXMakeCurrent(). 14258 14259 We can, though, get a valid stage without an implementation attached to 14260 it while we are disposing a stage after a CLUTTER_DELETE event, since the 14261 events processing is performed on a vblank-locked basis. 14262 14263 clutter/glx/clutter-backend-glx.c | 17 +++++++++++------ 14264 1 file changed, 11 insertions(+), 6 deletions(-) 14265 14266commit 93e1d8e7a35afd0f1c08022bdf0f04154ad08ef1 14267Author: Owen W. Taylor <otaylor@fishsoup.net> 14268Date: Fri Aug 7 21:16:04 2009 -0400 14269 14270 Add ::queue-relayout signal to ClutterActor for ClutterClone 14271 14272 ClutterClone bases its preferred size on the preferred size of 14273 the source actor, so it needs to invalid its cached preferred 14274 size when the preferred size of the source actor changes. 14275 14276 In order for this to work, we need to have notification when 14277 the size of the source actor changes, so add a ::queue-relayout 14278 signal to ClutterActor. 14279 14280 Then connect to this from ClutterClone and queue a relayout 14281 on the clone when a relayout is queued on the source. 14282 14283 http://bugzilla.openedhand.com/show_bug.cgi?id=1755 14284 14285 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 14286 14287 clutter/clutter-actor.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++---------- 14288 clutter/clutter-actor.h | 5 ++++- 14289 clutter/clutter-clone.c | 12 ++++++++++++ 14290 3 files changed, 62 insertions(+), 11 deletions(-) 14291 14292commit 56daae9d7bc49a29a4e1c4e093928efb747ed675 14293Author: Robert Bragg <robert@linux.intel.com> 14294Date: Thu Aug 20 12:53:32 2009 +0100 14295 14296 Revert "[cogl] Allow Cogl to create NPOT textures for GLES2" 14297 14298 This reverts commit 3c47a3beb51462ef8af1070b75123660059e97d0. 14299 14300 Of course I remembered just after pushing the patch why we hadn't done 14301 this before :-) If you look in the glsl spec: 14302 http://www.khronos.org/registry/gles/specs/2.0/es_full_spec_2.0.24.pdf 14303 Section 3.7.10 Texture Completeness and Non-Power-Of-Two Textures 14304 you can see GLES 2.0 doesn't support mipmaps for npot textures. 14305 14306 There is possibly some way we could support this in Cogl but at least 14307 it's not as simple as or-ing in the feature flag, sadly. 14308 14309 clutter/cogl/gles/cogl.c | 3 +-- 14310 1 file changed, 1 insertion(+), 2 deletions(-) 14311 14312commit 3c47a3beb51462ef8af1070b75123660059e97d0 14313Author: Robert Bragg <robert@linux.intel.com> 14314Date: Thu Aug 20 12:15:21 2009 +0100 14315 14316 [cogl] Allow Cogl to create NPOT textures for GLES2 14317 14318 The core GLES2 API supports NPOT textures, i.e. there is no extension as for 14319 OpenGL, so we now add COGL_FEATURE_TEXTURE_NPOT to the feature flags in 14320 _cogl_features_init. 14321 14322 Thanks to Gordon Williams for spotting this. 14323 14324 clutter/cogl/gles/cogl.c | 3 ++- 14325 1 file changed, 2 insertions(+), 1 deletion(-) 14326 14327commit a5fe4ae4ec5c5c43aa0898095284447095462e37 14328Author: Robert Bragg <robert@linux.intel.com> 14329Date: Wed Aug 19 15:38:25 2009 +0100 14330 14331 [cogl] %.c: %.glsl codegen: use BUILT_SOURCES var + fix stringify.sh 14332 14333 Don't let stringify.sh write to the $srcdir + use the BUILT_SOURCES var in 14334 Makefile.am so as to ensure all .c. and .h files get generated from their 14335 corresponding .glsl files before building other targets. 14336 14337 clutter/cogl/gles/Makefile.am | 14 +++++++++----- 14338 clutter/cogl/gles/stringify.sh | 40 +++++++++++++++++++--------------------- 14339 2 files changed, 28 insertions(+), 26 deletions(-) 14340 14341commit 3761e9cd47950bfade7d3b829b20b245806632a2 14342Author: Jonas Bonn <jonas@southpole.se> 14343Date: Wed Aug 19 13:14:10 2009 +0000 14344 14345 Check timeline direction when forcing final state 14346 14347 If the timeline is running backwards, the completed signal handler should 14348 set the final state from the interval's initial value. 14349 14350 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 14351 14352 clutter/clutter-animation.c | 11 ++++++++++- 14353 1 file changed, 10 insertions(+), 1 deletion(-) 14354 14355commit 373b165b3f1adc556e7ee70f01cff66d4a38cd60 14356Author: Emmanuele Bassi <ebassi@linux.intel.com> 14357Date: Mon Aug 10 12:45:44 2009 +0200 14358 14359 Use AM_SILENT_RULES if automake >= 1.11 is installed 14360 14361 Fixes bug: 14362 14363 http://bugzilla.openedhand.com/show_bug.cgi?id=1756 14364 14365 Based on a patch by: Javier Jardón <javierjc1982@gmail.com> 14366 14367 clutter/Makefile.am | 7 +++++-- 14368 clutter/cogl/Makefile.am | 6 ++++-- 14369 clutter/cogl/common/Makefile.am | 7 ++++--- 14370 configure.ac | 18 +++++++++++++++--- 14371 4 files changed, 28 insertions(+), 10 deletions(-) 14372 14373commit 6a9130f10fe5ed3c78b541cf0d021857efb57cb4 14374Author: Neil Roberts <neil@linux.intel.com> 14375Date: Tue Aug 18 18:07:37 2009 +0100 14376 14377 [pango-display-list] Don't premultiply the colour twice 14378 14379 When rendering a glyph run from a texture we were premultiplying the 14380 colour once in display_list_render() and then again in 14381 display_list_render_texture(). This was causing the color to come out 14382 wrong. This fixes bug #1775. 14383 14384 Thanks to Pierre-Luc Beaudoin for reporting. 14385 14386 clutter/pango/cogl-pango-display-list.c | 1 - 14387 1 file changed, 1 deletion(-) 14388 14389commit 9befb055d0dd993d1171bf5652eefdc35567e7f5 14390Author: Robert Bragg <robert@linux.intel.com> 14391Date: Tue Aug 18 16:13:13 2009 +0100 14392 14393 [cogl-material] Fix some brackets in _layer_flush_gl_sampler_state 14394 14395 The wrong part of an expression was bracketed in the test to determine 14396 when a new texture matrix needed to be loaded which resulted in the 14397 first pass through _cogl_material_layer_flush_gl_sampler_state 14398 not uploading any user matrix. 14399 14400 clutter/cogl/common/cogl-material.c | 8 ++++---- 14401 1 file changed, 4 insertions(+), 4 deletions(-) 14402 14403commit 366e0725ce1bb804219b28a29539add1e05f73e8 14404Author: Emmanuele Bassi <ebassi@linux.intel.com> 14405Date: Tue Aug 18 11:11:29 2009 +0100 14406 14407 [docs] texture_polygon() is called polygon() 14408 14409 Remove the mentions to the old name of cogl_polygon(). 14410 14411 clutter/cogl/cogl-types.h | 5 +++-- 14412 1 file changed, 3 insertions(+), 2 deletions(-) 14413 14414commit f655b28e669b7aec5b3ace0d8873adeefa11b4de 14415Author: Emmanuele Bassi <ebassi@linux.intel.com> 14416Date: Mon Aug 17 23:27:22 2009 +0100 14417 14418 [build] Nothing can be prepended to QUIET_* rules 14419 14420 Move the LD_LIBRARY_PATH override after the QUIET_GEN rule and 14421 unbreak the typelib compilation. 14422 14423 clutter/Makefile.am | 3 ++- 14424 1 file changed, 2 insertions(+), 1 deletion(-) 14425 14426commit 8c00d705c0ec009c08950f314ab896b6ff40aa37 14427Author: Jussi Kukkonen <jku@linux.intel.com> 14428Date: Mon Aug 17 00:00:35 2009 +0300 14429 14430 [text] move_word_backward/forward fixes 14431 14432 clutter_text_move_word_backward/forward() calls did not use the 14433 start argument consistently. Also, clutter_text_move_word_forward() 14434 bound check checked the wrong end. 14435 14436 Fixes #1765 14437 14438 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 14439 14440 clutter/clutter-text.c | 12 ++++++------ 14441 1 file changed, 6 insertions(+), 6 deletions(-) 14442 14443commit 99437c476136ec6a735270efd8670efcd1f2c77e 14444Author: Neil Roberts <neil@linux.intel.com> 14445Date: Mon Aug 17 17:43:42 2009 +0100 14446 14447 [text] Don't interpret the unicode value when the control modifier is on 14448 14449 When a letter key is pressed with the control key held down one of 14450 three things will happen :- 14451 14452 a) If the stage is embedded within a GtkClutterEmbed the unicode value 14453 will be filled from gdk_keyval_to_unicode. This will be the same 14454 value as if control was not pressed (so Ctrl+V will be 'v'). 14455 14456 b) If the stage is not in a GtkClutterEmbed and Clutter is running on 14457 the X11 backend then it will try to fill in the unicode value from 14458 XLookupString. This *will* take into account the control so the 14459 unicode value will represent a control character (Ctrl+V will be 14460 '\x16'). 14461 14462 c) Most other backends will not bother to fill in the unicode 14463 value. Therefore clutter_keysym_to_unicode will be used which also 14464 does not take into account the control key (so Ctrl+V will be 'v'). 14465 14466 For cut and paste to work in Nbtk, the control keys need to bubble up 14467 to the parent NbtkEntry container. This works fine for 'b' but not 'a' 14468 and 'c'. 14469 14470 This patch makes ClutterText always allow the event to bubble if the 14471 key is not handled by the binding pool and the control modifier is 14472 down. 14473 14474 Ideally ClutterText would always get a unicode value that takes into 14475 account the modifiers but this is probably best left up to the input 14476 methods. 14477 14478 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 14479 14480 clutter/clutter-text.c | 3 ++- 14481 1 file changed, 2 insertions(+), 1 deletion(-) 14482 14483commit 5d7c2e7c4495b3d6f35ed3f4e50857f17b946872 14484Author: Owen W. Taylor <otaylor@fishsoup.net> 14485Date: Mon Aug 17 13:57:18 2009 -0400 14486 14487 Set LD_LIBRARY_PATH when running g-ir-compiler 14488 14489 g-ir-compiler currently opens the library for the .gir it is compiling; 14490 to make that work we need to set LD_LIBRARY_PATH before running 14491 g-ir-compiler to include .libs. 14492 14493 (I think this may have been working earlier because there was a 14494 hack that substituted .so with .la and tried opening that; that 14495 works for the incorrect libclutter-glx-1.0.so but not for the 14496 correct libclutter-glx-1.0.so.0) 14497 14498 http://bugzilla.openedhand.com/show_bug.cgi?id=1771 14499 14500 clutter/Makefile.am | 1 + 14501 1 file changed, 1 insertion(+) 14502 14503commit 4c1248c5e9b934b23bdabbfc3d2dabdb8bab0656 14504Author: Owen W. Taylor <otaylor@fishsoup.net> 14505Date: Mon Aug 17 15:41:27 2009 +0100 14506 14507 Full fix for the G-I support in Clutter 14508 14509 Update the sed hack for the shared library to be more robust. 14510 14511 Remove the --shared-library command line argument from g-ir-scanner, 14512 as no distribution will ever ship the .la files. This effectively 14513 reverts commit 68f8a98cfbf70e2b7bfcda7831907633eb08ca50. 14514 14515 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 14516 14517 clutter/Makefile.am | 5 ++--- 14518 1 file changed, 2 insertions(+), 3 deletions(-) 14519 14520commit 68f8a98cfbf70e2b7bfcda7831907633eb08ca50 14521Author: Götz Waschk <waschk@mandriva.org> 14522Date: Mon Aug 17 14:21:42 2009 +0100 14523 14524 Specify the shared library for g-ir-compile 14525 14526 Use the --shared-library option to specify the shared object to link 14527 against when compiling the typelib from the GIR data. 14528 14529 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 14530 14531 clutter/Makefile.am | 6 +++++- 14532 1 file changed, 5 insertions(+), 1 deletion(-) 14533 14534commit 366e0f9cd7773433ba14cc531119bca3b9879a1e 14535Author: Götz Waschk <waschk@mandriva.org> 14536Date: Mon Aug 17 14:12:21 2009 +0100 14537 14538 Update Clutter to use G-I 0.6.4 14539 14540 Following bug #1762, the syntax of g-ir-scanner was changed in 14541 gobject-introspection, so Clutter does not build anymore with 0.6.4. 14542 14543 See the bugzilla bug: 14544 14545 http://bugzilla.gnome.org/show_bug.cgi?id=591669 14546 14547 GObject-Introspection now uses a different mechanism to extract the 14548 SONAME when building the gir file and it needs the libtool archive as 14549 option. 14550 14551 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 14552 14553 README | 2 +- 14554 clutter/Makefile.am | 2 +- 14555 clutter/cogl/Makefile.am | 2 +- 14556 clutter/json/Makefile.am | 2 +- 14557 configure.ac | 2 +- 14558 5 files changed, 5 insertions(+), 5 deletions(-) 14559 14560commit 53cb86d94ba258cb917221856501c60738a143f3 14561Author: Emmanuele Bassi <ebassi@linux.intel.com> 14562Date: Mon Aug 17 10:27:13 2009 +0100 14563 14564 [docs] Update the requirements section 14565 14566 README | 9 +++++++-- 14567 1 file changed, 7 insertions(+), 2 deletions(-) 14568 14569commit 90d8f3183193176b796ac533158e3b0c2a4c2e85 14570Author: Emmanuele Bassi <ebassi@linux.intel.com> 14571Date: Fri Aug 14 15:59:29 2009 +0100 14572 14573 [units] Do not be locale-dependant on string conversion 14574 14575 When dumping a ClutterUnits structure to a string we are using a bare 14576 g_strdup_printf(), which unfortunately is locale dependant. So, for 14577 instance, a type of CLUTTER_UNIT_EM and a value of 42 are stringified 14578 as: 14579 14580 C: 42.00 em 14581 en_GB 42.00 em 14582 it_IT 42,00 em 14583 fr_FR 42,00 em 14584 14585 This would not be a problem -- clutter_units_from_string() allows both 14586 '.' and ',' as fractionary part delimiters. The test suite, on the 14587 other hand, does not know that, and it checks for exact matches with 14588 the C locale. 14589 14590 Calling setlocale(LC_ALL,"C") at the beginning of the conformance test 14591 suite is not a good idea, because it would prevent external testing; and 14592 it's a lame cop out from doing exactly what we have to do -- pick a format 14593 and stick with it. 14594 14595 Like other platforms, languages and frameworks before us, we opt to 14596 be less liberal in what we create; so, we choose to always stringify 14597 ClutterUnits with fractionary parts using '.' as the delimiter. 14598 14599 Fixes bug: 14600 14601 http://bugzilla.openedhand.com/show_bug.cgi?id=1763 14602 14603 clutter/clutter-units.c | 24 ++++++++++++++---------- 14604 1 file changed, 14 insertions(+), 10 deletions(-) 14605 14606commit f08b583a312cd87f3263078eecdb19a9328ac79f 14607Author: Emmanuele Bassi <ebassi@linux.intel.com> 14608Date: Fri Aug 14 15:58:00 2009 +0100 14609 14610 [tests] Abstract GTest and Clutter initialization 14611 14612 The set up process of the conformance test suite is complex enough to 14613 warrant a split up into its own function. 14614 14615 tests/conform/test-conform-main.c | 27 ++++++++++++++++++--------- 14616 1 file changed, 18 insertions(+), 9 deletions(-) 14617 14618commit b31e2d59bdfcc3be46f3ec87de4bcabc32747133 14619Author: Emmanuele Bassi <ebassi@linux.intel.com> 14620Date: Fri Aug 14 13:08:59 2009 +0100 14621 14622 [build] Remove last user of CLUTTER_MAJORMINOR 14623 14624 We should always use CLUTTER_API_VERSION instead. 14625 14626 doc/manual/Makefile.am | 10 +++++----- 14627 1 file changed, 5 insertions(+), 5 deletions(-) 14628 14629commit 5274b4e4c48dbd81c7553ef9889b5897afe932c5 14630Author: Emmanuele Bassi <ebassi@linux.intel.com> 14631Date: Fri Aug 14 13:08:17 2009 +0100 14632 14633 [build] Clean up the eglnative and fruity Makefile.am 14634 14635 * Do not use CLUTTER_MAJORMINOR 14636 14637 * Use per-target compiler flags and libraries 14638 14639 clutter/eglnative/Makefile.am | 11 +++++------ 14640 clutter/fruity/Makefile.am | 21 ++++++++++----------- 14641 2 files changed, 15 insertions(+), 17 deletions(-) 14642 14643commit f7edc97d8df2f035fa81343126884b0cbfc9bc3a 14644Author: Xu Li <xu.li@intel.com> 14645Date: Tue Aug 4 22:06:27 2009 +0800 14646 14647 Add new Atom atom_NET_WM_PID to set pid info 14648 14649 Clutter advertises itself on X11 as implementing the _NET_WM_PING protocol, 14650 which is needed to be able to detect frozen applications; this allows us to 14651 stop the destruction of the stage by blocking the CLUTTER_DELETE event and 14652 wait for user feedback without the Window Manager thinking that the app has 14653 gone unresponsive. 14654 14655 In order to implement the _NET_WM_PING protocol properly, though, we need 14656 to add the _NET_WM_PID property on the Stage window, since the EWMH states: 14657 14658 [_NET_WM_PID] MAY be used by the Window Manager to kill windows which 14659 do not respond to the _NET_WM_PING protocol. 14660 14661 Meaning that an unresponsive Clutter application might not be killable by 14662 the window manager. 14663 14664 Fixes bug: 14665 14666 http://bugzilla.openedhand.com/show_bug.cgi?id=1748 14667 14668 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 14669 14670 clutter/x11/clutter-backend-x11.c | 22 ++++++++++++---------- 14671 clutter/x11/clutter-backend-x11.h | 1 + 14672 clutter/x11/clutter-stage-x11.c | 25 +++++++++++++++++++++++++ 14673 3 files changed, 38 insertions(+), 10 deletions(-) 14674 14675commit 3abf393b87d83211d82b161c0417d80312b8783f 14676Author: Emmanuele Bassi <ebassi@linux.intel.com> 14677Date: Fri Aug 14 11:29:03 2009 +0100 14678 14679 [build] Clean up cogl-pango Makefile 14680 14681 * Do _not_ use CLUTTER_MAJORMINOR to define the installation path 14682 for the headers; we must use CLUTTER_API_VERSION for that. 14683 14684 * Do not put the C compiler flags in the INCLUDES directive. 14685 14686 Bases on a patch by: Gary Ching-Pang Lin <glin@novell.com> 14687 14688 clutter/pango/Makefile.am | 9 +++------ 14689 1 file changed, 3 insertions(+), 6 deletions(-) 14690 14691commit 5c8ae6d2dcdb592a56f33927dcec2369a9147396 14692Author: Emmanuele Bassi <ebassi@linux.intel.com> 14693Date: Thu Aug 13 18:05:38 2009 +0100 14694 14695 [json] Fix compilation of the internal JSON-GLib 14696 14697 Define the symbols needed to pass the single include policy when 14698 compiling the static object. 14699 14700 clutter/json/Makefile.am | 4 +++- 14701 clutter/json/json-glib.h | 4 ++++ 14702 2 files changed, 7 insertions(+), 1 deletion(-) 14703 14704commit 6e1f9ad9b65fedaa18950de712d7f6ab39b809f0 14705Author: Emmanuele Bassi <ebassi@linux.intel.com> 14706Date: Thu Aug 13 16:15:04 2009 +0100 14707 14708 [docs] Remove the version number from the title 14709 14710 The version number in the title made sense when we were breaking 14711 API with every minor release. Now that we're API stable we can 14712 drop that and make the output in Devhelp and on the website slightly 14713 more good looking. 14714 14715 doc/reference/clutter/clutter-docs.xml.in | 4 ++-- 14716 doc/reference/cogl/cogl-docs.xml.in | 9 +++++++-- 14717 2 files changed, 9 insertions(+), 4 deletions(-) 14718 14719commit 8a794a85337c01a21f88a02c84bd519ed511b6c6 14720Author: Emmanuele Bassi <ebassi@linux.intel.com> 14721Date: Thu Aug 13 16:13:55 2009 +0100 14722 14723 [docs] Fix the examples for animate() 14724 14725 Update the examples to reference to existing easing modes and to 14726 make sure to use floating point values for floating point properties. 14727 14728 clutter/clutter-animation.c | 36 ++++++++++++++++++------------------ 14729 1 file changed, 18 insertions(+), 18 deletions(-) 14730 14731commit f25cdf066c023222330119a1fe8ef5204773faa7 14732Author: Emmanuele Bassi <ebassi@linux.intel.com> 14733Date: Thu Aug 13 12:26:09 2009 +0100 14734 14735 [actor] Allow unsetting width and height separately 14736 14737 It is possible to unset the size of an actor specified with set_width() 14738 and set_height() by using: 14739 14740 clutter_actor_set_size (actor, -1, -1); 14741 14742 Which works by unsetting the :min-*-set and the :natural-*-set properties. 14743 14744 Calling set_width(-1) and set_height(-1) separately, though, doesn't work 14745 thus implicitly breaking the assumption that set_size() is nothing more 14746 than set_width()+set_height(). This was obviously due to the face that 14747 pre-1.0 set_width() and set_height() took an unsigned integer as an 14748 argument. 14749 14750 clutter/clutter-actor.c | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------- 14751 1 file changed, 52 insertions(+), 29 deletions(-) 14752 14753commit d3e06bc1e5654248d86aaa568179c5732839412e 14754Author: Colin Walters <walters@verbum.org> 14755Date: Thu Aug 13 10:49:39 2009 +0100 14756 14757 Add (allow-none) for clutter_stage_set_key_focus() 14758 14759 The @actor argument can be NULL to unset the key focus. 14760 14761 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 14762 14763 clutter/clutter-stage.c | 2 +- 14764 1 file changed, 1 insertion(+), 1 deletion(-) 14765 14766commit 9766fb13005b04669e60befd9e0e3cddf822ac1c 14767Author: Emmanuele Bassi <ebassi@linux.intel.com> 14768Date: Wed Aug 12 16:02:23 2009 +0100 14769 14770 [script] Fix Actor's ad-hoc parser 14771 14772 ClutterActor parses positional and dimensional properties with a 14773 custom deserializer. We need to: 14774 14775 - handle G_TYPE_INT64, the default integer type for JSON-GLib 14776 - use G_TYPE_FLOAT for properties, since Actor switched to it 14777 for the pixel-based ones 14778 14779 This makes ClutterScript work again. 14780 14781 clutter/clutter-actor.c | 8 ++++---- 14782 1 file changed, 4 insertions(+), 4 deletions(-) 14783 14784commit cfbbacb8079e2ad92d5e538195d49cfdf8818144 14785Author: Emmanuele Bassi <ebassi@linux.intel.com> 14786Date: Wed Aug 12 16:01:25 2009 +0100 14787 14788 [script] Fix the default deserialization 14789 14790 Properties parsed from ClutterScript should now use G_TYPE_INT64 14791 and automatically convert between G_TYPE_INT and G_TYPE_INT64. 14792 14793 clutter/clutter-script.c | 21 +++++++++++++-------- 14794 1 file changed, 13 insertions(+), 8 deletions(-) 14795 14796commit 4d522456372c2394046968ce0a4b22f603023d32 14797Author: Emmanuele Bassi <ebassi@linux.intel.com> 14798Date: Wed Aug 12 16:00:13 2009 +0100 14799 14800 [json] Update the internal copy of JSON-GLib 14801 14802 JSON-GLib switch to 64 bit integers upstream, to avoid the undefined 14803 integer size of the JSON RFC. All integers are automatically promoted 14804 to gint64. 14805 14806 clutter/json/json-array.c | 4 ++-- 14807 clutter/json/json-node.c | 61 +++++++++++++++++++++++++++++++++++++++++++++++++------------ 14808 clutter/json/json-object.c | 41 ++++++++++------------------------------- 14809 clutter/json/json-parser.c | 13 +++++++------ 14810 clutter/json/json-types.h | 16 ++++++++++------ 14811 5 files changed, 78 insertions(+), 57 deletions(-) 14812 14813commit 2b70b0d4ed791e8bc25b59eb3b2e9dbeb8201b11 14814Author: Emmanuele Bassi <ebassi@linux.intel.com> 14815Date: Wed Aug 12 15:57:25 2009 +0100 14816 14817 Include clutter-json.h, not json-types.h 14818 14819 The json-types.h header is found by the mere fact of it being 14820 in the project; if we are compiling against the system JSON-GLib 14821 this could be horribly out of date. 14822 14823 We need to use clutter-json.h, which will include the right 14824 header for us. 14825 14826 clutter/clutter-script-private.h | 2 +- 14827 1 file changed, 1 insertion(+), 1 deletion(-) 14828 14829commit cc6aa6e4d537c5eec3fda85475f78bdf0da2ea10 14830Author: Emmanuele Bassi <ebassi@linux.intel.com> 14831Date: Wed Aug 12 15:32:18 2009 +0100 14832 14833 Clutter GIR depends on ClutterJson GIR conditionally 14834 14835 If we're building Clutter with a system JSON-GLib we need to skip 14836 the typelib compilation of ClutterJson since we depend on Json-1.0.gir 14837 directly. 14838 14839 clutter/Makefile.am | 3 ++- 14840 1 file changed, 2 insertions(+), 1 deletion(-) 14841 14842commit 6fcf5c1820b29610a05e0f5022d1d6d907716df5 14843Author: Emmanuele Bassi <ebassi@linux.intel.com> 14844Date: Wed Aug 12 15:31:16 2009 +0100 14845 14846 [json] Include only json-glib.h 14847 14848 JSON-GLib moved to a single include scheme, so we should only include 14849 json-glib.h. If we use the internal copy it doesn't matter, since the 14850 header does the right thing. 14851 14852 clutter/clutter-json.h.in | 4 +--- 14853 1 file changed, 1 insertion(+), 3 deletions(-) 14854 14855commit 8c49e227536fabddd2cbf81aa94e1624d30ca312 14856Author: Emmanuele Bassi <ebassi@linux.intel.com> 14857Date: Wed Aug 12 10:30:11 2009 +0100 14858 14859 Add copyright and license notice 14860 14861 The clutter-script-parser.c does not have a copyright and license 14862 notices; even though the LGPL is a per-project license and not a 14863 per-file license, having those notices in every source file is a 14864 good idea. 14865 14866 clutter/clutter-script-parser.c | 32 ++++++++++++++++++++++++++++++++ 14867 1 file changed, 32 insertions(+) 14868 14869commit 13e055a351f83c56b895b131566a6e842d24ed2a 14870Author: zhou jiangwei <dyllan.zhou@samsung.com> 14871Date: Tue Aug 11 14:18:37 2009 +0100 14872 14873 [eglx] Update the EGLX backend 14874 14875 The EGLX backend needs to be updated to the new ClutterBackendX11 14876 code. 14877 14878 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 14879 14880 clutter/eglx/clutter-backend-egl.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 14881 clutter/eglx/clutter-backend-egl.h | 1 + 14882 clutter/eglx/clutter-stage-egl.c | 4 ++-- 14883 3 files changed, 46 insertions(+), 2 deletions(-) 14884 14885commit 2ab9bef5873ca9d226ddf31fc65b96fe20fa72d5 14886Author: zhou jiangwei <dyllan.zhou@samsung.com> 14887Date: Tue Aug 11 14:17:28 2009 +0100 14888 14889 [cogl] Fix the GLES 2.0 backend 14890 14891 Update the GLES 2.0 backend to the new COGL API after the breakage 14892 introduced by the journal. 14893 14894 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 14895 14896 clutter/cogl/common/cogl-primitives.c | 5 +++-- 14897 clutter/cogl/gles/cogl-context.h | 5 ++++- 14898 clutter/cogl/gles/cogl-gles2-wrapper.h | 5 +++++ 14899 clutter/cogl/gles/cogl-primitives.c | 10 +++++----- 14900 clutter/cogl/gles/cogl-texture-private.h | 3 +++ 14901 5 files changed, 20 insertions(+), 8 deletions(-) 14902 14903commit dbfd3f0f444680d85556edc0b96dff68ea22722d 14904Author: Robert Bragg <robert@linux.intel.com> 14905Date: Tue Aug 11 13:49:12 2009 +0100 14906 14907 [cogl_clear] Also pass the alpha component of the CoglColor to glClearColor 14908 14909 Previously we were passing a constant of 0.0 for the alpha component which 14910 wasn't as flexible. 14911 14912 clutter/cogl/common/cogl.c | 2 +- 14913 1 file changed, 1 insertion(+), 1 deletion(-) 14914 14915commit f0cb337d920c46cb7ca45d80ade69057d0408ff5 14916Author: Emmanuele Bassi <ebassi@linux.intel.com> 14917Date: Tue Aug 11 13:27:25 2009 +0100 14918 14919 [build] Fix LDADD -> LIBADD usage 14920 14921 clutter/osx/Makefile.am | 2 +- 14922 1 file changed, 1 insertion(+), 1 deletion(-) 14923 14924commit dfc32b60c4b1b0b83fbf70d7e02b58cbc919326a 14925Author: Emmanuele Bassi <ebassi@linux.intel.com> 14926Date: Tue Aug 11 13:11:34 2009 +0100 14927 14928 [osx] Clean up Makefile.am 14929 14930 The OS X backend Makefile.am was missing a line concatenation, and 14931 so the -xobjective-c directive was always ignored. 14932 14933 Instead of dumping everything into INCLUDES and LDADD we should follow 14934 what the rest of the backends do, and use per-target CFLAGS and LDADD, 14935 and reserve the INCLUDES to -D and -I directives. 14936 14937 Thanks to: Christian Hergert <chris@dronelabs.com> 14938 14939 clutter/osx/Makefile.am | 30 ++++++++++++++---------------- 14940 1 file changed, 14 insertions(+), 16 deletions(-) 14941 14942commit d0748b3b9b34bf77ed3b813e3872cac64d6a6c35 14943Merge: d263e7a78 df572d089 14944Author: Emmanuele Bassi <ebassi@linux.intel.com> 14945Date: Mon Aug 10 17:21:20 2009 +0100 14946 14947 Merge branch 'system-json-glib' 14948 14949 * system-json-glib: 14950 [script] Simplify the parser code 14951 Update JSON-GLib dependency 14952 14953commit d263e7a78b7e98b2b87a51a194b93473344b6b27 14954Author: Emmanuele Bassi <ebassi@linux.intel.com> 14955Date: Mon Aug 10 17:19:04 2009 +0100 14956 14957 [build] Install JSON headers inside the right directory 14958 14959 Don't install inside the clutter-MAJOR_MINOR/ directory, but use 14960 the API_VERSION (1.0). 14961 14962 Otherwise we'd have the Clutter headers for 1.x inside: 14963 14964 $includedir/clutter-1.0/clutter 14965 14966 And the JSON-related headers inside: 14967 14968 $includedir/clutter-1.<minor>/clutter 14969 14970 clutter/json/Makefile.am | 2 +- 14971 1 file changed, 1 insertion(+), 1 deletion(-) 14972 14973commit 19a53054fde3ccfac365452618e4524e3f3c7efc 14974Author: Emmanuele Bassi <ebassi@linux.intel.com> 14975Date: Fri Aug 7 15:27:25 2009 +0100 14976 14977 Bump to 1.1.1 after branching 1.0 14978 14979 configure.ac | 2 +- 14980 1 file changed, 1 insertion(+), 1 deletion(-) 14981 14982commit 420ed353b53bd624331bd249d7df98d14714b504 14983Author: Emmanuele Bassi <ebassi@linux.intel.com> 14984Date: Fri Aug 7 08:18:17 2009 +0100 14985 14986 [x11] Do not ask to destroy an empty Window 14987 14988 The fix for bug 1750 inside commit b190448e made Clutter-GTK spew 14989 BadWindow errors. The reason for that is that we call XDestroyWindow() 14990 without checking if the old Window is None; this happens if we call 14991 clutter_x11_set_stage_foreign() on a new ClutterStage before it has 14992 been realized. 14993 14994 Since Clutter-GTK does not need to realize the Stage it is going to 14995 embed anymore (the only reason for that was to obtain a proper Visual 14996 but now there's ClutterBackendX11 API for that), the set_stage_foreign() 14997 call is effectively setting the StageX11 Window for the first time. 14998 14999 clutter/x11/clutter-stage-x11.c | 20 +++++++++++++++----- 15000 1 file changed, 15 insertions(+), 5 deletions(-) 15001 15002commit 335fb07ab02bc719c04bf2de115a88216f1321f7 15003Author: Emmanuele Bassi <ebassi@linux.intel.com> 15004Date: Wed Aug 5 17:46:18 2009 +0100 15005 15006 [actor] Add missing return_if_fail() 15007 15008 The queue_relayout() method was missing the argument check. 15009 15010 Thanks to: Neil Patel <njpatel@gmail.com> 15011 15012 clutter/clutter-actor.c | 2 ++ 15013 1 file changed, 2 insertions(+) 15014 15015commit 1434d7213487ad42626fcc4b1da180fe98192ef1 15016Author: Neil Roberts <neil@linux.intel.com> 15017Date: Wed Aug 5 15:51:49 2009 +0100 15018 15019 Small doc fix to clutter_text_get_color 15020 15021 Bug reported by Rob Bradford. 15022 15023 clutter/clutter-text.c | 2 +- 15024 1 file changed, 1 insertion(+), 1 deletion(-) 15025 15026commit b190448ed460ae466cd6d1c7c34e47d4386fe4c4 15027Author: Emmanuele Bassi <ebassi@linux.intel.com> 15028Date: Tue Aug 4 16:59:15 2009 +0100 15029 15030 [x11] Destroy the Window we own when setting a foreign one 15031 15032 When we replace the stage Window using a foreign one we also need to 15033 destroy the Window we created, if needed, to avoid leaking resources 15034 all around. 15035 15036 Fixes bug: 15037 15038 http://bugzilla.openedhand.com/show_bug.cgi?id=1750 15039 15040 clutter/x11/clutter-stage-x11.c | 6 ++++++ 15041 1 file changed, 6 insertions(+) 15042 15043commit 7963254c23f42a43b64ca3f2401499b456d677ce 15044Author: Emmanuele Bassi <ebassi@linux.intel.com> 15045Date: Tue Aug 4 11:39:09 2009 +0100 15046 15047 [docs] Close a tag 15048 15049 doc/reference/clutter/building-clutter.xml | 6 ++++-- 15050 1 file changed, 4 insertions(+), 2 deletions(-) 15051 15052commit 79288b46ed60efe4cf3f970ef7f1cce17685cd84 15053Author: Emmanuele Bassi <ebassi@linux.intel.com> 15054Date: Tue Aug 4 11:38:48 2009 +0100 15055 15056 [docs] Fix a missing parameter 15057 15058 clutter/cogl/cogl-vertex-buffer.h | 2 +- 15059 1 file changed, 1 insertion(+), 1 deletion(-) 15060 15061commit 9cda8d130f7097d8ca43ffb0e50206ab72d1892d 15062Author: Emmanuele Bassi <ebassi@linux.intel.com> 15063Date: Tue Aug 4 11:11:59 2009 +0100 15064 15065 [actor] Be more explicit when warning about invariants 15066 15067 The "catch all" warning for a the mapped invariant violation is too 15068 generic: it doesn't tell you why the invariant was broken in case 15069 we are trying to map an unparented actor - e.g. through a Clone. 15070 15071 clutter/clutter-actor.c | 10 ++++++++-- 15072 1 file changed, 8 insertions(+), 2 deletions(-) 15073 15074commit f8a964b422c195219c59a3b21d9bb3125ce215dd 15075Author: Emmanuele Bassi <ebassi@linux.intel.com> 15076Date: Tue Aug 4 11:10:55 2009 +0100 15077 15078 [cogl] Expose cogl_is_vertex_buffer() 15079 15080 The function is public and available in the shared object, but 15081 it's not present in the header, so this is not an API/ABI change. 15082 15083 clutter/cogl/cogl-vertex-buffer.h | 14 ++++++++++++++ 15084 doc/reference/cogl/cogl-sections.txt | 1 + 15085 2 files changed, 15 insertions(+) 15086 15087commit c9f57452e60c89c0b046def2f1787773545244df 15088Author: Robert Bragg <robert@linux.intel.com> 15089Date: Mon Aug 3 15:03:19 2009 +0100 15090 15091 [build] remove reference to light1.png in tests/interactive/Makefile.am 15092 15093 This file doesn't exist in the repo and isn't referenced by any unit tests. 15094 15095 tests/interactive/Makefile.am | 4 +--- 15096 1 file changed, 1 insertion(+), 3 deletions(-) 15097 15098commit 71c4fa0f73ec9a101a4dcb07a0d782e075185d4b 15099Author: Robert Bragg <robert@linux.intel.com> 15100Date: Mon Aug 3 14:53:46 2009 +0100 15101 15102 [build] dist tests/interactive/wrapper.sh 15103 15104 in tests/interactive/Makefile.am add wrapper.sh to EXTRA_DIST otherwise 15105 interactive unit tests wont be runnable when building from distributed 15106 tarballs. 15107 15108 tests/interactive/Makefile.am | 3 +++ 15109 1 file changed, 3 insertions(+) 15110 15111commit c9c87543e8f827ee4c3510cd0025e8653d3309b1 15112Author: Damien Lespiau <damien.lespiau@intel.com> 15113Date: Mon Aug 3 14:11:33 2009 +0100 15114 15115 [debug] CLUTTER_{NOTE,MARK,DBG,GLERR,TIMESTAMP} should always be statements 15116 15117 In case someone tries to do: 15118 if (foo) 15119 CLUTTER_NOTE(DOMAIN, "%s", blah); 15120 15121 CLUTTER_NOTE () should always be a statement 15122 15123 clutter/clutter-debug.h | 10 +++++----- 15124 1 file changed, 5 insertions(+), 5 deletions(-) 15125 15126commit cd35f3b384b645d171de49eee555363d4b2acc94 15127Author: Damien Lespiau <damien.lespiau@intel.com> 15128Date: Mon Aug 3 13:58:52 2009 +0100 15129 15130 [debug] Fix __GNUC__ typo 15131 15132 The right gcc define is __GNUC__ not __GNUC_. This typo had the side 15133 effect that we were using the non gcc specific debug macros leading to 15134 a less optmised CLUTTER_NOTE () than one could have dreamed of. 15135 15136 clutter/clutter-debug.h | 2 +- 15137 1 file changed, 1 insertion(+), 1 deletion(-) 15138 15139commit 94b35a4a5ee4fa86d837b2deb06fe849a2a68977 15140Author: Damien Lespiau <damien.lespiau@intel.com> 15141Date: Mon Aug 3 13:56:32 2009 +0100 15142 15143 [build] GCC_FLAGS is no more, MAINTAINER_CFLAGS is the One. 15144 15145 CC_FLAGS was a left over from the 0.8.x age. Killed it and use the 15146 newer MAINTAINER_CFLAGS variable instead. 15147 15148 clutter/Makefile.am | 2 +- 15149 clutter/eglnative/Makefile.am | 2 +- 15150 clutter/eglx/Makefile.am | 2 +- 15151 clutter/fruity/Makefile.am | 2 +- 15152 clutter/glx/Makefile.am | 3 +-- 15153 clutter/json/Makefile.am | 2 ++ 15154 clutter/osx/Makefile.am | 2 +- 15155 clutter/sdl/Makefile.am | 2 +- 15156 clutter/win32/Makefile.am | 2 +- 15157 clutter/x11/Makefile.am | 3 +-- 15158 10 files changed, 11 insertions(+), 11 deletions(-) 15159 15160commit 4ee49eded0561ad987b50e1b04e15a685c1c06e2 15161Author: Damien Lespiau <damien.lespiau@intel.com> 15162Date: Mon Aug 3 13:58:21 2009 +0100 15163 15164 [gitignore] Ignore new test-color-hls-roundtrip test 15165 15166 tests/.gitignore | 1 + 15167 1 file changed, 1 insertion(+) 15168 15169commit b2ab2b953548bb9af41789e2465dfa9a588c9b2d 15170Author: Emmanuele Bassi <ebassi@linux.intel.com> 15171Date: Sun Aug 2 18:34:17 2009 +0100 15172 15173 [actor] Use the right vertex 15174 15175 The vertex that should be used by the apply_relative_transform 15176 is the one passed in as const, and the result should be placed 15177 inside the non-const ClutterVertext. Currently, we are using 15178 the latter, and thus the function is completely useless. 15179 15180 clutter/clutter-actor.c | 6 +++--- 15181 1 file changed, 3 insertions(+), 3 deletions(-) 15182 15183commit ae2a861a0b042e36393e5eb76ecb17759a933892 15184Author: Emmanuele Bassi <ebassi@linux.intel.com> 15185Date: Fri Jul 31 10:29:33 2009 +0100 15186 15187 [x11] Force a redraw before mapping the stage 15188 15189 Does as it says on the tin: run a paint cycle before calling 15190 XMapWindow(). 15191 15192 clutter/x11/clutter-stage-x11.c | 9 ++++++--- 15193 1 file changed, 6 insertions(+), 3 deletions(-) 15194 15195commit abdcf4debbedd9f924da4db9403ecbc9a030cb20 15196Author: Joshua Lock <josh@linux.intel.com> 15197Date: Fri Jul 31 10:16:56 2009 +0100 15198 15199 [docs] Update building instructions for OS X 15200 15201 Recommend OS X users install the dependencies using MacPorts and build 15202 Clutter themselves. 15203 15204 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> 15205 15206 doc/reference/clutter/building-clutter.xml | 41 +++++++++++++++++++++++------------------ 15207 1 file changed, 23 insertions(+), 18 deletions(-) 15208 15209commit b3842a6b62979d264b7d7057e4125602e644ccad 15210Author: Neil Roberts <neil@linux.intel.com> 15211Date: Wed Jul 29 19:06:36 2009 +0100 15212 15213 [mingw] Update the README 15214 15215 The README has been updated to say that you can use the script under 15216 MSYS and also to contain a pointer to OAH. It also contains the 15217 updated contents of a blog post¹ about building with MSYS. 15218 15219 1. http://www.busydoingnothing.co.uk/blog/2008/07/13#ClutterWin32 15220 15221 build/mingw/README | 133 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 15222 1 file changed, 127 insertions(+), 6 deletions(-) 15223 15224commit 8ad446f3e9903d2339536db4febef1cbc77db643 15225Author: Neil Roberts <neil@linux.intel.com> 15226Date: Wed Jul 29 18:13:19 2009 +0100 15227 15228 [mingw-cross-compile.sh] Fix to use git rather than svn 15229 15230 The script includes a part to automatically checkout the Clutter 15231 source and build it but it was using the old svn repo instead of git. 15232 15233 build/mingw/mingw-cross-compile.sh | 6 +++--- 15234 1 file changed, 3 insertions(+), 3 deletions(-) 15235 15236commit d796d3c88c3d3044d1c1bf54c320504f4e5886eb 15237Author: Neil Roberts <neil@linux.intel.com> 15238Date: Wed Jul 29 17:59:54 2009 +0100 15239 15240 [mingw-cross-compile.sh] Add a note about MSYS in the comment 15241 15242 The comment previously implied that you could only use the script to 15243 cross compile but it works just as well under MSYS. 15244 15245 build/mingw/mingw-cross-compile.sh | 5 +++-- 15246 1 file changed, 3 insertions(+), 2 deletions(-) 15247 15248commit 1e14d3041dc2f68d18dcd3e03d34e8d0fa7a05f4 15249Author: Neil Roberts <neil@linux.intel.com> 15250Date: Wed Jul 29 17:58:02 2009 +0100 15251 15252 [mingw-cross-compile.sh] Update version numbers of all the dependencies 15253 15254 This updates the URLs for the binary dependencies to use the latest 15255 versions. 15256 15257 build/mingw/mingw-cross-compile.sh | 23 +++++++++++++---------- 15258 1 file changed, 13 insertions(+), 10 deletions(-) 15259 15260commit a3c323c52c42785f93641e3603a5426bbb371876 15261Author: Emmanuele Bassi <ebassi@linux.intel.com> 15262Date: Wed Jul 29 17:22:18 2009 +0100 15263 15264 [docs] Remove mentions of Clutter-Cairo 15265 15266 The mingw README file still mentions Clutter-Cairo as a known issue. 15267 15268 build/mingw/README | 8 ++------ 15269 1 file changed, 2 insertions(+), 6 deletions(-) 15270 15271commit 0ec6793738085308206e028d1136cb4cd4274f11 15272Author: Emmanuele Bassi <ebassi@linux.intel.com> 15273Date: Wed Jul 29 17:21:13 2009 +0100 15274 15275 [mingw/win32] Remove clutter-cairo 15276 15277 The Clutter-Cairo library has been removed, so there's no point 15278 in checking it out -- from Subversion, even. 15279 15280 build/mingw/mingw-cross-compile.sh | 23 ----------------------- 15281 1 file changed, 23 deletions(-) 15282 15283commit fba1045bcb46da4ed04bd789b7650e985915243b 15284Author: Emmanuele Bassi <ebassi@linux.intel.com> 15285Date: Tue Jul 28 18:39:24 2009 +0100 15286 15287 Post-release bump to 1.0.1 15288 15289 configure.ac | 2 +- 15290 1 file changed, 1 insertion(+), 1 deletion(-) 15291 15292commit df572d089c0811ecbc5e41d1c68d39fae47040e9 15293Author: Emmanuele Bassi <ebassi@linux.intel.com> 15294Date: Mon Jun 29 16:33:36 2009 +0100 15295 15296 [script] Simplify the parser code 15297 15298 JSON-GLib provides simple accessors for basic types so that we 15299 can avoid getting the JsonNode out of a complex type. This makes 15300 the code simpler to understand. 15301 15302 clutter/clutter-script.c | 39 ++++++++++----------------------------- 15303 1 file changed, 10 insertions(+), 29 deletions(-) 15304 15305commit 354fa437cdc4b67ca6c2452756a261222109b289 15306Author: Emmanuele Bassi <ebassi@linux.intel.com> 15307Date: Thu Jun 25 18:56:52 2009 +0100 15308 15309 Update JSON-GLib dependency 15310 15311 Currently, Clutter depends on the internal copy of JSON-GLib for 15312 the ClutterScript parser. This is done to allow building Clutter 15313 on platforms that do not have the library installed on the system. 15314 15315 Just like we use the internal PNG/JPEG loader as a fallback in 15316 case we don't have GdkPixbuf or CoreGraphics available, we should 15317 use the internal copy of JSON-GLib only in case the system copy 15318 is not present. 15319 15320 The change is simply to move the default for the --with-json 15321 configure switch from "internal" to "check". 15322 15323 In order to allow stricter compliance, a third setting should 15324 be present: "system", which fails if the system copy is not 15325 available. 15326 15327 We should also change the introspection generation to avoid 15328 breaking in case we require the installed Json-1.0.gir instead 15329 of the generated ClutterJson.gir 15330 15331 clutter/Makefile.am | 5 ++++- 15332 configure.ac | 44 +++++++++++++++++++++++++++++++++++--------- 15333 2 files changed, 39 insertions(+), 10 deletions(-) 15334