Commit Graph

1155 Commits

Author SHA1 Message Date
Neil Roberts
06d0696874 * clutter/x11/clutter-event-x11.c:
* clutter/win32/clutter-event-win32.c: Use the HAVE_CONFIG_H guard
	around #include "config.h"
2008-06-30 16:01:56 +00:00
Emmanuele Bassi
b510d2827c 2008-06-30 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/Makefile.am:
	* clutter/eglx/Makefile.am:
	* clutter/glx/Makefile.am: Build the X11 base backend before
	the backends that depend on it.
2008-06-30 15:58:25 +00:00
Emmanuele Bassi
ad221bfe4e 2008-06-30 Emmanuele Bassi <ebassi@openedhand.com>
Bug 1000 - clutter-x11 should define gtypes for its enumerations

	* clutter/x11/Makefile.am:
	* clutter/x11/clutter-event-x11.c:
	* clutter/x11/clutter-x11-enum-types.c.in:
	* clutter/x11/clutter-x11-enum-types.h.in:
	* clutter/x11/clutter-x11.h: Add the GTypes for the X11-specific
	enumerations, so that they can be used by the bindings. (Andy
	Wingo)
2008-06-30 15:03:42 +00:00
Matthew Allum
ac02680447 2008-06-30 Matthew Allum <mallum@openedhand.com>
Bug 997 - automatic updates not working for named TFP pixmaps,
                  at least in x11

        * clutter/glx/clutter-glx-texture-pixmap.c:
        * clutter/glx/clutter-glx-texture-pixmap.h:
        * clutter/x11/clutter-backend-x11.c:
        * clutter/x11/clutter-x11-texture-pixmap.c:
        * clutter/x11/clutter-x11-texture-pixmap.h:
        * clutter/x11/clutter-x11.h:
        * configure.ac:
        * tests/test-pixmap.c:
        Rework Andy Wingos patch a little adding more safety for now also
        handling redirect Windows (as well as pixmaps)
2008-06-30 14:36:49 +00:00
Emmanuele Bassi
edca282ad0 2008-06-30 Emmanuele Bassi <ebassi@openedhand.com>
Bug 980 - cogl-bitmap-fallback.c compiler error/warning due to
	          cast issue (Haakon Sporsheim)

	* clutter/cogl/common/cogl-bitmap-fallback.c:
	(_cogl_unpremult_alpha_last),
	(_cogl_unpremult_alpha_first): Cast to avoid a compiler warning
	with MSC.
2008-06-30 14:20:46 +00:00
Øyvind Kolås
5525d0cad7 Disable XInput handling for keyboard events, re-enabling key press and
release events when pointer is outside window as well as re-enabling
keyrepeat.
* clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_realize): select
for KeyPressMask and KeyReleaseMask even with XInput enabled.
* clutter/x11/clutter-backend-x11.c: (_clutter_x11_register_xinput): 
Disabled the XInput keyboard code paths (comments and #if 0's)
* clutter/x11/clutter-event-x11.c: (event_translate): always handle
keyboard events without regard to XInput.
2008-06-30 14:01:03 +00:00
Matthew Allum
9fa47035ac 2008-06-29 Matthew Allum <mallum@openedhand.com>
* clutter/x11/clutter-event-x11.c:
        ifdef convert_xdevicekey_to_xkey () with XINPUT check.
        (fix via Andy Wingo)
2008-06-29 22:19:20 +00:00
Tommi Komulainen
4471e886f5 OSX: don't depend on ClutterGLWindow
* clutter/osx/clutter-osx.h (_clutter_event_osx_put)
	* clutter/osx/clutter-event-osx.c (clutter_event_osx_translate,
	NSEvent:clutterStage:)
	* clutter/osx/clutter-stage-osx.c (EVENT_HANDLER): Since events are
	delivered to ClutterGLView, pass the associated ClutterStage directly
	to event translation. Avoids relying on being embedded in
	ClutterGLWindow, which makes it easier to implement clutter-gtk.
2008-06-29 10:31:31 +00:00
Tommi Komulainen
079747e8cb OSX: document Shift modifier speciality
* clutter/osx/clutter-event.osx.c (NSEvent:clutterKeyVal:): Add
	comment, on OSX backend the Shift modifier is included in 'keyval'
	making it identical to 'unicode_value'  Instead of <Shift>a or
	<Shift>3 you'd get <Shift>A and <Shift>#
2008-06-29 10:31:05 +00:00
Matthew Allum
03d7fdacd6 2008-06-27 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gl/cogl.c:
        Temp workaround for 10.4 ATI card OSX folks, see #929
        (Tommi Komulainen)

        Bug 998 - clutter always captures X input events

* clutter/eglx/clutter-stage-egl.c:
        * clutter/glx/clutter-stage-glx.c:
When we disable X event retrival, dont still select for window
events.
2008-06-27 23:02:30 +00:00
Emmanuele Bassi
17f46e57f3 2008-06-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-event.h:
	* clutter/clutter-main.c:
	* clutter/x11/clutter-backend-x11.c: Add further documentation,
	and increase the coverage to 94%.
2008-06-27 21:13:19 +00:00
Neil Roberts
114148bab5 Bug 993 - Underline colors are sometimes wrong
* clutter/pango/pangoclutter-render.c: Fixed so that instead
	of trying to set the color in prepare_run it uses draw_glyphs
	to draw groups of glyphs and requests the color for each part
	from Pango.
2008-06-27 14:36:59 +00:00
Emmanuele Bassi
d88d2a6061 Fix the previous commit 2008-06-26 22:36:25 +00:00
Emmanuele Bassi
a07d57572c 2008-06-26 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	(clutter_actor_set_min_width),
	(clutter_actor_set_min_height),
	(clutter_actor_set_natural_width),
	(clutter_actor_set_natural_height): Ignore any override of the
	minimum and natural size of the stage on backends that only
	support static stages.

	* clutter/clutter-stage.c (clutter_stage_allocate): Use the
	preferred size of the ClutterStage implementation instead of
	the display size.

	* clutter/clutter-backend.[ch]: Remove get_display_size() and
	clutter_backend_get_display_size().

	* clutter/eglnative/clutter-backend-egl.c:
	* clutter/fruity/clutter-backend-fruity.c:
	* clutter/osx/clutter-backend-osx.c:
	* clutter/sdl/clutter-backend-sdl.c:
	* clutter/win32/clutter-backend-win32.c:
	* clutter/x11/clutter-backend-x11.c: Remove get_display_size()
	implementations.
2008-06-26 21:42:44 +00:00
Emmanuele Bassi
b6aa1ca9ec 2008-06-26 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-shader.c (bind_glsl_shader): Verify that the
	vertex shader has been successfully compiled, like we do with
	the fragment shader.
2008-06-26 13:54:13 +00:00
Emmanuele Bassi
561e95eedf 2008-06-26 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/osx/clutter-backend-osx.c:
	(clutter_backend_osx_get_display_size): Fix the allocation pool
	macro name.
2008-06-26 13:52:35 +00:00
Matthew Allum
244995a834 2008-06-26 Matthew Allum <mallum@openedhand.com>
* clutter/glx/clutter-glx-texture-pixmap.c:
        Move the gl extension probe into the regular object init() rather than
        class_init. Should be a little safer.
2008-06-26 09:47:58 +00:00
Neil Roberts
5f3db8e0a0 * clutter/win32/clutter-backend-win32.c
(clutter_backend_win32_get_display_size): Implement
	get_display_size on the Win32 backend.
2008-06-25 16:51:43 +00:00
Emmanuele Bassi
dd185940c0 2008-06-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.h: Make the priority constants public.

	* clutter/clutter-stage.c: Use CLUTTER_PRIORITY_REDRAW.

	* clutter/clutter-timeline.c: Use CLUTTER_PRIORITY_TIMELINE.
2008-06-25 16:46:42 +00:00
Emmanuele Bassi
ce348f805c 2008-06-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/osx/clutter-backend-osx.c:
	(clutter_backend_osx_get_display_size),
	(clutter_backend_osx_class_init): Implement the get_display_size
	function.
2008-06-25 15:59:54 +00:00
Emmanuele Bassi
eb6fba284d 2008-06-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	(clutter_actor_set_min_width),
	(clutter_actor_set_min_height),
	(clutter_actor_set_natural_width),
	(clutter_actor_set_natural_height): Add a comment explaining
	the override in place for backends providing a fixed size
	on a stage.
2008-06-25 15:02:13 +00:00
Emmanuele Bassi
79b214e1f1 2008-06-25 Emmanuele Bassi <set EMAIL_ADDRESS environment variable>
* clutter/clutter-actor.c:
	(clutter_actor_set_min_width),
	(clutter_actor_set_min_height),
	(clutter_actor_set_natural_width),
	(clutter_actor_set_natural_height): If setting the minimum
	and natural width and height on a top-level actor, and on
	a backend that provides only static stages, then override
	the value and use the size of the display as returned by
	the backend.

	* clutter/eglnative/clutter-stage-egl.c:
	(clutter_stage_egl_realize): Remove the setting of the
	minimum and natural width and height.
2008-06-25 14:47:00 +00:00
Emmanuele Bassi
8a51236858 2008-06-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-stage.c:
	(clutter_stage_allocate): Minor optimization.

	(clutter_stage_init): Do not set the minimum size of the
	stage wrapper, and require that the backends set the size
	themselves.
2008-06-25 14:20:27 +00:00
Emmanuele Bassi
72bdcccf26 2008-06-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/eglnative/clutter-stage-egl.c:
	(clutter_stage_egl_realize): Try to force the minimum and
	natural size on realization.
2008-06-25 13:52:17 +00:00
Emmanuele Bassi
d651cc4337 2008-06-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-backend.c:
	(clutter_backend_get_display_size): Provide a fallback for
	backends not implementing get_display_size().

	* clutter/clutter-stage.c:
	(clutter_stage_allocate): Add debug messages.

	* clutter/sdl/clutter-backend-sdl.c:
	(clutter_backend_sdl_get_display_size),
	(clutter_backend_sdl_class_init): Implement get_display_size()
	on the SDL backend.
2008-06-25 13:32:03 +00:00
Chris Lord
631277be44 * clutter/clutter-fixed.c: (clutter_sinx):
Fix clutter_sinx for angles > CFX_2PI - CFX_ONE. Also add note to
        documentation about being able to use modulus with ClutterFixed
2008-06-25 13:21:25 +00:00
Emmanuele Bassi
49c5c97dd8 Fix another typo 2008-06-25 13:18:21 +00:00
Emmanuele Bassi
09956cba74 Fix typo 2008-06-25 13:16:07 +00:00
Emmanuele Bassi
8008bfea25 2008-06-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-backend.h:
	* clutter/clutter-backend.c:
	(clutter_backend_get_display_size): Add a function for getting the
	display size out of the backend.

	* clutter/clutter-stage.c:
	(clutter_stage_allocate): When allocating on a backend with a
	static stage, we simply ignore the passed box and override it with
	the size of the display.

	* clutter/eglnative/clutter-backend-egl.c:
	(clutter_backend_egl_get_display_size),
	(clutter_backend_egl_class_init): Implement get_display_size() by
	returning the size of the EGL surface.

	* clutter/fruity/clutter-backend-fruity.c:
	(clutter_backend_egl_get_display_size),
	(clutter_backend_egl_class_init): Ditto as above.

	* clutter/x11/clutter-backend-x11.c:
	(clutter_backend_x11_get_display_size),
	(clutter_backend_x11_class_init): Implement get_display_size() by
	returning the DisplayWidth and DisplayHeight of the current
	screen.
2008-06-25 13:05:59 +00:00
Neil Roberts
1049959d34 * clutter/win32/clutter-stage-win32.c
(clutter_stage_win32_realize): Use a more direct method to choose
	the best pixel format instead of ChoosePixelFormat because
	otherwise if the display's depth is 16 then it will prefer the
	non-accelerated software implementation when the requested depth
	is 24.
2008-06-25 12:25:43 +00:00
Emmanuele Bassi
09097fc810 2008-06-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-stage.c (clutter_stage_allocate): Fix condition;
	should always test before committing.
2008-06-25 12:08:49 +00:00
Matthew Allum
6371f0c621 2008-06-25 Matthew Allum <mallum@openedhand.com>
* clutter/x11/clutter-backend-x11.c: (_clutter_x11_register_xinput)
        Add extra safety and fallback if no useable pointing devices are
        found.
2008-06-25 12:02:11 +00:00
Emmanuele Bassi
8b1385ed23 2008-06-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-stage.c:
	(clutter_stage_allocate): Check if the stage provided by the
	backend is static (i.e. a framebuffer that cannot be resized)
	and interrupt the allocation chain there.

	* clutter/eglnative/clutter-stage-egl.c:
	(clutter_stage_egl_class_init): Remove the ::allocate empty
	stub.
2008-06-25 11:49:43 +00:00
Matthew Allum
b84c5311ee 2008-06-25 Matthew Allum <mallum@openedhand.com>
* clutter/eglnative/clutter-stage-egl.c:
        * clutter/eglx/clutter-stage-egl.c:
        Disable passing of attribs to eglCreateContext() on GLES 1.1 h/w
2008-06-25 11:17:43 +00:00
Neil Roberts
ed44a845a5 * clutter/clutter-actor.c (clutter_actor_paint): Guard against the
actor clip being enabled or disabled in an actor paint
	method. Otherwise the clip stack can be become unbalanced. This
	was happening in ClutterEntry until it was fixed in revision 2983.
2008-06-25 08:40:25 +00:00
Neil Roberts
feb16bcf95 Bug 979 - Wrong call convension for SwapIntervalProc in win32 backend
* clutter/win32/clutter-backend-win32.c: Use the correct calling
	convention for SwapInterval. Thanks to Haakon Sporsheim.
2008-06-24 22:07:15 +00:00
Emmanuele Bassi
5521867989 2008-06-24 Emmanuele Bassi <ebassi@openedhand.com>
Bug 989 - Add a search path for clutter script assets

	* clutter/clutter-script.h:
	* clutter/clutter-script.c:
	(clutter_script_finalize),
	(clutter_script_add_search_paths),
	(clutter_script_lookup_filename): Add the ability to define multiple
	search paths inside ClutterScript and to look up a specific filename
	inside those search paths. This is useful to define a set of
	directories where the assets for a UI definition are and still
	reference those assets by their name instead of the full path. (989,
	based on a patch by Matthew Allum)

	* clutter/clutter-texture.c:
	(clutter_texture_set_custom_property): Use the newly added
	clutter_script_lookup_filename() function.
2008-06-24 16:47:43 +00:00
Neil Roberts
d4da3a3e2a * clutter/cogl/gles/cogl-gles2-wrapper.h:
* clutter/cogl/gles/cogl-gles2-wrapper.c: All of the settings and
	uniforms are now proxied into COGL variables instead of setting
	the GL uniforms directly. Just before glDrawArrays is executed a
	shader is generated using the given settings to avoid using 'if'
	statements. The shaders are cached.

	* clutter/cogl/gles/cogl-fixed-vertex-shader.glsl: 
	* clutter/cogl/gles/cogl-fixed-fragment-shader.glsl: The shaders
	are now split into parts using comments instead of 'if' statements
	so that the simplest shader can be generated on the fly.

	* clutter/cogl/gles/stringify.sh: Now splits up the shader sources
	into separate C strings where deliminated by special comments.

	* clutter/cogl/gles/cogl-program.h: 
	* clutter/cogl/gles/cogl-program.c: A custom shader can no longer
	be directly linked with the fixed-functionality replacement
	because the replacement changes depending on the settings. Instead
	the bound shader is linked with the appropriate replacement shader
	just before glDrawArrays is executed. The custom uniform variables
	must also be proxied through COGL variables because their location
	can change when relinked.
2008-06-24 16:21:40 +00:00
Øyvind Kolås
eac5e21f1c * clutter/fruity/clutter-fruity.c: removed dead code and unused
variables.
2008-06-24 11:34:22 +00:00
Emmanuele Bassi
9bc15bb467 2008-06-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-entry.c:
	(clutter_entry_ensure_layout): Convert the invisible char
	to UTF-8 to avoid Pango barfing on us.
2008-06-24 10:40:58 +00:00
Matthew Allum
a692421945 2008-06-24 Matthew Allum <mallum@openedhand.com>
* clutter/eglnative/clutter-stage-egl.c:
        Add an extra debug note.
        * configure.ac:
        Generate version.xml for COGL API docs
2008-06-24 10:39:12 +00:00
Chris Lord
bc55368304 Bug 988 - cursor position wrong with multibyte invisible char
* clutter/clutter-entry.c: (clutter_entry_ensure_cursor_position):
        Fix cursor position calculation when using invisible text
2008-06-24 10:22:53 +00:00
Emmanuele Bassi
00efebe00a 2008-06-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/x11/clutter-event-x11.c (event_translate): Set the
	event type explicitly in the union members as well for the
	key events, like we do for all the other events.
2008-06-23 22:00:37 +00:00
Neil Roberts
e11d08807d * clutter/clutter-entry.c (clutter_entry_paint): Set the clip
using COGL directly instead of setting the actor clip. Otherwise
	the clip stack will be unbalanced after the first draw. This also
	frees up the actor clip to be set by an application.
2008-06-23 20:55:24 +00:00
Matthew Allum
20c384cab8 2008-06-23 Matthew Allum <mallum@openedhand.com>
Bug 987 - clutter-event.c c99 variable declaration

        * clutter/clutter-event.c:
        Remove c99ism.
2008-06-23 18:58:33 +00:00
Emmanuele Bassi
300d1ef025 Fixes for distcheck 2008-06-23 16:43:49 +00:00
Emmanuele Bassi
9006de848b 2008-06-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-texture.c:
	(clutter_texture_get_preferred_width),
	(clutter_texture_get_preferred_height),
	(clutter_texture_set_property),
	(clutter_texture_get_property),
	(clutter_texture_class_init),
	(clutter_texture_init): Add the new :keep-aspect-ratio property
	to ClutterTexture; when set to TRUE the texture will return a
	preferred width maintaining the aspect ratio with the given height
	and a preferred height maintaining the aspect ratio with the
	given width. This allows to set the width or the height and have
	the texture automatically request the height or the width respectively
	while maintaining the aspect ratio of the original image.

	* tests/test-script.json: Update to test the new :keep-aspect-ratio
	property.
2008-06-23 15:31:12 +00:00
Neil Roberts
dff84094ff Bug 918 - Group doesn't clip if it's children are clipped
* clutter/cogl/common/cogl-clip-stack.h: 
	* clutter/cogl/common/cogl-clip-stack.c: Added functions to
	maintain a stack of clipping rectangles.

	* clutter/cogl/gles/cogl.c: 
	* clutter/cogl/gl/cogl.c: The cogl_clip_set and unset functions
	have moved into cogl-clip-stack.c which calls back to cogl.c to
	set the actual rectangles. Multiple clip rectangles are combined
	by merging the stencil buffers.

	* clutter/cogl/gles/cogl-primitives.c (_cogl_path_fill_nodes): 
	* clutter/cogl/gl/cogl-primitives.c (_cogl_path_fill_nodes): Merge
	the stencil buffer with the contents of the clipping stack after
	drawing the path.

	* clutter/cogl/gles/cogl-context.h (CoglContext): 
	* clutter/cogl/gl/cogl-context.h (CoglContext): Store the number
	of available stencil bits.

	* clutter/cogl/common/Makefile.am
	(libclutter_cogl_common_la_SOURCES): Added cogl-clip-stack.c
2008-06-23 14:57:36 +00:00
Robert Bragg
030ac047d1 2008-06-23 Robert Bragg <bob@o-hand.com>
* clutter/eglx/clutter-stage-egl.c: Makes sure the eglx backend
	passes the EGL_OPENGL_ES2_BIT surface attrib when using
	GLES2.0 under cogl
2008-06-23 13:09:08 +00:00
Chris Lord
6ba7710224 * clutter/x11/clutter-event-x11.c: (convert_xdevicekey_to_xkey),
(translate_key_event), (event_translate):
        Change the xinput event handling to use translate_key (fixes modifier
        handling with xinput key events)
2008-06-23 12:45:20 +00:00
Emmanuele Bassi
d9b657bdfc 2008-06-23 Emmanuele Bassi <ebassi@openedhand.com>
Bug 982 - __COGL_GET_CONTEXT MS compiler issue (Haakon Sporsheim)

	* clutter/cogl/common/cogl-handle.h:
	* clutter/cogl/common/cogl-primitives.c: Remove C99-isms.

	* clutter/cogl/gl/cogl-fbo.c:
	* clutter/cogl/gl/cogl-primitives.c:
	* clutter/cogl/gl/cogl-texture.c:
	* clutter/cogl/gl/cogl.c: Ditto as above.

	* clutter/cogl/gles/cogl-fbo.c:
	* clutter/cogl/gles/cogl-primitives.c:
	* clutter/cogl/gles/cogl-texture.c: Ditto as above.
2008-06-23 11:01:30 +00:00
Emmanuele Bassi
04e5b4a710 2008-06-23 Emmanuele Bassi <ebassi@openedhand.com>
Bug 984 - pango_clutter_render_layout() declared void, but
	          returns (Haakon Sporsheim)

	* clutter/pango/pangoclutter-render.c:
	(pango_clutter_render_layout): Do not use a return statement.
2008-06-23 10:37:43 +00:00
Emmanuele Bassi
a843a5f90e 2008-06-23 Emmanuele Bassi <ebassi@openedhand.com>
Bug 905 - Paint cursor directly (Xan López)

	* clutter/clutter-entry.c:
	(clutter_entry_paint_cursor),
	(clutter_entry_init),
	(clutter_entry_set_color): Directly paint the cursor on the
	entry instead of using an actor.
2008-06-23 10:32:43 +00:00
Emmanuele Bassi
87d68544d0 2008-06-23 Emmanuele Bassi <ebassi@openedhand.com>
Bug 981 - clutter_stage_read_pixels temprow fix (Haakon Sporsheim)

	* clutter/clutter-stage.c (clutter_stage_read_pixels): Allocate
	the temporary row data used to flip the buffer from glReadPixels()
	in order to fix compilation under MSVC. Also validate the input
	parameters to avoid random segfaults.
2008-06-23 10:06:02 +00:00
Matthew Allum
b241481586 2008-06-23 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        * clutter/clutter-event.c:
        * clutter/clutter-event.h:
        * clutter/clutter-main.c:
        * clutter/clutter-main.h:
        * clutter/clutter-private.h:
        * clutter/eglx/clutter-stage-egl.c:
        * clutter/fruity/clutter-backend-fruity.c:
        * clutter/fruity/clutter-backend-fruity.h:
        * clutter/fruity/clutter-fruity.c:
        * clutter/glx/clutter-stage-glx.c:
        * clutter/x11/clutter-backend-x11.c:
        * clutter/x11/clutter-backend-x11.h:
        * clutter/x11/clutter-event-x11.c:
        * clutter/x11/clutter-stage-x11.h:
        * clutter/x11/clutter-x11.h:
        * configure.ac:
        * tests/Makefile.am:
        * tests/test-devices.c:
        Merge of 'xinput' branch giving initial basic support of
        multiple input devices.
2008-06-23 09:55:42 +00:00
Matthew Allum
920687a470 2008-06-23 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        * clutter/clutter-group.c:
        Remove uneeded (at least for now) paint_area method (#970)
2008-06-23 09:08:27 +00:00
Emmanuele Bassi
62cc9ec3c9 2008-06-19 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script.c: Be more explicit about the fact that
	the script id is not the name of an actor, and that it is retrieved
	by using clutter_get_script_id().
2008-06-19 20:45:28 +00:00
Emmanuele Bassi
e29ae614b5 2008-06-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.h:
	* clutter/clutter-actor.c:
	(clutter_actor_allocate_preferred_size): Add more documentation
	and notes on where it's appropriate to call this function.
2008-06-17 15:59:08 +00:00
Chris Lord
b592efcf99 * clutter/clutter-texture.c: (clutter_texture_get_preferred_width),
(clutter_texture_get_preferred_height):
        Maintain aspect ratio with natural width/height when for_width/height
        are specified
2008-06-17 14:45:33 +00:00
Matthew Allum
2dbbee28d5 2008-06-17 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        Clean up of parenting code (see #972)
        Doc updates to section intro.
        Add clutter_actor_allocate_preferred_size () utility call

        * clutter/clutter-group.c: (clutter_fixed_layout_allocate):
        Use clutter_actor_allocate_preferred_size ()

        * doc/clutter-actor-invariants.txt:
        Add some more notes
2008-06-17 13:49:40 +00:00
Emmanuele Bassi
988cac1dfb 2008-06-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	(clutter_actor_set_parent): Do not emit ::parent-set when
	reparenting.

	(clutter_actor_unparent): Ditto, as above.
	
	(clutter_actor_reparent): Emit ::parent-set with the old
	parent and set the IN_REPARENT flag unconditionally.
2008-06-17 12:39:37 +00:00
Emmanuele Bassi
ec91b3d253 2008-06-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	(clutter_actor_set_parent): Document and maintain the invariant
	that after setting a realized parent on an actor, the actor is
	also going to be realized.

	(clutter_actor_unparent): Change the invariant that an unparented
	actor is also unrealized: the paint is fast enough to avoid
	unrealizing, since it also causes more problems that what it's
	worth.

	* tests/test-invariants.c (test_show_on_set_parent): Update the
	invariants test because we changed the invariants.
2008-06-17 09:33:18 +00:00
Jussi Kukkonen
d03314cb84 * clutter/clutter-score.c (clutter_score_append):
initialize "marker" string and "complete_id" signal id when creating a
	ClutterScoreEntry.
2008-06-17 08:55:54 +00:00
Tomas Frydrych
2ccfd3c08f 2008-06-16 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.c:
	    (clutter_actor_move_anchor_point_from_gravity):
	    Fixed incorrect sign of position adjustment (revert of earlier
	    change).
2008-06-16 14:14:19 +00:00
Emmanuele Bassi
6ec5cc538c 2008-06-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c (clutter_actor_unparent): Reset the
	:show-on-set-parent property to TRUE when unparenting.

	* tests/Makefile.am: Add test-invariant to the build.

	* tests/test-invariants.c: Test the invariants that we are going
	to honour (and document, at some point).
2008-06-16 13:40:39 +00:00
Emmanuele Bassi
aef6fc5f61 2008-06-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/eglnative/clutter-stage-egl.c: Ignore any size allocation
	we receive from the user.

	* clutter/fruity/clutter-stage-fruity.c: Ditto as above.
2008-06-16 13:38:46 +00:00
Tomas Frydrych
1c4b1ce90e 2008-06-16 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.c:
	    (clutter_actor_move_anchor_point):
	    (clutter_actor_move_anchor_pointu):
	    (clutter_actor_move_anchor_point_from_gravity):
	    Fixed incorrect sign of position adjustment.
	    Fixed replace call to _move_by with move_byu in
	    _move_anchor_pointu.

	    Stripped trailing whitespace.
2008-06-16 09:27:44 +00:00
Emmanuele Bassi
8996406189 2008-06-15 Emmanuele Bassi <ebassi@openedhand.com>
Bug #967 - Mismatch of Timeline::marker-reached signal signature

	* clutter/clutter-marshal.list:
	* clutter/clutter-timeline.c:
	(clutter_timeline_class_init): Fix the type of the frame_num
	argument in the ::marker-reached signal creation to match the
	signal class handler. (Armin Burgmeier)
2008-06-15 12:50:05 +00:00
Matthew Allum
6fe23fefe9 Revert miscommit of unfinished cogl changes in r2920 2008-06-14 22:07:23 +00:00
Matthew Allum
04bf04db4d 2008-06-14 Matthew Allum <mallum@openedhand.com>
* README:
        Make needed GL version 1.4, note GLES2 support, add some notes
        for COGL.
2008-06-13 23:03:45 +00:00
Emmanuele Bassi
a840375b81 Remove the "hiding" in the texture description 2008-06-13 15:37:58 +00:00
Emmanuele Bassi
4b97a02410 2008-06-13 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	* clutter/clutter-actor.h:
	* tests/test-cogl-primitives.c:
	* tests/test-events.c:
	* tests/test-multistage.c:
	* tests/test-textures.c:
	* tests/test-timeline.c: Miscellaneous fixes for distcheck to
	pass.
2008-06-13 15:01:34 +00:00
Emmanuele Bassi
76b71f8cc4 2008-06-13 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-texture.c:
	(clutter_texture_unrealize), (clutter_texture_dispose): Add a
	guard against reading back memory during the unrealization on
	dispose.
2008-06-13 14:58:18 +00:00
Emmanuele Bassi
e3de3f196b 2008-06-13 Emmanuele Bassi <ebassi@openedhand.com>
Bug #953 - Actors are not hidden before unrealized or
	           disposed (Tommi Komulainen)

	* clutter/clutter-actor.c:
	(clutter_actor_unrealize): Hide a visible actor when unrealizing
	it.

	(clutter_actor_dispose): Make sure to unrealize an actor when
	disposing it.
2008-06-13 14:16:22 +00:00
Emmanuele Bassi
23c160886b 2008-06-13 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	(clutter_actor_dispose), (clutter_actor_destroy),
	(clutter_actor_unparent): Clean up the actor's destruction
	sequence, making sure that every operation is performed
	under the CLUTTER_ACTOR_IN_DESTRUCTION internal flag.
2008-06-13 13:59:07 +00:00
Emmanuele Bassi
be0711b88b 2008-06-13 Emmanuele Bassi <ebassi@openedhand.com>
Bug #960 - PangoContext creation code should not be duplicated

	* clutter/clutter-private.h:
	* clutter/clutter-main.c:
	(_clutter_context_create_pango_context): Abstract the creation
	of the PangoContext inside its own function, to avoid code and
	bugs duplication. (Tommi Komulainen)

	* clutter/clutter-entry.c (clutter_entry_init): Use the newly
	added PangoContext creation function.

	* clutter/clutter-label.c (clutter_label_init): Ditto as above.
2008-06-13 09:10:39 +00:00
Emmanuele Bassi
d1006ca506 2008-06-12 Emmanuele Bassi <ebassi@openedhand.com>
Bug #964 - "unrealized" signal of ClutterActor wrongly named

	* clutter/clutter-actor.c (clutter_actor_class_init): Fix typo
	in the ::unrealize signal name. (Armin Burgmeier)
2008-06-12 17:24:07 +00:00
Emmanuele Bassi
a4c4e3464d 2008-06-12 Emmanuele Bassi <ebassi@openedhand.com>
* doc/reference/cogl/Makefile.am: Ignore cogl/gl and cogl/gles
	when building the documentation.

	* clutter/cogl/cogl.h.in: Add sections in the header file.
2008-06-12 17:21:16 +00:00
Emmanuele Bassi
13df7d579d 2008-06-12 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Add more clarifications on the
	size and position accessors and the distinction between
	transformed and untransformed actor box inside the actor's
	description.
2008-06-12 16:34:50 +00:00
Emmanuele Bassi
da8eea1842 2008-06-12 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Clarify the documentation of the
	accessors of the width and height.
2008-06-12 16:20:08 +00:00
Neil Roberts
e4304e2d0a * clutter/win32/clutter-stage-win32.c: Updated to the new layout
API. All code to do with positioning the stage has been removed so
	the window is left where Windows wants to put it and it can not be
	moved with clutter_actor_set_position.

	* clutter/win32/clutter-stage-win32.h (ClutterStageWin32): Remove
	win_xpos and win_ypos.

	* clutter/win32/clutter-event-win32.c (message_translate): Remove
	the handler for WM_MOVE because the stage no longer cares where it
	is positioned.
2008-06-12 12:12:25 +00:00
Emmanuele Bassi
8ff6cec829 2008-06-12 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.[ch]: Documentation fixes.

	* clutter/clutter-backend.c: Documentation fixes.

	* clutter/clutter-container.h: Documentation fixes.

	* clutter/clutter-fixed.c (clutter_qdivx): Fix the return
	value to be after the description.

	* clutter/clutter-texture.[ch]: Documentation fixes.

	* clutter/clutter-timeline.c: Documentation fixes.
2008-06-12 11:43:25 +00:00
Emmanuele Bassi
00a1e0c3ee 2008-06-11 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/eglnative/clutter-stage-egl.c: Remove a duplicate
	get_preferred_width() implementation. (thanks to Iain Holmes)
2008-06-11 17:32:22 +00:00
Neil Roberts
3d1d677902 * clutter/clutter-actor.c (clutter_actor_allocate): Fixed the
logic when detecting whether the actor has moved.
2008-06-11 17:12:29 +00:00
Iain Holmes
04df29dbd4 2008-06-11 Iain Holmes <iain@openedhand.com>
* configure.ac: Detect the GL headers in flavour=fruity

        * clutter/fruity/clutter-stage-fruity.c: Update the Fruity 
backend to 
        use the new size negotiation API.
2008-06-11 16:29:20 +00:00
Emmanuele Bassi
583ea401c3 2008-06-11 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-label.c (clutter_label_allocate): Keep the
	layout if the size of the allocation is the same as the last
	allocation received by the label.
2008-06-11 16:12:52 +00:00
Emmanuele Bassi
c859a2f7fd 2008-06-11 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Notify :x, :y, :width and :height
	properties using ClutterUnits, not pixels.
2008-06-11 15:08:03 +00:00
Emmanuele Bassi
d642636fd1 2008-06-11 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/eglnative/clutter-stage-egl.c: Update the EGL native
	backend to use the new size negotiation API.
2008-06-11 10:19:02 +00:00
Emmanuele Bassi
bae4bd0796 2008-06-11 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/sdl/clutter-stage-sdl.c: Update the SDL backend to
	use the new size negotiation API.
2008-06-11 10:12:44 +00:00
Emmanuele Bassi
df86cb1ae3 2008-06-11 Emmanuele Bassi <ebassi@openedhand.com>
Bug #961 - Fails to build on OSX

	* clutter/osx/clutter-stage-osx.c: Update the OSX backend to
	use the new size negotiation API.
2008-06-11 09:45:22 +00:00
Neil Roberts
1aa77985f4 * clutter/clutter-main.c: Include <locale.h> for setlocale() 2008-06-10 21:25:23 +00:00
Emmanuele Bassi
4a788a6df7 2008-06-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-child-meta.c: Fix section name

	* clutter/clutter-container.c:
	(clutter_container_child_set_property),
	(clutter_container_child_get_property): Fix gtk-doc parameter
	name.

	* clutter/clutter-container.h: Fix documentation of the
	interface vfuncs.

	* clutter/clutter-event.h: Fix documentation.

	* clutter/clutter-feature.h: Fix documentation.

	* clutter/clutter-types.h: Add ClutterRequestMode.

	* clutter/x11/clutter-event-x11.c: Fix documentation.

	* tests/test-fullscreen.c: Verify that the stage size has been
	changed by clutter_stage_fullscreen().
2008-06-10 17:11:14 +00:00
Emmanuele Bassi
473d0e9fc3 2008-06-10 Emmanuele Bassi <ebassi@openedhand.com>
Bug #815 - Split up request, allocation, and paint box

	* clutter/clutter-actor.[ch]: Rework the size allocation,
	request and paint area. Now ::request_coords() is called
	::allocate(), and ::query_coords() has been split into
	::get_preferred_width() and ::get_preferred_height(). See
	the documentation and the layout test on how to implement
	a container and layout manager with the new API. (#915,
	based on a patch by Havoc Pennington, Lucas Rocha and Johan
	Bilien)

	* clutter/clutter-clone-texture.c: Port CloneTexture to
	the new size negotiation API; it just means forwarding
	the requests to the parent texture.

	* clutter/clutter-deprecated.h: Add deprecated and replaced
	API.

	* clutter/clutter-entry.c: Port Entry to the new size
	negotiation API.

	* clutter/clutter-group.c: Port Group to the new size
	negotiation API; the semantics of the Group actor do not
	change.

	* clutter/clutter-label.c: Port Label to the new size
	negotiation API, and vastly simplify the code.

	* clutter/clutter-main.[ch]: Add API for executing a
	relayout when needed.

	* clutter/clutter-private.h: Add new Stage private API.

	* clutter/clutter-rectangle.c: Update the get_abs_opacity()
	call to get_paint_opacity().

	* clutter/clutter-stage.c:
	(clutter_stage_get_preferred_width),
	(clutter_stage_get_preferred_height),
	(clutter_stage_allocate),
	(clutter_stage_class_init): Port Stage to the new size
	negotiation API.

	* clutter/clutter-texture.c: Port Texture to the new size
	negotiation API.

	* clutter/clutter-types.h: Add ClutterRequestMode enumeration.

	* clutter/x11/clutter-stage-x11.c: Port the X11 stage
	implementation to the new size negotiation API.

	* tests/Makefile.am: Add the layout manager test case.

	* tests/test-opacity.c: Update.

	* tests/test-project.c: Update.

	* tests/test-layout.c: Test case for a layout manager implemented
	using the new size negotiation API; the layout manager handles
	both transformed and untransformed children.
2008-06-10 17:07:52 +00:00
Emmanuele Bassi
8f013e1b22 Update svn:ignore property 2008-06-10 16:49:39 +00:00
Emmanuele Bassi
a930370b81 2008-06-10 Emmanuele Bassi <ebassi@openedhand.com>
* autogen.sh: Check for, and run glib-gettextize.

	* configure.ac: Set up the localization support.

	* clutter/clutter-main.c: Do not define the GETTEXT_PACKAGE,
	but use the one from the configure script.

	* po/POTFILES.in: Template for the translatable files.
2008-06-10 16:47:38 +00:00
Chris Lord
878b353568 * clutter/clutter-main.c: (pre_parse_hook):
Call setlocale on init
        
        * clutter/x11/clutter-event-x11.c: (translate_key_event):
        Fix typo and use the same buffer size as xev
2008-06-10 14:01:43 +00:00
Øyvind Kolås
8fcfd8ff21 * clutter/clutter-texture.c: improved documentation for
clutter_texture_set_filter_quality.
2008-06-10 11:18:19 +00:00
Chris Lord
67fbfebd6d Bug #916 - ClutterKeyEvent:unicode_value is ignored
Bug #950 - AltGr not handled 

        * clutter/osx/clutter-event-osx.c: (clutter_event_osx_translate):
        * clutter/x11/clutter-event-x11.c: (translate_key_event):
        * tests/test-events.c: (fill_keybuf), (input_cb):
        Apply patch from Tommi Komulainen, fill the unicode_value attribute of
        the ClutterKeyEvent struct. Also use XKeycodeToKeysym, as suggested in
        bug #950, comment #2
2008-06-10 10:57:50 +00:00
Matthew Allum
5d9e1bbbb0 2008-06-10 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c:
        Minor reformatting cleanups. Emit filter-quality prop on change.
        * clutter/glx/clutter-glx-texture-pixmap.c:
        Support mipmaps via filter quality prop.
2008-06-10 10:49:21 +00:00
Chris Lord
db518c8736 * clutter/cogl/common/cogl-primitives.c: (_cogl_path_arc):
Draw as expected when end angle is lower than start angle (i.e. do not
        swap the angles). This aligns with cairo behaviour.
2008-06-10 10:05:12 +00:00