Commit Graph

1765 Commits

Author SHA1 Message Date
745d7bed2a 2008-10-31 Emmanuele Bassi <ebassi@linux.intel.com>
* clutter/pango/cogl-pango-fontmap.c:
	* clutter/pango/cogl-pango-render.c: Whitespace fixes and code
	duplication removal. Plus, start documenting the CoglPango API.
2008-10-31 17:48:24 +00:00
52c6f0ab98 2008-10-31 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c: (clutter_texture_set_filter_quality),
        (clutter_texture_get_filter_quality):
        Fix up some logic, typos.

        * clutter/glx/clutter-glx-texture-pixmap.c:
        Improve support for mipmaped TFP textures.
2008-10-31 16:59:51 +00:00
91f2653b71 2008-10-31 Emmanuele Bassi <ebassi@linux.intel.com>
Bug 1200 - Crash with invalid DISPLAY

	* clutter/clutter-main.c: Use the ClutterBackend wrapper API
	instead of directly checking the class structure.

	* clutter/glx/clutter-backend-glx.c: Return the correct value
	in case of failure.

	* clutter/x11/clutter-backend-x11.c: Bail out if XOpenDisplay()
	failed.
2008-10-31 12:48:26 +00:00
850e6318e3 Fix a typo 2008-10-31 12:07:01 +00:00
d30c52ffd4 2008-10-30 Emmanuele Bassi <ebassi@linux.intel.com>
* clutter/cogl/cogl-color.h:
	* clutter/cogl/cogl-fixed.h:
	* clutter/cogl/cogl-offscreen.h:
	* clutter/cogl/cogl-path.h:
	* clutter/cogl/cogl-shader.h:
	* clutter/cogl/cogl-texture.h:
	* clutter/cogl/cogl-types.h: Add copyright and licensing
	notice to the newly added files.
2008-10-30 17:57:41 +00:00
90f4b1d492 2008-10-30 Emmanuele Bassi <ebassi@linux.intel.com>
Bug 1219 - Clean up cogl.h

	* clutter/cogl/cogl.h.in:
	* clutter/cogl/cogl-offscreen.h:
	* clutter/cogl/cogl-path.h:
	* clutter/cogl/cogl-shader.h:
	* clutter/cogl/cogl-texture.h:
	* clutter/cogl/cogl-types.h: Split up the massive cogl.h file
	into sub-header for each section of the API.

	* clutter/cogl/gl/*:
	* clutter/cogl/gles/*: Update the GL and GLES implementations
	of COGL to cope with the new header structure.

	* doc/reference/cogl/Makefile.am: Fix symbol retrieval.
2008-10-30 17:25:00 +00:00
b5cc7a4044 2008-10-30 Emmanuele Bassi <ebassi@linux.intel.com>
Bug 1215 - Move the Pango renderer to the public API

	* clutter/pango/*: Rename PangoClutter -> CoglPango.

	* clutter/Makefile.am:
	* clutter/clutter-backend.c:
	* clutter/clutter-entry.c:
	* clutter/clutter-label.c:
	* clutter/clutter-main.[ch]:
	* clutter/clutter-private.h: Update the users of the Pango
	renderer API.

	* README: Update release notes.
2008-10-30 17:11:29 +00:00
a32eca26b6 2008-10-30 Emmanuele Bassi <ebassi@linux.intel.com>
Bug 1212 - Allow only a single include file for Clutter

	* clutter/*.h: Only allow including clutter.h in third
	party code.

	* clutter/cogl/cogl-color.h:
	* clutter/cogl/cogl-fixed.h:
	* clutter/cogl/cogl.h.in: Only allow including cogl.h in
	third party code.

	* clutter/cogl/common/Makefile.am:
	* clutter/cogl/gl/Makefile.am:
	* clutter/cogl/gles/Makefile.am:
	* clutter/eglnative/Makefile.am:
	* clutter/eglx/Makefile.am:
	* clutter/fruity/Makefile.am:
	* clutter/glx/Makefile.am:
	* clutter/glx/clutter-glx.h:
	* clutter/osx/Makefile.am:
	* clutter/pango/Makefile.am:
	* clutter/sdl/Makefile.am:
	* clutter/win32/Makefile.am:
	* clutter/x11/Makefile.am: Fix build environment.

	* clutter/x11/clutter-x11-texture-pixmap.h:
	* clutter/x11/clutter-x11.h: Fix inclusion rules.

	* tests/test-pixmap.c: Fix inclusion of GdkPixbuf header.

	* README: Update release notes.
2008-10-30 17:04:34 +00:00
36e30239af 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.
2008-10-30 16:52:56 +00:00
a547cdbc4d 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.
2008-10-30 16:50:07 +00:00
911b395c8a 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.
2008-10-30 16:37:55 +00:00
04ce490c0a 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
2008-10-29 14:52:48 +00:00
f2c19971e5 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)
2008-10-29 12:19:27 +00:00
1f2813ceda 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)
2008-10-28 22:56:02 +00:00
15af9b9b48 * clutter/clutter-color.c (param_color_set_default): Set the no copy
flag when setting the default param spec value to prevent invalid
	frees.
2008-10-28 11:45:04 +00:00
82d43ffe64 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
2008-10-27 14:36:52 +00:00
e43b7ddd3d 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.
2008-10-27 12:39:22 +00:00
3ced5a9086 2008-10-21 Emmanuele Bassi <ebassi@linux.intel.com>
* clutter/clutter-color.[ch] (clutter_value_set_color): Constify
	colors and values where needed.
2008-10-21 18:50:44 +00:00
3abaf6841f 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)
2008-10-21 18:48:13 +00:00
96c1a8543d 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.
2008-10-20 15:54:17 +00:00
0cd9345864 Declare clutter_color_new() 2008-10-20 10:36:41 +00:00
49192f60b6 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.
2008-10-20 09:43:12 +00:00
8f1819cd52 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.
2008-10-17 16:23:46 +00:00
9cf5386bb1 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.
2008-10-17 08:04:03 +00:00
6d4667cb61 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.
2008-10-16 10:28:17 +00:00
c606547dcb 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.
2008-10-01 13:46:33 +00:00
e3b80d147c 2008-09-25 Emmanuele Bassi <ebassi@linux.intel.com>
* clutter/clutter-event.h: Fix missing documentation.
2008-09-25 11:08:06 +00:00
a87f34c177 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)
2008-09-24 10:12:23 +00:00
d3d29b194e 2008-09-23 Emmanuele Bassi <ebassi@linux.intel.com>
* clutter/clutter-timeout-pool.c: Reword previous commit.
2008-09-23 13:25:31 +00:00
b3726e4d66 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)
2008-09-23 12:58:31 +00:00
9ddfe73b39 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)
2008-09-23 12:23:05 +00:00
a4b0ffe1de 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)
2008-09-23 11:15:38 +00:00
9f0842bacb 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)
2008-09-23 11:11:14 +00:00
73adac987d 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().
2008-09-23 09:41:08 +00:00
6b51ac4b77 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.
2008-09-23 07:03:35 +00:00
72c9f88019 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.
2008-09-22 16:36:27 +00:00
77b1388d1c 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.
2008-09-19 13:22:12 +00:00
6d17aa1a66 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)
2008-09-19 11:38:48 +00:00
57bc2313d0 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.
2008-09-19 10:28:51 +00:00
50a248764c 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.
2008-09-18 13:16:15 +00:00
76faa8c7a6 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.
2008-09-18 11:24:27 +00:00
8681cb249c 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.
2008-09-18 10:24:37 +00:00
6dac43ddeb 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.
2008-09-17 13:25:50 +00:00
147880b148 * clutter/clutter-types.h: Swap left and right in the
documentation for ClutterGravity.
2008-09-17 10:40:40 +00:00
ae8bab0bc8 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.
2008-09-17 10:40:32 +00:00
3fb00f9cdd 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.
2008-09-16 16:00:31 +00:00
8be7e29a6b 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>).
2008-09-16 11:50:38 +00:00
7294239d64 * clutter/clutter-main.c: amended typo in gtk-doc. 2008-09-15 14:47:25 +00:00
8d429e8abc 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
2008-09-12 12:43:25 +00:00
b16e75db2c 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
2008-09-12 10:31:44 +00:00