Emmanuele Bassi [Thu, 30 Oct 2008 16:52:56 +0000 (16:52 +0000)]
2008-10-30 Emmanuele Bassi <ebassi@linux.intel.com>
Bug 1211 - Drop ClutterFeatureFlags usage from COGL
* clutter/cogl/cogl.h.in:
* clutter/cogl/gl/cogl.c:
* clutter/cogl/gles/cogl.c: Do not use ClutterFeatureFlags
when CoglFeatureFlags will do. This removes the last usage
of Clutter API inside COGL.
Emmanuele Bassi [Thu, 30 Oct 2008 16:50:07 +0000 (16:50 +0000)]
2008-10-30 Emmanuele Bassi <ebassi@linux.intel.com>
Bug 1210 - Add CoglColor API
* clutter/cogl/cogl-color.h:
* clutter/cogl/cogl.h.in:
* clutter/cogl/common/Makefile.am:
* clutter/cogl/common/cogl-color.c:
* clutter/cogl/gl/Makefile.am:
* clutter/cogl/gl/cogl.c:
* clutter/cogl/gles/Makefile.am:
* clutter/cogl/gles/cogl-texture.c:
* clutter/cogl/gles/cogl.c: Add a new color-type, to be used by
COGL. CoglColor is optimized to allow the minimum amount of
conversions possible for both GL and GLES implementations.
* clutter/clutter-actor.c:
* clutter/clutter-clone-texture.c:
* clutter/clutter-entry.c:
* clutter/clutter-main.c:
* clutter/clutter-rectangle.c:
* clutter/clutter-stage.c:
* clutter/clutter-texture.c: Use CoglColor when needed.
* clutter/pango/pangoclutter-render.c: Use CoglColor when needed.
* doc/reference/cogl/cogl-docs.sgml:
* doc/reference/cogl/cogl-sections.txt: Update the documentation.
* tests/test-cogl-offscreen.c:
* tests/test-cogl-primitives.c:
* tests/test-cogl-tex-convert.c:
* tests/test-cogl-tex-foreign.c:
* tests/test-cogl-tex-getset.c:
* tests/test-cogl-tex-polygon.c:
* tests/test-cogl-tex-tile.c:
* tests/test-paint-wrapper.c: Update the tests.
* README: Update release notes.
Emmanuele Bassi [Thu, 30 Oct 2008 16:37:55 +0000 (16:37 +0000)]
2008-10-30 Emmanuele Bassi <ebassi@linux.intel.com>
Bug 1209 - Move fixed point API in COGL
* clutter/cogl/cogl-fixed.h:
* clutter/cogl/cogl.h.in:
* clutter/cogl/common/Makefile.am:
* clutter/cogl/common/cogl-fixed.c: Add fixed point API, modelled
after the ClutterFixed. The CoglFixed API supercedes the ClutterFixed
one and avoids the dependency of COGL on Clutter's own API.
* clutter/cogl/common/cogl-clip-stack.c:
* clutter/cogl/common/cogl-primitives.c:
* clutter/cogl/common/cogl-primitives.h: Update internal usage of
ClutterFixed to CoglFixed.
* clutter/cogl/gl/Makefile.am:
* clutter/cogl/gl/cogl-primitives.c:
* clutter/cogl/gl/cogl-texture.c:
* clutter/cogl/gl/cogl.c: Ditto, in the GL implementation of the
COGL API.
* clutter/cogl/gles/Makefile.am:
* clutter/cogl/gles/cogl-fbo.c:
* clutter/cogl/gles/cogl-gles2-wrapper.c:
* clutter/cogl/gles/cogl-primitives.c:
* clutter/cogl/gles/cogl-texture.c:
* clutter/cogl/gles/cogl.c: Ditto, in the GLES implementation of
the COGL API.
* clutter/pango/pangoclutter-glyph-cache.c:
* clutter/pango/pangoclutter-glyph-cache.h: Ditto, in the Pango
renderer glyphs cache.
* clutter/clutter-fixed.c:
* clutter/clutter-fixed.h: ClutterFixed and related API becomes
a simple transition API for bindings and public Clutter API.
* clutter/clutter-actor.c:
* clutter/clutter-alpha.c:
* clutter/clutter-backend.c:
* clutter/clutter-behaviour-depth.c:
* clutter/clutter-behaviour-ellipse.c:
* clutter/clutter-behaviour-path.c:
* clutter/clutter-behaviour-rotate.c:
* clutter/clutter-behaviour-scale.c:
* clutter/clutter-clone-texture.c:
* clutter/clutter-color.c:
* clutter/clutter-entry.c:
* clutter/clutter-stage.c:
* clutter/clutter-texture.c:
* clutter/clutter-timeline.c:
* clutter/clutter-units.h: Move from the internal usage of
ClutterFixed to CoglFixed.
* doc/reference/clutter/clutter-sections.txt:
* doc/reference/cogl/cogl-docs.sgml:
* doc/reference/cogl/cogl-sections.txt: Update the documentation.
* tests/test-cogl-tex-tile.c:
* tests/test-project.c: Fix tests after the API change
* README: Add release notes.
Neil Roberts [Wed, 29 Oct 2008 14:52:48 +0000 (14:52 +0000)]
Bug 1074 - FBOs on GLES
* clutter/cogl/gles/cogl-fbo.c: Copy the code from gl/cogl-fbo but
use the API calls directly instead of loading an extension because
it is part of the core in GLES 2.
* clutter/cogl/gles/cogl.c (_cogl_features_init): Report
COGL_FEATURE_OFFSCREEN.
* clutter/cogl/gles/cogl-fbo.h (CoglFbo): Add gl_stencil_handle.
* clutter/cogl/gles/cogl-context.h (CoglContext): Add
viewport_store
* tests/test-fbo.c (make_shader): Conditionally use the GLES 2
names of the shader variables
Neil Roberts [Wed, 29 Oct 2008 12:19:27 +0000 (12:19 +0000)]
Bug 1206 - Picking disabled dithering
* clutter/clutter-main.c (_clutter_do_pick): After picking is
finished, restore the state of glEnable (GL_DITHER). Otherwise it
will cause the scene to look different after the first pick on low
depth displays. (Thanks to Michael Boccara for the patch)
Robert Bragg [Tue, 28 Oct 2008 22:56:02 +0000 (22:56 +0000)]
2008-10-28 Robert Bragg <robert@linux.intel.com>
* pangoclutter-render.c: Replace #include <cairo/cairo.h> with
#include <cairo.h> (Thanks to Carl Worth for spotting that)
Emmanuele Bassi [Tue, 28 Oct 2008 15:52:06 +0000 (15:52 +0000)]
Update git ignore file
Thomas Wood [Tue, 28 Oct 2008 11:45:04 +0000 (11:45 +0000)]
* clutter/clutter-color.c (param_color_set_default): Set the no copy
flag when setting the default param spec value to prevent invalid
frees.
Neil Roberts [Mon, 27 Oct 2008 14:36:52 +0000 (14:36 +0000)]
Bug 1189 - Backface culling
* clutter/cogl/gl/cogl-texture.c (cogl_texture_polygon)
(_cogl_texture_quad_sw, _cogl_texture_quad_hw):
* clutter/cogl/gles/cogl-texture.c (cogl_texture_polygon)
(_cogl_texture_quad_sw, _cogl_texture_quad_hw): Enable backface
culling in GL if it is requested.
* clutter/cogl/gles/cogl-texture.c (_cogl_texture_quad_sw)
(_cogl_texture_quad_hw):
* clutter/cogl/gl/cogl-texture.c (_cogl_texture_quad_sw)
(_cogl_texture_quad_hw): Reorder the
vertices so that they are counter-clockwise.
* clutter/cogl/gles/cogl-context.h (CoglContext):
* clutter/cogl/gl/cogl-context.h (CoglContext): Added a flag to
store whether backface culling is currently enabled.
* clutter/cogl/gles/cogl.c (cogl_enable_backface_culling):
* clutter/cogl/gl/cogl.c (cogl_enable_backface_culling): New
function
* doc/reference/cogl/cogl-sections.txt: Add
cogl_enable_backface_culling
Neil Roberts [Mon, 27 Oct 2008 12:39:22 +0000 (12:39 +0000)]
Bug 1196 - Texture border drawing problems
* clutter/cogl/gl/cogl-texture.c (_cogl_texture_upload_subregion_to_gl)
(_cogl_texture_upload_to_gl):
* clutter/cogl/gles/cogl-texture.c (_cogl_texture_upload_to_gl)
(_cogl_texture_upload_subregion_to_gl):
When uploading data to a sliced texture, fill the waste pixels
with copies of the edge of the real texture data. Otherwise the
value of the waste pixels are undefined so it will show artifacts
when the texture is scaled with GL_LINEAR and the pixels are
blended in.
Thomas Wood [Wed, 22 Oct 2008 14:23:02 +0000 (14:23 +0000)]
2008-10-22 Thomas Wood <thomas@linux.intel.com>
* tests/test-actors.c: Don't adjust the radius based on the number of
actors
Emmanuele Bassi [Tue, 21 Oct 2008 18:50:44 +0000 (18:50 +0000)]
2008-10-21 Emmanuele Bassi <ebassi@linux.intel.com>
* clutter/clutter-color.[ch] (clutter_value_set_color): Constify
colors and values where needed.
Emmanuele Bassi [Tue, 21 Oct 2008 18:48:13 +0000 (18:48 +0000)]
2008-10-21 Emmanuele Bassi <ebassi@linux.intel.com>
Bug 1197 - Missing const for clutter_init_with_args *
* clutter/clutter-main.[ch] (clutter_init_with_args): Constify
the string parameters. (Owen Taylor)
Emmanuele Bassi [Mon, 20 Oct 2008 21:52:35 +0000 (21:52 +0000)]
2008-10-20 Emmanuele Bassi <ebassi@linux.intel.com>
* configure.ac: Use gmodule-no-export-2.0, not gmodule-2.0,
to avoid breaking the symbol hiding. (thanks to Ross Burton
and Laurent Bigonville)
Neil Roberts [Mon, 20 Oct 2008 15:54:17 +0000 (15:54 +0000)]
Bug 1043 - COGL calls glTexSubImage2D() with out-of-bounds
values (SIGSEGV)
* clutter/cogl/gl/cogl-texture.c
(_cogl_texture_upload_subregion_to_gl): When iterating over the
slices, discard ones that don't intersect immediatly otherwise it
will call glTexSubImage2D with a negative width/height and then
move the source position incorrectly. Thanks to Gwenole
Beauchesne.
Emmanuele Bassi [Mon, 20 Oct 2008 10:36:41 +0000 (10:36 +0000)]
Declare clutter_color_new()
Neil Roberts [Mon, 20 Oct 2008 09:43:12 +0000 (09:43 +0000)]
Bug 1195 - ClutterBehaviourBspline only works for very short paths
* clutter/clutter-behaviour-bspline.c: Changed the CBZ_T_POW3 and
CBZ_T_MUL functions so that they preserve more of the least
significant bits. This fixes some of the jaggy behaviour with
longer paths.
Emmanuele Bassi [Fri, 17 Oct 2008 16:23:46 +0000 (16:23 +0000)]
2008-10-17 Thomas Wood <thomas@linux.intel.com>
reviewed by: Emmanuele Bassi <ebassi@linux.intel.com>
* clutter/clutter-color.[ch]: Add GParamSpec and GValue integration
for ClutterColor. With ClutterParamSpecColor it is possible to define
color properties; with the GValue integration it's possible to
automatically transform strings into colors and vice versa.
(clutter_color_free): Allow NULL parameter to match other boxed
types destructors.
(clutter_color_new): Add a constructor for the ClutterColor boxed
type, mostly for bindings.
Emmanuele Bassi [Fri, 17 Oct 2008 08:04:03 +0000 (08:04 +0000)]
2008-10-17 Emmanuele Bassi <ebassi@linux.intel.com>
* clutter/clutter-color.c (clutter_color_parse): Add checks
for the arguments, to avoid trying to parse NULL strings.
Emmanuele Bassi [Thu, 16 Oct 2008 10:28:17 +0000 (10:28 +0000)]
2008-10-16 Emmanuele Bassi <ebassi@linux.intel.com>
* clutter/clutter-container.[ch]: Add checks to the Container
interface invocation methods, to avoid crashing or corrupting
the stack when an actor does not implement every virtual
function of the Container interface vtable. GObject allows this
to happen so we must handle the case gracefully. This also means
that we can classify some virtual function as mandatory (as is
the case for ::add, ::remove and ::foreach) and some other
optional.
Emmanuele Bassi [Wed, 8 Oct 2008 19:50:22 +0000 (19:50 +0000)]
2008-10-08 Emmanuele Bassi <ebassi@linux.intel.com>
* tests/test-depth.c (raise_top), (main): Fix a shadowing
with raise() from signal.h.
Øyvind Kolås [Wed, 1 Oct 2008 13:46:33 +0000 (13:46 +0000)]
Bug 1108 - Enter/Leave events logics wrt. skipped motion events
Handle dropped motion events when computing crossing events,
based on a patch from Gwenole Beauchesne.
* clutter/clutter-main.c: (clutter_event_get_device): internal static
utility function.
(clutter_do_event): generate enter/leave events for all pointer
events.
(generate_enter_leave_events): modified enter/leave events generator
to work for all pointer event types. Enter/leave events are now
delivered before the motion/button event that caused the crossing to
happen.
* clutter/clutter-event.c: (clutter_event_copy), (clutter_event_free):
removed reference counting logic that is not needed when the crossing
events are directly delivered.
Emmanuele Bassi [Mon, 29 Sep 2008 10:41:48 +0000 (10:41 +0000)]
2008-09-29 Emmanuele Bassi <ebassi@linux.intel.com>
* configure.ac: Post branch bump to 0.9.0
Emmanuele Bassi [Thu, 25 Sep 2008 14:25:11 +0000 (14:25 +0000)]
Release 0.8.2
Emmanuele Bassi [Thu, 25 Sep 2008 11:09:22 +0000 (11:09 +0000)]
2008-09-25 Emmanuele Bassi <ebassi@linux.intel.com>
* clutter/clutter-sections.txt: Add
clutter_get_option_group_without_init()
Emmanuele Bassi [Thu, 25 Sep 2008 11:08:06 +0000 (11:08 +0000)]
2008-09-25 Emmanuele Bassi <ebassi@linux.intel.com>
* clutter/clutter-event.h: Fix missing documentation.
Emmanuele Bassi [Wed, 24 Sep 2008 10:12:23 +0000 (10:12 +0000)]
2008-09-24 Emmanuele Bassi <ebassi@linux.intel.com>
Bug 1130 - CLUTTER_MOTION is not emitted when time goes backwards.
* clutter/clutter-main.c (clutter_do_event): Check for time
rollbacks inside the motion event throttling. (Pierce Liu)
Emmanuele Bassi [Tue, 23 Sep 2008 13:25:31 +0000 (13:25 +0000)]
2008-09-23 Emmanuele Bassi <ebassi@linux.intel.com>
* clutter/clutter-timeout-pool.c: Reword previous commit.
Emmanuele Bassi [Tue, 23 Sep 2008 12:58:31 +0000 (12:58 +0000)]
2008-09-23 Emmanuele Bassi <ebassi@linux.intel.com>
* clutter/clutter-timeout-pool.c:
(clutter_timeout_pool_new): Fix previous commit: g_source_unref()
is not needed. (Thanks to Neil Roberts)
Emmanuele Bassi [Tue, 23 Sep 2008 12:23:05 +0000 (12:23 +0000)]
2008-09-23 Emmanuele Bassi <ebassi@linux.intel.com>
Bug 1154 - clutter_timeout_pool_new() documentation doesn't say
how to free
* clutter/clutter-timeout-pool.c: Update the documentation to
note that you must use g_source_unref() to free the timeout
pool. (Murray Cumming)
Emmanuele Bassi [Tue, 23 Sep 2008 11:15:38 +0000 (11:15 +0000)]
2008-09-23 Emmanuele Bassi <ebassi@linux.intel.com>
Bug 1124 - Clutter causes an additional size request in each
allocation
* clutter/clutter-actor.c:
(clutter_actor_store_old_geometry): Store the allocation instead
of causing a new size-request cycle. (Johan Bilien)
Emmanuele Bassi [Tue, 23 Sep 2008 11:11:14 +0000 (11:11 +0000)]
2008-09-23 Emmanuele Bassi <ebassi@linux.intel.com>
Bug 1125 - Save an extra pango_layout_get_size in many cases
* clutter/clutter-label.c:
(clutter_label_create_layout_no_cache): Add a simple check
before calling pango_layout_get_size(). (Johan Bilien)
Emmanuele Bassi [Tue, 23 Sep 2008 09:41:08 +0000 (09:41 +0000)]
2008-09-23 Emmanuele Bassi <ebassi@linux.intel.com>
* clutter/clutter-alpha.c:
(clutter_alpha_get_alpha): Do not return the cached value but
just compute the current alpha value. The use case is pretty
much straightforward: stop a timeline, advance it, and retrieve
the alpha value before starting the timeline to adjust an
animation dependent on the alpha. Caching the alpha value is
not needed because the behaviours will always pass the alpha
value inside the ::alpha-notify virtual function anyway, so
there is no need for them to call clutter_alpha_get_alpha().
This change makes it also possible to reliably unit-test
ClutterAlpha.
(timeline_new_frame_cb): Call clutter_alpha_get_alpha().
Tomas Frydrych [Tue, 23 Sep 2008 07:03:35 +0000 (07:03 +0000)]
2008-09-23 Tomas Frydrych <tf@linux.intel.com>
* clutter/clutter-main.c:
* clutter/clutter-main.h:
* clutter/clutter-private.h:
* clutter/x11/clutter-backend-x11.c:
(clutter_get_option_group_without_init):
Function to obtain clutter option group without opening display
(for use with foreign display and gtk_clutter_init). Bug 1033.
Stripped trailing whitespace.
Neil Roberts [Mon, 22 Sep 2008 16:36:27 +0000 (16:36 +0000)]
Bug 856 - Teardown sequence is borked
* clutter/clutter-main.c: Don't free the ClutterMainContext so
that the main loop can be restarted.
* clutter/eglx/clutter-backend-egl.c:
* clutter/eglnative/clutter-backend-egl.c: Register an atexit
handler which disposes the backend object so that we are still
guaranteed to call eglTerminate on GLES.
Neil Roberts [Mon, 22 Sep 2008 13:33:19 +0000 (13:33 +0000)]
* tests/test-unproject.c (on_event):
* tests/test-project.c (on_event): Use a return value for the
'event' signal handler, otherwise it might accidentally return
TRUE for unhandled events and you won't be able to close the
window.
Emmanuele Bassi [Fri, 19 Sep 2008 13:22:12 +0000 (13:22 +0000)]
2008-09-19 Emmanuele Bassi <ebassi@linux.intel.com>
Bug 1033 - Manually parsing command line options prevents
initializing clutter
* clutter/clutter-main.c:
(post_parse_hook), (clutter_init_with_args),
(clutter_parse_args), (clutter_init): Move the initialization
of Clutter at the end of the post-parse hook of Clutter's
GOptionGroup. Clutter must be initialized at the end of the
argument parsing.
Emmanuele Bassi [Fri, 19 Sep 2008 11:38:48 +0000 (11:38 +0000)]
2008-09-19 Emmanuele Bassi <ebassi@linux.intel.com>
* clutter/clutter-main.c: Properly document the
clutter_get_option_group() function and the invariant that
after parsing Clutter's option group the library will be
initialized. (Thanks to Tomas Frydrych for pointing this
out)
Emmanuele Bassi [Fri, 19 Sep 2008 10:28:51 +0000 (10:28 +0000)]
2008-09-19 Emmanuele Bassi <ebassi@linux.intel.com>
* clutter/x11/clutter-backend-x11.c: Properly document the
usage of clutter_x11_set_display().
* clutter/x11/clutter-x11.h: clutter_x11_set_display() is
public API and should be declared in the header we install.
Neil Roberts [Thu, 18 Sep 2008 13:16:15 +0000 (13:16 +0000)]
Bug 1048 - SIGFPE in cogl_texture_set_region() with nvidia
* clutter/cogl/gl/cogl-texture.c (cogl_texture_set_region):
* clutter/cogl/gles/cogl-texture.c (cogl_texture_set_region):
Don't attempt to upload any data if the width or height of the
subregion is zero. Thanks to Gwenole Beauchesne.
Neil Roberts [Thu, 18 Sep 2008 11:24:27 +0000 (11:24 +0000)]
Bug 1044 - cogl_get_viewport error
* clutter/cogl/gles/cogl.c (cogl_get_viewport): Use glGetIntegerv
instead of glGetFixedv to read the viewport because the latter
converts incorrectly on some hardware.
Neil Roberts [Thu, 18 Sep 2008 10:25:56 +0000 (10:25 +0000)]
Forgot to add ChangeLog entry in the last commit.
Neil Roberts [Thu, 18 Sep 2008 10:24:37 +0000 (10:24 +0000)]
Bug 1080 - clutter_stage_read_pixels has upside-down y coordinate
* clutter/clutter-stage.c (clutter_stage_read_pixels): Use
OpenGL's coordinate system for the arguments to glReadPixels (so
that y zero is the bottom of the window). Use clutter_redraw
instead of clutter_stage_paint to ensure the right GL context is
selected. Set some of the glPixelStore parameters that might have
been changed by Cogl.
* tests/test-stage-read-pixels.c: Replace with a different test
that gets a sub-region of the stage around the cursor.
Neil Roberts [Wed, 17 Sep 2008 13:25:50 +0000 (13:25 +0000)]
Bug 1145 - Flicker on resize the window
* clutter/glx/clutter-stage-glx.c (clutter_stage_glx_realize):
Don't set a backing pixel on the X window. Otherwise when the
window resizes it will flicker when X paints the background
immediatly before Clutter repaints the whole stage.
Neil Roberts [Wed, 17 Sep 2008 10:40:40 +0000 (10:40 +0000)]
* clutter/clutter-types.h: Swap left and right in the
documentation for ClutterGravity.
Neil Roberts [Wed, 17 Sep 2008 10:40:32 +0000 (10:40 +0000)]
Bug 1121 - Setting anchor point doesn't work if set too early
* clutter/clutter-actor.c
(clutter_actor_set_anchor_point_from_gravity)
(clutter_actor_move_anchor_point_from_gravity): Add documentation
to make it clear that the anchor point won't move when the actor
is resized.
Neil Roberts [Tue, 16 Sep 2008 16:00:31 +0000 (16:00 +0000)]
Bug 1100 - WM_SIZE not handled correctly, user_resize and
window_style correction.
* clutter/win32/clutter-stage-win32.c (get_window_style): Remove
the WS_MAXIMIZEBOX style if the stage isn't resizable.
(clutter_stage_win32_set_user_resize): Queue a redraw of the
window frame when the user_resize property is changed.
* clutter/win32/clutter-event-win32.c (message_translate): Don't
update the size of the stage when handling WM_SIZE messages that
result from the stage being minimized. Thanks to Roman Yazmin.
Tomas Frydrych [Tue, 16 Sep 2008 11:50:38 +0000 (11:50 +0000)]
2008-09-16 Tomas Frydrych <tf@linux.intel.com>
* clutter/glx/clutter-glx-texture-pixmap.c:
* clutter/x11/clutter-x11-texture-pixmap.c:
TFP resyncing on MapNotify/ConfigureNotify (bug 1020; patch by
Andy Wingo <wingo@pobox.com>).
Øyvind Kolås [Mon, 15 Sep 2008 14:47:25 +0000 (14:47 +0000)]
* clutter/clutter-main.c: amended typo in gtk-doc.
Neil Roberts [Fri, 12 Sep 2008 12:43:25 +0000 (12:43 +0000)]
Bug 1034 - Picking doesn't work on Eee PC
* clutter/clutter-main.c (_clutter_id_to_color): When choosing a
pick color, set all but the most significant of the unused
bits. This should make make it more likely that the GL
implementation will round down to the right value.
* tests/test-pick.c: Test case for picking. It creates 192 actors
at known positions and stores their gids. It then calls
clutter_stage_get_actor_at_pos with each position to check that
the right gid is returned.
* tests/Makefile.am (noinst_PROGRAMS): Add test-pick
Neil Roberts [Fri, 12 Sep 2008 10:31:44 +0000 (10:31 +0000)]
Bug 1010 - ClutterLabel does not update the layout (again)
* clutter/clutter-label.c: Bring back layout caching. This time it
will cache up to three different layouts. The width for which each
layout was generated is stored so that if the same width is
requested again it can use the cached version. If no cached
version is available it will try to replace the oldest
layout. 'Age' is determined by a counter which is incremented
every time a layout is created. The cache is cleared after any
property changes that might affect the layout.
(struct _ClutterLabelPrivate): Removed extents_width,
extents_height and context because they weren't used anywhere.
* tests/test-label-cache.c: Add a test which checks whether the
label is using a different layout when properties are
changed. Also compares the extents of the label's layout with an
independent layout and fails if they aren't the same.
* tests/Makefile.am (noinst_PROGRAMS): Add test-label-cache
Neil Roberts [Wed, 10 Sep 2008 11:20:22 +0000 (11:20 +0000)]
Bug 1137 - Setting the anchor point does not trigger a re-paint
* clutter/clutter-actor.c (clutter_actor_set_property): When
changing the anchor point properties, use set_anchor_pointu
instead of changing the value directly so that a redraw will be
queued.
(clutter_actor_set_anchor_pointu): Queue a redraw when the anchor
point is changed. Thanks to Johan Bilien.
Emmanuele Bassi [Wed, 27 Aug 2008 12:56:54 +0000 (12:56 +0000)]
2008-08-27 Emmanuele Bassi <ebassi@openedhand.com>
Bug 1082 - Texture bitmap is destroyed in wrong way
* clutter/cogl/common/cogl-bitmap-pixbuf.c:
(_cogl_bitmap_from_file): Make a copy of the pixbuf data in
the internal image loader so that we can keep working under
the assumption that we are using the GLib memory allocation
and deallocation functions.
Emmanuele Bassi [Wed, 27 Aug 2008 12:16:56 +0000 (12:16 +0000)]
2008-08-27 Emmanuele Bassi <ebassi@openedhand.com>
Bug 1099 - No ClutterScript API to get a list of IDs in a given file
* clutter/clutter-script.[ch]: Add clutter_script_list_objects(),
a function for retrieving all the objects built by a ClutterScript
instance. (Based on a patch by Noah Gibbs)
Emmanuele Bassi [Tue, 26 Aug 2008 12:57:04 +0000 (12:57 +0000)]
2008-08-26 Emmanuele Bassi <ebassi@openedhand.com>
Bug 1090 - Label somtimes returns natural_width < min_width
* clutter/clutter-label.c:
(clutter_label_get_preferred_width): Check that the width of the
layout is always greater than 0. (Johan Bilien)
Neil Roberts [Tue, 19 Aug 2008 10:55:49 +0000 (10:55 +0000)]
Bug 1103 - Two typos in clutter documentation
* doc/reference/clutter/subclassing-ClutterActor.xml: Update the
custom actor example since the Cogl API was changed to namespace
all of the path related functions in cogl_path_*. Thanks to Nati
Berkover.
* clutter/clutter-score.c: Add missing parameter in example of
calling clutter_score_start().
Neil Roberts [Mon, 18 Aug 2008 15:33:38 +0000 (15:33 +0000)]
Bug 1085 - Cursor is in wrong position on ClutterEntry if set
x-align property
* clutter/clutter-entry.c (clutter_entry_paint): When calculating
the position to draw the cursor at, take into account the
alignment of the text. Queue a redraw when the x-align property is
changed.
Neil Roberts [Thu, 7 Aug 2008 20:34:37 +0000 (20:34 +0000)]
Bug 1091 - WM_MOUSEWHEEL (scroll-event) not handled correctlly
* clutter/win32/clutter-event-win32.c (message_translate): The
coordinates in a WM_MOUSEWEEL message are given relative to the
screen so they need to be converted to client coordinates before
use. Thanks to Roman Yazmin.
Emmanuele Bassi [Wed, 6 Aug 2008 10:20:57 +0000 (10:20 +0000)]
2008-08-06 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-child-meta.c:
(clutter_child_meta_set_property),
(clutter_child_meta_class_init): Make the :container and
:actor properties of ChildMeta construct-only, to allow
bindings to actually use ChildMeta without abusing the API.
* clutter/clutter-container.c (create_child_meta): Instead of
setting the members of the ChildMeta structure, use the
constructor properties.
Emmanuele Bassi [Tue, 5 Aug 2008 10:54:40 +0000 (10:54 +0000)]
2008-08-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-keysyms.h: Resync with keysymdef.h inside Xorg.
Emmanuele Bassi [Mon, 4 Aug 2008 16:33:43 +0000 (16:33 +0000)]
2008-08-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script.c:
(clutter_script_default_connect): Improve wording and debug
messages in the default autoconnection for signal handlers.
Emmanuele Bassi [Mon, 4 Aug 2008 16:21:27 +0000 (16:21 +0000)]
2008-08-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script-parser.c:
* clutter/clutter-script-private.h: Clean up the code; add a
conversion function for reading a ClutterColor out of a
JSON object or array definition.
* clutter/clutter-script.c: Clean up the code; document properly
how we translate from type name to type function.
Emmanuele Bassi [Mon, 4 Aug 2008 10:36:37 +0000 (10:36 +0000)]
2008-08-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.c: Rework and improve the documentation
of the thread-safe timeout and idle source installer functions.
Neil Roberts [Fri, 1 Aug 2008 15:40:36 +0000 (15:40 +0000)]
The *-sections.txt files in the doc/reference folders should not be
ignored in the .gitignore
Neil Roberts [Fri, 1 Aug 2008 12:23:57 +0000 (12:23 +0000)]
Bug 945 - Clipping+fbo cloning bugs
* clutter/cogl/gl/cogl.c:
* clutter/cogl/gles/cogl.c:
* clutter/cogl/cogl.h.in: Add cogl_clip_stack_save,
cogl_clip_stack_restore, cogl_viewport and cogl_frustum.
* clutter/cogl/gl/cogl-fbo.h:
* clutter/cogl/gl/cogl-fbo.c: Try to attach a stencil buffer when
creating an FBO.
* clutter/cogl/common/cogl-clip-stack.c: Add functions to save and
restore the whole state of the stack.
* clutter/clutter-texture.c (clutter_texture_paint): When
rendering the FBO source, setup a temporary asymmetric perspective
projection matrix to render it as it would appear on screen.
* clutter/clutter-private.h:
* clutter/clutter-actor.c
(_clutter_actor_apply_modelview_transform_recursive): No longer
static and exported in clutter-private.h
Neil Roberts [Fri, 1 Aug 2008 11:09:43 +0000 (11:09 +0000)]
Bug 1071 - clutter_timeline_get_duration doesn't always work
* clutter/clutter-timeline.c: Calculate the 'duration' property
on-demand instead of storing it as a member variable. Notify
duration property changes whenever the fps or num_frames changes.
Neil Roberts [Fri, 1 Aug 2008 11:09:31 +0000 (11:09 +0000)]
Bug 1069 - Warnings with ClutterScore
* clutter/clutter-score.c (clutter_score_is_playing): Check
whether priv->running_timelines is NULL before checking its
length.
(foreach_running_timeline): Remove the completed signal handler
when stopping the score. Otherwise the completed callback will get
called multiple times if the timeline is started later.
Neil Roberts [Thu, 31 Jul 2008 08:54:43 +0000 (08:54 +0000)]
Bug 1075 - Difficult to bind clutter_stage_new
* clutter/clutter-stage.c (clutter_stage_dispose): Unrealize the
stage before removing the update idle handler. Otherwise
unrealizing causes another redraw to be queued and if the stage
object remains alive it will cause an assert and abort.
Neil Roberts [Wed, 30 Jul 2008 21:09:58 +0000 (21:09 +0000)]
* clutter/clutter-stage.c (clutter_stage_class_init): Added the
'perspective' property. All of the machinery was there to
implement the property but somehow the call that actually installs
it was missing.
Emmanuele Bassi [Wed, 30 Jul 2008 15:47:43 +0000 (15:47 +0000)]
2008-07-30 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-fixed.h:
* clutter/clutter-units.h: Fix the upper and lower boundaries of
ClutterFixed and ClutterUnit types; G_MAXINT16 and G_MININT16
were not enough to describe those values.
Ross Burton [Wed, 30 Jul 2008 15:01:37 +0000 (15:01 +0000)]
2008-07-30 Ross Burton <ross@openedhand.com>
* clutter/clutter-main.c:
Destroy the debugging timer when the context is freed.
* clutter/clutter-stage.c:
Free the stage title when the stage is finalized.
Neil Roberts [Wed, 30 Jul 2008 10:32:25 +0000 (10:32 +0000)]
* clutter/clutter-model.c (clutter_model_set_sorting_column): This
function is supposed to accept -1 to disable sorting. However it
checks for whether the column is >= the number of columns, but
clutter_model_get_n_columns() returns an unsigned int so the
column number also gets promoted to unsigned for the
comparison. Therefore -1 is always greater than the number of
columns so it wouldn't let you set it.
Ross Burton [Wed, 30 Jul 2008 09:17:57 +0000 (09:17 +0000)]
2008-07-30 Ross Burton <ross@openedhand.com>
* clutter/version.xml.in:
* cogl/version.xml.in:
Remove trailing newline as it upsets Devhelp
Neil Roberts [Sat, 26 Jul 2008 14:00:32 +0000 (14:00 +0000)]
* clutter/clutter-timeline.c (clutter_timeline_list_markers): When
requesting the list of markers it was returning the marker data as
a string instead of the name so it was copying garbage.
Neil Roberts [Fri, 25 Jul 2008 11:29:12 +0000 (11:29 +0000)]
* clutter/clutter-actor.c (clutter_actor_remove_clip)
(clutter_actor_set_clipu): Queue a redraw when the clip is
changed.
Neil Roberts [Thu, 24 Jul 2008 09:11:54 +0000 (09:11 +0000)]
* clutter/clutter-script.c: The example in the documentation
showed a color being specified as '0xff0000ff' but it should be
'#
ff0000ff'
Emmanuele Bassi [Wed, 23 Jul 2008 12:20:35 +0000 (12:20 +0000)]
2008-07-23 Emmanuele Bassi <ebassi@openedhand.com>
Bug 1062 - clutter_actor_query_coords() replacement in 0.8
* clutter/clutter-deprecated.h: Fix the deprecation warning
for clutter_actor_query_coords(). (Gwenole Beauchesne)
Emmanuele Bassi [Thu, 17 Jul 2008 12:21:01 +0000 (12:21 +0000)]
2008-07-17 Emmanuele Bassi <ebassi@openedhand.com>
Bug 1047 - API documentation from release tarball is not
installed by "make install"
* configure.ac:
* Makefile.am: Make the recursion into the documentation
directory depend on on whether we explicitly enable it or
if we are not inside an SVN checkout.
Emmanuele Bassi [Thu, 17 Jul 2008 11:20:44 +0000 (11:20 +0000)]
Put back Project as the top-level element
Emmanuele Bassi [Thu, 17 Jul 2008 11:17:32 +0000 (11:17 +0000)]
Fix the dependencies in the Makefile template
Emmanuele Bassi [Thu, 17 Jul 2008 11:11:18 +0000 (11:11 +0000)]
Update DOAP file
Emmanuele Bassi [Thu, 17 Jul 2008 10:40:19 +0000 (10:40 +0000)]
2008-07-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/subclassing-ClutterActor.xml: Update the ClutterActor
subclassing section by removing the cogl_push/pop_matrix() calls
where not needed.
Neil Roberts [Thu, 17 Jul 2008 10:08:52 +0000 (10:08 +0000)]
* clutter/clutter-texture.c:
* clutter/clutter-rectangle.c:
* clutter/clutter-group.c:
* clutter/clutter-entry.c:
* clutter/clutter-clone-texture.c: Remove unnecessary calls to
cogl_{push,pop}_matrix. The matrix is preserved in
clutter_actor_paint whenever the actor's transformation is applied
so there should be no need to push the matrix in actor paint
implementations unless it does some additional transformations
itself.
Emmanuele Bassi [Wed, 16 Jul 2008 16:53:41 +0000 (16:53 +0000)]
2008-07-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.pc.in: Add a variable containing the COGL backend
inside the pkg-config file, for configure-time checks.
Neil Roberts [Mon, 14 Jul 2008 19:22:17 +0000 (19:22 +0000)]
* clutter/cogl/common/cogl-primitives.c (cogl_path_rel_curve_to):
Fixed a typo in the second parameter which meant the curve was
drawn incorrectly.
Emmanuele Bassi [Mon, 14 Jul 2008 13:46:31 +0000 (13:46 +0000)]
2008-07-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter.h: Include missing installed files.
Tomas Frydrych [Mon, 14 Jul 2008 08:49:22 +0000 (08:49 +0000)]
2008-07-14 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-stage.c:
(clutter_stage_hide_cursor):
Fixed C&P bug that made it impossible to show cursor once hidden.
Stripped trailing whitespace.
Matthew Allum [Sun, 13 Jul 2008 22:54:19 +0000 (22:54 +0000)]
2008-07-13 Matthew Allum <mallum@openedhand.com>
* clutter/x11/clutter-x11-texture-pixmap.c:
Call XSync in unredirect X error trap (Thanks to Andy Wingo)
Neil Roberts [Sun, 13 Jul 2008 17:55:53 +0000 (17:55 +0000)]
* build/mingw/mingw-cross-compile.sh: Avoid using the --strip
option to tar because it isn't supported in the version shipped
with MSYS.
Tomas Frydrych [Fri, 11 Jul 2008 10:36:07 +0000 (10:36 +0000)]
2008-07-11 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-fixed.c:
Move G_IMPLEMENT_INLINES before all other #include statements (bug
#1038).
Tomas Frydrych [Fri, 11 Jul 2008 10:12:05 +0000 (10:12 +0000)]
2008-07-11 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-fixed.c:
Changed #define G_IMPLEMENTS_INLINES to G_IMPLEMENT_INLINES (bug
#1038).
Emmanuele Bassi [Thu, 10 Jul 2008 16:39:46 +0000 (16:39 +0000)]
2008-07-10 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Post release bump to 0.3.1.
Matthew Allum [Thu, 10 Jul 2008 16:19:09 +0000 (16:19 +0000)]
008-07-10 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gles/cogl-fbo.c:
* clutter/cogl/gles/cogl-texture.c:
Fix warnings with eglnative build
Emmanuele Bassi [Thu, 10 Jul 2008 15:15:37 +0000 (15:15 +0000)]
Remove unused variable
Emmanuele Bassi [Thu, 10 Jul 2008 14:48:14 +0000 (14:48 +0000)]
2008-07-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-sections.txt: Add the missing X11 backend
API.
Matthew Allum [Thu, 10 Jul 2008 11:54:06 +0000 (11:54 +0000)]
2008-07-10 Matthew Allum <mallum@openedhand.com>
* README:
Sync up/improve ready for 0.8 release.
* AUTHORS:
Sync up to date - hope I havn't missed anyone..
Matthew Allum [Thu, 10 Jul 2008 00:12:23 +0000 (00:12 +0000)]
2008-07-10 Matthew Allum <mallum@openedhand.com>
* clutter/glx/clutter-glx-texture-pixmap.c:
Assume TFP npots sized textures are always supported if TFP ext is!
(Based on patch from James Ketrenos)
Matthew Allum [Tue, 8 Jul 2008 11:58:08 +0000 (11:58 +0000)]
2008-07-08 Matthew Allum <mallum@openedhand.com>
Bug 1011 - Fix TFP fallback mechanism (take 2)
* clutter/glx/clutter-glx-texture-pixmap.c:
* tests/test-pixmap.c:
Slightly modified patch from Gwenole Beauchesne applied
to better handle both falling back to non accelerated tfp
and improvements to the test case.
Matthew Allum [Mon, 7 Jul 2008 22:28:13 +0000 (22:28 +0000)]
2008-07-07 Matthew Allum <mallum@openedhand.com>
Bug 1016 - Changing window-redirect-automatic property after
creating ClutterX11TexturePixmap doesn't work.
* clutter/x11/clutter-x11-texture-pixmap.c:
(clutter_x11_texture_pixmap_set_window):
Sync up redirection prop correctly (Jason Tackaberry)
Matthew Allum [Mon, 7 Jul 2008 22:18:27 +0000 (22:18 +0000)]
2008-07-07 Matthew Allum <mallum@openedhand.com>
Bug 1019 - clutter-frame-source.h not included by clutter.h
* clutter/clutter.h:
Add missing header include.