Commit Graph

1242 Commits

Author SHA1 Message Date
Matthew Allum
77a7eaeed5 2008-04-14 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gles/cogl.c: (cogl_color):
        Disable use of color4ub, issues with latest MBX SDL (#857)

        * clutter/eglx/clutter-backend-egl.c:
        * clutter/eglx/clutter-stage-egl.c:
        * configure.ac:
        Fixup for the eglx backend to work with new backend/multistage code.
        Some issues remain in destroying stages.
2008-04-14 15:10:22 +00:00
Neil Roberts
f7b53e6004 Bug #853
* clutter/clutter-timeline.c (clutter_timeline_get_progressx): Fix
	arithmetic for calculating the reverse progress when the timeline
	is backward. (Should subtract from one instead of taking the
	reciprocal).
2008-04-14 11:07:34 +00:00
Neil Roberts
0b8a500fca Upgraded the Win32 backend to work with the multi-stage
subclassing code.

	* clutter/win32/clutter-stage-win32.h: 
	* clutter/win32/clutter-stage-win32.c: Now inherits from
	ClutterGroup and implements ClutterStageWindow instead of
	inheriting directly from ClutterStage.

	* clutter/win32/clutter-event-win32.c (message_translate): Now
	takes an extra parameter to return whether DefWindowProc should be
	called. This is needed to prevent the default WM_CLOSE handler
	from destroying the window.

	* clutter/win32/clutter-backend-win32.c
	(clutter_backend_win32_dispose): Destroy all of the stages using
	g_slist_foreach as per bug #871. Now also destroys the GL context.
	(clutter_backend_win32_get_features): Added assertions to ensure
	there is a valid GL context.
	(clutter_backend_win32_ensure_context): Accepts NULL stage. Gets
	implementation pointer from the stage.
2008-04-13 08:43:32 +00:00
Emmanuele Bassi
bf48bd1f55 2008-04-11 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-container.c:
	(clutter_container_get_type): Relax the precondition on the
	implementations of ClutterContainer from ClutterActor to
	GObject.
2008-04-11 15:40:08 +00:00
Emmanuele Bassi
8867c1bae5 2008-04-11 Emmanuele Bassi <ebassi@openedhand.com>
* README: Add a note about the Shader API changes.

	* clutter/clutter-deprecated.h: Add deprecation symbols.

	* clutter/clutter-shader.[ch]: Rename the :bound read-only
	property to :compiled. Also rename clutter_shader_bind()
	and clutter_shader_is_bound() to clutter_shader_compil() and
	clutter_shader_is_compiled(), respectively.

	* clutter/glx/clutter-stage-glx.c:
	(clutter_stage_glx_unrealize): Update after
	clutter_shader_release_all() rename.

	* tests/test-shader.c (button_release_cb), (main): Update.
2008-04-11 12:00:50 +00:00
Emmanuele Bassi
0535283b77 2008-04-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/eglx/clutter-backend-egl.c:
	(clutter_backend_egl_ensure_context): Sync up with the GLX
	backend.

	(clutter_backend_egl_create_stage): Dumb compilation fix.

	* clutter/glx/clutter-backend-glx.c:
	(clutter_backend_glx_create_stage): Unref the stage if we are
	erroring out.
2008-04-10 19:58:47 +00:00
Emmanuele Bassi
c97bcb37ba 2008-04-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/eglx/clutter-stage-egl.c:
	(clutter_stage_egl_realize): Sync up with the GLX backend.
2008-04-10 19:54:08 +00:00
Emmanuele Bassi
497734062c 2008-04-09 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/Makefile.am: Update the regular expression to match
	all the namespaces we actually use. Thanks to Neil Roberts for
	spotting this. A make distclean is needed.

	* clutter/cogl/gl/Makefile.am:
	* clutter/cogl/gles/Makefile.am:
	* clutter/json/Makefile.am:
	* clutter/pango/Makefile.am: Revert previous commit.
2008-04-09 14:18:42 +00:00
Emmanuele Bassi
05b2e6bc1c 2008-04-09 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/cogl/Makefile.am:
	* clutter/cogl/gl/Makefile.am:
	* clutter/cogl/gles/Makefile.am:
	* clutter/json/Makefile.am:
	* clutter/pango/Makefile.am: Fix the visibility of all the
	symbols, for the main library and the statically linked ones.
2008-04-09 13:27:00 +00:00
Emmanuele Bassi
cf4ba6c512 2008-04-09 Emmanuele Bassi <ebassi@openedhand.com>
* autogen.sh: Clean up a bit

	* clutter/clutter-fixed.[ch]:
	(clutter_double_to_fixed),
	(clutter_double_to_int),
	(clutter_double_to_uint): Make these functions public, as they
	are expanded by their respective macros. This fixes the errors
	from the linker trying to resolve their name.
2008-04-09 10:51:15 +00:00
Neil Roberts
b4ab8b63a1 Applied patch from bug #871
* clutter/x11/clutter-backend-x11.c (clutter_backend_x11_dispose):
	Call g_slist_foreach instead of iterating over the stage_manager
	list manually when deleting stages. Otherwise the 'next' pointer
	of the list node can get corrupted when the actor removes itself
	from the list.

	* clutter/clutter-stage.c (clutter_stage_dispose): Call
	clutter_actor_unrealize in the dispose handler. This fixes
	problems where the dispose handler for the ClutterStageWrapper
	can't deselect the GL context until the stage is unrealized.
2008-04-09 09:33:32 +00:00
Emmanuele Bassi
7fd5d5d10d 2008-04-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-backend.c: Add more debug messages

	* clutter/clutter-stage.h:
	* clutter/clutter-stage.c:
	(clutter_stage_is_default): Add a function to check if the
	stage is the default one.

	* clutter/glx/clutter-backend-glx.c:
	* clutter/glx/clutter-stage-glx.c:
	* clutter/x11/clutter-stage-x11.c: Keep the stage wrapper
	and implementation flags in sync, to ensure that the GL
	context is always set.
2008-04-04 17:26:26 +00:00
Neil Roberts
0d622b780a 2008-04-04 Neil Roberts <neil@o-hand.com>
* README: Fixed typo
2008-04-04 17:05:34 +00:00
Matthew Allum
8dac049d2e 2008-04-04 Matthew Allum <mallum@openedhand.com>
* README:
        Add a note on new show-on-set-parent prop and stage subclassing.
2008-04-04 16:26:45 +00:00
Emmanuele Bassi
f859135082 2008-04-04 Emmanuele Bassi <ebassi@openedhand.com>
Bug #864 - Allow instantiating and subclassing of ClutterStage

	* clutter/Makefile.am: Add clutter-stage-window.[ch]

	* clutter/clutter-stage-manager.c:
	(_clutter_stage_manager_remove_stage): Do not warn if removing
	a stage we don't manage, as we might be invoked multiple times
	during a ClutterState dispose sequence.

	* clutter/clutter-actor.c:
	* clutter/clutter-backend.[ch]:
	* clutter/clutter-main.c:
	* clutter/clutter-private.h:
	* clutter/clutter-stage.[ch]: Make ClutterStage a proxy actor,
	with a private actor implementing the ClutterStageWindow
	interface for handling the per-backend realization, painting
	and unrealization, plus all the windowing system abstraction.

	* clutter/x11/clutter-event-x11.c:
	* clutter/x11/clutter-stage-x11.[ch]: Port the X11 backend
	to the new backend and stage API and semantics.

	* clutter/glx/clutter-backend-glx.c:
	* clutter/glx/clutter-stage-glx.c: Port the GLX backend to
	the new backend and stage API and semantics.

	* clutter/eglx/clutter-backend-egl.[ch]:
	* clutter/eglx/clutter-stage-egl.[ch]: Port the EGLX backend
	to the new backend and stage API and semantics (untested).

	* tests/test-multistage.c (on_button_press): Rename
	clutter_stage_create_new() to clutter_stage_new().
2008-04-04 15:02:11 +00:00
Matthew Allum
560151c769 Fix ChangeLog - oops 2008-04-04 14:22:14 +00:00
Neil Roberts
f126822b5c 2008-04-04 Neil Roberts <neil@o-hand.com>
Applied patch from bug #810.

	* clutter/x11/clutter-event-x11.c (event_translate): Set a flag
	when resizing the stage from a ConfigureNotify event.

	* clutter/x11/clutter-stage-x11.c
	(clutter_stage_x11_request_coords): Don't try to resize the window
	again if the flag is set.
	(clutter_stage_x11_init): Added initialiser for the flag.

	* clutter/x11/clutter-stage-x11.h (struct _ClutterStageX11): Added
	the flag.
2008-04-04 13:46:50 +00:00
Matthew Allum
e44ac14ef7 2008-04-04 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        Remove uneeded stage private member.
        Add show-on-set-parent prop and make so by default Actors are
        now automatically shown when reparented (#791)

        * clutter/eglx/clutter-backend-egl.c:
        * clutter/cogl/gles/cogl.c:
        A couple of minor comments.

        * clutter/eglnative/Makefile.am:
        Add missing clutter-egl.h header (back port from trunk)

        * tests/test-actors.c:
        Modify to take advantage of new show-on-set-parent functionality.
2008-04-04 13:20:02 +00:00
Emmanuele Bassi
509d2ad395 2008-04-03 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/Makefile.am: Only export symbols matching "^clutter.*",
	to avoid exposing the library-private symbols starting with
	an underscore.
2008-04-03 03:26:00 +00:00
Emmanuele Bassi
653afecc11 2008-04-03 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-alpha.c: ClutterAlpha is an InitiallyUnowned
	subclass. This should fix a lot of leakage. (#860, Neil Roberts)
2008-04-03 03:09:28 +00:00
Emmanuele Bassi
6fa02d3aa0 2008-04-03 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/glx/clutter-backend-glx.c:
	(clutter_backend_glx_get_features): Assert if we don't have a
	GL context here or if it's not matched to a drawable. Asserting
	might seem too drastic, but if we don't have a valid GL context
	here then Clutter will segfault anyway, and I'll take an assert()
	over a hard to read, deep in GLX guts backtrace any day (and
	twice on a monday).

	* clutter/x11/clutter-backend-x11.c:
	(clutter_backend_x11_get_features): No need for a variable here.
2008-04-03 03:04:41 +00:00
Matthew Allum
c158a93a84 2008-04-01 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-backend.c:
        * clutter/glx/clutter-backend-glx.c:
        * clutter/glx/clutter-stage-glx.c:
        Allow NULL to be passed to _clutter_backend_ensure_context
        which essentially clears GL context. This is hooked into stage
        unrealisation.  Isn't yet quite bulletproof.
        Fixes issues with gtk-embed crasher (thanks to Neil).
2008-04-01 14:04:46 +00:00
Robert Bragg
d04fd6d620 2008-04-1 Robert Bragg <bob@o-hand.com>
* clutter/glx/clutter-glx-texture-pixmap.c:
	In clutter_glx_texture_pixmap_dispose; trap X errors around
	glXDestroyGLXPixmap so we can't die due to BadDrawable errors.
2008-04-01 13:36:19 +00:00
Matthew Allum
244eedb5bd 2008-03-31 Matthew Allum <mallum@openedhand.com>
* README:
        Add notes on new multistage feature.

        * clutter/clutter-stage-manager.c:
        Dont ref contained stages.

        * clutter/clutter-stage.c:
        Automatically remove stage from stage manager on finalisation.
        Cleans up warnings when a stage is destroyed.

        * clutter/clutter-backend.h:
        * clutter/glx/clutter-backend-glx.c:
        Minor formatting cleanups.

        * clutter/glx/clutter-stage-glx.c:
        * configure.ac:
        * clutter/clutter-version.h.in:
        Add a general CLUTTER_STAGE_TYPE define, should be useful for
        evntual stage subclassing and creating with g_object_new()
2008-03-31 17:15:02 +00:00
Neil Roberts
e88c8b4ce1 2008-03-30 Neil Roberts <neil@o-hand.com>
* clutter/win32/clutter-backend-win32.c
	(clutter_backend_win32_init): Added a call to
	timeBeginPeriod. Without this the frame rates are terrible because
	the glib timeouts are not accurate enough. However this requires
	Glib >= 2.16.0 to take any effect because of a change in the way
	g_poll is implemented. See revision 6597 of glib.
	(clutter_backend_win32_finalize): Added a call to timeEndPeriod.

	* configure.ac: Added -lwinmm to the library dependencies for the
	Win32 backend.
2008-03-30 22:27:27 +00:00
Neil Roberts
1a263dca5c 2008-03-30 Neil Roberts <neil@o-hand.com>
* clutter/win32/clutter-win32.h: 
	* clutter/win32/clutter-stage-win32.h: 
	* clutter/win32/clutter-stage-win32.c: 
	* clutter/win32/clutter-event-win32.c: 
	* clutter/win32/clutter-backend-win32.h: 
	* clutter/win32/clutter-backend-win32.c:
	Upgraded for multi-stage support.

	* clutter/win32/clutter-stage-win32.c
	(clutter_stage_win32_request_coords): Fixed so that it doesn't set
	the position or size if it hasn't changed. This was causing
	problems when the window was resized using the top left corner. In
	that case the window receives resize and move messages separately
	which caused the window to flash at a different size or position
	while one message was handled before the other.
	(clutter_stage_win32_realize): Added PFD_GENERIC_ACCELERATED to
	the list of pixel format flags to force it to use hardware
	acceleration.

2008-03-30  Neil Roberts  <neil@o-hand.com>

	* clutter-sections.txt: Added clutter_win32_get_stage_from_window
2008-03-30 16:51:01 +00:00
Matthew Allum
8847bcd195 2008-03-28 Matthew Allum <mallum@openedhand.com>
* clutter/Makefile.am:
        * clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        * clutter/clutter-backend.c:
        * clutter/clutter-backend.h:
        * clutter/clutter-debug.h:
        * clutter/clutter-event.c:
        * clutter/clutter-event.h:
        * clutter/clutter-feature.h:
        * clutter/clutter-group.h:
        * clutter/clutter-main.c:
        * clutter/clutter-main.h:
        * clutter/clutter-private.h:
        * clutter/clutter-stage.c:
        * clutter/clutter-stage.h:
        * clutter/clutter-stage-manager.c
        * clutter/clutter-stage-manager.h
        * clutter/clutter-types.h:
        * clutter/glx/clutter-backend-glx.c:
        * clutter/glx/clutter-backend-glx.h:
        * clutter/glx/clutter-stage-glx.c:
        * clutter/glx/clutter-stage-glx.h:
        * clutter/x11/clutter-backend-x11.c:
        * clutter/x11/clutter-backend-x11.h:
        * clutter/x11/clutter-event-x11.c:
        * clutter/x11/clutter-stage-x11.c:
        * clutter/x11/clutter-x11.h:
        * tests/Makefile.am:
        * tests/test-multistage.c:
        Initial commit of multi stage support (mostly a merge from the
        clutter-multistage branch).
        Note, this commit will break all backends except glx.
2008-03-28 22:50:55 +00:00
Neil Roberts
dd7ff3e829 2008-03-26 Neil Roberts <neil@o-hand.com>
* clutter/win32/clutter-win32.h: Added gtk-doc documentation for
	the Win32 backend section.

	* clutter/win32/clutter-stage-win32.c
	(clutter_win32_get_stage_window): Fixed punctuation in the
	documentation.

	* README: Added notes about the Win32 backend.

2008-03-26  Neil Roberts  <neil@o-hand.com>

	* clutter-sections.txt: Added a section for the Win32 specific
	API.

	* clutter-docs.sgml: Added comments about the Win32 backend.

	* Makefile.am: Added bits to ignore the headers for the Win32
	backend.
2008-03-26 22:22:32 +00:00
Neil Roberts
9b52136be4 2008-03-26 Neil Roberts <neil@o-hand.com>
* clutter/win32/clutter-event-win32.c (clutter_event_check):
	Removed the pointless parameter in the call to check_msg_pending.
	(check_msg_pending): Fixed to use PeekMessageW instead of
	PeekMessage.
2008-03-26 10:58:12 +00:00
Neil Roberts
051ed6b43b 2008-03-25 Neil Roberts <neil@o-hand.com>
Added a native Win32 WGL backend.

	* configure.ac: Added the 'win32' flavour.

	* clutter/cogl/gl/cogl.c (cogl_get_proc_address): Added an ifdef
	to use wglGetProcAddress with the Win32 backend.

	* clutter/Makefile.am (DIST_SUBDIRS): Added the win32 directory.

	* clutter/win32/clutter-win32.pc.in:
	* clutter/win32/clutter-win32.h: 
	* clutter/win32/clutter-stage-win32.h: 
	* clutter/win32/clutter-stage-win32.c: 
	* clutter/win32/clutter-event-win32.c: 
	* clutter/win32/clutter-backend-win32.h: 
	* clutter/win32/Makefile.am:
	* clutter/win32/clutter-backend-win32.c: New files.
2008-03-25 15:42:50 +00:00
Emmanuele Bassi
7c05499865 2008-03-19 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model.[ch]: Add a ::copy() virtual function
	for copying iterators.

	* clutter/clutter-list-model.c:
	(clutter_list_model_iter_copy),
	(clutter_list_model_iter_class_init): Implement the ::copy()
	function inside the ListModel iterator subclass.
2008-03-19 18:33:33 +00:00
Emmanuele Bassi
8efb98edae 2008-03-19 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-group.c:
	* clutter/clutter-texture.c: Use CLUTTER_ACTOR_IS_VISIBLE()
	and not CLUTTER_ACTOR_IS_MAPPED().
2008-03-19 15:05:16 +00:00
Emmanuele Bassi
d622eb1682 Add ClutterScore API enhancements bug reference 2008-03-19 12:24:19 +00:00
Emmanuele Bassi
57f9439031 2008-03-19 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-score.[ch]: Small clean ups and refactoring.
	Use gulong instead of guint, so we have a bigger id space for
	the timelines inside a Score.
2008-03-19 11:46:57 +00:00
Chris Lord
b961d5484c * clutter/clutter-actor.c:
(_clutter_actor_apply_modelview_transform), (clutter_actor_paint):
        Apply clip inside paint function instead of transform function
2008-03-19 11:38:53 +00:00
Emmanuele Bassi
c1e45f7ee7 2008-03-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-score.c: Update documentation.
2008-03-18 22:10:05 +00:00
Emmanuele Bassi
477db755b7 2008-03-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-score.[ch]: Remove all the API changes, and
	just add a clutter_score_append_at_marker(); the implementation
	remains the same, but the marker must be explicitly created by
	the developer. The ids are no longer used to create implicit
	markers, so they can return to be unsigned integers.

	* clutter/clutter-timeline.[ch]:
	(clutter_timeline_has_marker): Add a function to query a timeline
	for a marker being set.

	* tests/test-score.c (main): Update with the API changes.

	* clutter.symbols: Update exported symbols.
2008-03-18 22:07:17 +00:00
Emmanuele Bassi
0ca514a35f 2008-03-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-texture.c: Small clean ups in the coding style.
2008-03-18 17:56:50 +00:00
Emmanuele Bassi
b6b9dd7c65 2008-03-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.symbols: Add new symbols

	* clutter/clutter-score.[ch]: Use the newly added marker API
	on the timelines to implement attaching timelines at specific
	points, using either milliseconds or frames.

	* tests/test-score.c (main): Test the new API.
2008-03-18 17:54:40 +00:00
Emmanuele Bassi
be97c496b6 2008-03-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-marshal.list: Add signature for the
	::marker-reached signal marshaller.

	* clutter/clutter-timeline.[ch]: Add timeline marker API;
	using markers it is possible to add a unique identifier to
	a particular frame of the timeline, and receive a signal
	notification when reaching that particular marker while
	playing the timeline. (#641)

	* tests/test-timeline.c: Update the test case to check for
	the marker-reached signal emission.

	* clutter.symbols: Add new symbols.
2008-03-18 17:50:45 +00:00
Øyvind Kolås
aa1e89cc92 * tests/test-shader.c: improved readability of fragment shader
examples by factoring out common bits into FRAGMENT_SHADER_BEGIN and
FRAGMENT_SHADER_END macros.
2008-03-10 23:07:22 +00:00
Matthew Allum
74c8271db6 2008-03-09 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-id-pool.c: (clutter_id_pool_free):
        Use g_slice_free not g_free.
        * clutter/clutter-main.c: (_clutter_do_pick):
        Dont 'over read' the framebuffer when picking (#839, Neil Roberts)
2008-03-09 19:07:17 +00:00
Øyvind Kolås
cdf8bb0739 Refactored the integer id->ClutterActor mapping code to be a self
contained data structure.
* clutter/clutter-id-pool.[ch]: new files.
* clutter/Makefile.am: added clutter-id-pool.[ch]
* clutter/clutter-private.h: use a ClutterIDPool instead of GArray and
GSList to keep track of the reusable ids.
* clutter/clutter-actor.c: moved id pool logic away.
* clutter/clutter-main.c: simplified id pool creation/finalization.
2008-03-07 17:34:40 +00:00
Robert Bragg
d628513f9d 2008-03-07 Robert Bragg <bob@o-hand.com>
* clutter/clutter-timeline.c:
	Timeline changes to fix the issues identified in bugzilla #439
	
	Notably, this includes some tweaks to timeline semantics. So e.g. for a   
	10 frame timeline here are some points about the new timeline code:
	- When you create a timeline it starts with current_frame_num == 0
	- After starting a timeline, the first timeout is for
	  current_frame_num == 1 (Notably it isn't 0 since there is a delay
	  before the first timeout signals so re-asserting the starting point
	  would give a longer than average first frame.)
	- For a non looping timeline the last timeout would be for
	  current_frame_num == 10
	- For a looping timeline the timeout for current_frame_num == 10 would      
	  be followed by a timeout for current_frame_num == 1 and frame 0 is
	  considered == frame 10.
	- Asking for a timeline of N frames might better be described as asking    
	  for a timeline of _length_ N.

	Warning: Although I tried to test things, I guess it's quite likely that
	this breaks somthing depending on a specific quirk of the previous
	timeline code.
2008-03-07 01:00:00 +00:00
Emmanuele Bassi
abc29d4407 2008-03-06 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	(clutter_actor_set_anchor_point_from_gravity): Fix a stupid
	conversion from pixels to units that should I not have made.
2008-03-06 18:12:40 +00:00
Emmanuele Bassi
3db6c88c82 2008-03-06 Emmanuele Bassi <ebassi@openedhand.com>
* README: Update the release notes.
2008-03-06 14:12:30 +00:00
Emmanuele Bassi
0563b9cfaf 2008-02-28 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
Signed off by: Emmanuele Bassi <ebassi@openedhand.com>

	* clutter/clutter-group.c (clutter_group_real_lower): Fix to
	actually lower the actor under the 'above' actor. (#822)
2008-03-06 13:39:56 +00:00
Emmanuele Bassi
daea8af85e 2008-03-06 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-entry.h:
	* clutter/clutter-entry.c:
	(clutter_entry_handle_key_event_internal),
	(clutter_entry_key_press), (clutter_entry_class_init),
	(clutter_entry_handle_key_event): Handle a default class handler
	for the key-press-event, so that giving key focus to an entry will
	automatically make it work. This deprecates the
	clutter_entry_handle_key_event() function. (#824)

	* tests/test-entry.c (main): Remove the handle_key_event()
	machinery, and just give focus to the entry.
2008-03-06 12:39:24 +00:00
Chris Lord
781661e9c3 * clutter/clutter-model.c: (clutter_model_set_sorting_column):
Don't disable sorting on column 0
2008-03-06 11:44:37 +00:00
Emmanuele Bassi
7fc0bd0dd5 2008-03-06 Emmanuele Bassi <ebassi@openedhand.com>
Add support for the anchor point inside ClutterScript (#834,
	David Stanczak)

	* clutter/clutter-actor.c:
	(clutter_actor_set_property),
	(clutter_actor_get_property),
	(clutter_actor_class_init): Add the :anchor-x and :anchor-y
	properties to the ClutterActor class.

	(clutter_actor_set_anchor_point),
	(clutter_actor_set_anchor_pointu),
	(clutter_actor_set_anchor_point_from_gravity): Reimplement
	the pixel based and gravity based API using the units based
	one. Emit the ::notify signal for the :anchor-x and :anchor-y
	properties.
	
	(parse_units),
	(clutter_actor_parse_custom_node): Parse the :anchor-x and
	:anchor-y properties using the custom units format (mm, px,
	pt and %).

	* tests/test-script.json: Test the newly added properties.
2008-03-06 04:37:00 +00:00
Emmanuele Bassi
5a4f655998 2008-03-05 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Add "osx" the the AC_HELP_STRING of the flavour
	selection. (#831, Peter Enzerink)
2008-03-05 09:20:00 +00:00
Emmanuele Bassi
57a954b1eb 2008-03-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.c (clutter_do_event): Do not throttle the
	motion events if the per-actor delivery has been disabled.
2008-03-04 16:23:13 +00:00
Øyvind Kolås
9a6dfbdbaa * clutter/pango/pangoclutter-render.c: (draw_glyph): use g_slice_new0
instead of g_slice_new when allocating the glyph_info, avoiding a
branch based on uninitialized memory.
2008-03-04 11:16:05 +00:00
Emmanuele Bassi
0447eea588 2008-03-03 Emmanuele Bassi <ebassi@openedhand.com>
* Makefile.am: Do not recurse into doc if we did not explicitly
	enabled the documentation build; we just recurse into doc if we
	are doing a dist or a distcheck.
2008-03-03 18:04:16 +00:00
Øyvind Kolås
bb6f3c6a4f Reuse the numeric id's used for picking actors to avoid the potential
of overflowing the id numbers when continusly creating and destroying
actors on long running applications for 16bpp.
* clutter/clutter-private.h: replaced hashtable with GArray and a
GSList for available slots in the array.
* clutter/clutter-actor.c: (create_actor_id): function to create an
actor->id mapping, (release_actor_id): function to mark an existing id
as available for reuse.
* clutter/clutter-main.c: (clutter_context_free): added utility
function for cleaning up the context, 
(clutter_get_actor_by_gid): use the GArray for looking up actors.
2008-02-29 14:54:28 +00:00
Emmanuele Bassi
1bef7d3a1a 2008-02-26 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-alpha.c:
	(clutter_exp_inc_func),	(clutter_exp_dec_func): Clamp the value
	of the alpha function between [0, MAX_ALPHA]. (#800)
2008-02-26 13:57:53 +00:00
Emmanuele Bassi
b5bcee6c6c 2008-02-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.c (emit_event): Fix the last commit
	which inverted a condition.
2008-02-25 16:50:50 +00:00
Emmanuele Bassi
bcd9a6dcec 2008-02-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Remove the usage of g_return_if_fail()
	from static functions: either assert or use g_warning() to check
	internal state, as g_return_if_fail() can be compiled out.

	* clutter/clutter-main.c: Ditto as above.
2008-02-25 12:24:56 +00:00
Tomas Frydrych
db5b80465a 2008-02-25 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-texture.c:
	(texture_update_data):
	Set alignment based on actual data rowstride, not the texture
	width.
2008-02-25 11:34:51 +00:00
Tomas Frydrych
a9ff224ba1 2008-02-21 Tomas Frydrych <tf@openedhand.com>
* clutter/x11/clutter-backend-x11.h:
	* clutter/x11/clutter-event-x11.c:
	* clutter/x11/clutter-x11.h:
	(clutter_x11_handle_event):
	(clutter_x11_disable_event_retrieval):
	Functions to allow to hook into external XEvent retrieval (for
	example when using clutter with gtk); NB: this API is tentative.
2008-02-21 15:18:14 +00:00
Emmanuele Bassi
4dfe577fba 2008-02-21 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/x11/clutter-event-x11.c (event_translate): Ignore
	PropertyNotify events if they don't match our window.

	* clutter/x11/clutter-stage-x11.c:
	(clutter_stage_x11_request_coords): Chain up to the parent's
	request coords.
2008-02-21 12:45:48 +00:00
Emmanuele Bassi
cbf1b90895 2008-02-21 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/x11/clutter-event-x11.c (event_translate): Ignore
	ConfigureNotify events if we are painting on a foreign window.

	* clutter/x11/clutter-stage-x11.c:
	(clutter_stage_x11_request_coords): Reliquish control of the
	window size, if we are painting on a foreign window. This fixes
	the GtkClutterEmbed widget.
2008-02-21 12:17:01 +00:00
Emmanuele Bassi
6e9c4de9ad 2008-02-20 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-timeline.c (clutter_timeline_set_delay): Relax
	the condition to allow 0 msecs of delay (meaning: no delay).
2008-02-20 17:20:36 +00:00
Tomas Frydrych
1cec9a01f6 2008-02-20 Tomas Frydrych <tf@openedhand.com>
* clutter/Makefile.am:
	Added libclutter_ ... _la_DEPENDENCIES to fix dependency tracking.
2008-02-20 16:00:33 +00:00
Tomas Frydrych
9aba9710c1 2008-02-20 Tomas Frydrych <tf@openedhand.com>
* clutter/x11/clutter-x11.h:
	* clutter/x11/clutter-backend-x11.c:
	(clutter_x11_set_display):
	Function to set X display connection prior to calling
	clutter_init(); stripped loads of trailing space.
2008-02-20 14:16:54 +00:00
Tomas Frydrych
0864743fd1 2008-02-20 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-marshal.list:
	* clutter/glx/Makefile.am:
	* clutter/glx/clutter-backend-glx.c:
	* clutter/glx/clutter-backend-glx.h:
	* clutter/glx/clutter-glx.h:
	* clutter/x11/Makefile.am:
	ClutterX11TexturePixmap and ClutterGLXTexturePixmap actors (#713;
	patch by Johan Bilien).
2008-02-20 12:43:54 +00:00
Emmanuele Bassi
8c451b8a67 2008-02-20 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.h:
	* clutter/clutter-actor.c:
	(clutter_actor_get_abs_opacity): Add function that does what
	get_opacity() does now...

	(clutter_actor_get_opacity): ... and make get_opacity() do what
	it's supposed to be doing. The original get_opacity() returned
	a composited value, and there's no way to actually extract the
	real opacity value set with set_opacity().

	* clutter/clutter-clone-texture.c:
	* clutter/clutter-rectangle.c:
	* clutter/clutter-texture.c: Update to use get_abs_opacity().

	* clutter/clutter-entry.c:
	* clutter/clutter-label.c: Ditto. Also, never change the stored
	alpha value. (#804)

	* tests/Makefile.am:
	* tests/test-opacity.c: Test suite for the get_opacity() and
	get_abs_opacity() API, and correct opacity handling.

	* README: Add note about the change in get_opacity().
2008-02-20 10:59:47 +00:00
Chris Lord
015eba286f * clutter/clutter-model.c: (clutter_model_resort):
Don't return when there's no sort function set, leave that to the
        model sub-class
2008-02-19 12:31:50 +00:00
Emmanuele Bassi
6af626aabd 2008-02-18 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac:
	* README: Post stable release bump to 0.7.1
2008-02-18 17:42:00 +00:00
Emmanuele Bassi
c1071f3661 Release 0.6.0 2008-02-18 15:53:19 +00:00
Emmanuele Bassi
68f618ce0b 2008-02-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-list-model.c:
	(clutter_list_model_iter_set_value): Fix a typo in the conversion
	code.
2008-02-18 14:32:57 +00:00
Chris Lord
f677e33588 * README:
Fix spelling mistake and a typo
2008-02-18 12:39:24 +00:00
Emmanuele Bassi
117b00e0f9 2008-02-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	(clutter_actor_get_box_from_vertices): Avoid a masking warning
	caused by math.h utter braindamage.
2008-02-18 09:56:37 +00:00
Emmanuele Bassi
cbbab92b78 2008-02-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Document the fact that ancestor can
	be NULL in the relative transformation API, and what are the
	effects.
2008-02-18 09:43:01 +00:00
Matthew Allum
41fb7b6a30 2008-02-15 Matthew Allum <mallum@openedhand.com>
* clutter/pango/pangoclutter-render.c: (draw_glyph):
        More safety checks (#796, Tero Saarni)
2008-02-15 20:22:08 +00:00
Chris Lord
9b780c2716 * clutter/clutter-entry.c:
* clutter/clutter-group.c:
        * clutter/clutter-label.c:
        * clutter/clutter-rectangle.c:
        * clutter/clutter-texture.c:
        More documentation fixes
2008-02-15 17:11:50 +00:00
Chris Lord
ecd62417d2 * clutter/clutter-entry.c: (clutter_entry_class_init):
More documentation fixes
2008-02-15 16:40:26 +00:00
Chris Lord
2c4bdc7636 * clutter/clutter-label.c: (clutter_label_class_init):
More documentation fixes
2008-02-15 16:26:00 +00:00
Chris Lord
94f884f2ef * clutter/clutter-clone-texture.c:
* clutter/clutter-texture.c: (clutter_texture_class_init):
        More documentation fixes
2008-02-15 15:49:44 +00:00
Chris Lord
d722fb9220 * clutter/clutter-actor.c:
* clutter/clutter-container.c:
        * clutter/clutter-media.c:
        * clutter/clutter-rectangle.c:
        * clutter/clutter-stage.c: (clutter_stage_class_init):
        * clutter/clutter-stage.h:
        * clutter/clutter-texture.c:
        * doc/reference/clutter-docs.sgml:
        Fix more documentation
2008-02-15 15:18:02 +00:00
Emmanuele Bassi
66f244b1cc 2008-02-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.[ch]:
	* clutter/clutter-types.h:
	* doc/reference/clutter-docs.sgml: Fix a lot of documentation.

2008-02-15  Matthew Allum  <mallum@openedhand.com>
2008-02-15 14:39:25 +00:00
Matthew Allum
97b9cd92f0 2008-02-15 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gles/cogl.c: (cogl_paint_init):
        Remove depth test getting turned on by default (unlike GL backend)
2008-02-15 14:30:45 +00:00
Tomas Frydrych
fa7a114ce8 2008-02-15 Tomas Frydrych <tf@openedhand.com>
* configure.ac:
	* clutter/clutter-version.h.in:
	* build/msvc_2k5/clutter-version.h:
	Removed unused --without-fpu configure option and CLUTTER_NO_FPU
	macro
2008-02-15 13:04:33 +00:00
Tomas Frydrych
e87b45a00f 2008-02-15 Tomas Frydrych <tf@openedhand.com>
* build/mingw/README:
	* build/mingw/mingw-cross-compile.sh:
	Script that automates cross compilation with mingw by Neil Roberts
	<bpeeluk@yahoo.co.uk>
2008-02-15 11:49:33 +00:00
Emmanuele Bassi
d76f7e42ea 2008-02-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.[ch]: Rename
	clutter_actor_get_box_from_vertices() to
	clutter_actor_box_get_from_vertices().

	* clutter/clutter-group.c (clutter_group_query_coords): Fix the
	query_coords() implementation.
2008-02-15 10:46:38 +00:00
Tomas Frydrych
78341d2e28 2008-02-15 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.c:
	* clutter/clutter-actor.h:
	(clutter_group_query_coords):
	Added function to translate vertex array to a bounding box.

	(clutter_actor_is_scaled):
	(clutter_actor_is_rotated):
	Fixed documentation.
2008-02-15 09:40:41 +00:00
Tomas Frydrych
4d53cb1037 2008-02-15 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-group.c: (clutter_group_query_coords):
	Disabled new code taking into account actor scale and rotation.
2008-02-15 09:13:58 +00:00
Tomas Frydrych
ea9b7b6550 2008-02-14 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.c:
	* clutter/clutter-actor.h:
	(clutter_actor_is_scaled):
	(clutter_actor_is_rotated):
	Convenience functions to test whether actor is scaled or rotated.

	(clutter_actor_apply_relative_transform_to_point):
	Removed unused variable.

	* clutter/clutter-group.c:
	(clutter_group_query_coords):
	Use clutter_actor_get_relative_vertices() to calculate bounding
	boxes of children that are scaled or rotated.
2008-02-15 09:13:50 +00:00
Tomas Frydrych
02ae0fcd9e 2008-02-14 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.c:
	* clutter/clutter-actor.h:
	(clutter_actor_get_relative_vertices):
	(clutter_actor_apply_relative_transform_to_point):
	Functions to calculate actor vertices in the plane of a given
	ancestor.
2008-02-14 15:59:38 +00:00
Chris Lord
aa9e91e261 * clutter/clutter-texture.c: (texture_get_tile_pixbuf),
(clutter_texture_get_pixbuf):
        Fix copying textures to pixbufs for tiled textures and correct #ifndef
        typo

        * clutter/clutter-util.c:
        Amend documentation
2008-02-12 17:17:52 +00:00
Matthew Allum
9c625d187d 2008-02-12 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c: (texture_get_tile_pixbuf):
        ifdef out 'leaked' GL only API call.
2008-02-12 15:17:28 +00:00
Tomas Frydrych
14de7190d2 2008-02-12 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-texture.c (texture_update_data):
	Fixed incorrect calculation of offset into texture data (needs to
	use width of the texture, not of the updated area).
2008-02-12 13:41:44 +00:00
Tomas Frydrych
161163cf14 2008-02-12 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-texture.c (texture_update_data):
	Fixed incorrect aligment of texture data.
2008-02-12 13:12:31 +00:00
Tomas Frydrych
b40643b86e 2008-02-12 Tomas Frydrych <tf@openedhand.com>
* clutter/x11/clutter-event-x11.c (event_translate):
	Ignore events directed at the stage window once they have been
	passed to the filter functions.
2008-02-12 12:39:22 +00:00
Matthew Allum
3ef9e235ef 2008-02-11 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        Minor documentation tweak to class description.

        * clutter/clutter-behaviour-scale.c:
        'Force' start + end vals of scale behaviour
        (#779, Havoc Pennington)
2008-02-11 20:31:16 +00:00
Emmanuele Bassi
bab8b24aed 2008-02-11 Emmanuele Bassi <ebassi@openedhand.com>
* README:
	* NEWS: Release 0.5.6

	* configure.ac: Post release bump to 0.5.7.

	* clutter/clutter-behaviour-scale.c:
	* tests/test-fbo.c: Fix compilation warnings.
2008-02-11 16:29:31 +00:00
Tomas Frydrych
3c1792bc86 2008-02-11 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.c (clutter_actor_transform_stage_point):
	Moved part of the calculation to floating point to avoid overflow
	of ClutterFixed range for large actors (bug 613).
2008-02-11 10:56:57 +00:00
Matthew Allum
dbaa94ae14 oops 2008-02-10 13:05:51 +00:00
Emmanuele Bassi
d192f73b78 2008-02-08 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Add actor box diagram and notes.
2008-02-08 16:13:15 +00:00
Emmanuele Bassi
143be77205 2008-02-08 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-path.c: Move the nice graph and
	description from the Path behaviour...

	* clutter/clutter-behaviour.c: ... to the main Behaviour class.
2008-02-08 15:39:41 +00:00
Emmanuele Bassi
3c307796a3 2008-02-08 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-path.c: Add a paragraph describing
	the effects of different alpha functions on the path behaviour.
2008-02-08 14:34:58 +00:00
Emmanuele Bassi
9a05ab16e6 2008-02-08 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Reference the newly added event-flow.png

	* clutter/clutter-alpha.c: Ditto, with alpha-func.png

	* clutter/clutter-texture.c: Fix the XML.
2008-02-08 13:52:11 +00:00
Emmanuele Bassi
bcf968bc77 2008-02-08 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-path.c: Reference the newly
	added image showing the effects of different alpha functions
	on the same path behaviour.

	* configure.ac: Find out the prefix of some of the libraries
	we depend upon, so that gtk-doc can fix the references for us.
2008-02-08 13:40:50 +00:00
Matthew Allum
9f6d7aa483 2008-02-08 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c:
        Tidy up offscreen code, adding into realize/unrealize.
        Add more safety code.
        Improve documentation.
2008-02-08 10:37:38 +00:00
Emmanuele Bassi
07eb790188 2008-02-08 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script.c:
	(resolve_alpha_func): Use a whitelist containing the alpha function
	provided by Clutter, as a fallback in case g_module_open() does not
	work.

	(clutter_script_parse_alpha): Add an explicit warning in case we
	cannot find the alpha function used inside a UI definition.
2008-02-08 10:19:53 +00:00
Tomas Frydrych
60f162b7bf 2008-02-07 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-group.c:
	(clutter_group_query_coords):
	Take into account the anchor point when calculating the box size.
2008-02-07 18:37:11 +00:00
Tomas Frydrych
d80fbb6fa2 updated changelog 2008-02-07 17:09:47 +00:00
Emmanuele Bassi
d3e15f20eb 2008-02-07 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Add a note on clutter_actor_set_size()
	reguarding groups.

	* clutter/clutter-group.c: Clarify group sizing.
2008-02-07 17:08:29 +00:00
Øyvind Kolås
2994de63ef * tests/test-shader.c: (button_release_cb): added simplified
implementation of a box-blur shader from Gwenole Beauchesne that
should work on GLSL implementing low-end IGPs not implementing
dynamic branching. The original code used crashed some of these
due to bugs in drivers or similar. Resolves bug #710.
2008-02-07 16:52:12 +00:00
Tomas Frydrych
1f5e879e2f 2008-02-07 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.c:
	(clutter_actor_set_property):
	Fixed handling of PROP_ROTATE_CENTER_Y, ROTATE_CENTER_Z

	* tests/test-actors.c:
	Adjusted to use anchor point for both group and hands.
2008-02-07 15:06:31 +00:00
Neil J. Patel
384c7048e3 2008-02-07 Neil J. Patel <njp@o-hand.com>
* tests/test-actors.c: (frame_cb), (main):
	Changed set_anchor to move_anchor.
	Changed clutter_actor_rotate x & y values to 0,0.
	Switched on scaling because it seems to work without drifting.
2008-02-07 15:01:03 +00:00
Emmanuele Bassi
6b4a9c4df5 2008-02-07 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script-parser.c:
	(clutter_script_get_type_from_symbol),
	(clutter_script_get_type_from_class): Use BIND_LAZY flag
	when looking at the symbols, so we don't load them all up.

	* clutter/clutter-script.c (resolve_alpha_func): Ditto as above.
2008-02-07 14:17:53 +00:00
Øyvind Kolås
56a34b724f * clutter/clutter-actor.c:
(_clutter_actor_apply_modelview_transform): perform translation as
well as anchor point adjustment based on self not being stage (and
not by self not being an orphan).
2008-02-07 13:05:18 +00:00
Matthew Allum
a3c79e567c 2008-02-07 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-stage.c:
        * clutter/clutter-stage.h:
        * clutter/eglnative/clutter-stage-egl.c:
        * clutter/eglx/clutter-stage-egl.c:
        * clutter/osx/clutter-stage-osx.c:
        * clutter/sdl/clutter-stage-sdl.c:
        * clutter/x11/clutter-stage-x11.c:
        Add at least somne basic offscreen handling into all backends.
        Remove unused clutter_stage_set_offscreen vfunc. (#549)

        * clutter/clutter-texture.c:
        Minor API doc tweak, noting rowstride source in set_area
2008-02-07 12:55:51 +00:00
Emmanuele Bassi
c8499a7619 2008-02-07 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-score.c (traverse_children): Actually implement
	clutter_score_list_timelines().

	* tests/test-score.c (main): Test clutter_score_list_timelines().
2008-02-07 11:53:52 +00:00
Matthew Allum
b1615f01a4 2008-02-07 Matthew Allum <mallum@openedhand.com>
* clutter/pango/pangoclutter-render.c:
        Warn if requested glyph is too big for underlying texture cache.
        (see #666)
2008-02-07 10:42:22 +00:00
Matthew Allum
3185947520 2008-02-07 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c: (texture_upload_data):
        Remove random appearing 'priv->filter_quality =1' (#643)
2008-02-07 10:19:20 +00:00
Matthew Allum
3d802b172c 2008-02-06 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c:
        Minor clean up from last commit.

        * tests/test-fbo.c:
        Swall tweak (rotate offscreen, rather than resize
2008-02-06 14:50:15 +00:00
Matthew Allum
ccc58efad4 2008-02-06 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c:
        Initial attempt at handling resizing/tranformed source textures.

        * clutter/pango/pangoclutter-render.c: (draw_glyph):
        Guards against freetype returning NULL bitmaps and
        thus causing device by zeros on NVIDIA drivers. (see ml)
2008-02-06 14:39:04 +00:00
Matthew Allum
49b189ecbb 2008-02-05 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c: (clutter_actor_get_vertices):
        Make sure GL related Matrices are initialised. Fixes #756

        * clutter/clutter-texture.c:
        Fix up code from Norways answer to Jean-Michel Basquiat.
        (warning on tile_get_pixbuf)
2008-02-05 16:40:46 +00:00
Øyvind Kolås
19e64c65d5 * clutter/clutter-texture.c: removed spurious left over debug printf. 2008-02-05 15:37:52 +00:00
Øyvind Kolås
17f54fd7b8 * clutter/clutter-texture.c: applied modified patch from Gwenole
Beuchesne adressing bug #635. Adressing a buffer overflow in
clutter_texture_get_pixbuf() when tiling is forced.
2008-02-05 14:49:29 +00:00
Emmanuele Bassi
b884bc4dd5 2008-02-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-shader.c (clutter_shader_constructor): Keep the
	constructor line under the 80 columns using a variable.
2008-02-04 22:38:27 +00:00
Emmanuele Bassi
2764fa2f87 2008-02-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	* clutter/clutter-shader.c: Small documentation and style fixes

	* tests/test-scale.c: Constify the gravities array.
2008-02-04 22:35:38 +00:00
Chris Lord
3878e6730a * clutter/clutter-actor.c: (clutter_actor_transform_stage_point):
Check that x_out and y_out != NULL before setting their contents
2008-02-04 15:11:29 +00:00
Øyvind Kolås
5eb9bbc1f3 * clutter/clutter-timeline.c: (clutter_timeline_rewind): updated
documentation to take direction into account.
2008-02-04 14:35:47 +00:00
Øyvind Kolås
545e323ec1 * tests/test-fbo.c: (make_shader):
* tests/test-shader.c: (main): multiply the resulting gl_FragColor
with gl_Color before being done to take opacity into account in the
GLSL fragments.
2008-02-04 13:05:16 +00:00
Øyvind Kolås
1fe08217b7 * clutter/clutter-actor.[ch]: added clutter_actor_get_shader and
renamed clutter_actor_apply_shader to be clutter_actor_set_shader.
Reindented/aligned header.
* clutter/clutter-texture.c: (clutter_texture_paint): temporarily
disable the shader on top of the clutter context's shader stack while
rendering into the FBO.
* tests/test-fbo.c: (main): s/apply_shader/set_shader/
* tests/test-shader.c: (button_release_cb), (main):
s/apply_shader/set_shader/
2008-02-04 11:45:12 +00:00
Matthew Allum
680cd23b43 2008-02-03 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c: (clutter_actor_set_rotationx):
        Add notify signal for set_rotate

        * clutter/clutter-texture.c:
        Add basic cleanup code for fbo's

        * tests/test-fbo.c: (main):
        Minor notes.

        * clutter/osx/clutter-stage-osx.c: (clutter_stage_osx_realize):
        Turn on vblanking.
2008-02-03 23:25:12 +00:00
Matthew Allum
9026b8f976 2008-02-03 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-shader.c:
        Minor formatting cleanups to fit in 80 cols.

        * clutter/clutter-texture.c:
        More safety checks, clean ups in clutter_texture_new_from_actor()

        * clutter/cogl/gl/cogl.c:
        Always clear the FBO initially when rendering

        * tests/test-fbo.c:
        Overhall the test as to be more useful (and show current issues)
2008-02-03 01:53:10 +00:00
Matthew Allum
f6602ad265 2008-02-02 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-timeline.c:
        Document frame number limits in new-frame signal.

        * clutter/x11/clutter-event-x11.c:
        Remove uneeded error trap (#751)
2008-02-02 23:39:53 +00:00
Matthew Allum
d83442476f 2008-02-01 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/cogl.h:
        * clutter/cogl/gl/cogl.c:
        * clutter/cogl/gles/cogl.c:
       Disable the depth test and buffer as has some strange side
       effects, mainly on x/y axis rotation with multiple layers at
       same depth (eg rotating text on a bg has very strange
       effect). Seems no clean 100% effective way to fix without other
       odd issues.. So for now move to application to handle and add
       cogl_enable_depth_test() as for custom actors (i.e groups) to
       enable if need be.
2008-02-01 18:14:54 +00:00
Matthew Allum
b14da429e0 2008-02-01 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c: (clutter_texture_new_from_actor):
        Fix typo breaking FBO rendering on anything other than a cloned
        texture.
2008-02-01 16:54:48 +00:00
Matthew Allum
8366a906e2 2008-02-01 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-feature.h:
        * clutter/clutter-texture.c:
        * clutter/clutter-texture.h:
        * clutter/cogl/cogl.h:
        * clutter/cogl/gl/cogl.c:
        * clutter/cogl/gles/cogl.c:
        * tests/Makefile.am:
        * tests/test.fbo.c:
        Add initial support for FBO's in Clutter (OpenGL only so far).
        See new clutter_texture_new_from_actor()
        Initial implementation, needs work.

        * clutter/x11/clutter-stage-x11.c:
        (clutter_stage_x11_set_cursor_visible):
        Fall back to again not relying on xfixes to hide cursor. *sigh*

        * clutter/clutter-deprecated.h:
        Add clutter_group_find_child_by_id
2008-02-01 15:29:00 +00:00
Øyvind Kolås
6bb998f25f * clutter/cogl/gles/cogl.c: (cogl_rectangle_internal): increase size
of GLfixed[] array to make contents fit.
2008-02-01 12:07:23 +00:00
Emmanuele Bassi
f0145e7f83 2008-02-01 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.h: Clean up a bit the flag-related macros.
2008-02-01 11:53:10 +00:00
Emmanuele Bassi
ecc673d9cd 2008-02-01 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	(clutter_actor_get_property): Use clutter_actor_get_reactive()
	instead of the IS_REACTIVE() macro.

	(clutter_actor_set_reactive): Emit the notify signal for the
	reactive property.

	* clutter/clutter-timeline.c:
	(timeline_timeout_func),
	(clutter_timeline_get_delta): Coding style fixes.
2008-02-01 11:22:59 +00:00
Robert Bradford
756d2223da 2008-01-31 Rob Bradford <rob@openedhand.com>
* clutter/glx/clutter-stage-glx.c:
	* clutter/glx/clutter-backend-glx.c:
	* clutter/glx/clutter-backend-glx.h:
	Fix formatting.
2008-01-31 23:10:30 +00:00
Emmanuele Bassi
adf89a2e17 2008-01-31 Emmanuele Bassi <ebassi@sprite>
* clutter/clutter-timeline.c (clutter_timeline_skip): Don't
	add the frames outside the direction check. (thanks to benoar
	on clutter-list for spotting it)
2008-01-31 21:15:54 +00:00
Tomas Frydrych
81612d44e7 2007-01-31 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.c:
	(clutter_actor_transform_vertices):
	Call clutter_actor_query_coords() instead of accessing the actor
	box, so that actors that calculate their bounding box on the fly
	(like ClutterGroup) work.

	* (_clutter_actor_apply_modelview_transform_recursive):
	Made to work for parentless actors.
2008-01-31 17:30:46 +00:00
Øyvind Kolås
1c05c60e99 * tests/test-depth.c: added a box of cloned hands to further expand
the scope of depth testing scenarios exercised by test-depth.
2008-01-31 16:55:34 +00:00
Øyvind Kolås
70601b469b * tests/test-depth.c: (timeline_completed): make use of
clutter_timeline_set_direction instead of static state.
(raise_top): made rectangle remain at fixed depth and raise
above each other.
(janus_group): added a rectangle with two faces, one red and
one green, that spins around.
2008-01-31 14:42:49 +00:00
Emmanuele Bassi
d0b0e1bcd4 2008-01-31 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-entry.h:
	* clutter/clutter-entry.c:
	(clutter_entry_set_cursor_position),
	(clutter_entry_get_cursor_position): Rename [gs]et_position()
	to [gs]set_cursor_position(), and avoid method name collisions
	with bindings for high-level languages.

	* clutter/clutter-deprecated.h: Add replacement warnings for the
	renamed methods.
2008-01-31 14:24:04 +00:00
Emmanuele Bassi
d7e01ee396 2008-01-31 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c (clutter_actor_init): Explicitly
	memset() to 0 the clip container, so if you get the clip without
	having set it, you won't get garbage.

2008-01-31  Rob Bradford  <rob@openedhand.com>
2008-01-31 14:21:36 +00:00
Robert Bradford
e40ba6e9b7 2008-01-31 Rob Bradford <rob@openedhand.com>
* clutter/x11/clutter-backend-x11-private.h:
	Add missing start to comment

	* clutter/x11/clutter-backend-x11.c:
	* clutter/x11/clutter-event-x11.c:
	* clutter/x11/clutter-stage-x11.c:
	* clutter/x11/clutter-x11.h:
	Remove tabs.
2008-01-31 11:24:11 +00:00
Emmanuele Bassi
6a8cdee27f 2008-01-30 Emmanuele Bassi <ebassi@openedhand.com>
* README: Add the osx flavour, and mark it experimental,
	along with the sdl backend. EGL-based backends should not be
	considered experimental anymore, even though they might require
	tweaking.
2008-01-30 13:10:06 +00:00
Emmanuele Bassi
9d5e9aaa9a 2008-01-30 Emmanuele Bassi <ebassi@openedhand.com>
* HACKING: Expand the "document API" point, and the release
	process.

	* README: Update the release notes regarding the scale behaviour,
	now that the gravity has been removed.
2008-01-30 13:05:10 +00:00
Tomas Frydrych
4a1e765e19 2007-01-30 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
	Added new clutter_actor_move_anchor_point_ API.

        * clutter/clutter-behaviour-scale.c:
        * clutter/clutter-behaviour-scale.h:
        * clutter/clutter-effect.c:
        * clutter/clutter-effect.h:
        * tests/test-actors.c:
        * tests/test-effects.c:
        * tests/test-scale.c:
	Removed gravity from ClutterBehaviourScale.
2008-01-30 12:13:26 +00:00
Emmanuele Bassi
5bf265fbae 2008-01-27 Emmanuele Bassi <ebassi@openedhand.com>
* tests/test-depth.c (main): Use a group instead of pushing
	the actors on the stage.
2008-01-27 23:39:23 +00:00
Emmanuele Bassi
27dfc4e1ec 2008-01-25 Emmanuele Bassi <ebassi@sprite>
* clutter/clutter-group.c (sort_z_order): Invert condition to
	return to the same as in revision 1976.
2008-01-25 21:48:20 +00:00
Emmanuele Bassi
45c040f5c4 2008-01-25 Emmanuele Bassi <ebassi@sprite>
* clutter/clutter-label.c (clutter_label_query_coords): Check
	if the layout logical rectangle size is bigger than the bounding
	box; this usually means that the bounding box changed in one
	point and the label private allocation needs to be
	updated. (#724)
2008-01-25 21:41:50 +00:00
Emmanuele Bassi
985fa0c6b3 2008-01-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/x11/Makefile.am: Add the generated clutter-x11 pkg-config
	file to CLEANFILES, to pass distcheck.

	* Makefile.am:
	* clutter/Makefile.am: Tweak up the Makefiles.

	* README:
	* NEWS: Release 0.5.4

	* configure.ac: Post-release bump to 0.5.5
2008-01-25 19:48:26 +00:00
Emmanuele Bassi
21e55bf635 2008-01-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-group.c: Use a shorter Z order sorting function,
	avoiding the checks.
2008-01-25 18:06:11 +00:00
Øyvind Kolås
8f6fad06ee * clutter/clutter-shader.c: added documentation strings for
ClutterShader.
2008-01-25 17:20:33 +00:00
Emmanuele Bassi
97a23161f6 2008-01-23 Emmanuele Bassi <ebassi@openedhand.com>
* Makefile.am: Use variables, instead of substitutions.

	* clutter/clutter-private.h:
	* clutter/clutter-main.h: Make clutter_do_event() public again,
	as we need it in clutter-gtk.

	* configure.ac:
	* clutter/x11/Makefile.am:
	* clutter/x11/clutter-x11.pc.in: Add a clutter-x11 pkg-config
	file for clutter-gtk, as it depends on the X11 backend API, as
	implemented by the GLX and EGLX backends.

	* clutter/x11/clutter-event-x11.c (event_translate): Do not
	propagate DestroyNotify events if the stage doesn't own the
	window.

	* tests/test-scale.c (main): Set values different from the default.
2008-01-23 11:08:39 +00:00
Emmanuele Bassi
9d93fb242a Fix ChangeLog 2008-01-21 22:02:22 +00:00
Emmanuele Bassi
25b0e6df23 2008-01-21 Emmanuele Bassi,,, <ebassi@sprite>
* clutter/clutter-behaviour-scale.c:
	(clutter_behaviour_scale_set_property),
	(clutter_behaviour_scale_class_init): Fix stupid typo in the
	y-scale-end property declaration. (#720)
2008-01-21 21:54:37 +00:00
Emmanuele Bassi
e0fc055dd2 2008-01-21 Emmanuele Bassi,,, <ebassi@sprite>
* clutter/clutter-behaviour-depth.h:
	* clutter/clutter-behaviour-depth.c:
	(clutter_behaviour_depth_set_bounds),
	(clutter_behaviour_depth_get_bounds): Add the depth-start and
	depth-end accessors.

	* tests/test-depth.c (timeline_completed): Use set_bounds()
	instead of g_object_set().

	* clutter.symbols: Add clutter_behaviour_depth_set_bounds()
	and clutter_behaviour_opacity_get_bounds() to the list of
	public symbols.
2008-01-21 16:07:28 +00:00
Emmanuele Bassi
689f026cb5 2008-01-21 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-scale.c: Use separate variables for
	storing the scale boundaries; apparently, using arrays broke
	the python bindings. (#720)
2008-01-21 15:06:12 +00:00
Matthew Allum
b9d1cb9612 2008-01-21 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-group.c:
        Make sure unrealizing a group also unrealizes children.

        * clutter/glx/clutter-stage-glx.c:
        Chain up to group unrealize to make sure textures get unrealized
        when changing context (see #718)

        * clutter/clutter-texture.c:
        Formatting cleanups
2008-01-21 11:39:23 +00:00
Øyvind Kolås
e58d0d7f34 * tests/test-shader.c: fix incompatible types in shader programs
Apparently floats can't be multiplied or divided with ints without
explicit type casts. Use 2.0 or float(var) where appropriate. Patch
from Tommi Komulainen (#715).
2008-01-21 11:27:53 +00:00
Emmanuele Bassi
92954a76a7 2008-01-19 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.c (generate_enter_leave_events): Do not
	take the explicit reference, and let clutter_event_copy() do it
	for us. (#714, Neil Roberts)
2008-01-19 10:33:31 +00:00
Emmanuele Bassi
5b40709270 2008-01-19 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-event.c (clutter_event_copy): Take an extra
	reference on the related actor in ClutterEventCrossing that we
	explicitly unref in clutter_event_free(). (#714, Neil Roberts)
2008-01-19 10:30:29 +00:00
Emmanuele Bassi
86c2e6e734 2008-01-18 Emmanuele Bassi <ebassi@openedhand.com>
* tests/test-actors.c (input_cb): Fix the callback signature;
	hide the clicked actor only if it's a hand.
2008-01-18 18:11:33 +00:00
Emmanuele Bassi
94fb3f0c6a 2008-01-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.c (clutter_do_event): Check the
	return value of the ::event signal for the CLUTTER_DELETE
	event type.

	* clutter/clutter-stage.c (clutter_stage_event): Emit the
	::event signal when receiving the CLUTTER_DELETE event; this
	allows to intercept the user's closing of the stage window.
2008-01-18 18:08:37 +00:00
Tomas Frydrych
c9aa5f1b1a 2007-01-18 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-fixed.h:
	Added missing proto for clutter_fixed_qdivx().
2008-01-18 12:21:40 +00:00
Tomas Frydrych
e833356561 2007-01-18 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-fixed.h:
	* clutter/clutter-fixed.c:
	Added CLUTTER_QDIV() for 64-bit division (bug 564, patch by
	Gwenole Beauchesne).
2008-01-18 12:17:41 +00:00
Emmanuele Bassi
a68067b06c 2008-01-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-event.h: Add a gunichar field for the Unicode
	representation of the key. (#555)
2008-01-18 11:58:16 +00:00
Emmanuele Bassi
cbddf6aa1a 2008-01-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.h:
	* clutter/clutter-script.h:
	* clutter/clutter-stage.h:
	* clutter/clutter-units.h: Documentation fixes and additions.
2008-01-18 11:25:47 +00:00
Emmanuele Bassi
683cdf4cc1 2008-01-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.symbols: Add ClutterBehaviourOpacity accessors.

	* clutter/clutter-behaviour-opacity.h:
	* clutter/clutter-behaviour-opacity.c:
	(clutter_behaviour_opacity_set_bounds),
	(clutter_behaviour_opacity_get_bounds): Add accessors for the
	opacity-start and opacity-end properties.

	* clutter/clutter-behaviour-scale.h: Fix the argument name to
	avoid complaints by gtk-doc.
2008-01-18 11:02:34 +00:00
Emmanuele Bassi
02e542eb9f 2008-01-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-scale.c:
	(clutter_behaviour_scale_set_gravity): Notify on the right property
	name.
2008-01-17 14:44:43 +00:00
Emmanuele Bassi
fe2379a810 2008-01-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.symbols: Add new ClutterBehaviourScale setters.

	* clutter/clutter-behaviour-scale.[ch]: Split the scaling factors
	on both axis. Add setters for all the behaviour properties.

	* clutter/clutter-effect.h:
	* clutter/clutter-effect.c (clutter_effect_scale): Split the
	final scale factor to match the ClutterBehaviourScale changes. (#709)
	
	* tests/test-actors.c:
	* tests/test-effects.c:
	* tests/test-rotate.c:
	* tests/test-scale.c: Update after API change.
2008-01-17 14:31:14 +00:00
Emmanuele Bassi
e2f72ae557 2008-01-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/cogl/cogl.h: Rename COGLhandleARB to COGLhandle.

	* clutter/cogl/gl/cogl-defines.h.in:
	* clutter/cogl/gl/cogl.c: Update GL implementation of COGL.

	* clutter/cogl/gles/cogl-defines.h:
	* clutter/cogl/gles/cogl.c: Update GLES implementation of COGL.

	* clutter/clutter-shader.c: Fix ClutterShader to use the new
	COGLhandle type instead of COGLhandlerARB.
2008-01-16 10:38:05 +00:00
Emmanuele Bassi
454b6011b6 2008-01-16 Emmanuele Bassi <ebassi@openedhand.com>
Define COGLhandleARB. (patch by Johan Bilien)

	* clutter/cogl/gles/cogl-defines.h: Define COGLhandleARB on
	GLES as well (using GLuint)

	* clutter/cogl/gles/cogl.c: Use COGLhandleARB.
2008-01-16 10:02:56 +00:00
Emmanuele Bassi
756ea6693f 2008-01-14 Tommi Komulainen <tommi.komulainen@iki.fi>
reviewed by: Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/osx/clutter-event-osx.c (_clutter_event_osx_put):
	Initialize ClutterEvent structure with zeroes (#672)

	The 'source' member was uninitialized and being referenced in
	clutter_do_event leading to crash.
2008-01-14 13:59:27 +00:00
Emmanuele Bassi
71127caa65 2008-01-14 Emmanuele Bassi <ebassi@openedhand.com>
* tests/test-scale.c: Improve test case for scaling (#684,
	Jaap A. Haitsma)
2008-01-14 13:13:23 +00:00
Emmanuele Bassi
eba7612388 2008-01-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-timeline.c (timeline_timeout_func): Fix
	check if the last frame was reached by skipping a frame (#654,
	Johan Bilien)
2008-01-14 12:02:28 +00:00
Emmanuele Bassi
dd5bad99d2 2008-01-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-shader.c: Use correct format string for
	gssize. (#695, Tommi Komulainen)
2008-01-14 11:56:35 +00:00
Emmanuele Bassi
db990ccac8 2008-01-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/cogl/gl/cogl.c (cogl_get_proc_address): Implement non-GLX
	version using GModule and looking up the symbol from the running
	process. It should work when linked to library providing the
	requested function. (#696, Tommi Komulainen)
2008-01-14 11:52:04 +00:00
Emmanuele Bassi
d05783675b 2008-01-14 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Post-release bump to 0.5.3

	* README:
	* NEWS: Release 0.5.2
2008-01-14 10:39:41 +00:00
Emmanuele Bassi
ccc4ad400b 2008-01-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.symbols: Add clutter_model_insertv()

	* clutter/clutter-model.[ch] (clutter_model_insertv): Add a vector
	based insertion API, for language bindings
2008-01-14 10:13:35 +00:00
Emmanuele Bassi
3b0c46dd28 2008-01-12 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-effect.c (clutter_effect_rotate): Make the
	rotate effect work on the passed axis, instead of hardcoding
	the X axis. (#700, Neil Roberts)
2008-01-12 11:05:05 +00:00
Øyvind Kolås
063386c1e2 Added COGLhandleARB since the underlying type on OSX is void*,
patch from Tommi Komulainen <tommi.komulainen@iki.fi>, (#694)
* clutter/cogl/gl/cogl-defines.h.in: Added COGLhandleARB typedef.
* clutter/cogl/cogl.h:
* clutter/cogl/gl/cogl.c:
* clutter/clutter-shader.c: Use COGLhandleARB instead of COGLint when
referring to program or shader handles.
2008-01-10 09:55:44 +00:00
Emmanuele Bassi
f32911c519 2008-01-09 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/Makefile.am:
	* clutter/clutter.h:
	* clutter/clutter-list-model.[ch]: Complete the ClutterModelDefault
	to ClutterListModel rename by renaming the source files
2008-01-09 14:40:31 +00:00
Emmanuele Bassi
6b3b6c5afe 2008-01-09 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model-default.[ch]: Rename ClutterModelDefault
	into ClutterListModel, to make it clear that the default
	ClutterModel implementation is list-based

	* tests/test-model.c: Update call
2008-01-09 14:34:24 +00:00
Emmanuele Bassi
e85d5eab84 2008-01-09 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model-default.c:
	(clutter_model_default_new),
	(clutter_model_default_newv): Move the constructors in the
	right file

	* clutter/clutter-model-private.h: Add a private header for
	the ClutterModel implementations

	* clutter/clutter-model.c:
	(clutter_model_check_type),
	(clutter_model_set_n_columns),
	(clutter_model_set_column_type): Mark as private to Clutter,
	not static to ClutterModel

	* clutter/Makefile.am: Add clutter-model-private.h
2008-01-09 14:18:53 +00:00
Emmanuele Bassi
a6c7ce7117 2008-01-09 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-label.c:
	(clutter_label_ensure_layout): Fix the ClutterUnits to Pango
	scale conversion.
2008-01-09 11:00:54 +00:00
Emmanuele Bassi
6fdeda0e8f 2008-01-08 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model.c:
	(clutter_model_appendv),
	(clutter_model_prependv): Fix the columns length pre-condition
2008-01-08 14:12:11 +00:00
Emmanuele Bassi
164cb1d18a 2008-01-07 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model-default.[ch]: Remove the ClutterModelDefault
	iterator symbols from the public API; the iterator implementation
	is a detail of the default ClutterModel class

	* clutter.symbols: Update
2008-01-07 17:35:07 +00:00
Emmanuele Bassi
09263f94b0 2008-01-07 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model.h:
	* clutter/clutter-model.c:
	(clutter_model_appendv),
	(clutter_model_prependv): Add vector based API for bindings.
	
	(clutter_model_get_column_name),
	(clutter_model_get_column_type),
	(clutter_model_set_sorting_column): Fix the check in the condition
	on the column index.

	* tests/test-scale.c (on_timeline_completed), (main): Fix spelling

	* clutter.symbols: Update public symbols
2008-01-07 17:17:43 +00:00
Emmanuele Bassi
28ef76edfa 2008-01-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.symbols: Add clutter_actor_move_byu()
	
	* clutter/clutter-actor.h:
	* clutter/clutter-actor.c:
	(clutter_actor_move_by),
	(clutter_actor_move_byu): Add a units-based variant of the
	clutter_actor_move_by() function
2008-01-04 18:30:25 +00:00
Emmanuele Bassi
fae1c9fe95 2008-01-02 Johan Bilien <jobi@via.ecp.fr>
reviewed by: Emmanuele Bassi  <ebassi@openedhand.com>

	* configure.ac: Use AC_DEFINE_UNQUOTED to expand the
	variable. Fixes EGL backend build
2008-01-02 15:07:40 +00:00
Emmanuele Bassi
5a53ff963b 2008-01-02 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Post release bump to 0.5.1
2008-01-02 13:17:34 +00:00
Emmanuele Bassi
a6e1bacfbd Release 0.5.0 2008-01-02 13:15:31 +00:00
Emmanuele Bassi
7649df9632 2008-01-02 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model-default.c:
	(clutter_model_default_get_iter_at_row),
	(clutter_model_default_insert_row): Fix off-by-one errors

	(clutter_model_default_class_init):
	(clutter_model_default_remove_row): Move the actual removal of the
	row to...

	(clutter_model_default_row_removed): ... the signal class handler
	of ::row-removed; this way, signal handlers connected to
	::row-removed will get a valid iterator, while signal handlers
	connected to ::row-removed with the AFTER flag will get an updated
	model
2008-01-02 12:15:10 +00:00
Tomas Frydrych
6ffd3b42d5 2007-12-31 Tomas Frydrych <tf@openedhand.com>
* configure.ac:
	* clutter/Makefile.am:
	Added -no-undefined to libtool LDFLAGS for mingw/SDL backend, to
	allow building of shared libraries for win32.
2007-12-31 14:52:17 +00:00
Tomas Frydrych
0681a25825 2007-12-31 Tomas Frydrych <tf@openedhand.com>
* configure.ac:
	* clutter.pc.in:
	Added CLUTTER_REQUIRES automake var to allow deps in clutter.pc to
	be backend-specific.
2007-12-31 11:22:11 +00:00
Emmanuele Bassi
2db2de021f 2007-12-28 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-texture.c:
	(clutter_texture_unrealize): Do not read the pixels back if the
	texture is being destroyed
2007-12-28 15:34:24 +00:00
Emmanuele Bassi
9becd34a37 2007-12-28 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model.c:
	(clutter_model_real_get_n_rows), (clutter_model_class_init),
	(clutter_model_get_n_rows): Provide a default implementation of
	the get_n_rows() method, so that subclasses do not strictly need
	to override it
2007-12-28 15:33:20 +00:00
Emmanuele Bassi
ac9f2fb1c5 2007-12-25 Emmanuele Bassi <ebassi@openedhand.com>
reviewed by: <delete if not using a buddy>

	* clutter/clutter-actor.c:
	(parse_rotation_array): Inline, and get the JsonArray as a parameter

	(parse_rotation): Update

	* clutter/clutter-script.c:
	(warn_missing_attribute): Fix for emacs-style warnings
	
	(clutter_script_parse_node): Remove an ifdeffed out section

	(clutter_script_construct_parameters),
	(clutter_script_construct_object): Rename get_parameters, so
	it's obvious what it does
2007-12-25 22:31:11 +00:00
Emmanuele Bassi
0bfe32314a 2007-12-25 Emmanuele Bassi <ebassi@openedhand.com>
* tests/test-script.json: Fix the JSON syntax
2007-12-25 20:09:20 +00:00
Emmanuele Bassi
60e14ae728 2007-12-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-enum-types.c.in: Fix the template
2007-12-25 11:41:10 +00:00
Emmanuele Bassi
09a2f0733a 2007-12-24 16:24:26 +00:00
Emmanuele Bassi
87a9232d8a 2007-12-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-color.c:
	* clutter/clutter-event.c:
	* clutter/clutter-stage.c: Intern more strings using the I_() macro

	* clutter/clutter-enum-types.c.in: Call g_intern_static_string()
	in the enum types template
2007-12-24 14:52:41 +00:00
Emmanuele Bassi
53aee5ffb4 2007-12-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.symbols: Add clutter_actor_set_clipu() and
	clutter_actor_get_clipu()

	* clutter/clutter-actor.h:
	* clutter/clutter-actor.c:
	(clutter_actor_set_clipu), (clutter_actor_get_clipu): Add the
	new units-based versions of the clip accessors

	(clutter_actor_set_clip), (clutter_actor_get_clip): Reimplement
	the pixels-based clip accessors as proxies for the units-based
	ones
2007-12-24 14:21:19 +00:00
Emmanuele Bassi
97dd890ae1 2007-12-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/cogl/cogl.h: Update cogl_clip_set() to accept the
	clip components as ClutterFixed values

	* clutter/cogl/gl/cogl.c (cogl_clip_set): Update the GL implementation
	of cogl_clip_set()

	* clutter/cogl/gles/cogl.c:
	(cogl_rectangle_internal): Provide an internal, inlined rectangle
	drawing	function using fixed point values, to be shared by
	cogl_clip_set() and cogl_rectangle()

	(cogl_clip_set), (cogl_rectangle): Update the GLES implementation
	of cogl_clip_set() and cogl_rectangle() to use the new internal
	rectangle drawing function

	* clutter/clutter-actor.c: Make the clip an array of ClutterUnit
	values instead of pixel-based; this allows higher precision and
	device independence

	(_clutter_actor_apply_modelview_transform): Pass the clip
	components converting from units to fixed point values, using
	the new cogl_clip_set() signature

	(clutter_actor_get_property), (clutter_actor_set_clip),
	(clutter_actor_get_clip): Update the accessors of the clip
	property
2007-12-24 12:53:04 +00:00
Emmanuele Bassi
24b24f0d53 2007-12-21 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.h: Remove the unused ::set_depth() and
	::get_depth() virtual functions. (#674, Murray Cumming)
2007-12-21 17:18:49 +00:00
Emmanuele Bassi
e3ebfdb14b 2007-12-21 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-group.c:
	* clutter/clutter-group.h: Add the clutter_group_add() convenience
	function; it's now "undeprecated" and implemented as a macro

	* clutter/clutter-stage.h: Add clutter_stage_add() as a convenience
	macro

	* clutter/cogl/cogl.h: Include just the needed headers instead
	of the whole clutter.h; this avoids rebuild cogl when not needed
2007-12-21 16:04:39 +00:00
Emmanuele Bassi
ee4bcf6465 2007-12-21 Emmanuele Bassi <ebassi@openedhand.com>
* Makefile.am: Move tests build before docs, to cut down the
	distcheck failure discovery

	* clutter.symbols: Add clutter_texture_set_area_from_rgb_data()

	* clutter/clutter-actor.c:
	* clutter/clutter-script.c:
	* clutter/clutter-texture.c:
	* clutter/json/json-generator.c:
	* clutter/json/json-parser.c: Compilation fixes for passing distcheck

	* tests/test-grab.c:
	* tests/test-score.c:
	* tests/test-script.c:
	* tests/test-shader.c:
	* tests/test-unproject.c: Ditto as above
2007-12-21 15:25:00 +00:00
Emmanuele Bassi
935e3c1b4e 2007-12-21 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-label.c:
	(clutter_label_ensure_layout): Avoid rounding errors in the layout
	computing when switching between Clutter units and Pango units.
2007-12-21 13:18:19 +00:00
Øyvind Kolås
06fe42dde9 * clutter/clutter-texture.[ch]: (bug #675) added
clutter_texture_set_area_from_rgb_data, sharing some of the
initialization infrastructure with clutter_texture_set_from_rgb_data.
2007-12-20 14:26:07 +00:00
Emmanuele Bassi
41c9528b4d 2007-12-20 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-container.c:
	(clutter_container_lower_child): Fix interface method call
	to actually call ClutterContainer::lower. (#670, Gwenole
	Beauchesne)
2007-12-20 10:44:28 +00:00
Emmanuele Bassi
ecded5cb7c 2007-12-20 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-label.c:
	(clutter_label_query_coords): Return the bounding box set inside
	request_coords(), if any; otherwise, return the natural allocation
	of the label. (#678, reported by Gwenole Beauchesne)

	* tests/test-rotate.c: Align the label
2007-12-20 09:22:05 +00:00
Tomas Frydrych
263d8ea5a0 2007-12-19 Tomas Frydrych <tf@openedhand.com>
* clutter/Makefile.am:
	* clutter/cogl/gl/cogl-defines.h.in:
	* clutter/pango/pangoclutter-render.c:
	* configure.ac:
	Fixes to allow cross-compilation with mingw (patch by Neil
	Roberts).
	Removed trailing whitespace.
2007-12-19 16:16:10 +00:00
Øyvind Kolås
bf66f7a3ec * clutter/clutter-main.c: (generate_enter_leave_events): synthesize
enter event (without related) and corresponding leave event when the
actor the cursor is over has been destroyed.
* clutter/clutter-event.c: (clutter_event_free): only unref the
related_actor when it actually is set.
2007-12-18 13:03:45 +00:00
Emmanuele Bassi
b14bdfe2bb 2007-12-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.c:
	(unset_motion_last_actor),
	(generate_enter_leave_events): Attach a callback to the destroy
	signal on the last motion actor, so if it goes away while the
	pointer is in the middle of it we can unset the pointer.

	* clutter/clutter-private.h: Store the last motion actor inside
	the global context.
2007-12-18 10:49:29 +00:00
Emmanuele Bassi
98c537365c 2007-12-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	(clutter_actor_should_pick_paint),
	(clutter_actor_apply_transform_to_point): Fix the whitespace.

	(clutter_actor_set_rotation): Clarify that the coordinates of
	the centre of rotation are relative to the anchor point or,
	if not set, to the upper left corner of the bounding box.
2007-12-17 17:45:49 +00:00
Tomas Frydrych
967710c836 2007-12-17 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-behaviour-ellipse.c:
	* clutter/clutter-behaviour-rotate.c:
	Clamping of start and end angles to <0, 360).
2007-12-17 17:16:49 +00:00
Emmanuele Bassi
c4e9f32034 2007-12-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-path.c: Clarify the equivalence
	between the upper and lower bounds of the ClutterAlpha and
	the position in the path. (#634)
2007-12-17 15:56:35 +00:00
Emmanuele Bassi
b728858cc3 2007-12-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-texture.c: Mention the fact that a ClutterTexture
	will scale its contents to fit inside the requested bounding
	box. (#661)
2007-12-17 15:51:30 +00:00
Emmanuele Bassi
4f651833b4 2007-12-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Fix documentation for
	the ::captured-event signal. (#673)
2007-12-17 15:47:19 +00:00
Emmanuele Bassi
f7606ebb89 2007-12-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Clarify the set_clip() method
	documentation, pointing out that the clip area origin is
	always the top-left corner of an actor.
2007-12-17 15:08:43 +00:00
Emmanuele Bassi
5eecda2dba 2007-12-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	* clutter/clutter-alpha.h:
	* clutter/clutter-event.h:
	* clutter/clutter-fixed.[ch]:
	* clutter/clutter-model.h:
	* clutter/clutter-shader.[ch]:
	* clutter/clutter-stage.c: Documentation fixes.
2007-12-15 14:36:27 +00:00
Emmanuele Bassi
afaa4fe26f 2007-12-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model-default.c:
	(clutter_model_default_iter_next),
	(clutter_model_default_iter_prev): Do not instantiate a new
	iterator, and update the passed one instead, as we say we do
	in the documentation. This avoid leaking tons of iterators.

	* clutter/clutter-model.[ch]: Update the documentation.

	* tests/test-model.c: Prettify some output.
2007-12-15 13:02:06 +00:00
Emmanuele Bassi
6193beb8be 2007-12-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour.c:
	(clutter_knot_get_type): Use the I_() macro.

	* clutter/clutter-model.[ch]: Make ClutterModel and ClutterModelIter
	abstract classes; also, provide more virtual functions inside the
	ClutterModel vtable, to allow subclasses and language bindings to
	override the entire ClutterModel using other/native data types
	to store the rows.
	
	* clutter/clutter-model-default.[ch]: ClutterModelDefault is a
	default implementation of ClutterModel and ClutterModelIter using
	GSequence.

	* clutter/Makefile.am:
	* clutter/clutter.h: Build glue for ClutterModelDefault.

	* tests/test-model.c: Update for constructor changes.

	* tests/test-shader.c: Fix a typo.
2007-12-14 17:25:55 +00:00
Matthew Allum
9a2a4ef7b3 2007-12-14 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gl/cogl-defines.h.in:
        * clutter/cogl/gles/cogl-defines.h:
        Add CLUTTER_COGL_HAS_GL/GLES defines
2007-12-14 12:36:45 +00:00
Øyvind Kolås
5220f68e17 Refined the ClutterShader API based on a patch from Emmanuele Bassi.
* clutter/clutter-actor.c: (clutter_actor_paint),
(clutter_actor_apply_shader): queue a redraw of actor when shader is
set.
* clutter/clutter-actor.h: indentation.
* clutter/clutter-shader.[ch]: made the fragment and vertex shader
sources properties. Report error through GError when binding shaders.
* tests/test-shader.c: modified to use newer API.
2007-12-11 14:49:41 +00:00
Emmanuele Bassi
6e61c0a999 2007-12-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model.c:
	(clutter_model_get_sorting_column): Fix wrong type check.
2007-12-10 16:42:21 +00:00
Emmanuele Bassi
81e908f9fb 2007-12-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model.[ch]: Allow unsorting the model (passing
	-1 as the sorting column)

	(clutter_model_iter_get_valist): Do not initialise twice che
	return value.
2007-12-10 16:22:05 +00:00
Emmanuele Bassi
002adaf305 2007-12-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model.c (clutter_model_iter_get_value): Initialise
	the passed GValue like the other getters do.
2007-12-10 16:02:46 +00:00
Emmanuele Bassi
be8fdbe5c1 2007-12-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model.h:
	* clutter/clutter-model.c:
	(clutter_model_append_value),
	(clutter_model_prepend_value),
	(clutter_model_insert_value): Add a _value() variant for the
	insertion methods, for use of the language bindings.

	(clutter_model_append), 
	(clutter_model_prepend),
	(clutter_model_insert): Do not return a boolean: insertion should
	never fail unless for a programming error, in which case we have
	plenty of warnings.
2007-12-10 15:08:53 +00:00
Emmanuele Bassi
bcc73bc156 Fix ChangeLog attribution 2007-12-10 12:00:41 +00:00
Emmanuele Bassi
b4bc9f8320 2007-12-10 Emmanuele Bassi,,, <ebassi@sprite>
* clutter/clutter-behaviour-ellipse.c:
	(clutter_behaviour_ellipse_get_angle_tilt),
	(clutter_behaviour_ellipse_get_angle_tiltx),
	(clutter_behaviour_ellipse_set_tilt): Fix a double conversion
	that was messing up the returned results. (#665)
2007-12-10 12:00:08 +00:00
Emmanuele Bassi
0f535537c2 2007-12-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	(clutter_actor_set_property),
	(clutter_actor_get_property),
	(clutter_actor_class_init): Add the rotation-* properties,
	controlling the rotation angle and center on each axis. (#614)

	(parse_rotation_array), (parse_rotation),
	(clutter_actor_parse_custom_node),
	(clutter_actor_set_custom_property),
	(clutter_scriptable_iface_init): Add a new "rotation" custom
	property for expressing the rotation along each axis in a
	compact way:

	  "rotation" : [
	    { "x-axis" : [ <angle>, [ <y>, <z> ] ] },
	    { "y-axis" : [ <angle>, [ <x>, <z> ] ] },
	    { "z-axis" : [ <angle>, [ <x>, <y> ] ] }
	  ]

	(clutter_geometry_get_type),(clutter_vertex_get_type),
	(clutter_actor_box_get_type): Use the I_() macro instead of
	directly calling g_intern_static_string().
	
	* clutter/clutter-entry.c (clutter_entry_request_coords):
	* clutter/clutter-label.c (clutter_label_ensure_layout),
	(clutter_label_request_coords): Use CLUTTER_UNITS_FROM_DEVICE()
	instead of CLUTTER_UNITS_FROM_INT(), as "device" means "pixels".

	* clutter/clutter-private.h: Add the I_() macro for intern
	static strings.

	* tests/test-script.json: Test the newly added "rotation"
	custom property.
2007-12-10 11:01:10 +00:00
Tomas Frydrych
aed212384a 2007-12-10 Tomas Frydrych <tf@openedhand.com>
* tests/Makefile.am:
	Fixed a typo.
2007-12-10 10:16:55 +00:00
Tomas Frydrych
54b752c869 2007-12-10 Tomas Frydrych <tf@openedhand.com>
* tests/test-viewport.c:
	* tests/Makefile.am:
	Added a simple viewport test.
2007-12-10 10:13:31 +00:00
Tomas Frydrych
797805c6e7 2007-12-07 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.c:
	(_clutter_actor_apply_modelview_transform):
	Moved offset translation after rotation so that rotation coords
	are also relative to the offset point.
2007-12-10 08:15:10 +00:00
Emmanuele Bassi
e1b1bc289c 2007-12-09 Emmanuele Bassi <ebassi@openedhand.com>
* tests/test-events.c (input_cb):
	* tests/test-text.c (main): Fix compiler errors. (#592,
	Gwenole Beauchesne)
2007-12-09 08:53:06 +00:00
Emmanuele Bassi
bd355346de 2007-12-09 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Document the values for full
	transparency and full opacity in the set_opacity()
	method. (#662)

	* clutter/clutter-behaviour-ellipse.c: Improve consistency
	in the apidoc.
2007-12-09 08:47:11 +00:00
Emmanuele Bassi
3123818ca3 2007-12-08 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Make libtool respect the -s switch of make
	and be quiet.
2007-12-08 14:59:58 +00:00
Emmanuele Bassi
f476cfbd4c 2007-12-07 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.h:
	* clutter/clutter-actor.c:
	(clutter_actor_get_sizeu),
	(clutter_actor_get_positionu): Add unit-based accessors to
	the size and position.
2007-12-07 15:49:54 +00:00
Tomas Frydrych
a4234ab4cf 2007-12-07 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-behaviour-ellipse.c:
	(clutter_behaviour_ellipse_set_angle_start):
	(clutter_behaviour_ellipse_set_angle_end):
	(clutter_behaviour_ellipse_set_angle_tilt):
	(clutter_behaviour_ellipse_set_tilt):
	Removed strayed degree -> ClutterAngle conversions left over from
	API changes.

	(clutter_behaviour_ellipse_set_angle_tiltx):
	Removed stray printf.
2007-12-07 11:00:01 +00:00
Tomas Frydrych
57d523c276 2007-12-07 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-behaviour-ellipse.c:
	Fixed tilt setters and getters.
2007-12-07 07:48:57 +00:00
Tomas Frydrych
58142d7ee7 2007-12-06 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-fixed.c:
	* clutter/clutter-fixed.h:
	(clutter_sqrti):
	Added extra iteration to the Newton-Rapson algorithm for argumens
	lesser than 342 to improve precission.
2007-12-06 16:21:48 +00:00
Emmanuele Bassi
dad823f123 2007-12-06 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.c:
	(clutter_set_motion_events_frequency): Never allow the motion
	events devlivery frequency to exceed the default frame rate.
2007-12-06 12:38:04 +00:00
Emmanuele Bassi
6fae4bcfc9 2007-12-06 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/json/json-parser.[ch]: Use gssize, size we allow -1
	as a length (meaning "use the whole string").

	(json_parser_load_from_data): Use the passed length instead of
	using strlen() all the time.

	* clutter/clutter-script.[ch]: Ditto as above.
2007-12-06 11:25:16 +00:00
Emmanuele Bassi
6cbdff7452 2007-12-06 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/pango/pangoclutter-render.c: Hush a compiler warning
	by removing a unused variable.
2007-12-06 10:55:41 +00:00
Emmanuele Bassi
40df4dee2b 2007-12-06 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-label.c (clutter_label_ensure_layout): If the
	label has a requested size, force it when ensuring the layout.
2007-12-06 10:49:46 +00:00
Emmanuele Bassi
1d03019825 Do not forget to commit the ChangeLog next time 2007-12-06 10:39:07 +00:00
Matthew Allum
8e44f0613f 2007-12-05 Matthew Allum <mallum@openedhand.com>
* clutter/pango/pangoclutter-render.c:
        Prefer rendering with npots textures over pots textures if
        available (essentially makes applying shaders easier)
        Also convert some float to fixed.
2007-12-05 21:41:43 +00:00
Emmanuele Bassi
4ff25a291c 2007-12-05 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-score.h: Rearrange declarations.

	* clutter/clutter-score.c: More documentation in the long
	description of the ClutterScore section.

	* clutter/clutter-debug.h:
	* clutter/clutter-main.c: Add the CLUTTER_DEBUG_SHADER flag,
	for debugging the shader calls.

	* clutter/clutter-feature.h: Fix the documentation of the
	feature flags.

	* clutter/Makefile.am: Remove trailing whitespace.
2007-12-05 21:15:19 +00:00
Tomas Frydrych
e9d9715dcf 2007-12-05 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.c:
	* clutter/clutter-actor.h:
	* tests/Makefile.am:
	* tests/test-unproject:
	(clutter_actor_transform_stage_point):
	Added new function for translating stage coordinates into local
	actor coordinates.
2007-12-05 14:54:15 +00:00
Emmanuele Bassi
dabe850551 2007-12-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-score.c: Better document ClutterScore
	and its API.
2007-12-04 16:56:53 +00:00
Emmanuele Bassi
51a0d5a80f 2007-12-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-score.[ch]: Reimplement ClutterScore using
	a N-ary tree to store the timelines. Remove clutter_score_add():
	the same functionality can be achieved by passing a NULL
	parent to clutter_score_append().

	* tests/test-score.c: Update ClutterScore test unit, and add
	debug printouts.
2007-12-04 16:26:19 +00:00
Øyvind Kolås
094c5f77b8 * clutter/clutter-shader.c: (bind_glsl_shader): use gchar instead of
GLcharARB.
2007-12-04 09:13:06 +00:00
Øyvind Kolås
4de11937e6 * clutter/clutter-shader.[ch]: do not include GL.h. 2007-12-03 17:14:49 +00:00
Øyvind Kolås
e92b864dff Support for shaders in clutter. At the moment limited to drivers
providing GLSL support.
* clutter/cogl/cogl.h: added rather direct binding of needed for glsl
shaders.
* clutter/cogl/gl/cogl-defines.h.in:
* clutter/cogl/gl/cogl.c:
* clutter/cogl/gles/cogl-defines.h: added stubs.
* clutter/cogl/gles/cogl.c: added stubs.
* clutter/glx/clutter-stage-glx.c:
(clutter_stage_glx_realize): unrelated memory management sanity fix.
(clutter_stage_glx_unrealize): unbind all shaders on stage unrealize.
* clutter/Makefile.am: added clutter-shader.[ch]
* clutter/clutter-actor.[ch]: adding shader capability to 
actors.
* clutter/clutter-feature.h: added CLUTTER_FEATURE_SHADERS_GLSL
* clutter/clutter-private.h: added stack of shaders to context.
* clutter/clutter-shader.[ch]: new.
* tests/Makefile.am: added shader test.
* tests/test-shader.c: (frame_cb), (main): simple shader test,
cycle through the inline shader with right/left mouse buttons.
2007-12-03 16:29:18 +00:00
Øyvind Kolås
ace69e71b3 * clutter/glx/clutter-stage-glx.c: for extra sanity, set
stage_x11->xvisinfo = NULL after XFree. Makes using the root window
as foreign window possible.
2007-12-03 16:16:41 +00:00
Øyvind Kolås
3def17d9d2 * clutter/clutter-timeline.c: (clutter_timeline_get_delta): return the
number of milliseconds passed between new-frame events instead of
since new-frame events, thus making sure that the sum of _get_delta's
returned for all new-frame events is equal to total time elapsed.
2007-11-30 17:07:08 +00:00
Emmanuele Bassi
97631bffd5 2007-11-30 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c (parse_units),
	(clutter_actor_parse_custom_node): Do not allow using percentages
	of the stage on the stage itself, as it makes little to no
	sense.

	* clutter/clutter-script.c:
	(clutter_script_construct_object): Rearrange code.

	* tests/test-script.json: Do not set the size of the stage, to
	test for the stage size percentage.
2007-11-30 14:36:07 +00:00
Emmanuele Bassi
640b9aa07b 2007-11-30 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model.h: Complete the documentation of
	the ClutterModelClass structure members.
2007-11-30 13:22:03 +00:00
Emmanuele Bassi
9628df5ca9 2007-11-30 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-timeline.h:
	* clutter/clutter-timeline.c
	(timeline_timeout_func),
	(clutter_timeline_get_delta): Add a function for retrieving
	the number of frames and the time (in milliseconds) elapsed
	since the last timeline ::new-frame signal. This can be useful
	for implementing a physics engine or just for knowing how if
	and how many frames have been skipped.
2007-11-30 13:20:15 +00:00
Emmanuele Bassi
f04a0a4645 2007-11-30 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c (parse_units),
	(clutter_actor_parse_custom_node),
	(clutter_scriptable_iface_init): Override the parsing code
	for the x, y, width and height properties of ClutterActor,
	to allow strings with modifiers when defining the position
	and/or the dimensions of an actor. Bare integers are assumed
	as pixels; floating point values in the [0, 1] interval are
	assumed as percentages; strings can have these modifiers:

	  - px - pixels
	  - mm - millimeters
	  - pt - points (at the current resolution)
	  - %  - percentage of the stage

	* clutter/clutter-units.h: Fix the conversion macros

	* tests/test-script.json: Test the new values.
2007-11-30 09:27:10 +00:00
Emmanuele Bassi
687561dfe2 2007-11-29 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model.[ch]: Slight API change in the constructor
	functions for ClutterModel: clutter_model_new() now takes a list
	of GType/string pairs for both the column type and the column name.

	(clutter_model_set_n_columns),
	(clutter_model_set_names),
	(clutter_model_set_types): Subclasses of ClutterModel will be able
	to call clutter_model_set_types() and clutter_model_set_names() in
	any order, provided that they don't call each function more than
	once.

	* tests/test-model.c: Update the test case.
2007-11-29 15:01:21 +00:00
Tomas Frydrych
9c77b0ab13 2007-11-29 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.h:
        * clutter/clutter-actor.c:
	Converted depth and rotation offsets to ClutterUnit.

	(clutter_actor_set_depthu):
	(clutter_actor_get_depthu):
	Additional ClutterUnit API.

	(_clutter_actor_apply_modelview_transform):
	Use cogl_translatex() in place of cogl_translate().
2007-11-29 13:47:37 +00:00
Emmanuele Bassi
870234213a 2007-11-29 Emmanuele Bassi <ebassi@openedhand.com>
* *: Add svn:ignore property to every directory, so that
	svn status starts being useful.
2007-11-29 10:54:13 +00:00
Matthew Allum
aebf79829a 2007-11-29 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-main.c: (generate_enter_leave_events):
        Minor formatting tweak.
        * configure.ac:
        Typo fix from Damien Lespiau (via mailing list)
2007-11-28 23:57:26 +00:00
Emmanuele Bassi
9800eb0639 2007-11-28 Emmanuele Bassi <ebassi@openedhand.com>
Add more introspection capabilities to the base model class

	* clutter/clutter-model.h:
	* clutter/clutter-model.c:
	(clutter_model_finalize): Do no leak the column types array.

	(clutter_model_get_n_columns): Function for getting the number
	of columns inside a model.

	(clutter_model_set_names): Add API for setting the names of the
	columns.

	(clutter_model_get_column_name),
	(_model_get_column_type): Add API for getting each column's name
	and the default implementation for ClutterModel.

	(clutter_model_get_column_type),
	(_model_get_iter_at_row): Add API for getting each column's type
	and the default implementation for ClutterModel.

	* clutter.symbols: Add ClutterModel and ClutterModelIter symbols,
	and keep the symbols file sorted.
2007-11-28 18:04:24 +00:00
Tomas Frydrych
132296dcc3 2007-11-28 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
	(clutter_actor_set_positionu):
	(clutter_actor_set_sizeu):
	(clutter_actor_get_widthu):
	(clutter_actor_get_heightu):
	(clutter_actor_set_widthu):
	(clutter_actor_set_heightu):
	(clutter_actor_get_xu):
	(clutter_actor_get_yu):
	(clutter_actor_set_xu):
	(clutter_actor_set_yu):
	Expanded ClutterActor API with new ClutterUnit-base functions.

        * clutter/clutter-stage.c:
        * clutter/clutter-stage.h:
	(clutter_stage_get_resolution):
	(clutter_stage_get_resolutionx):
	New function to query stage resolution (floating and fixed point
	versions).

        * clutter/clutter-units.h:
	(CLUTTER_UNITS_FROM_STAGE_WIDTH_PERCENTAGE):
	(CLUTTER_UNITS_FROM_STAGE_HEIGHT_PERCENTAGE):
	(CLUTTER_UNITS_FROM_PARENT_WIDTH_PERCENTAGE):
	(CLUTTER_UNITS_FROM_PARENT_HEIGHT_PERCENTAGE):
	(CLUTTER_UNITS_FROM_MM):
	(CLUTTER_UNITS_FROM_MMX):
	(CLUTTER_UNITS_FROM_POINTS):
	(CLUTTER_UNITS_FROM_POINTSX):
	New macros for conversions to ClutterUnits.

	* clutter.symbols:
	Added:
	        ClutterActor anchor_point functions,
                clutter_stage_get_resolution functions.

	Removed:
                clutter_actor_scale_with_gravity functions.
2007-11-28 15:31:41 +00:00
Emmanuele Bassi
f4817f279a 2007-11-28 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.[ch]: Documentation fixes.
2007-11-28 14:16:37 +00:00
Emmanuele Bassi
4976be12ca 2007-11-28 Emmanuele Bassi <ebassi@openedhand.com>
Remove the layout containers: they will be moved to a
	high-level library.

	* clutter/clutter.h:
	* clutter/Makefile.am: Remove layout and boxes from the
	build.

	* clutter/clutter-layout.[ch]: Remove the ClutterLayout
	interface.
	
	* clutter/clutter-box.[ch]:
	* clutter/clutter-hbox.[ch]:
	* clutter/clutter-vbox.[ch]: Remove ClutterBox and its
	subclasses.
	
	* clutter/clutter-label.c: Remove ClutterLayout implementation

	* clutter/clutter-script-private.h:
	* clutter/clutter-script-parser.c:
	* clutter/clutter-script.c:
	(clutter_script_parse_node): Remove special parsing for
	ClutterMargin and ClutterPadding.

	* clutter/clutter-types.h: Remove ClutterPadding and ClutterMargin.

	* tests/Makefile.am:
	* tests/test-boxes.c: Remove the boxes test case.
2007-11-28 13:50:24 +00:00
Tomas Frydrych
20a9bf142c 2007-11-28 Tomas Frydrych <tf@openedhand.com>
* clutter/NEWS:
	Started 0.6.0 section with comment on actor anchor point.

        * clutter/clutter/clutter-actor.c:
        * clutter/clutter/clutter-actor.h:
        * clutter/clutter/clutter-behaviour-scale.c:
        * clutter/clutter/clutter-deprecated.h:
	(clutter_actor_set_anchor_point):
	(clutter_actor_set_anchor_pointu):
	(clutter_actor_get_anchor_point):
	(clutter_actor_get_anchor_pointu):
	(clutter_actor_set_anchor_point_from_gravity):
	New anchor point API deprecating old gravity scaling, added
	comments on modelview matrix construction to ClutterActor
	documentation.

	(clutter_actor_set_scale_with_gravity):
	(clutter_actor_set_scale_with_gravityx):
	Deprecated; use clutter_actor_set_anchor_point_from_gravity() instead.
2007-11-28 12:23:31 +00:00
Emmanuele Bassi
04afb1066c 2007-11-28 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-effect.[ch]: Add clutter_effect_template_construct()
	function, for language bindings that need to set the alpha function
	but cannot call the clutter_effect_template_new() ctor themselves.
2007-11-28 10:27:33 +00:00
Tomas Frydrych
55d53acc8f 2007-11-27 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-behaviour-ellipse.c:
        * clutter/clutter-behaviour-ellipse.h:
	(clutter_behaviour_ellipse_get_angle_startx):
	(clutter_behaviour_ellipse_set_angle_startx):
	(clutter_behaviour_ellipse_get_angle_endx):
	(clutter_behaviour_ellipse_set_angle_endx):
	(clutter_behaviour_ellipse_get_angle_tiltx):
	(clutter_behaviour_ellipse_set_angle_tiltx):
	Changed to take and return angles in degrees represented as
	ClutterFixed.
2007-11-27 12:34:28 +00:00
Emmanuele Bassi
ceecc23a02 2007-11-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c (clutter_actor_destroy): Remove the
	reference we hold on the actor, as it was preventing the finalization
	of every child on the stage.
2007-11-27 11:05:26 +00:00
Emmanuele Bassi
69bc9516f9 2007-11-26 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/x11/clutter-stage-x11.c:
	(clutter_stage_x11_set_cursor_visible): Restore the XFixes usage,
	as it now seems to be have been fixed.
2007-11-26 12:10:20 +00:00
Emmanuele Bassi
a02e20a14a 2007-11-26 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	(clutter_actor_real_show),
	(clutter_actor_real_hide): Do not set the MAPPED flag on the actor
	if it is a top-level one (like ClutterStage); the backends are
	responsible for setting that flag, as it might be the result of an
	asynchronous operation (e.g. on X11).
	
	* clutter/eglnative/clutter-stage-egl.c:
	(clutter_stage_egl_show),
	(clutter_stage_egl_hide): Set/unset the CLUTTER_ACTOR_MAPPED flag
	on show and hide respectively.

	* clutter/osx/clutter-stage-osx.c:
	(clutter_stage_osx_show),
	(clutter_stage_osx_hide): Ditto as above.

	* clutter/sdl/clutter-stage-sdl.c:
	(clutter_stage_sdl_show),
	(clutter_stage_sdl_hide): Ditto as above, plus chain up to the
	parent class show/hide virtual functions.

	* clutter/x11/clutter-event-x11.c (event_translate): Use the MapNotify
	and UnmapNotify events to call the X11 stage map/unmap functions.

	* clutter/x11/clutter-stage-x11.[ch]:
	(clutter_stage_x11_set_fullscreen): Set the fullscreen_on_map flag
	with the fullscreen value.

	(clutter_stage_x11_map), (clutter_stage_x11_unmap): Set the MAPPED
	flag on the stage actor and redraw; also, if the fullscreen_on_map
	flag was set, call clutter_stage_fullscreen() as well. (#648)

	* tests/Makefile.am:
	* tests/test-fullscreen.c: Add a fullscreen test case for checking
	whether fullscreen works on every backend/platform.
2007-11-26 12:07:25 +00:00
Emmanuele Bassi
c4f89675e0 2007-11-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	(clutter_actor_real_request_coords),
	(clutter_actor_request_coords),
	(clutter_actor_class_init): Provide a default ::request_coords()
	implementation in ClutterActor and use it to store the bounding
	box passed to clutter_actor_request_coords(). This makes the code
	more reliable and clean, and avoids a call to the subclass
	request_coords() method if the bounding box did not change. Now,
	every class overriding ClutterActor::request_coords() *must* chain
	up to the parent class method or the bounding box will not be
	saved inside the ClutterActor structure.
	
	* clutter/clutter-entry.c:
	* clutter/clutter-group.c:
	* clutter/clutter-hbox.c:
	* clutter/clutter-label.c:
	* clutter/clutter-texture.c:
	* clutter/clutter-vbox.c: Chain up to the parent class
	request_coords() method.
2007-11-23 17:12:27 +00:00
Emmanuele Bassi
b0446d66fe 2007-11-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-event.h: Add more documentation.
2007-11-23 17:07:46 +00:00
Emmanuele Bassi
e06cb4234d 2007-11-23 Emmanuele Bassi <ebassi@openedhand.com>
* tests/test-event.c: Back out an accidental commit.
2007-11-23 13:12:37 +00:00
Emmanuele Bassi
07079204ac 2007-11-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	* clutter/clutter-alpha.c:
	* clutter/clutter-effect.c:
	* clutter/clutter-event.c:
	* clutter/clutter-event.h:
	* clutter/clutter-group.h:
	* clutter/clutter-model.c:,
	* clutter/clutter-script.c:
	* clutter/clutter-scriptable.h:
	* clutter/clutter-stage.c: Documentation fixes.

	* clutter/clutter-score.c: Fix implementation.
2007-11-23 13:11:10 +00:00
Emmanuele Bassi
7c7b9d0568 2007-11-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/x11/clutter-stage-x11.c: Chain up the hide and show
	to the parent's implementation.
2007-11-23 13:07:04 +00:00
Emmanuele Bassi
2b447c3b48 2007-11-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-effect.[ch]: Update the effects API to remove
	the start value for most of them.

	(clutter_effect_move): Make it a simple "move from current
	position to new coordinates" effect.

	(clutter_effect_path): Rename from clutter_effect_move().

	(clutter_effect_rotate): Sync up with the new actor rotation API.

	* tests/test-effects.c: Regression test for the effects.

	* tests/Makefile.am: Build glue for test-effects

	* tests/test-behave.c: Emulate a full ramp by using a looping
	timeline changing its direction when reaching the last frame.
2007-11-23 11:23:19 +00:00
Emmanuele Bassi
e57b42ae52 2007-11-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c (clutter_actor_destroy): Bail out
	if clutter_actor_destroy() was called on the stage: the stage
	is not for the user to destroy.

	* clutter/x11/clutter-backend-x11.c:
	* clutter/eglnative/clutter-backend-egl.c:
	* clutter/sdl/clutter-backend-sdl.c:
	* clutter/osx/clutter-backend-osx.c: Unset the top-level private
	flag on the stage when disposing it, so the backends can safely
	call clutter_actor_destroy().

	* clutter/clutter-private.h: Tweak the private flags accessors,
	to avoid the typecheck.
2007-11-23 11:20:14 +00:00
Emmanuele Bassi
8039922802 2007-11-22 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-label.c (clutter_label_new_full): Set the
	terminating NULL which was removed when applying patch for
	fixing #606. (#645, Gwenole Beauchesne)
2007-11-22 13:41:00 +00:00
Øyvind Kolås
7fca77fa5e * clutter/clutter-actor.c: mended a couple of typos in documentation. 2007-11-21 23:25:30 +00:00
Matthew Allum
24d43aee02 2007-11-21 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gles/cogl.c: (cogl_fog_set):
        Minor fixes for fog on GLES.
2007-11-21 12:30:50 +00:00
Emmanuele Bassi
99acb8e9c1 2007-11-21 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/cogl/cogl.h: Add cogl_fog_set() abstracting the
	glFog() functions and enabling the GL_FOG flag.

	* clutter/cogl/gl/cogl.c: Add GL implementation of cogl_fog_set().
	
	* clutter/cogl/gles/cogl.c: Add GL/ES implementation of
	cogl_fog_set().

	* clutter.symbols: Add new symbols.

	* clutter/clutter-stage.h: Add API to enable depth cueing on
	the stage using a linear GL fog, and to set the parameters
	for it (#637).

	* clutter/clutter-stage.c (clutter_stage_paint): Enable the
	GL fog if the ClutterStage:use-fog property is true.

	* tests/test-depth.c: Test the new stage API.
2007-11-21 11:55:26 +00:00
Øyvind Kolås
a770e57193 * clutter/clutter-main.c: (event_click_count_generate): generalized
click_count generation code.
* tests/test-events.c: (input_cb): extended test to report click_count
for release and scroll events as well as press events.
2007-11-20 17:14:05 +00:00
Øyvind Kolås
4320c354a3 * clutter/clutter-main.c: (clutter_do_event): avoid computing source
of events if it is already set (for synthetic events.)
* clutter/clutter-event.c: Add more information to the documentation
of clutter_event_put.
2007-11-20 17:03:53 +00:00
Emmanuele Bassi
3c653b00a4 2007-11-20 Emmanuele Bassi <ebassi@openedhand.com>
* README: Add diff example command lines for submitting patches.
2007-11-20 16:19:52 +00:00
Emmanuele Bassi
9955b06542 2007-11-20 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c::
	* clutter/clutter-behaviour-opacity.c:
	* clutter/clutter-clone-texture.c:
	* clutter/clutter-effect.c:
	* clutter/clutter-label.c: Remove the usage of G_PARAM_CONSTRUCT
	without an override for the ::construct virtual function; using
	G_PARAM_CONSTRUCT to set the default value of a property is not
	the recommended approach; default values are set inside the
	instance init function.
2007-11-20 16:05:56 +00:00
Emmanuele Bassi
6cb35639e7 2007-11-20 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-texture.c (clutter_texture_init): Set filter-quality
	value to 1, to fix the regression caused when applying the patch for
	buf #616.
2007-11-20 15:45:59 +00:00
Emmanuele Bassi
caa56dadd4 2007-11-19 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-label.[ch]: Fix ClutterLabel size allocation when
	no bounding box has been provided, and store the box set by the
	user so that it can be reused when recomputing the layout. (#600)

	(clutter_label_class_init),
	(clutter_label_init): Set the :wrap property default to FALSE.
	
	* clutter/clutter-units.h: Add ClutterUnit-to-PangoUnit conversion
	macro.

	* tests/test-rotate.c: Fix string.
2007-11-19 21:14:16 +00:00
Emmanuele Bassi
531be399b7 2007-11-19 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-bspline.c:
	* clutter/clutter-behaviour-depth.c:
	* clutter/clutter-behaviour-ellipse.c:
	* clutter/clutter-behaviour-opacity.c:
	* clutter/clutter-behaviour-path.c:
	* clutter/clutter-behaviour-rotate.c:
	* clutter/clutter-behaviour-scale.c: Fix gtk-doc short description.
2007-11-19 16:35:46 +00:00
Emmanuele Bassi
b676210545 2007-11-19 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.symbols: Update

	* clutter/clutter-actor.h: Rename the angle argument for
	set_rotationx() to avoid gtk-doc complaining

	* clutter/clutter-main.h:
	* clutter/clutter-main.c:
	(clutter_set_motion_events_enabled): Rename for consistency

	(clutter_get_motion_events_frequency),
	(clutter_set_motion_events_frequency): Add accessors for the default
	motion events deliver frequency.
	
	(clutter_do_event): Throttle down motion events delivery using the
	motion events frequency setting, to avoid excessive redraws. (#608)

	(clutter_context_get_default): Enable per-actor motion events, at
	least for now.

	* tests/test-events.c (red_button_cb):
	* tests/test-grab.c (green_press_cb): Update.
2007-11-19 16:30:56 +00:00
Emmanuele Bassi
976df38630 2007-11-19 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-timeline.c (timeline_timeout_func): Do not emit the
	::new-frame signal twice for the last frame. (#531)
2007-11-19 15:25:56 +00:00
Øyvind Kolås
990d0e90a5 * clutter/clutter-actor.[ch]: (clutter_actor_set_rotationx),
(clutter_actor_set_rotation): swapped axis and angle around,
the new argument order is: (axis, angle, x, y, z). Also removed
deprecated rotation functions from header.
Updated use of clutter_actor_set_rotation? in the following files:
* clutter/clutter-behaviour-rotate.c: 
* clutter/clutter-effect.c: 
* tests/test-actors.c: 
* tests/test-project.c:
2007-11-19 11:43:20 +00:00
Emmanuele Bassi
521162a01c 2007-11-19 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-label.[ch]: Constify the color argument
	for the ClutterLabel ctor. (#604)
2007-11-19 00:02:13 +00:00
Matthew Allum
382852f921 2007-11-18 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        * clutter/clutter-group.c:
        * clutter/clutter-main.c:
        * clutter/clutter-stage.c:
        * tests/test-events.c:
        Parent Actors no longer need to be set reactive for reactive
        children to get events. Also makes groups now pickable.
        (#597, #423)

        * clutter/clutter-texture.c:
        Handle case when 1x1 tiled texture is created,
        falling 'back' to being non tiled. (#596)

        * clutter/eglx/clutter-backend-egl.c:
        Call EglTerminate on backend shutdown.
2007-11-18 23:24:55 +00:00
Emmanuele Bassi
8580a97b4b 2007-11-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.pc.in: Bump up glib-2.0 dependency.
2007-11-18 23:14:30 +00:00
Emmanuele Bassi
fd0e52848b 2007-11-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model.c: Add gtk-doc section for
	ClutterModelIter

	* clutter/clutter-script.h: Fix argument name.

	* clutter/x11/clutter-x11.h:
	* clutter/x11/clutter-event-x11.c:
	* clutter/x11/clutter-backend-x11.c: Document functions and
	types.
2007-11-18 15:41:47 +00:00
Emmanuele Bassi
7495848f14 2007-11-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.symbols: Update exported symbols.

	* clutter/clutter-actor.[ch]: Remove clutter_actor_rotate_*
	and clutter_actor_get_rx* and provide a simpler rotation API:
	clutter_actor_set_rotation() and clutter_actor_get_rotation().

	* clutter/clutter-deprecated.h: Deprecate the old rotation API.

	* clutter/clutter-behaviour-bspline.c:
	* clutter/clutter-behaviour-rotate.c:
	* clutter/clutter-effect.c: Update internal usage of the
	rotation API.

	* tests/test-project.c: Ditto as above.
2007-11-18 15:36:04 +00:00
Emmanuele Bassi
b7a79cf198 2007-11-17 Emmanuele Bassi <ebassi@openedhand.com>
Optimise Atoms usage in the X11 and X11-based backends.

	* clutter/x11/clutter-backend-x11.c:
2007-11-17 18:11:14 +00:00
Emmanuele Bassi
7794bb561e 2007-11-17 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Depend on GLib >= 2.14 because of ClutterModel
	usage of GSequence.
2007-11-17 17:07:35 +00:00
Øyvind Kolås
3c0897a102 * clutter/clutter-main.c: (emit_event): renamed from deliver_event,
(emit_pointer_event): utility function to emit pointer event signals
(which takes pointer grab into account).
(emit_keyboard_event): utility function to emit keyboard event signals
(which takes keyboard grab into account).
(clutter_do_event): use the above utility functions, also reindented
the source.
2007-11-16 13:41:07 +00:00
Øyvind Kolås
8339cf3fce * tests/test-grab.c: (main): fix use of clutter_actor_set_reactive 2007-11-16 13:40:43 +00:00
Øyvind Kolås
3b4f603368 * clutter/clutter-main.[ch]: added clutter_grab_keyboard,
clutter_ungrab_keyboard and clutter_get_keyboard_grab, in
clutter_do_event deliver keyboard related events only to the
actor with the keyboard grab if a grab exists.
* clutter/clutter-private.h: added keyboard_grab_actor to context.
* tests/test-grab.c: added testing for testing the keyboard grab.
2007-11-15 18:00:24 +00:00
Emmanuele Bassi
c640b05182 2007-11-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-texture.c:
	(clutter_texture_request_coords), (clutter_texture_class_init),
	(clutter_texture_init): Unset :sync-size if explicitly setting
	the texture size. (#616)
2007-11-15 17:38:40 +00:00
Emmanuele Bassi
75d186c3f9 2007-11-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.[ch]: Massive API clean-ups. Initial
	fixes for bugs #614 and #628.

	* clutter/clutter-main.c:
	* clutter/clutter-stage.c: Update internal usage of the actor
	API.

	* tests/test-events.c: Update test suite.
2007-11-15 17:35:47 +00:00
Øyvind Kolås
266315c486 * clutter/clutter-main.c: (generate_enter_leave_events),
(clutter_do_event): moved the generation of enter/leave events
to a utility function.
2007-11-15 17:30:30 +00:00
Neil J. Patel
35cecde0c8 2007-11-15 Neil J. Patel <njp@o-hand.com>
* clutter/clutter-model.c:
	Added some more examples to the documentation, plus explained how the
	iters work internally.
2007-11-15 17:10:12 +00:00
Øyvind Kolås
53ec33f34c * clutter/clutter-main.[ch]: added clutter_grab_pointer,
clutter_ungrab_pointer and clutter_get_pointer_grab, in
clutter_do_event deliver pointer related events only to the
actor with the pointer grab if a grab exists.
* clutter/clutter-private.h: added pointer_grab_actor to context.
* tests/Makefile.am:
* tests/test-grab.c: added test for testing the pointer grab.
2007-11-15 17:08:48 +00:00
Emmanuele Bassi
0d082df3a5 2007-11-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-timeline.[ch]: Add ClutterTimeline:direction
	property, defining the direction (forward or backward) of the
	timeline.

	* tests/test-timeline.c: Test the direction property.

	* clutter.symbols: Update exported symbols
2007-11-15 17:03:55 +00:00
Emmanuele Bassi
768d85dcea 2007-11-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-effect.h:
	* clutter/clutter-effect.c:
	(clutter_effect_template_new_for_duration): Add a simple constructor
	for implicitly creating a ClutterTimeline with a given duration.
2007-11-15 15:38:04 +00:00
Emmanuele Bassi
960619b9e3 2007-11-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.symbols: Update with the new public symbols

	* clutter/clutter-script.h:
	* clutter/clutter-script-private.h:
	* clutter/clutter-script.c:
	(parse_signals), (json_object_end),
	(signal_info_free), (object_info_free): Parse the "signals"
	member for GObjects.

	(clutter_script_connect_signals),
	(clutter_script_connect_signals_full): Add new API for autoconnecting
	signal handlers using the UI definition files.

	* tests/test-script.c:
	* tests/test-script.json: Test signal autoconnection.
2007-11-15 15:24:43 +00:00
Matthew Allum
885adf33e6 fix foobar of last commit in source rather than root dir 2007-11-15 15:18:07 +00:00
Matthew Allum
3607a470aa 2007-11-15 Matthew Allum <mallum@openedhand.com>
* clutter/Makefile.am:
        * clutter/eglx/Makefile.am:
        * clutter/eglx/clutter-backend-egl.c:
        * clutter/eglx/clutter-backend-egl.h:
        * clutter/eglx/clutter-eglx.h:
        * clutter/eglx/clutter-event-egl.c:
        * clutter/eglx/clutter-stage-egl.c:
        * clutter/eglx/clutter-stage-egl.h:
        * clutter/glx/Makefile.am:
        * clutter/glx/clutter-backend-glx.c:
        * clutter/glx/clutter-backend-glx.h:
        * clutter/glx/clutter-event-glx.c:
        * clutter/glx/clutter-glx.h:
        * clutter/glx/clutter-stage-glx.c:
        * clutter/glx/clutter-stage-glx.h:
        * clutter/x11/Makefile.am:
        * clutter/x11/clutter-backend-x11-private.h:
        * clutter/x11/clutter-backend-x11.c:
        * clutter/x11/clutter-backend-x11.h:
        * clutter/x11/clutter-event-x11.c:
        * clutter/x11/clutter-stage-x11.c:
        * clutter/x11/clutter-stage-x11.h:
        * clutter/x11/clutter-x11.h:
        Create a new X11 backend class of which EGL and GLX 'real' backends
        then subclass. Effectively shares all X11 code between both backends
        avoids code duplication and brings many missing features to EGL X
        backend. Requires some cleanup and testing. (#518)

        * clutter/cogl/gles/cogl.c: (cogl_color):
        Add define to use color4ub only if configure finds it.
        If not fall back to old code.

        * configure.ac:
        Drop support for vincent checks.
        Drop sdles backend.
        Specifically check for color4ub call.
2007-11-15 14:45:27 +00:00
Neil J. Patel
70e09ab9df 2007-11-15 Neil J. Patel <njp@o-hand.com>
* clutter/Makefile.am:
	* clutter/clutter-model.c: 
	* clutter/clutter-model.h:
	* clutter/clutter.h:
	* tests/Makefile.am:
	* tests/test-model.c:
	Merged ClutterModel, which closes #443.
2007-11-15 10:02:25 +00:00
Emmanuele Bassi
baad0f5b0d 2007-11-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-clone-texture.c (set_parent_texture): Hide the
	clone texture only if it was visible, and show it again if we
	are adding a visible texture.

	* tests/test-script.json: Test the CloneTexture actor.
2007-11-14 13:36:31 +00:00
Emmanuele Bassi
4de1adb04a 2007-11-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.[ch]: Rename clutter_actor_get_id() to
	clutter_actor_get_gid().

	(clutter_actor_set_parent): Use GUINT_TO_POINTER().

	* clutter/clutter-deprecated.h: Add a replacement warning for
	clutter_actor_get_id().

	* clutter/clutter-texture.c (texture_upload_data): Use
	clutter_actor_get_gid(), and don't leak the filename string.
2007-11-14 11:43:18 +00:00
Emmanuele Bassi
b0e169d73c 2007-11-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-scriptable.[ch]: Rename ::set_name and ::get_name
	to ::set_id and ::get_id, to avoid potential confusion with the
	ClutterActor:name property.

	* clutter/clutter-script.h:
	* clutter/clutter-script.c (clutter_script_construct_object): Use
	clutter_scriptable_set_id().

	(clutter_get_script_id): Add a public function to retrieve the ID
	used in the UI definition files from an object.

	* clutter/clutter-actor.c: Do not set the name of the actor with
	the ID set in the UI definition files.

	* tests/test-script.c: Test clutter_get_script_id().

	* clutter.symbols: Update with the new symbols.
2007-11-14 11:32:24 +00:00
Emmanuele Bassi
bbf57ee461 2007-11-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/cutter-deprecated.h: Don't let everyone know from where
	we have stolen^Wtaken inspiration for the deprecation warnings.
2007-11-14 11:00:01 +00:00
Øyvind Kolås
e4deda095c * clutter/clutter-behaviour-bspline.[ch]:
Replaced clutter_behaviour_bspline_append with
clutter_behaviour_bspline_append_knots. Fixes bug #582.
* clutter/clutter-deprecated.h: added deprecation macro reflecting the
API change.
2007-11-13 14:12:51 +00:00
Øyvind Kolås
99370d1e0c * clutter/Makefile.am:
* clutter/clutter.h: include clutter-deprecated.h
* clutter/clutter-deprecated.h: added file containing macros that
provides more meaningful errors when compiling clutter using code that
uses deprecated functions.
2007-11-13 14:06:19 +00:00
Øyvind Kolås
0dee5eaac3 Renamed all properties of behaviours (and related
functions/variables/parameters)
to match the pattern something-start, something-end. Fixes bug #577.
* clutter/clutter-behaviour-depth.c:
* clutter/clutter-behaviour-depth.h:
* clutter/clutter-behaviour-ellipse.c:
* clutter/clutter-behaviour-ellipse.h:
* clutter/clutter-behaviour-path.c: 
* clutter/clutter-behaviour-rotate.c:
* clutter/clutter-behaviour-rotate.h:
* clutter/clutter-behaviour-scale.c:
* clutter/clutter-behaviour-scale.h:
* clutter/clutter-effect.c: 
* clutter/clutter-effect.h:
* clutter/clutter-script.c:
* tests/test-depth.c: 
* tests/test-script.c:
2007-11-13 13:21:56 +00:00
Øyvind Kolås
95338ba67b * clutter/clutter-event.h: made ClutterEventAny have a source field,
rearanged other structs to have source in the same position.
* clutter/clutter-event.c: (clutter_event_get_source): modified to use
the any event.
(clutter_event_free): removed unused variable.
* clutter/clutter-main.c: (deliver_event), (clutter_do_event): reduced
amount of code. As well as deliver button-release events to the stage.
2007-11-12 19:12:02 +00:00
Robert Bradford
222b012014 2007-11-08 Rob Bradford <rob@openedhand.com>
* clutter/glx/clutter-glx.h:
	Include <X11/Xutil.h> needed for the definition of XVisualInfo.
2007-11-08 21:36:14 +00:00
Robert Bradford
6997c45f84 2007-11-08 Rob Bradford <rob@openedhand.com>
* clutter/cogl/gles/cogl.c: (cogl_color):
	Switch over to using glColor4ub in the GLES backend. It's available in
	the header file but missing in the reference manual.
2007-11-08 21:23:53 +00:00
Emmanuele Bassi
72ce4487f8 2007-11-07 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.[ch]: Fix the declaration of the
	class handlers for the ::captured-event, ::enter-event and
	::leave-event signals; the function signatures were missing
	the return value the signals marshallers were expecting, and
	their names weren't respecting the convention for event-related
	signals.
2007-11-07 16:40:30 +00:00
Tomas Frydrych
3b07be19ba 2007-11-06 Tomas Frydrych <tf@o-hand.com>
* clutter/clutter-fixed.h:
	Added CLUTTER_SQRTI_ARG_MAX, CLUTTER_SQRTI_5_PERCENT,
	CLUTTER_SQRTI_10_PERCENT expressing clutter_sqrti limits.
	Stripped trailing whitespace.

        * clutter/clutter-fixed.c:
	(clutter_sqrti):
	Updated documentation, stripped trailing whitespace.

        * clutter/clutter-behaviour-path.c:
	(node_distance):
	Use clib sqrt if clutter_sqrti() precission would be worse than
	10%.
	Stripped trailing whitespace.
2007-11-06 15:46:23 +00:00
Emmanuele Bassi
9461dd216b 2007-11-06 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-layout.h: Add commodity macros to test for
	a specific layout flag in one line.
2007-11-06 14:45:11 +00:00
Emmanuele Bassi
7ee405a8b0 2007-11-06 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-box.c (clutter_box_dispose): Call unparent()
	on the children, instead of destroy(), to avoid a double free
	and a crash when destroying a ClutterBox.
2007-11-06 14:36:28 +00:00
Emmanuele Bassi
b5afa2e6ec 2007-11-06 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-label.c: Break the references in ::dispose,
	and free the resources in ::finalize.
2007-11-06 14:35:22 +00:00
Øyvind Kolås
9047f9d2bc * clutter/clutter-container.[ch]: removed find_child_by_id method
from interface (and all implementations of it) since this
functionality is now implemented using a global hash.
* clutter/clutter-box.c: 
* clutter/clutter-group.c:
2007-11-05 17:12:11 +00:00
Emmanuele Bassi
8fde26cd81 2007-11-01 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script.c: Do not keep ownership of the
	pixbufs we load.
2007-11-01 17:53:10 +00:00
Øyvind Kolås
60a66695c6 * clutter/clutter-main.c: (_clutter_do_pick): disable dithering
when painting in pick mode.
2007-10-31 15:38:18 +00:00
Matthew Allum
ce0dd69b09 2007-10-31 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-score.c:
        Various minor improvements to ClutterScore.
2007-10-31 14:50:34 +00:00
Emmanuele Bassi
4b0139ce0e 2007-10-30 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-layout.c: Fix documentation, with regards to
	the containers handling of the children implementing the
	ClutterLayout interface.
2007-10-30 22:12:01 +00:00
Emmanuele Bassi
6fd7fbf460 2007-10-29 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac:
	* clutter/cogl/gl/cogl-defines.h.in: The OS X backend has a funny
	OpenGL header location, so it basically did break every application
	including clutter/cogl.h because the GL header inclusion depended
	on symbols defined into Clutter's config.h. Now, we define the
	GL header into the configure template and use it to create the
	cogl-defines.h file cogl.h includes.
2007-10-29 16:50:34 +00:00
Emmanuele Bassi
92d4481a68 2007-10-29 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/json/json-parser.c: Enable parsing of negative numbers;
	GScanner splits negative numbers into two tokens, so we need to
	special case them.
2007-10-29 16:45:25 +00:00
Emmanuele Bassi
6e5cded500 2007-10-29 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script.c: Add the :filename and :filename-set
	properties, to retrieve the path of the currently parsed file (if
	:filename-set is TRUE) from the ClutterScriptable implementations.
2007-10-29 15:57:59 +00:00
Matthew Allum
307305187a 2007-10-28 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-effect.c:
        Small doc fix (#584)
2007-10-28 21:57:04 +00:00
Matthew Allum
01fee601b5 add missing fixed bug nums to ChangeLog 2007-10-27 22:51:35 +00:00
Emmanuele Bassi
d42153dc69 2007-10-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/json/json-parser.c:
	(json_scanner_msg_handler): Set the GError to be returned by
	the parsing functions into the GScanner error message handler.

	(json_parser_object): Return the symbol token in case we have
	a parse error after the member name.

	(json_parser_load_from_data): Propagate the error set in the
	message handler, if any.

	* clutter/json/json-node.c (json_node_free): Unref the objects
	only if are set, to avoid a couple of needless criticals we
	get on error.

	* tests/test-script.json: More properties.
2007-10-27 19:49:39 +00:00
Emmanuele Bassi
35132fb5de 2007-10-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script.[ch]: Slight API change in the
	clutter_script_get_objects() function: now it takes
	object name/object return location pairs and returns the
	number of objects found and returned.

	* tests/test-script.c: Exercise the clutter_script_get_objects()
	function.
2007-10-27 19:08:59 +00:00
Emmanuele Bassi
ae7463cccf 2007-10-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-rectangle.c (clutter_rectangle_paint): Use
	CGL_ENABLE_BLEND flag instead of CGL_BLEND value. (#580,
	Gwenole Beauchesne)
2007-10-27 12:26:12 +00:00
Emmanuele Bassi
f36bee599c 2007-10-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-color.c (clutter_color_to_string): Update the
	documentation for the format of the returned string, and remove
	the note: now clutter_color_parse() can parse the string this
	function returns.
2007-10-27 12:14:18 +00:00
Emmanuele Bassi
cdb495d49a 2007-10-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/pango/pangoclutter-render.c: Last usage of guint
	replaced with COGLuint. (Tommi Komulainen)
2007-10-27 12:01:51 +00:00
Matthew Allum
737ac37f27 2007-10-26 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c:
        * clutter/cogl/cogl.h:
        * clutter/cogl/gl/cogl-defines.h:
        * clutter/cogl/gles/cogl-defines.h:
        * clutter/cogl/gl/cogl.c:
        * clutter/cogl/gles/cogl.c:
        Switch from use of guint to COGLuint. Avoids problems when
        guint != GLuint on some platforms, i.e OSX.
        (Tommi Komulainen, #526)

        * clutter/Makefile.am:
        * clutter/osx/Makefile.am:
        * clutter/osx/clutter-backend-osx.c:
        * clutter/osx/clutter-backend-osx.h:
        * clutter/osx/clutter-event-osx.c:
        * clutter/osx/clutter-osx.h:
        * clutter/osx/clutter-stage-osx.c:
        * clutter/osx/clutter-stage-osx.h:
        * configure.ac:
        Add initial Cocoa/OSX Backend (by Tommi Komulainen, see #526)
2007-10-26 22:06:45 +00:00
Emmanuele Bassi
b7b7c60e5f 2007-10-26 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-entry.c: Add a :x-align property for aligning
	the text in the entry, in case the actor is wider than the
	text it shows.
2007-10-26 15:56:17 +00:00
Emmanuele Bassi
7b6f602956 2007-10-26 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.c: Add a --clutter-default-fps run-time
	switch and CLUTTER_DEFAULT_FPS environment variable support for
	setting the default frame-rate at run-time.
2007-10-26 15:47:39 +00:00
Emmanuele Bassi
6ab8c4d28a 2007-10-26 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script.h:
	* clutter/clutter-script.c: Add a ::get_type_from_name() virtual
	function for bindings to override. The current implementation
	calls g_type_from_name() and our lazy class resolver.

	* clutter.symbols: Update.

	* doc/reference/clutter-sections.txt: Update.
2007-10-26 09:05:06 +00:00
Emmanuele Bassi
736bbfb713 2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-path.c: Reverse the list of
	parsed knots, to preserve the real ordering after prepending
	them (thanks to Øyvind for spotting this).

	* clutter/clutter-behaviour-bspline.c: Ditto as above.
2007-10-25 20:06:48 +00:00
Emmanuele Bassi
5a260b7ac3 2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script-parser.c: Unset the GValue when
	getting a ClutterUnit from a JSON node.
2007-10-25 15:14:06 +00:00
Emmanuele Bassi
7b242370f0 2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-bspline.c: Implement the
	ClutterScriptableIface to parse the custom "knots" property.
2007-10-25 15:05:19 +00:00
Emmanuele Bassi
14f1606d26 2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* tests/test-script.c:
	* tests/test-script.json: Rejig the test case and add a
	path behaviour to test the knot parsing code.
2007-10-25 14:46:02 +00:00
Emmanuele Bassi
adb5d0275f 2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/cogl/cogl.h: Do not include <clutter/clutter.h>.
2007-10-25 14:43:55 +00:00
Emmanuele Bassi
6738114bc2 2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-path.c: Implement the
	ClutterScriptableIface to parse the custom "knots" property.
2007-10-25 14:42:15 +00:00
Emmanuele Bassi
33ef32d7cd 2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-texture.c (clutter_texture_set_property): Do
	not try to set NULL pixbufs.
2007-10-25 14:37:41 +00:00
Emmanuele Bassi
f0f043cb19 2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Implement part of the ClutterScriptable
	interface, using the ClutterActor API to set and get the name
	of an actor.

	(clutter_geometry_copy), (clutter_geometry_free): Use
	the slice allocator to avoid fragmentation when setting
	properties and emitting signals (that is: when packing
	boxed types into GValues).

	(clutter_actor_box_copy), (clutter_actor_box_free),
	(clutter_vertex_copy), (clutter_vertex_free): Ditto.

	* clutter/clutter-actor.h:
	* clutter/clutter-actor.c:
	(clutter_actor_push_transform_child),
	(clutter_actor_pop_transfomr_child): Simple wrappers around
	COGL API, which avoid including clutter/cogl.h when writing
	container actors outside Clutter.
2007-10-25 14:36:37 +00:00
Emmanuele Bassi
6c01499abf 2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/Makefile.am:
	* clutter/clutter.h:
	* clutter/clutter-scriptable.[ch]: Add the ClutterScriptable
	interface; by implementing this interface, a class can
	override the UI definition parsing and transform complex data
	types into GObject properties, or allow custom properties.

	* clutter/clutter-script.c:
	* clutter/clutter-script-parser.c:
	* clutter/clutter-script-private.h: Rearrange the code and
	use the ClutterScriptable interface to parse and build the
	custom properties. This cleans up the code and also it makes
	it more reliable (the complex type parsing is now done using
	the target type and not just the name of the property).
2007-10-25 14:34:54 +00:00
Emmanuele Bassi
9c38eead46 2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-json.h: Header for including the JSON
	parsing and data types.

	* clutter/json/json-types.h: Add JSON_NODE_VALUE_TYPE() macro.

	* clutter/json/Makefile.am: Install the JSON headers into a
	private location. This might change in the future, and might
	also cause collisions if you're using JSON-GLib and Clutter
	at the same time, so be warned.
2007-10-25 14:32:29 +00:00
Emmanuele Bassi
eec01b6e73 Check width in ClutterLabel::request_coords
If we get a size requisition, and we have ellipsization active,
check if we are getting less space than what the layout needs
and recompute the width.
2007-10-22 15:47:07 +00:00
Emmanuele Bassi
509799fa0c Change the clutter_color_from_string() format
The format should be "%02x%02x%02x%02x" because we use guint8 for each
component, and not guint16. The string before was completely broken.
2007-10-22 15:46:56 +00:00
Emmanuele Bassi
e937961870 2007-10-19 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-entry.c (clutter_entry_paint): Fixed off by
	one error. (#566, Gwenole Beauchesne)
2007-10-19 10:15:57 +00:00
Øyvind Kolås
373da11329 * clutter/clutter-timeline.c: (clutter_timeline_set_duration):
rearranged arithemetic to allow specifying duration with sub second
precision (also enables durations smaller than one second).
2007-10-18 13:47:21 +00:00
Emmanuele Bassi
7d221b2ef1 Fix ChangeLog 2007-10-18 12:31:53 +00:00
Emmanuele Bassi
f1105807fb 2007-10-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script-private.h:
	* clutter/clutter-script.h:
	* clutter/clutter-script.c: Allow id-less objects: as long
	as they have a "type" member, a unique id will be provided.

	(json_object_end): Add merge id to the object information
	structure.

	(apply_behaviours), (add_children): Keep the unresolved
	objects around.

	(construct_stage), (clutter_script_construct_object): If an
	object has unresolved children or behaviours try resolving
	them when we ask for it.

	(json_parse_end), (clutter_script_ensure_objects): Ensure
	that the objects are fully constructed as best as we can when
	finished parsing.

	(object_info_free), (remove_by_merge_id):
	(clutter_script_unmerge_objects): Remove objects under the
	same merge id returned by the loading functions. (Fixes
	bug #558)
2007-10-18 12:31:07 +00:00
Matthew Allum
1ccbe04505 2007-10-18 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-score.c:
        * clutter/clutter-score.h:
        * tests/test-score.c:
        Implement more ClutterScore functionality.
2007-10-17 23:03:38 +00:00
Emmanuele Bassi
03fe64e8f8 2007-10-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	(clutter_actor_set_property), (clutter_actor_get_property),
	(clutter_actor_class_init): Add the :reactive property, to
	control reactiveness using the UI definition files.

	(clutter_actor_reparent): Do not assume the parent is a
	ClutterContainer, and call the container API only if needed.

	(clutter_actor_destroy): Remove from the parent if needed,
	just like the documentation says.
2007-10-17 16:43:46 +00:00
Øyvind Kolås
1a80c688fe * clutter/pango/pangoclutter-render.c: (tc_get): Provide for blank
rows/columns of pixels between adjecant glyphs in the texture cache to
avoid bilinear interpolation spillage at edges of glyphs.
2007-10-16 19:14:52 +00:00
Øyvind Kolås
a7fb3a78d2 * clutter/clutter-main.c: (clutter_do_event): allow motion events
only delivered to stage to be chaugt in the capture phase as well
as the bubbling phase.
2007-10-16 16:35:02 +00:00
Emmanuele Bassi
143a5937e2 2007-10-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/json/json-object.c: Automatically transform every
	delimiter into an underscore.

	* clutter/clutter-script.c: Implement the "parent_texture"
	property translation for ClutterCloneTextures, using the
	passed id of the parent texture.
2007-10-16 14:40:00 +00:00
Emmanuele Bassi
f6c83a224e 2007-10-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-timeline.[ch]: Added ClutterTimeline:duration,
	a property for setting the duration of a timeline in milliseconds.
	The property comes with accessors and a new constructor. The
	frame rate used is the default value.

	* clutter/clutter-private.h:
	* clutter/clutter-main.[ch]: Add clutter_get_default_frame_rate()
	and clutter_set_default_frame_rate(); these two functions control
	the default frame rate to be used when creating timelines. Currently
	is set to 60 frames-per-second.
2007-10-16 13:41:34 +00:00
Tomas Frydrych
05789582b4 2007-10-16 Tomas Frydrych <tf@o-hand.com>
* build/msvc_2k5:
        Added MSVC project files.
2007-10-16 10:18:36 +00:00
Emmanuele Bassi
5737a8b79a 2007-10-16 Emmanuele bassi <ebassi@openedhand.com>
* clutter/clutter-color.c: Copy the alpha when shading.
2007-10-16 09:39:15 +00:00
Tomas Frydrych
f8de77ac92 2007-10-16 Tomas Frydrych <tf@o-hand.com>
* clutter.symbols:
	Added a bunch of missing symbols.
	
	* clutter/clutter-script.c:
	* json/json-node.c:
	Use g_slice_new0 instead of g_slice_new to avoid passing garbage to functions.
	
	* tests/test-threads.c:
	Replaced non-portable sleep() with g_usleep().
2007-10-16 08:34:16 +00:00
Tomas Frydrych
922a7e4d21 2007-10-15 Tomas Frydrych <tf@o-hand.com>
* clutter/cogl/gl/cogl-defines.h:
	* clutter/cogl/gl/cogl.c:
	Fixed up GL include for windows.
2007-10-15 19:19:42 +00:00
Matthew Allum
dd99f024bf 2007-10-15 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        More events documentation.

        * clutter/clutter-event.c:
        * clutter/clutter-event.h:
        Add synthetic flag and make put_event use it
        (via modded patch from pippin)

        * clutter/clutter-main.c: (clutter_do_event):
        dont use put event anymore when pushing enter/leave events.
2007-10-15 16:50:59 +00:00
Emmanuele Bassi
2a891520fa 2007-10-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/pango/Makefile.am: Compile with the debug flags, if
	set.
2007-10-15 09:09:04 +00:00
Emmanuele Bassi
787de73486 2007-10-12 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.symbols: Remove non-public symbols.
2007-10-12 17:36:38 +00:00
Tomas Frydrych
ad80467d1c 2007-10-12 Tomas Frydrych <tf@o-hand.com>
* clutter.symbols:
	A list of public symbols, one per line; semi-autogenerated, so
	might not be complete -- PLEASE when adding new public APIs, add
	the function name to this file.
2007-10-12 15:16:22 +00:00
Emmanuele Bassi
12b9b3bbfc 2007-10-12 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Add a :depth property, so we can
	set the initial depth of an actor inside the UI definition
	files.
2007-10-12 12:42:54 +00:00
Tomas Frydrych
d9d10f4704 2007-10-12 Tomas Frydrych <tf@o-hand.com>
* tests/test-actors.c:
	When using MSVC, define _USE_MATH_DEFINES before including
	math.h, otherwise constants like M_PI will not be defined.
2007-10-12 10:02:28 +00:00
Emmanuele Bassi
abc529aaec 2007-10-12 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script.c (construct_timline),
	(parse_member_to_property): Transfer ownership of the
	implicit timelines to the behaviour, so that they get
	unreferenced when the behaviour is destroyed.

	(parse_member_to_property): Reverse the list of children
	and behaviours.
2007-10-12 09:43:27 +00:00
Tomas Frydrych
174bd04b49 2007-10-12 Tomas Frydrych <tf@o-hand.com>
Portability fixes:

	* clutter/clutter-private.h:
	Bracket #include "unistd.h" with #ifdef HAVE_UNISTD_H

	* clutter/clutter-fixed.c:
	Use "", not <> for inclusion of local files.

	(clutter_sqrtx): forward declare local variables.

	* clutter/clutter-debug.h:
	Added non-gcc (c99) implementation of variadic debug macros for
	when not compiling with gcc.

	* clutter/pango/pangoclutter-render.c:
	Fixed some strange uses of CLUTTER_NOTE() + stripped trailing
	whitespace.
2007-10-12 09:39:41 +00:00
Tomas Frydrych
abd6832dd9 2007-10-12 Tomas Frydrych <tf@o-hand.com>
* clutter/clutter-actor.c:
        * clutter/clutter-backend.c:
        * clutter/clutter-behaviour-depth.c:
        * clutter/clutter-box.c:
        * clutter/clutter-clone-texture.c:
        * clutter/clutter-container.c:
        * clutter/clutter-entry.c:
        * clutter/clutter-feature.c:
        * clutter/clutter-fixed.c:
        * clutter/clutter-group.c:
        * clutter/clutter-hbox.c:
        * clutter/clutter-label.c:
        * clutter/clutter-layout.c:
        * clutter/clutter-media.c:
        * clutter/clutter-rectangle.c:
        * clutter/clutter-score.c:
        * clutter/clutter-script.c:
        * clutter/clutter-stage.c:
        * clutter/clutter-texture.c:
        * clutter/clutter-timeline.c:
        * clutter/clutter-timeout-pool.c:
        * clutter/clutter-vbox.c:
        * clutter/cogl/gl/cogl.c:
        * clutter/cogl/gles/cogl.c:
        * clutter/eglnative/clutter-backend-egl.c:
        * clutter/eglnative/clutter-event-egl.c:
        * clutter/eglnative/clutter-stage-egl.c:
        * clutter/eglx/clutter-backend-egl.c:
        * clutter/eglx/clutter-event-egl.c:
        * clutter/eglx/clutter-stage-egl.c:
        * clutter/glx/clutter-event-glx.c:
        * clutter/json/json-array.c:
        * clutter/json/json-generator.c:
        * clutter/json/json-node.c:
        * clutter/json/json-object.c:
        * clutter/json/json-parser.c:
        * clutter/sdl/clutter-backend-sdl.c:
        * clutter/sdl/clutter-event-sdl.c:
        * clutter/sdl/clutter-stage-sdl.c:

	Fixedup config.h inclusion (must always be bracketed with #ifdef
	HAVE_CONFIG_H).
2007-10-12 08:17:00 +00:00
Tomas Frydrych
422c725a47 2007-10-11 Tomas Frydrych <tf@o-hand.com>
* clutter/clutter-entry.c:
	Avoid using C++ reserverd words to name variables.
2007-10-11 15:07:36 +00:00
Øyvind Kolås
914c930cee Improve the quality of text when the scale it is shown at screen is
smaller than the original, seems to work well down to about a scale
of 50%.
* clutter/pango/pangoclutter-fontmap.c:
(pango_clutter_font_map_default_substitute): turn off hinting.
* clutter/pango/pangoclutter-render.c: request linear filtering
instead of nearest neighbour when scaling down.
* tests/test-text.c: replaced test with a a test that renders a sample
grid with various pixel sizes and scales for visual inspection of
text rendering quality.
2007-10-11 12:18:01 +00:00
Emmanuele Bassi
52065e88bc 2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/glx/clutter-backend-glx.c: Fix documentation of the
	filter function API.

	* clutter/clutter-score.c:
	* clutter/clutter-effect.c:
	* clutter/clutter-actor.c: Documentation fixes.

	* clutter/clutter-actor.h: Automatically typecast to ClutterActor
	when setting/checking flags.
2007-10-10 16:02:54 +00:00
Emmanuele Bassi
261bc4c4f5 2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Beautify the ClutterActor documentation.
2007-10-10 14:51:25 +00:00
Emmanuele Bassi
717a82303a 2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Remove the ::event-after signal:
	three event layers to connect to seems a bit overkill.

	(clutter_actor_event): Return FALSE, not TRUE by default,
	as g_signal_emit() will change the return value if no
	handlers are connected

	* clutter/clutter-stage.c: Emit ::notify when we change
	the fullscreen property.

	* clutter/clutter-script.c: Add more documentation for the
	definition format and keywords.

	(translate_property): Collapse the G_TYPE_ENUM and G_TYPE_FLAGS
	cases into one, to simplify the code.

	* tests/test-script.c: Test enumeration conversion by using
	a value different from the default.
2007-10-10 14:29:29 +00:00
Matthew Allum
6216ce659c 2007-10-10 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        * clutter/clutter-event.c:
        * clutter/clutter-main.c:
        * tests/test-events.c:
        Add basic W3 DOM  event 'capture' like functionality.
2007-10-10 13:04:34 +00:00
Emmanuele Bassi
a4b7abd18e 2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script-private.h:
	* clutter/clutter-script.c: Parse flags like we parse enums.
2007-10-10 13:01:09 +00:00
Emmanuele Bassi
8b55030c14 2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/json/json-types.h:
	* clutter/json/json-array.c:
	* clutter/json/json-object.c: Resync with the upstream copy
	of JSON-GLib; add json_object_remove_member() and
	json_array_remove_element() and fix the g_hash_table_get_keys()
	replacement for GLib 2.12.

	* clutter/clutter-script.c: Clean up the complex properties
	parsing code.
2007-10-10 12:51:51 +00:00
Emmanuele Bassi
704aa0c6d7 2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script.c (json_object_end): Add "type_func"
	to the list of attributes we skip.
2007-10-10 10:44:45 +00:00
Emmanuele Bassi
7aa52af5dd 2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/json/json-parser.c: Use the commodity JsonNode API
	and accept bare values as root nodes.

	* clutter/clutter-script-private.h:
	* clutter/clutter-script.c: Unreference the created objects
	only if they are top-levels, like ClutterBehaviour and
	ClutterTimelines. Actors have floating references, so we
	just transfer ownership to their containers, and the stage
	is owned by the backend. Add the "type_func" key to the
	object definition, so the user can supply its own GType
	function if the class name doesn't follow the GObject rules.
	Document the ClutterScript public API.
2007-10-10 10:42:19 +00:00
Matthew Allum
8faf9b9964 2007-10-10 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        Add missing enter/leave event signals

        * clutter/clutter-main.c: (clutter_do_event):
        Set time in crossing events.
        Protect against do_pick() failing.
2007-10-09 23:45:49 +00:00
Emmanuele Bassi
475fcc64a7 2007-10-09 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script.c (resolve_alpha_func): Fix the
	ClutterAlphaFunc resolution function.
2007-10-09 20:04:23 +00:00