Commit Graph

727 Commits

Author SHA1 Message Date
Emmanuele Bassi
277d86f654 Preserve ordering when placing synthetic events in the queue
When we are in the the event translation function sometimes we need to
synthesise events: the double and triple click events are synthetic events
placed on the queue after a sequence of events has been received, for
instance.

Until now, the events were placed on the queue after the translation from
the native events was successful. This led to a loss of ordering because
we put the synthesised event on the queue before the last event that
triggered it.

This patch puts the events on the queue before translating them, with a
"pending" flag set; if the translation sequence is completed then the flag
is removed - otherwise the event is removed from the queue altogether. The
queue manipulation functions have been modified to ignore the "pending"
flag when looking for events.

This patch also adds a private structure overlayed on the ClutterEvent
struct so that we can extend the events with private data without exposing
it in the public API.
2007-08-21 15:48:13 +00:00
Emmanuele Bassi
886f47c94c Document ClutterStage properties
Add missing documentation for the ClutterStage properties and enable the
properties and signals in the gtk-doc API reference.
2007-08-21 15:47:51 +00:00
Tomas Frydrych
b1c040ce19 Fixes for 64-bit platforms; use of SSE builtin when available (patches by Gwenole Beauchesne). 2007-08-21 09:25:09 +00:00
Emmanuele Bassi
155c22b93a 2007-08-20 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/Makefile.am:
	* clutter/clutter-enum-types.h.in:
	* clutter/clutter-enum-types.c.in: Use template files for
	glib-mkenums; this makes the Makefile template a bit more
	clean and the enum types generation more customisable (e.g.
	when GLib 2.14 has been released, we can use g_once_init_enter()
	and g_once_init_leave() to have thread-safe GType functions
	for the enum types as well).
2007-08-20 20:16:15 +00:00
Emmanuele Bassi
7ab6f4e338 Relax the CLUTTER_CHECK_VERSION() macro check
The macro should check for a micro version greater or equal to the specified
micro version parameter. Fixes bug 477, patch by Neil Roberts.
2007-08-20 11:54:28 +00:00
Emmanuele Bassi
87d41ca788 Make gtk-doc produce the ClutterTimeline signals 2007-08-20 09:17:23 +00:00
Emmanuele Bassi
92910e3e2f Various fixes to ClutterTimeline
Emit the ClutterTimeline::new-frame signal only if we arrive there with an
active timeout source. Also, make sure to take a reference on the timeout
when emitting signals.

If the timeline is advancing of zero frames, bump it up to one frame. (bug
471, Rob Bradford)

If the user called clutter_timeline_pause() while in the ::new-frame handler
the timeout is removed and the timeline is reset, while the correct behaviour
should be to simply return. (#371, Johan Bilien)

If we skipped the last frames and we ended up over the frame number, emit
the ::new-frame signal with the last frame before emitting the ::completed
signal.

Remove the call to clutter_timeline_stop() when reaching the end of the
timeline: it was used just to remove the timeout source and it emitted the
::paused signal, which doesn't make any sense. Also rewind the timeline
after emitting the ::completed signal, so that calling get_current_frame()
in the ::completed signal handlers still work.
2007-08-19 19:09:20 +00:00
Emmanuele Bassi
c8a0faab73 No need to unref the ClutterAlpha in the effect closure
The ownership of the ClutterAlpha object is transferred to the ClutterBehaviour
used by the effect; we just need to unref the behaviour to make the alpha
object disappear.
2007-08-19 17:06:54 +00:00
Emmanuele Bassi
72ad55f677 Protect the version components 2007-08-19 17:06:41 +00:00
Emmanuele Bassi
5d0e16e2a9 Replace the note in clutter_do_event()
Use an EVENT note and not a SCHEDULER one.
2007-08-19 17:06:37 +00:00
Emmanuele Bassi
1a6deea7a7 Use g_list_insert_sorted() instead of our custom function
The clutter_timeout_pool_insert_sorted() function caused an inversion of
the timeout sources in the pool; this led to a wrong behaviour in the
execution of the timeout functions. See bug 471.

This patch drops clutter_timeout_pool_insert_sorted() in favour of the
standard g_list_insert_sorted(), which produces identical behaviours with
and without the pool.

A new test, written by Rob Bradford, has been added to the regression test
suite in order to identify sorting issues with the timeout pools.
2007-08-19 17:06:22 +00:00
Matthew Allum
5b3f06faac 2007-08-19 Matthew Allum <mallum@openedhand.com>
* clutter/eglx/clutter-event-egl.c: (clutter_event_dispatch):
        Fix clutter_thread typo (Kate Alhola)
2007-08-19 00:03:01 +00:00
Emmanuele Bassi
d0514f4de2 Fix clutter_behaviour_rotate_get_center()
Apply a patch from Neil Roberts (bug 468) that makes the get_center() method
of ClutterBehaviourRotate return the correct tuple of coordinates.

Also, fix some coding style issues and make sure to freeze and thaw the
GObject notification queue when emitting the notify signal on multiple
properties in one method.
2007-08-18 12:39:36 +00:00
Emmanuele Bassi
5cfac975d3 Update the Since version in the API that has been backported
Some of the API landed in trunk has been backported to the stable branch
after testing. This patch updates the Since: tag in the API reference to
reflect the time when the API was first added to a release.
2007-08-18 12:39:30 +00:00
Emmanuele Bassi
d7dc1d7c97 Add checks on the reactive accessors
Check for the parameter in the various "reactive" flag accessors.
2007-08-15 19:50:31 +00:00
Emmanuele Bassi
294ec333b7 Add clutter_effect_depth(), simple wrapper around the depth behaviour
This patch adds a new effect function, wrapping ClutterBehaviourDepth into
clutter_effect_depth().
2007-08-15 19:50:16 +00:00
Emmanuele Bassi
635b84971d Fix for the smoothstep alpha function
When computing the increasing smoothstep alpha value use the right type
for the results, to avoid overflowing the [0, 0xffff] range of the alpha
value.

Also use the right format when printing out the opacity and alpha values
in the opacity behaviour.
2007-08-15 13:29:43 +00:00
Emmanuele Bassi
ab948d577f Rename ClutterContainer raise() and lower() methods to avoid clashes
Language bindings will have problems with raise() and lower() bein in both
ClutterContainer and ClutterActor; hence, this patch renames
clutter_container_raise() and clutter_container_lower() to
clutter_container_raise_child() and clutter_container_lower_child(),
respectively.
2007-08-14 08:01:33 +00:00
Matthew Allum
8ad4dde16b 2007-08-13 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        * clutter/clutter-event.c:
        * clutter/clutter-event.h:
        * clutter/clutter-main.c:
        * clutter/clutter-main.h:
        * clutter/clutter-private.h:
        * clutter/clutter-stage.c:
        * clutter/clutter-stage.h:
        * clutter/clutter-types.h:
        Initial implementation of actors emmitting event signals (423);
        - Actors set_reactive() to receive mouse events.
          (call clutter_enable_motion_events() for per action motion events)
        - clutter_stage_set_key_focus () to direct key events.
        - Events bubble up to parents (ending at stage)
          (original source identified by clutter_event_get_source())
        TODO:
        - enter/leave notifys for actors.
        - stage specific events - fullscreen
        - grabs

        * tests/test-events.c:
        Extend a little to use new API

        * clutter/cogl/gl/cogl.c:
        * clutter/glx/clutter-backend-glx.c:
        Move get_proc_address into cogl and out of backend.
        (shaders will need it)

        * clutter/clutter-group.c: (clutter_group_real_lower):
        Fix a minor compile warning.

        * TODO:
        Sync up.
2007-08-13 20:48:01 +00:00
Emmanuele Bassi
143005bd79 Implement ::raise(), ::lower() and ::sort_depth_order() in ClutterBox
Provide the implementations of the newly added ClutterContainer virtual
functions inside ClutterBox.
2007-08-13 17:01:30 +00:00
Emmanuele Bassi
ad184c0fe3 Use the sibling to reinsert the actor at the right position
Fix a bug where we used the actor to reposition itself in the group. This
was probably masked by the sort_depth_order() call.
2007-08-13 17:01:25 +00:00
Emmanuele Bassi
adfa359e48 Add more checks to ClutterContainer::raise() and ::lower()
Check that the actors passed are actually children of the container,
as the implementations assume this.
2007-08-13 17:01:12 +00:00
Emmanuele Bassi
a60dcb9889 Make ClutterActor use ClutterContainer methods
Every direct reference to ClutterGroup has been removed, in favour of
ClutterContainer - which is the official way of creating container
actors as of 0.4.
2007-08-13 17:01:07 +00:00
Emmanuele Bassi
27ce96150e Move depth ordering methods from ClutterGroup to ClutterContainer
Since ClutterActor directly calls ClutterGroup methods we need ClutterContainer
to provide them, so that every container actor behaves the same way.

This patch makes ::raise, ::lower and ::sort_depth_order virtual functions
of the ClutterContainer interface, implemented by ClutterGroup.

The documentation has been added and deprecation warnings have been added
as well.
2007-08-13 17:00:58 +00:00
Emmanuele Bassi
9635f60064 Use clutter_container_find_child_by_id() when picking
ClutterStage now uses the newly added clutter_container_find_child_by_id()
function to find the right child in the scenegraph, using the picking id.

This fixes the test-boxes test case.
2007-08-13 17:00:52 +00:00
Emmanuele Bassi
57c0be73cd Implement ClutterContainer::find_child_by_id() in ClutterBox
Iterate (recursively) on the children of a box to find the one with the
given unique id.
2007-08-13 17:00:47 +00:00
Emmanuele Bassi
d9b421de40 Make ::find_child_by_id() a method of ClutterContainer
Finding a child by its ID is a method that should be used by every container
and not only by ClutterGroup. This is needed to actually fix the picking in
ClutterStage.
2007-08-13 17:00:37 +00:00
Matthew Allum
b5cc246f59 2007-08-12 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c: (texture_upload_data):
        Align texture data correctly for edge tiles.
        (#422 - Neil Roberts)
2007-08-12 21:30:14 +00:00
Emmanuele Bassi
68bbe4cd89 2007-08-12 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-timeout-pool.c: Fix removing and adding timeouts
	to the timeout pool during a dispatch of a timeout source already
	inside the pool. (#456, based on a patch by Neil Roberts)

	(clutter_timeout_dispatch), (clutter_timeout_pool_dispatch): Hold
	the main Clutter lock in the pool dispatch function, instead of
	the per-timeout dispatch; this guarantees that the ref+unref of
	the single timeouts are done under the main lock.
2007-08-12 13:19:31 +00:00
Matthew Allum
690d01367e 2007-08-11 Matthew Allum <mallum@openedhand.com>
Ported from 0.4 branch.

        * clutter/clutter-texture.c:
        Fix typo in clutter_texture_get_pixbuf (#458, #442?, Neil Roberts).
        Use take_object when getting pixbuf prop to avoid ref leak
2007-08-11 19:28:05 +00:00
Emmanuele Bassi
ffbf7b64ab 2007-08-09 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-box.c: Rename a variable to fix a compiler
	warning.
2007-08-09 13:24:42 +00:00
Emmanuele Bassi
5bf83b3f0a 2007-08-08 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-ellipse:
	(clutter_behaviour_ellipse_get_tiltx): Remove useless
	"Return" in the API documentation.
2007-08-08 23:23:18 +00:00
Emmanuele Bassi
fae203c1ea 2007-08-08 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-timeout-pool.c: Fix sorting of the pool
	when inserting and removing timeout sources. (#449, Neil
	Roberts)
2007-08-08 21:36:16 +00:00
Emmanuele Bassi
705f47783a 2007-08-08 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.c (clutter_get_timestamp): Remove
	the microseconds remainder, which is mostly useless. (#447)
2007-08-08 13:24:43 +00:00
Emmanuele Bassi
1639b7d0b8 2007-08-08 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.c (clutter_get_timestamp): Return the
	correct number of microseconds (#447, Neil Roberts)
2007-08-08 11:22:45 +00:00
Emmanuele Bassi
4befcd0a64 Merge clutter.git/threading branch 2007-08-08 10:20:14 +00:00
Emmanuele Bassi
0176d1c8a8 Protect the G_DISABLE_CAST_CHECKS define
When compiling with cast checks already disabled there's no need to
redefine this symbol.
2007-08-07 14:21:10 +00:00
Emmanuele Bassi
fffdeb64c7 Do not mask the y1 symbol exported by math.h
Do you ever wonder what would happen if glibc were a serious library
and not the joke it actually is?
2007-08-07 14:12:58 +00:00
Emmanuele Bassi
b8d6f3aaab Do not mask index in ClutterEntry 2007-08-07 14:07:39 +00:00
Emmanuele Bassi
f57edd70d3 Even more documentation fixes 2007-08-07 14:03:58 +00:00
Emmanuele Bassi
790ef05b46 More documentation fixes 2007-08-07 14:03:30 +00:00
Emmanuele Bassi
9686266fd3 Documentation fixes 2007-08-07 14:03:08 +00:00
Matthew Allum
3a8cc2226b 2007-08-07 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-behaviour-ellipse.c:
        Add a documentation note regarding ellipse setting
        the applied actors position.
2007-08-07 12:17:15 +00:00
Matthew Allum
363faccfd5 2007-08-07 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-fixed.c:
        * clutter/clutter-fixed.h:
        Add documentation.

        * clutter/cogl/gl/cogl.c: (cogl_perspective):
        Remove CFX_* shortened macros
2007-08-07 11:35:22 +00:00
Emmanuele Bassi
70c43c5a11 Remove unused clutter_threads_enter() and clutter_threads_leave()
The threads_enter() and threads_leave() functions are no-ops because Clutter
is not thread-aware nor thread-safe. Leaving them in is a source of confusion
so we just remove them.

Update the NEWS and the README files with the release notes.
2007-08-06 20:46:54 +00:00
Emmanuele Bassi
e548b53936 Add descriptions to ClutterBox and subclasses
Final touches to the ClutterBox implementation.
2007-08-06 19:37:55 +00:00
Emmanuele Bassi
0705948690 Match arguments, to make gtk-doc happy 2007-08-06 19:37:46 +00:00
Emmanuele Bassi
cc80f3bb68 Add NULL-check on the padding in clutter_box_pack() 2007-08-06 19:37:26 +00:00
Emmanuele Bassi
5c8d18e619 Add default padding to ClutterBox
To avoid using a ClutterPadding each time you add an actor to a ClutterBox
when you want the same padding around each child, you can now set the
default padding. The API is pixel-based, since it's a commodity function,
and will affect only clutter_box_pack_defaults().
2007-08-06 19:37:15 +00:00
Emmanuele Bassi
fb6d01cd76 Port ClutterVBox to the new ClutterBox implementation
Like ClutterHBox, ClutterVBox now takes into account the per-child
padding and the per-box margin.
2007-08-06 19:37:00 +00:00
Emmanuele Bassi
6005c0849d Port ClutterHBox to the new ClutterBox implementation
ClutterHBox now uses the padding associated to each packed child and uses
the margin associated to the box.
2007-08-06 19:36:43 +00:00
Emmanuele Bassi
a55cea7b2b Initialise the box allocation
We need the allocation to be < 0 for the subclasses to compute it
correctly the first time.
2007-08-06 19:36:39 +00:00
Emmanuele Bassi
54b77d12cd Update the ClutterBox API and structure
ClutterBox is meant to work like the HTML boxing model: it has a margin and
a backgrdound color, and every child actor is added with a pack type and a
padding. The ClutterBoxChild structure holds the child actor, the padding,
the packing type and the allocated coordinates for the actor.
2007-08-06 19:36:27 +00:00
Matthew Allum
b3c8ff186c 2007-08-06 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c:
        Correct set pixbuf property as GDK_TYPE_PIXBUF
        (fix via Neil Roberts)
2007-08-06 12:48:13 +00:00
Matthew Allum
7949cfe30a 2007-08-06 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-behaviour-depth.c:
        Modify to work like all other behvaiours in not forcing
        increasing order in behaviour 'limits'. (#436)
        Rename limit min/max props to start/end.

        * tests/test-depth.c:
        Simplify test-case to work with above change and
        without multiple ramps

        * clutter/clutter-behaviour-rotate.c:
        Handle CW rotation when end > start and similar for CCW just
        like ellipse behaviour.
2007-08-05 23:13:27 +00:00
Matthew Allum
e1d439f9c9 2007-08-05 Matthew Allum <mallum@openedhand.com>
* README:
        * clutter/clutter-actor.c:
        Document show/hide_all behaviour correctly.
2007-08-05 13:37:49 +00:00
Emmanuele Bassi
f13707632c 2007-08-05 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-depth.c: Fix typo in the description.
2007-08-05 09:46:01 +00:00
Emmanuele Bassi
679ce128e4 2007-08-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-depth.c: Clarify the depth behaviour
	even more in the description used by the API reference.
2007-08-04 09:42:01 +00:00
Emmanuele Bassi
46506cb93e 2007-08-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-depth.c: Clarify that what drives
	the movement along the Z axis is the ClutterAlpha object (we
	don't have the luxury of a rollover like the opacity does);
	so, if you want to go from 0 to -100 you have to use a
	decreasing function, just as well if you want to go from 100
	to 0. Using a min-depth of 100 and a max-depth of 0 and an
	increasing function is undefined behaviour.

	* tests/Makefile.am:
	* tests/test-depth.c: Add a test case for the depth behaviour.
2007-08-04 08:59:18 +00:00
Emmanuele Bassi
7cd4ee0517 2007-08-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c (clutter_actor_set_opacity): Queue
	a redraw when setting the opacity of an actor.
2007-08-04 07:55:55 +00:00
Emmanuele Bassi
f32dca44e2 2007-08-03 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-ellipse.c:
	(clutter_behaviour_ellipse_get_angle_tilt): Avoid recursion
	by fixing a typo.

	(clutter_behaviour_ellipse_get_angle_begin),
	(clutter_behaviour_ellipse_get_angle_end): Correct the angles
	here too.

2007-08-03  Emmanuele Bassi  <ebassi@openedhand.com>
2007-08-03 15:40:11 +00:00
Emmanuele Bassi
ac5ca04fa5 2007-08-03 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-ellipse.c:
	(clutter_behaviour_ellipse_get_property): Do not forget to
	correct the angles when returning them.
2007-08-03 15:18:43 +00:00
Tomas Frydrych
b368f1833a added direction paramenter to clutter_behaviour_ellipse_new (), made direction to be respected, unclamped angle values 2007-08-03 09:52:52 +00:00
Emmanuele Bassi
4ccfc2daa2 2007-08-02 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/eglnative/clutter-backend-egl.c:
	* clutter/eglx/clutter-backend-egl.c:
	* clutter/sdl/clutter-backend-sdl.c: Set the default resolution
	as 96.0 dpi for every backend (we already were under this
	assumption anyway, and this makes it easier to change this
	setting per-backend).

	* clutter/pango/pangoclutter-fontmap.c:
	* clutter/pango/pangoclutter.h: Allow setting the resolution
	for the PangoClutterFontMap object and provide the implementation
	for the PangoFcFontMap::get_resolution() virtual function. This
	allows to set the resolution of the PangoContext when retrieving
	it.

	* clutter/clutter-label.c (clutter_label_init): Set the
	resolution of the font map with the one the backend gives us.

	* clutter/clutter-entry.c (clutter_entry_init): Ditto.
2007-08-02 09:58:18 +00:00
Emmanuele Bassi
337571a805 2007-08-02 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-color.c (clutter_color_subtract): Invert the
	operands and match what the function says it does.
2007-08-02 07:40:58 +00:00
Matthew Allum
a6a998e4d8 2007-08-01 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-color.c: (clutter_color_from_pixel):
        Fix typo in alpha channel extraction (#434)
2007-08-01 22:09:33 +00:00
Emmanuele Bassi
fbadfa1a6b 2007-08-01 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.[ch]: Add floating-point variant of the
	clutter_actor_get_r[xyz]angx() functions.
2007-08-01 13:11:43 +00:00
Emmanuele Bassi
4170d7cc43 2007-07-31 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-stage.[ch]: Fix clutter_stage_set_user_resizable()
	name, and add a getter for the property.

	* clutter/glx/clutter-stage-glx.c: Use the accessor, not
	g_object_get() to retrieve the value of the resizable property.
2007-07-31 17:01:52 +00:00
Emmanuele Bassi
6145261040 Fix previous commit 2007-07-31 16:53:17 +00:00
Emmanuele Bassi
dd93a0a13c 2007-07-31 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-backend.[ch]: Add clutter_backend_set_resolution()
	and clutter_backend_get_resolution(); backends should use the former
	to set the resolution of the display when initialising, while actors
	should use the latter when sizing themselves depending on the
	resolution or the font size.

	* clutter/glx/clutter-backend-glx.c: Set the resolution as 96 dpi
	as a default and query the X server when opening the display.

	* clutter/clutter-entry.c: Drop the hardcoded dpi value and use
	clutter_backend_get_resolution() to compute the default size.
2007-07-31 10:38:23 +00:00
Emmanuele Bassi
cae72ec419 2007-07-31 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-entry.c (clutter_entry_init): Set the default
	size of the entry based on the size of the default font. (#414).
2007-07-31 08:28:17 +00:00
Emmanuele Bassi
4c5e32ad05 2007-07-31 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/sdl/clutter-backend-sdl.c: Fix a typo in
	clutter_backend_sdl_get_features() (#426, Pan Bohui)
2007-07-31 07:58:35 +00:00
Tomas Frydrych
936fea0b37 Fixed invalid assumption about z cooordiance in calculation of
tilt in y axis.
2007-07-30 16:09:40 +00:00
Tomas Frydrych
2cc4a23820 Fixed incorrect order of modelview matrix stacking while calculating actor vertices. 2007-07-30 07:27:14 +00:00
Matthew Allum
459e8a0a9d 2007-07-30 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-backend.h:
        Remove #if 0's old backend_api
        (generating uneeded documentation)
2007-07-29 23:24:13 +00:00
Matthew Allum
0151f842d7 2007-07-30 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c:
        Fix re-relisation for large tiled textures.
        * tests/test-textures.c: (main):
        Add a show/hide to trigger above (see #442)
2007-07-29 22:55:04 +00:00
Emmanuele Bassi
249ada48bc 2007-07-29 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-types.h: Document ClutterGravity enumeration
	and remove the only incomplete symbol of the api reference. Now
	we are up to 79% documented symbols.
2007-07-29 09:19:37 +00:00
Emmanuele Bassi
84050c842c 2007-07-29 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-media.c: Document ClutterMedia signals;
	replace the implementation of clutter_media_set_filename() with
	something a wee bit more robust (and portable) than a sprintf().
2007-07-29 09:11:57 +00:00
Emmanuele Bassi
0d287fc4d4 2007-07-29 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-ellipse.c: Documentation
	fixes; kill some indirections; freeze the notification
	queue when (potentially) emitting multiple notify
	signals.

	* clutter/clutter-alpha.h: Remove the unused macro
	CLUTTER_TYPE_SMOOTHSTEP.
2007-07-29 08:54:24 +00:00
Emmanuele Bassi
ad64200aa7 2007-07-28 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.[ch]: Use GInitiallyUnowned
	as the parent structure in the ClutterActor structure
	definition; somehow, this has escaped everyone attention
	in one year and a half. Luckily, GInitiallyUnowned is
	as big as GObject.
	 
	 (clutter_actor_get_abs_position_units),
	 (clutter_actor_get_abs_position): Check parameters.

	 * clutter/clutter-texture.h: Unmangle the flags enum
	 type declaration, so that dumb parsers like h2defs.py
	 are not fooled.

	 * clutter/clutter-behaviour-ellipse.[ch]:
	 * clutter/clutter-effect.c: Fix some documentation
	 issues and make gtk-doc happy.
2007-07-28 17:11:39 +00:00
Tomas Frydrych
aed6a0cbe2 pruned ClutterBehaviourEllipse api 2007-07-27 13:44:42 +00:00
Tomas Frydrych
e17173edb4 ClutterBehaviourEllipse: allow tilt in all three axis 2007-07-27 08:18:41 +00:00
Matthew Allum
e0e27baf35 2007-07-26 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-feature.h:
        Add new stage feature flags and document.

        * clutter/eglnative/clutter-backend-egl.c:
        * clutter/eglx/clutter-backend-egl.c:
        * clutter/sdl/clutter-backend-sdl.c:
        Set new feature flags.

        * clutter/glx/clutter-backend-glx.c:
        * clutter/glx/clutter-stage-glx.c:
        * clutter/clutter-stage.c:
        * clutter/clutter-stage.h:
        Add a 'user_resizeable' setting to the backend and implement
        for glx backend.
2007-07-26 20:08:09 +00:00
Emmanuele Bassi
5724178685 Miscellaneous fixes to make gtk-doc scanner happy 2007-07-26 15:14:45 +00:00
Emmanuele Bassi
6033f7e2e3 Add missing documentation
Document ClutterGravity, ClutterRotateAxis and ClutterRotateDirection.
2007-07-26 15:05:41 +00:00
Tomas Frydrych
de27074b48 cleanup some trailing whitespace 2007-07-26 13:48:58 +00:00
Tomas Frydrych
43854a3e0a fixed ClutterBehaviourEllipse angle setters; updated ChangeLog 2007-07-26 13:48:50 +00:00
Tomas Frydrych
f1b27d9e1b added direction property to ClutterBehaviourEllipse 2007-07-26 13:48:44 +00:00
Emmanuele Bassi
b7e063c3ce Add a header for common types to avoid inclusion hell
This patch adds clutter-types.h, a header file containing some common
structures and enums, shared by different objects.
2007-07-26 13:13:23 +00:00
Emmanuele Bassi
7c29e3edbe Do not forget to initialise the priv pointer 2007-07-26 13:13:19 +00:00
Neil J. Patel
c1e84a8f3a 2007-07-26 Neil J. Patel <njp@o-hand.com>
* clutter/clutter-entry.c: (offset_to_bytes),
	(clutter_entry_ensure_cursor_position),
	(clutter_entry_new_with_text), (clutter_entry_new),
	(clutter_entry_insert_unichar), (clutter_entry_delete_chars):
	Fixed utf8 support so it actually works now, for both inserting and deleting
	chars.
	Fixed positioning of cursor for utf8 chars. Both GString and Pnago need
	bytes (not documented!) for string manipulation, so making sure all values
	were bytes and not char positions fixed the issue.
	Set a default size of 50x50 for the entry, otherwise no chars can be seen
	if the size is not set after creation (which confuses the developer).
2007-07-26 11:31:50 +00:00
Emmanuele Bassi
6b00d10549 Check for 0 frames per seconds
ClutterTimeline with zero frames per seconds are not allowed as well.
2007-07-26 11:28:30 +00:00
Emmanuele Bassi
34a119f8a7 Do not allow zero as number of frames in ClutterTimeline
A timeline with no frames is not valid, so we simply disallow setting
ClutterTimeline:num-frames to 0.
2007-07-26 11:28:25 +00:00
Emmanuele Bassi
454e493197 Fix various compiler warnings
Most of these fixes are simple symbol shadowing issues, like index and the
braindead y0 and y1 extern symbols exported by math.h on GNU libc systems.

There is a masking issue in ClutterTexture which should be checked; I ran
the tests and everything looked fine.

The rest are just unused variables.
2007-07-26 11:04:04 +00:00
Matthew Allum
73ff6900d0 2007-07-25 Matthew Allum <mallum@openedhand.com>
* Makefile.am:
        * HACKING:
        Add with initial notes on coding bits and bobs.

        * clutter/clutter-behaviour-scale.c:
        Doc fixes.

        * clutter/clutter-event.c: (clutter_event_put):
        Doc fixes.

        * clutter/glx/clutter-stage-glx.c:
        Disable wm user resizing of stage (At least for now)
        Doc fixes.
2007-07-25 22:09:53 +00:00
Tomas Frydrych
5b92cc21cb fixed endianness issue in fast fp conversions 2007-07-25 18:34:05 +00:00
Tomas Frydrych
2c97bdf456 added --disable-fast-fp-converions configure option 2007-07-25 18:17:13 +00:00
Emmanuele Bassi
a57acd0275 2007-07-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-label.[ch]: Ouch, clutter_label_get_alignment()
	returns a PangoAlignment, not a boolean.
2007-07-25 14:25:01 +00:00
Emmanuele Bassi
06c5bf1199 2007-07-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour.h:
	* clutter/clutter-behaviour.c: Rename clutter_behaviour_clear()
	to clutter_behaviour_remove_all() to avoid method clashes in
	bindings.
2007-07-25 13:12:24 +00:00
Emmanuele Bassi
c72ab1f081 2007-07-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-bspline.c: Kill off some deep pointer
	indirections; use CLUTTER_NOTE() instead of ifdeffed out g_debug();
	add checks in every public entry point; move some initialisations
	of private data structures out of the constructor and into the
	init function, where they belong.
2007-07-25 12:54:30 +00:00
Matthew Allum
c27b00d7ef 2007-07-25 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-behaviour-rotate.c:
        * clutter/clutter-behaviour-rotate.h:
        Split 'center' prop into 3 seperate props for each axis.
        Use clutter_behaviour_actors_foreach() rather than
        clutter_behaviour_get_actors() to avoid copying list.
        Call fixed point rotation funcs internally.

        * clutter/clutter-effect.c:
        * clutter/clutter-effect.h:
        Add new simple rotation based effect funcs.
2007-07-25 12:17:44 +00:00
Emmanuele Bassi
b43f0994ca 2007-07-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter.h: Include clutter-behaviour-depth.h
2007-07-25 10:36:19 +00:00
Emmanuele Bassi
403f0bdb2f 2007-07-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-rotate.[ch]: Add a center property
	for the center or rotation; implement the set_bounds() methods.
2007-07-24 22:32:37 +00:00
Emmanuele Bassi
3db49c4f12 2007-07-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/eglx/clutter-backend-egl.c:
	* clutter/eglnative/clutter-backend-egl.c:
	* clutter/sdl/clutter-backend-sdl.c: Destroy the stage in every
	backend.
2007-07-24 19:03:04 +00:00
Emmanuele Bassi
107f6112cd 2007-07-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/glx/clutter-backend-glx.c: Destroy the stage, don't
	just unref it.
2007-07-24 18:59:25 +00:00
Emmanuele Bassi
5f9944fd84 2007-07-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.c: Add debug markers.
2007-07-24 17:39:40 +00:00
Emmanuele Bassi
a87ede2e12 2007-07-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-texture.[ch]: Add a ClutterTextureError
	to be returned by the loader functions; use the GObject API
	to allocate the private data structure instead of managing it
	ourselves; add documentation.
2007-07-24 17:38:35 +00:00
Emmanuele Bassi
a37f537cd0 2007-07-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	* clutter/clutter-box.h:
	* clutter/clutter-stage.c: Documentation fixes.
2007-07-24 17:34:06 +00:00
Matthew Allum
8e749f599d 2007-07-24 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gl/cogl-defines.h:
        Add  CGL_UNSIGNED_INT_8_8_8_8_REV (for big endian machines)
2007-07-24 16:50:34 +00:00
Matthew Allum
23c50938da 2007-07-24 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gl/cogl-defines.h:
        Another GL_TEXTURE_RECTANGLE_ARB related fix (#404)
2007-07-24 16:42:50 +00:00
Matthew Allum
7ae707faf5 2007-07-24 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-backend.c:
        Minor build fixes (#413)
2007-07-24 16:22:29 +00:00
Emmanuele Bassi
8725ad7e60 2007-07-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-effect.h:
	* clutter/clutter-effect.c: Add a secondary constructor for
	ClutterEffectTemplate, for use of the bindings.
2007-07-24 16:18:52 +00:00
Matthew Allum
2bf94df497 2007-07-24 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gles/cogl.c: (cogl_get_bitmasks):
        Fix typo calling glGetIntegerv rather than glGetInteger
2007-07-24 12:17:42 +00:00
Matthew Allum
86b869259e 2007-07-24 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gl/cogl.c: (cogl_get_features):
        learn to use cpp properly.
2007-07-24 12:06:52 +00:00
Matthew Allum
e8c091573c 2007-07-24 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-media.c: (clutter_media_base_init):
        Remove #if 0! signal - assume causing issues with binding generation.
        (#407)

        * clutter/cogl/gl/cogl.c:
        Check GL_TEXTURE_RECTANGLE_ARB and GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB
        are defined in gl.h (#404)
2007-07-24 12:04:24 +00:00
Matthew Allum
8076d5c218 2007-07-24 Matthew Allum <mallum@openedhand.com>
* clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_realize):
        Create stage window with correct depth/visual. Via patch from
        Robert Bragg (#409).
2007-07-24 09:56:07 +00:00
Matthew Allum
e227bf70e2 2007-07-23 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c: (texture_render_to_gl_quad),
        (clutter_texture_paint):
        Dont be over aggressive in throwing criticals for unrealized
        textures. Doesn't make sense for sub classes. (#403)
2007-07-23 17:02:52 +00:00
Emmanuele Bassi
3648488017 2007-07-22 Emmanuele Bassi <ebassi@openedhand.com>
Two small fixes for correctly debugging the deinitialisation
	phase of the backend:

	* clutter/glx/clutter-backend-glx.c: Remove the event source
	after we unref the main stage.

	* clutter/glx/clutter-stage-glx.c: Add a mark at the end of the
	unrealize call (the perl bindings seem to crash before we reach
	this point).
2007-07-22 22:40:18 +00:00
Emmanuele Bassi
049f2feedc 2007-07-22 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-ellipse.c: Remove pointer indirections;
	add sanity checks on the public entry points; make all the public
	properties floating point (where needed) andconvert them to fixed
	point internally. (Partial fix for #389)
2007-07-22 22:35:45 +00:00
Emmanuele Bassi
fe11263b84 2007-07-22 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour.[ch]: Rename ClutterBehaviour::apply
	and ClutterBehaviour::remove to ClutterBehaviour::applied and
	ClutterBehaviour::removed respectively, and emit them when the
	behaviour has been applied (or does no longer apply) to an actor.

	(clutter_behaviour_dispose), (clutter_behaviour_finalize),
	(clutter_behaviour_class_init): Move the actor removal to the
	::dispose virtual function, and remove the ::finalize one;
	document the missing properties and signals.

	(clutter_behaviour_clear): Add function to clear a behaviour:
	every actor will be unreffed and the ClutterBehaviour::removed
	signal will be emitted.
2007-07-22 22:30:47 +00:00
Matthew Allum
9157740741 2007-07-21 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-event.c:
        Correct  clutter_event_get_state () return type. Fixes #398

        * clutter/glx/clutter-stage-glx.c:
        Disable use XFixes cursor visibility funcs. Appears to have issues
        on feisty X Server at least. Fallback should work generally better.

        Fix non offscreen clutter_stage_snapshot to also rotate read pixel
        data to correct orientation.
2007-07-21 16:48:11 +00:00
Emmanuele Bassi
097c177824 Rename minimum and maximum depth properties of the depth behaviour
To follow the other simple behaviours, the ClutterBehaviourDepth:min-depth
and ClutterBehaviourDepth:max-depth properties have been renamed to
ClutterBehaviourDepth:depth-start and ClutterBehaviourDepth:depth-end
respectively.
2007-07-13 14:11:49 +00:00
Matthew Allum
410f40b578 2007-07-12 Matthew Allum <mallum@openedhand.com>
* clutter/eglnative/clutter-event-egl.c: (clutter_event_dispatch):
        Avoid sending too many events which are just pressure changes.
2007-07-12 11:30:56 +00:00
Matthew Allum
8fcfa9e2db 2007-07-12 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c: (clutter_actor_paint):
        * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos):
        * clutter/cogl/cogl.h:
        * clutter/cogl/gl/cogl.c: (cogl_get_viewport):
        * clutter/cogl/gles/cogl.c: (cogl_get_viewport):
        Based on patch from Pan Bohui, See;
        http://bugzilla.openedhand.com/show_bug.cgi?id=390

        * TODO:
        More misc updates.
2007-07-12 10:15:19 +00:00
Emmanuele Bassi
c2345a5337 Fully revert opacity checks 2007-07-11 12:01:03 +00:00
Emmanuele Bassi
191d667a7c Revert last fix 2007-07-11 11:43:02 +00:00
Emmanuele Bassi
847846923e Further fix 2007-07-11 11:41:01 +00:00
Emmanuele Bassi
0b03e393f3 2007-07-11 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-opacity.c:
	Don't check direction in opacity.
2007-07-11 11:37:32 +00:00
Tomas Frydrych
f605136c39 improvements to ClutterBehaviourEllipse 2007-07-11 07:16:21 +00:00
Matthew Allum
071719ffa4 2007-07-09 Matthew Allum <mallum@openedhand.com>
* TODO:
        Updates.
        * clutter/clutter-stage.c:
        * clutter/glx/clutter-stage-glx.c:
        Fix cursor visibility property.
        Force a repaint before mapping to attempt to avoid flicker.
2007-07-09 22:59:52 +00:00
Richard Purdie
eeef27ca66 Add tslib support to eglnative backend. 2007-07-09 22:25:26 +00:00
Richard Purdie
69cc294cea Tweaks to the eglnative backend. 2007-07-09 21:59:01 +00:00
Richard Purdie
87d163db5c Make the backend add_option function optional. 2007-07-09 21:56:06 +00:00
Emmanuele Bassi
588c4504a1 Handle opacity inversion in ClutterBehaviourOpacity
Always make sure that the opacity is a positive integer, even if the
start and end opacities are inverted.

Also, use the correct integer-to-pointer casts, as the opacity is an
unsigned integer.
2007-07-09 21:39:03 +00:00
Emmanuele Bassi
350bb347d8 Add ClutterBehaviourDepth
ClutterBehaviourDepth is a simple behaviour that controls the depth
property of a set of actors.
2007-07-09 21:38:43 +00:00
Matthew Allum
817cdbe2be 2007-07-06 Matthew Allum <mallum@openedhand.com>
* clutter/eglx/Makefile.am:
        * clutter/eglx/clutter-egl.h:
        * clutter/eglx/clutter-event-egl.c:
        * clutter/eglx/clutter-stage-egl.c:
        Rename clutter-egl.h -> clutter-eglx.h

        * NEWS:
        * README:
        Add info re EGL split.
2007-07-06 14:08:03 +00:00
Matthew Allum
051a76c155 2007-07-06 Matthew Allum <mallum@openedhand.com>
* clutter/Makefile.am:
        * clutter/eglnative/Makefile.am:
        * clutter/eglnative/clutter-backend-egl.c:
        * clutter/eglnative/clutter-backend-egl.h:
        * clutter/eglnative/clutter-egl.h:
        * clutter/eglnative/clutter-event-egl.c:
        * clutter/eglnative/clutter-stage-egl.c:
        * clutter/eglnative/clutter-stage-egl.h:
        * clutter/eglx/Makefile.am:
        * clutter/eglx/clutter-backend-egl.c:
        * clutter/eglx/clutter-egl.h:
        * clutter/eglx/clutter-event-egl.c:
        * clutter/eglx/clutter-stage-egl.c:
        * configure.ac:
        Add a new 'native' EGL backend for non X based EGL's
        (i.e on framebuffer).
        Rename old backend to 'eglx' and namespace public funcs with this.

        * clutter/pango/pangoclutter-private.h:
        Add extra checks for expected defines.
2007-07-06 13:56:01 +00:00
Matthew Allum
bbdcf5542b 2007-07-06 Matthew Allum <mallum@openedhand.com>
* NEWS:
        * README:
        Updates for upcoming 0.3.1 release.
        * clutter/egl/Makefile.am:
        * clutter/egl/clutter-backend-egl.c:
        * clutter/egl/clutter-backend-egl.h:
        * clutter/egl/clutter-egl.h:
        * clutter/egl/clutter-event-egl.c:
        * clutter/egl/clutter-stage-egl.c:
        * clutter/egl/clutter-stage-egl.h:
        * configure.ac:
        Move egl -> eglx
2007-07-06 11:40:59 +00:00
Matthew Allum
7ea9e2bcbb 2007-07-06 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-box.c: (clutter_box_pick):
        Call clutter_box_paint rather than actor paint method avoiding
        infinte loop (Fixes test-boxes crasher).

        * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_unrealize):
        Trap the X calls to avoid potential X errors.
2007-07-06 09:22:43 +00:00
Tomas Frydrych
038f79f4bc fixed clutter_goup_query_coords() to shrink if appropriate 2007-07-05 13:52:19 +00:00
Emmanuele Bassi
b66593374d Add synchronise support to the GLX backend
This patch adds a command line switch to make every X call synchronous.
It's only useful for debugging purposes, so it will not be displayed when
calling a Clutter application with --help.
2007-07-05 11:05:46 +00:00
Emmanuele Bassi
61db350ca4 2007-07-05 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-rectangle.c: Fix off-by-border-width bug
	in the border creation of a ClutterRectangle.
2007-07-05 10:06:08 +00:00
Tomas Frydrych
cbf2830e5f added CLUTTER_FLOAT_TO_UINT 2007-07-04 15:30:44 +00:00
Emmanuele Bassi
d7caae7f6a 2007-07-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/*: Loads of fixes for the API reference.
2007-07-04 14:00:41 +00:00
Emmanuele Bassi
0d1777426d Fix the iteration in clutter_group_remove_all()
When iterating on a list while changing it, it's a good idea to keep
pointers around to avoid dirty access bugs.
2007-07-04 12:29:50 +00:00
Emmanuele Bassi
82860b5d5a Use the right argument naming for alpha functions
The name of the argument in the header must match the name in the
function implementation, for gtk-doc to work properly.
2007-07-04 12:29:44 +00:00
Emmanuele Bassi
436df772a4 2007-07-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.c (clutter_redraw): Move the stage
	paint init call from the main redraw function...

	* clutter/clutter-stage.c (clutter_stage_paint): ... to the
	ClutterActor::paint() overridden method in ClutterStage.
2007-07-04 09:36:44 +00:00
Emmanuele Bassi
271b13cde3 2007-07-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter.h:
	* clutter/Makefile.am: ClutterBackend is marked as public API,
	so install the clutter-backend.h header and include it when
	including clutter.h.
2007-07-04 09:34:24 +00:00
Emmanuele Bassi
da8bad5e03 2007-07-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-entry.[ch]: Various fixes to ClutterEntry:
	fix code style issues; add documentation for the various
	properties; add ClutterEntry:entry-padding property, for controlling
	the text padding (until we have style properties separated from
	the object properties); notify property changes; free resources
	in the ::finalize method; rename clutter_entry_add() to
	clutter_entry_insert_unichar(), and clutter_entry_remove() to
	clutter_entry_delete_chars() - for bindings and for matching the
	insert_text() and delete_text() existing methods; add a getter
	method for the max-length property.
2007-07-04 09:33:04 +00:00
Emmanuele Bassi
11775a16f0 2007-07-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.[ch]: Use the right get_type() function
	name for ClutterVertex, and add the CLUTTER_TYPE_VERTEX macro.
2007-07-04 09:17:10 +00:00
Tomas Frydrych
b9e486f587 use ClutterVertex to pass parameters into clutter_actor_apply_transform_to_point() 2007-07-02 09:21:58 +00:00
Emmanuele Bassi
1e36656622 Remove stray debug message
This patch removes a stray g_print() added for debugging purposes, which
also produces a compiler warning.
2007-07-01 16:46:07 +00:00
Emmanuele Bassi
500d7482b6 Documentation fixes
Various fixes in the API reference build and text.
2007-07-01 16:44:24 +00:00
Emmanuele Bassi
255edd4e26 Clean up ClutterEffect
Make ClutterEffectTemplate use a pointer to the private data to avoid
a type check each time it dereferences the ClutterEffectTemplatePrivate
structure pointer.

Clean up the header file for parsing purposes.

Add a description for the gtk-doc reference.
2007-07-01 10:29:34 +00:00
Neil J. Patel
52b5bad316 2007-06-29 Neil J. Patel <njp@o-hand.com>
* clutter/clutter-entry.c: (clutter_entry_handle_key_event),
	(clutter_entry_add), (clutter_entry_remove):
	Check if unichar == 0, and if so, return, as it will cause a delete in
	the GString.
2007-06-29 17:18:13 +00:00
Matthew Allum
fda8a1d948 2007-06-29 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c: (texture_upload_data):
        Fix a SEGV for GL ES textures.

        * clutter/cogl/gles/cogl.c: (cogl_setup_viewport):
        Tweak default z_camera for 60 degrees like GL.

        * clutter/egl/clutter-backend-egl.c::
        * clutter/egl/clutter-stage-egl.c:
        Fix edpy usage (thanks to Kaj Gronholm).
2007-06-29 11:54:31 +00:00
Tomas Frydrych
9958a1e6d2 Fixed box calculation in clutter_group_query_coords() 2007-06-29 10:46:12 +00:00
Tomas Frydrych
1677e9d263 fixed crash in clutter_group_raise / _lower() 2007-06-28 15:18:20 +00:00
Matthew Allum
ca450782cb 2007-06-28 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gl/cogl.c: (cogl_setup_viewport):
        Improve fixed z_camera value for defualt perspective.
        Appears pixel perfect on ATI and Intel at least
2007-06-28 09:38:42 +00:00
Tomas Frydrych
4bb51a4787 renamed clutter_actor_project_* functions 2007-06-27 15:10:52 +00:00
Tomas Frydrych
e10a0ad025 clutter_actor_project_point(): separated input from output parameters 2007-06-27 15:10:42 +00:00
Tomas Frydrych
4fda40461e Fixed incorrect order of scaling and rotation in _clutter_actor_apply_modelview_transform() 2007-06-27 11:34:43 +00:00
Tomas Frydrych
4ed86c4bc1 fixed clutter_actor_scale_with_gravityx() 2007-06-27 09:41:49 +00:00
Tomas Frydrych
761a5f4d9d tweaked z_camera constant for default 60 deg perspective angle 2007-06-26 16:07:14 +00:00
Tomas Frydrych
f4029ab77c added fixed version of clutter_actor_rotate_*() functions and accessors for rotation angles 2007-06-26 11:35:33 +00:00
Matthew Allum
62d716b1cb 2007-06-25 Matthew Allum <mallum@openedhand.com>
* README:
        Update a little more.
        * clutter/clutter-effect.c:
        Add missing func documentation
        * clutter/clutter-rectangle.c:
        Fix border drawing.
2007-06-25 13:44:32 +00:00
Tomas Frydrych
b6a703a99e changed ClutterPerspective.fovy from ClutterAngle to degrees 2007-06-25 13:43:13 +00:00
Matthew Allum
ee6156cb01 2007-06-22 Matthew Allum <mallum@openedhand.com>
* NEWS:
        * README.in:
        * TODO:
        Update for 0.3 release.

        * clutter/clutter-actor.c:
        Minor doc fixups

        * clutter/clutter-texture.c:
        Various minor additions for handling non RGBA data.
        Fix a typo breaking clutter_texture_get_pixbuf() on tiled textures.

        * tests/test-actors.c:
        Disable scaling to avoid drifting (temporary till API is fixed)
2007-06-22 15:16:40 +00:00
Emmanuele Bassi
e49b05049a Allow disabling the timeline pool via environment variables
All the ClutterTimeline share a ClutterTimeoutPool by default. This might
cause problems if an application is using a heavily threaded library that
does not play nicely with the main loop (like libneon). If this is the
case, using the CLUTTER_TIMELINE environment variable set to "no-pool"
makes the ClutterTimeline objects discard the pool and allocate a slice
of the main loop.
2007-06-21 14:19:56 +00:00
Matthew Allum
d30396cf0c 2007-06-19 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-main.c: (clutter_init_with_args), (clutter_init):
        Safer checks for setting progname if NULL is passed in init.
2007-06-19 14:47:33 +00:00
Matthew Allum
e7332a3778 2007-06-19 Matthew Allum <mallum@openedhand.com>
* TODO:
        Sync up a little.
        * clutter/clutter-main.c:
        Set a default window title based on g_prgname().

        * clutter/clutter-stage.c:
        * clutter/clutter-stage.h:
        * clutter/egl/clutter-stage-egl.c:
        * clutter/glx/clutter-stage-glx.c:
        * clutter/sdl/clutter-stage-sdl.c:
        Alter draw_to_pixbuf to return a pixbuf

        * configure.ac:
        Only full in gdk-pixbuf-xlib as a GLX backend dep.

        * tests/test-entry.c:
        Fix a couple of warnings.
2007-06-19 14:10:25 +00:00
Matthew Allum
38e6cab1d8 2007-06-19 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-stage.c:
        * clutter/clutter-stage.h:
        * clutter/glx/clutter-stage-glx.c:
        * clutter/sdl/clutter-stage-sdl.c:
        Add window title setting/getting functionality.

        * clutter/clutter-event.c: (clutter_key_event_unicode):
        Remove uneeded convert case call.

        * clutter/cogl/gl/cogl.c: (cogl_rectangle)
        Use parameters correctly for underlying GL rect call.

        * tests/test-entry.c:
        Add a window title.
2007-06-19 09:10:37 +00:00
Matthew Allum
1494a017c3 2007-06-18 Matthew Allum <mallum@openedhand.com>
* clutter/sdl/clutter-event-sdl.c:
        Seemingly fix SDL Event source.
        Add some very basic SDL keysym translation.
        (Thanks to Thomas Van Machelen for initial translation code)

        * tests/test-events.c:
        Dump some info on keysyms pressed.
2007-06-18 09:15:00 +00:00
Emmanuele Bassi
339b22ded9 2007-06-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.h:
	* clutter/clutter-stage.h: Add 32 padding slots; when we
	reach 1.0 it'll be a long road until the following ABI
	break.

	* tests/test-behave.c: Don't forget to include headers.
2007-06-16 21:15:31 +00:00
Emmanuele Bassi
80e71eaa46 2007-06-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-container.h:
	* clutter/clutter-layout.h: Interfaces are not checked
	at compile-time, so there's not need to add padding to
	avoid ABI breaks.
2007-06-16 21:07:13 +00:00
Emmanuele Bassi
4172ce1fb2 2007-06-16 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Partially revert last commit, and fail
	with AC_MSG_ERROR() instead of disabling the manual build
	if no jw and xmlto were found.
2007-06-16 20:58:00 +00:00
Matthew Allum
53301e1bba 2007-06-16 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        Fix typo in x rotation transform (Thanks to Johan Billen #138)

        * configure.ac:
        * doc/manual/Makefile.am:
        Fix manual build and required program check.

        * tests/Makefile.am:
        Another typo fix.
2007-06-15 23:15:34 +00:00
Tomas Frydrych
0c5546007c removal of debug stuff, addition of comments 2007-06-15 09:53:07 +00:00
Emmanuele Bassi
7d18616cfa Remove locking from ClutterTimeoutPool
The mutex protection for the timeout pool was causing deadlocks, so it has been
removed for the time being, until I figure out a way to make it work properly.
A timeout pool should not be considered thread-safe (or thread-aware) until further
notice.
2007-06-14 19:57:36 +00:00
Emmanuele Bassi
450ac94e49 Override ClutterActor::pick
Override the default ClutterActor::pick method, by calling a full paint of the box actor
like ClutterGroup does.
2007-06-14 19:57:29 +00:00
Tomas Frydrych
699297ad64 fixed vbox and hbox pack functions 2007-06-14 15:56:22 +00:00
Emmanuele Bassi
4a926f4155 Don't forget to add the boxes 2007-06-14 15:30:27 +00:00
Emmanuele Bassi
a1958da910 2007-06-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-box.[ch]: Base class for layout containers.

	* clutter/clutter-hbox.[ch]: Horizontal box actor.
	
	* clutter/clutter-vbox.[ch]: Vertical box actor.

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

	* tests/Makefile.am:
	* tests/test-boxes.c: Test suite for ClutterBox API and
	implementations.
2007-06-14 15:29:52 +00:00
Matthew Allum
61c6c24dfa 2007-06-14 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gl/cogl.c: (cogl_check_extension):
        Actually populate this func and remove the static alternate
        named one. Means GLX actually checks for available extensions.
        Other minor tidy ups.

        * clutter/glx/clutter-backend-glx.c:
        * clutter/glx/clutter-backend-glx.h:
        Add support for GLX_SGI_swap_control to do vblanking prefering
        over glXGetVideoSyncSGI. Should fix issues on Intel chips with
        very slow frame rates due to vblank problems.
        Thanks to  Michel Danzer for tips, see;
        http://bugs.freedesktop.org/show_bug.cgi?id=10542

        * test/test-actors.c:
        Change FPS to 60.
2007-06-14 12:54:47 +00:00
Emmanuele Bassi
ba0fa9d4be 2007-06-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-timeout-pool.c: Make ClutterTimeoutPool
	more thread-safe, using a static lock.

	(clutter_timeout_pool_dispatch), (clutter_timeout_pool_remove): Fix
	a race condition-turned-in-memory corruption bug, triggered by
	removing a timeout from the pool while still spinning the pool
	source.
2007-06-14 12:00:31 +00:00
Tomas Frydrych
1391ee7306 use clutter_actor_project_point/vertices in clutter_actor_get_abs_position/size 2007-06-14 08:17:13 +00:00
Matthew Allum
61e3252ff1 2007-06-14 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        * clutter/clutter-group.c:
        * clutter/clutter-label.c:
        * clutter/egl/clutter-stage-egl.c:
        * clutter/glx/clutter-stage-glx.c:
        * clutter/sdl/clutter-stage-sdl.c:
        Rename clutter_actor_allocate_coords -> clutter_actor_query_coords

        Change repaints to G_PRIORITY_DEFAULT + 10.
        (timelines are G_PRIORITY_DEFAULT + 30, events G_PRIORITY_DEFAULT)

        * clutter/glx/clutter-event-glx.c:
        Handle shift modifier in keycode -> keysym translation.

        * tests/test-actors.c:
        Remove (broken) screen saver code.
        Add scaling behaviour, clean code a little
2007-06-13 23:24:59 +00:00
Tomas Frydrych
14e00cb904 more of projection work 2007-06-13 11:20:10 +00:00
Tomas Frydrych
5f4a7a4812 clear CLUTTER_ACTOR_SYNC_MATRICES after setting up viewport 2007-06-12 17:39:08 +00:00
Tomas Frydrych
70a3c9fbe6 clutter_actor_project_point/vertices 2007-06-12 11:42:29 +00:00
Matthew Allum
c2236bb72a 2007-06-12 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-alpha.c:
        Remove stray g_debug.

        * clutter/clutter-behaviour-rotate.c:
        Register private class member.

        * clutter/clutter-behaviour.c:
        * clutter/clutter-behaviour.h:
        Add applied and removed signals.

        * Makefile.am:
        * configure.ac:
        * examples/Makefile.am:
        * examples/README:
        * examples/behave.c:
        * examples/slider.c:
        * examples/super-oh.c:
        * examples/test-entry.c:
        * examples/test-text.c:
        * examples/test.c:
        * tests/Makefile.am:
        Remove examples, moving applicable code into tests.
2007-06-12 10:36:28 +00:00
Tomas Frydrych
5f8bd1d160 Fixed unsigned overflow in sine alpha functions 2007-06-11 15:47:26 +00:00
Emmanuele Bassi
c22543be1f Update Clutter event structures to use the ModifierType enum 2007-06-11 09:02:40 +00:00
Emmanuele Bassi
a8c3d1652b Use a full enum for the modifier masks 2007-06-11 09:02:28 +00:00
Emmanuele Bassi
a633e922b1 Compilation fixes 2007-06-09 13:20:22 +00:00
Emmanuele Bassi
d41a60a371 Document ClutterTimeoutPool
Add ClutterTimeoutPool API documentation to the source and to the
gtk-doc sections.
2007-06-09 13:20:13 +00:00
Emmanuele Bassi
787ddc3122 Add copyright license and make ClutterTimeoutPool public
ClutterTimeoutPool can be useful for manually animating without using
timelines or behaviours.
2007-06-09 13:20:06 +00:00
Emmanuele Bassi
bf378bc7cd Use ClutterTimeoutPool in ClutterTimeline
Use a per-class timeout pool into ClutterTimeline so that every timeline
instance will use a pooled timeout function to execute the tick. This
should make multiple timelines not starve the main loop.
2007-06-09 13:20:00 +00:00
Emmanuele Bassi
7f4b6b9c0e Add timeout pool source
A ClutterTimeoutPool is a source for the GLib main loop which pools
multiple timeout functions. The pool is always sorted so that the first
timeout to expire is also the first element of the pool; hence, extraction
is a constant time operation. This also makes the usage of multiple
timeouts at the same priority not compete for a timeslice of the main
loop, leading to starvation.
2007-06-09 13:19:52 +00:00
Matthew Allum
6c99b685dd 2007-06-08 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c: (clutter_texture_get_pixbuf):
        Remove stray printf.
2007-06-07 23:55:25 +00:00
Matthew Allum
2c40b4b53d 2007-06-08 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        * clutter/clutter-debug.h:
        * clutter/clutter-main.c:
        * clutter/clutter-main.h:
        * clutter/clutter-private.h:
        * clutter/clutter-timeline.c:
        Add 'schedule' debug flag and new CLUTTER_TIMESTAMP macro.

        * clutter/clutter-texture.c:
        * clutter/clutter-texture.h:
        * 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:
        Add initial experiemental YUV texture support.
        Move texture rect size checks into cogl.
        Better handle moving texture data from video -> system memory
        (if support available).
2007-06-07 23:51:53 +00:00
Neil J. Patel
3649b4734b Added a 'activate' signal, which is emitted when the 'Enter' key is pressed 2007-06-07 21:23:07 +00:00
Emmanuele Bassi
42ebf073bd Don't forget files when committing, stoopeed 2007-06-07 19:23:04 +00:00
Emmanuele Bassi
e30df678ae 2007-06-07 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/*: Move documentation from the templates into the
	source code.
2007-06-07 15:28:59 +00:00
Emmanuele Bassi
3c2defee9d 2007-06-07 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-container.[ch]: Add a generic actor container
	interface, for actors to implement without subclassing ClutterGroup.

	* clutter/clutter-group.[ch]: Make ClutterGroup implement the
	ClutterContainer interface, and deprecate the colliding methods.

	* clutter/clutter-layout.[ch]: Add extended layout interface.
	Actors and containers requiring or honouring complex layout
	management should implement this interface and provide at least
	one of the available layout types: width for height, height for
	width, natural size, iterative size request.

	* clutter/clutter-label.c: A ClutterLabel requires height for
	width layout management, so it implements the ClutterLayout
	interface.

	* clutter/Makefile.am: Add new files to the build.

	* tests/*.c:
	* examples/*.c: Update tests and examples code to use the
	new ClutterContainer API instead of ClutterGroup.
2007-06-07 14:41:35 +00:00
Emmanuele Bassi
b11aca44e3 Add delay property to ClutterTimeline
This patch adds a "delay" property to the timeline object. If set,
it will delay the start of the timeline of a number of milliseconds.
If the timeline is looping, the delay will be applied just the first
time and not for every loop.
2007-06-07 10:26:18 +00:00
Emmanuele Bassi
c90a252581 Rename clutter_timeline_copy to clutter_timeline_clone
Usually, in OOP objects are cloned, while boxed types are copied; this
holds true in GObject, where GBoxed types have copy functions.
2007-06-07 10:26:07 +00:00
Matthew Allum
9789bfc69e 2007-06-06 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c:
        * clutter/clutter-texture.h:
        Fix GError Args.
2007-06-06 14:27:52 +00:00
Neil J. Patel
acb0772fe0 2007-06-01 Neil J. Patel <njp@o-hand.com>
* clutter/clutter-entry.c: (clutter_entry_set_property),
        (clutter_entry_get_property), (clutter_entry_class_init),
        (clutter_entry_init), (clutter_entry_set_text),
        (clutter_entry_set_max_length):
        * clutter/clutter-entry.h:
        * examples/test-entry.c: (main):
        Added a max-length property whihc limits the length of the text in the
        entry.
2007-06-01 17:18:21 +00:00
Neil J. Patel
d5c38ef466 Clipping within the entry class to stop it over-slipping its
boundries.
        Text will move within the clip region to keep the cursor always
        visible.
        Added some padding to the left and right to make sure cursor is
        always show.
2007-06-01 16:50:35 +00:00
Tomas Frydrych
479fe01b5a removed perspective matrix caching from ClutterStage 2007-06-01 16:20:57 +00:00
Neil J. Patel
f6b675fc7d Added text-visibility, which will allow you to show all entered text
as a nominated charaecter ('*' is default).
2007-06-01 15:58:17 +00:00
Neil J. Patel
214a2ead22 Added signal to track cursor movements\nMoved the curor painting function into the class functions so it can be sub-classed 2007-06-01 15:18:05 +00:00
Tomas Frydrych
d82c068faf make clutter_actor_get_transformed_point input relative to actor; feed actor depth into transform 2007-06-01 15:15:13 +00:00
Neil J. Patel
71f2e05b9b Add a text-changed signal to the entry 2007-06-01 11:50:18 +00:00
Tomas Frydrych
d53497d92f when calculating vertices, apply perspective before all other tranforms 2007-06-01 11:43:53 +00:00
Neil J. Patel
ac530eed12 Added a function to deal with ClutterKeyEvents. Handles the majority
of entry-related keyboard keys. However modifiers still need to be
        implemented.
2007-06-01 11:34:40 +00:00
Tomas Frydrych
4d0cfed2dc Initicalize stage perspective matrix for defaults 2007-06-01 11:30:52 +00:00
Tomas Frydrych
e1a8434d64 Documentation updates 2007-06-01 10:00:35 +00:00
Tomas Frydrych
e2cc64faa2 include perspective transfore in calculation of vertices 2007-05-31 19:14:28 +00:00
Neil J. Patel
e725b0c7fa Initial import of ClutterEntry, a text-entry actor 2007-05-31 18:33:42 +00:00
Tomas Frydrych
984ce646a5 fixed coordinance translation in clutter_actor_get_transformed_point 2007-05-31 18:22:41 +00:00
Matthew Allum
fb6d22f95d 2007-05-31 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        Add clutter_actor_get_transformed_point()

        * clutter/clutter-main.c:
        Plug in perspective setup to redraw

        * clutter/clutter-stage.c:
        * clutter/clutter-stage.h:
        Remove audience code for now.
2007-05-31 17:11:09 +00:00
Matthew Allum
4d8bf8f3b8 2007-05-31 Matthew Allum <mallum@openedhand.com>
* clutter/egl/clutter-backend-egl.c:
        * clutter/egl/clutter-backend-egl.h:
        * clutter/egl/clutter-event-egl.c:
        * clutter/egl/clutter-stage-egl.c:
        * clutter/egl/clutter-stage-egl.h:
        Rename Egl -> EGL
2007-05-31 12:35:36 +00:00
Matthew Allum
a0c1a9b66d 2007-05-31 Matthew Allum <mallum@openedhand.com>
* 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:
        Change type nameing from Glx -> GLX.
        Add basic event filtering functionality
2007-05-31 11:13:43 +00:00
Tomas Frydrych
7ada1c0ae0 Changed behaviour so that a beginning angle of 0 would correspond to 12 o'clock 2007-05-31 10:11:06 +00:00
Tomas Frydrych
8697bfa53d added missing clutter_actor_get_transformed_vertices prototype; removed related debug code 2007-05-31 09:38:57 +00:00
Tomas Frydrych
733de46f3b Fixed ellipse behaviour for negative angles; fixed double to int conversion for negative numbers; fixed CLUTTER_ANGLE_FROM_DEGX; added ClutterVertices and clutter_actor_get_transformed_vertices() 2007-05-31 09:29:12 +00:00
Matthew Allum
8310a87bfc 2007-05-31 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-behaviour-ellipse.c:
        Remove uneeded knot signal

        * clutter/clutter-behaviour-path.c:
        Fix so knot signal is emitted only when a knot is reached.

        * clutter/clutter-effect.c:
        * clutter/clutter-effect.h:
        Add a scale effect.

        * configure.ac:
        * doc/manual/Makefile.am:
        * doc/manual/clutter-manual.xml.in:
        * doc/manual/manual.xsl:
        * doc/manual/style.css:
        Add various bits for application developers manual.
2007-05-30 23:16:58 +00:00
Tomas Frydrych
5b0e0dbcbe removed ClutterSmoothstep type; renamed clutter_smoothstep_func to clutter_smoothstep_inc_func; added clutter_smoothstep_dec_func 2007-05-30 10:52:06 +00:00
Tomas Frydrych
6e39efb9aa fixed clutter cos functions; fixed tilt calculations in elliptic path 2007-05-29 09:21:18 +00:00
Tomas Frydrych
5b845d3940 fix z_camera calcualtion in gles/cogl 2007-05-29 07:26:32 +00:00
Matthew Allum
d704e2e331 2007-05-28 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c: (clutter_texture_unrealize):
        Dont even try to move texture pixels from video -> system
        ram on unrealisation for GL/ES
2007-05-28 20:09:19 +00:00
Matthew Allum
71c2f16bef 2007-05-28 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos):
        Fix for GL/ES. Barring texture reads this means all clutter
        functionality now works on GL/ES! (no doubt with a few yet to
        be discovered bugs)
2007-05-28 19:14:40 +00:00
Matthew Allum
a2bd6de736 2007-05-28 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-backend.c:
        * clutter/clutter-backend.h:
        * clutter/glx/clutter-stage-glx.c:
        * clutter/glx/clutter-backend-glx.c:
        Fix up rendering pipeline removing clutter_backend_XXX_stage_paint
        and adding clutter_backend_XXX_redraw instead. Duplicates less
        code in backends, avoids clutter_actor_paint() getting called
        before stage is set up (viewport wise) and unbreaks things like
        picking.

        * clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        * clutter/clutter-main.c:
        * clutter/clutter-private.h:
        * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos):
        Redo picking functionality a different way (via color indexing)
        as to provide more flexibility, possibly speed and more likely
        work with GL/ES (doesn't currently however - not sure why).

        * clutter/clutter-group.c:
        Add groups own 'pick' method.

        * clutter/cogl/cogl.h:
        * clutter/cogl/gl/cogl.c:
        * clutter/cogl/gles/cogl.c:
        Move clipping funtionality into cogl.

        * clutter/cogl/gles/cogl-defines.h:
        Hack around missing BGR format in GL/ES.

        * clutter/egl/clutter-backend-egl.c:
        * clutter/egl/clutter-backend-egl.h:
        * clutter/egl/clutter-stage-egl.c:
        * clutter/sdl/clutter-backend-sdl.c:
        * clutter/sdl/clutter-backend-sdl.h:
        * clutter/sdl/clutter-event-sdl.c:
        * clutter/sdl/clutter-stage-sdl.c:
        Update backends to newer API.
        Add basic mouse event translation to SDL.
2007-05-28 18:49:34 +00:00
Matthew Allum
a64b6b7ee7 2007-05-25 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-color.c: (clutter_color_parse):
        Handle #rrggbbaa color setting strings (i.e with alpha).
        Set alpha to 0xff if it is not specified.

        * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos)
        Increase select buffer.

        * examples/super-oh.c:
        Fix up use of clutter_group_show_all()
2007-05-25 16:35:57 +00:00
Tomas Frydrych
bf8996215e ClutterBehaviourEllipse api changes; z_camera calculation 2007-05-25 12:07:24 +00:00
Matthew Allum
d2efd34eb5 2007-05-25 Matthew Allum <mallum@openedhand.com>
* Makefile.am:
        Install a default flavour .pc file.

        * clutter/clutter-actor.c:
        Translate units correctly for translate()

        * clutter/clutter-feature.h:
        Add new texture features.

        * clutter/clutter-fixed.h:
        Add clutter angle conversion defines.

        * clutter/clutter-group.c:
        Use cogl not GL. Dont recurse on show all.

        * clutter/clutter-private.h:
        Remove sync_viewport.

        * clutter/clutter-rectangle.c:
        Fix cogl typo.

        * clutter/clutter-stage.c:
        * clutter/clutter-stage.h:
        Add perspective settings. Remove viewport_sync.
        Add audience stubs. Fix up actor_at_pos a little (still broken)

        * clutter/clutter-texture.h:
        * clutter/clutter-texture.c:
        Redo pixel uploading. Add initial (disabled) YUV support.

        * clutter/clutter-timeline.c:
        Fire 'completed' signal when looping.

        * clutter/cogl/gl/cogl.c:
        Move some backend checks here.

        * clutter/glx/clutter-backend-glx.c:
        Actually check target display has GLX ext.

        * clutter/glx/clutter-stage-glx.c:
        Handle offscreen failing more gracefully.

        * examples/Makefile.am:
        Use AM_LDFLAGS.

        * clutter/clutter-main.c:
        * clutter/clutter-feature.c:
        * clutter/clutter-backend.c:
        * clutter/clutter-alpha.c:
        Fix a compile warnings.

        * tests/Makefile.am:
        * tests/test-offscreen.c:
        * tests/test-scale.c:
        More tests.
2007-05-25 10:56:09 +00:00
Tomas Frydrych
361cc36aaa removed clutter_actor_get_abs_position_units() and clutter_actor_get_abs_size_units() from public api 2007-05-23 10:47:35 +00:00
Tomas Frydrych
a338a95796 removed ClutterReal; added clutter-units 2007-05-22 09:31:40 +00:00
Tomas Frydrych
8bbc7c27a8 add missing clutter-real.h 2007-05-18 07:32:41 +00:00
Tomas Frydrych
47b3d6db56 ClutterReal type 2007-05-18 07:30:06 +00:00
Emmanuele Bassi
b0395a1178 Remove ClutterLayout from the main branch 2007-05-17 12:03:43 +00:00
Emmanuele Bassi
ad82353a1a Use clutter_base_init() in the init process
Use clutter_base_init() instead of g_type_init(), as it calls the type
function for ClutterActor and allows the compiler to use a constant value
instead of the computed result.
2007-05-17 12:03:38 +00:00
Emmanuele Bassi
b333bd87f7 Hush compiler warning
When forcing a call to clutter_actor_get_type() to cache the result, ignore
the returned value and hush a compiler warning.
2007-05-17 12:03:31 +00:00
Matthew Allum
26646d255a 2007-05-17 Matthew Allum <mallum@openedhand.com>
* configure.ac:
        Fix CLUTTER_NO_FPU typo.
2007-05-17 09:08:50 +00:00
Tomas Frydrych
733a767657 added clutter_exp_inc_func() and clutter_exp_dec_func() 2007-05-17 07:09:24 +00:00
Tomas Frydrych
a4eeaceda4 added clutter_pow2x() and clutter_log2x() 2007-05-17 07:09:18 +00:00
Emmanuele Bassi
507f04a8f6 Add base initialisation function
Add a semi-private function, called clutter_base_init(), which initialises
the basic Clutter functionalities (at the moment, just the GLib type system)
without calling in the backend-specific code. This function is only useful
for gtk-doc, to introspect the library when generating documentation for
signals, properties and class hierarchy.

Also, change the documentation build system to use clutter_base_init() when
launching the scanner program.
2007-05-16 15:00:41 +00:00
Tomas Frydrych
06bf2ddaef added clutter_sine_half_func() 2007-05-16 13:53:39 +00:00
Tomas Frydrych
9a10979e0f Fixed clutter_sine_inc_func(); added clutter_sine_dec_func() 2007-05-16 13:46:54 +00:00
Tomas Frydrych
9dfe31a542 implemented smoothstep alpha function 2007-05-16 11:32:50 +00:00
Matthew Allum
ee928107cb 2007-05-16 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-backend.c:
        * clutter/clutter-backend.h:
        * clutter/clutter-feature.c:
        * clutter/clutter-feature.h:
        * clutter/clutter-main.c:
        * clutter/clutter-main.h:
        * clutter/clutter-private.h:
        * clutter/clutter-stage.c:
        * clutter/cogl/cogl.h:
        * clutter/cogl/gl/cogl.c:
        * clutter/cogl/gles/cogl.c:
        * clutter/glx/clutter-backend-glx.c:
        * clutter/glx/clutter-backend-glx.h:
        * clutter/glx/clutter-glx.h:
        * clutter/glx/clutter-stage-glx.c:
        * clutter/glx/clutter-stage-glx.h:
        Rejig the features() foo, moving mostly into backends/cogl.
2007-05-16 09:08:30 +00:00
Tomas Frydrych
aab511d319 removed unnecessary CFX_MUL from clutter_actor_get_abs_position 2007-05-15 15:41:30 +00:00
Tomas Frydrych
92754aaeee added tilt parameter to clutter_behaviour_ellipse_new() 2007-05-15 11:51:14 +00:00
Matthew Allum
23ac88ac70 2007-05-14 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-behaviour-path.c:
        Fix bug where last knot position wouldn't get reached.

        * clutter/clutter-group.c:
        Add some docs

        * clutter/clutter-timeline.h:
        * clutter/clutter-timeline.c:
        Add clutter_timeline_copy (needed for ClutterEffect)

        * clutter/clutter-version.h.in:
        Export windowing system / GL backend etc defines.

        * clutter/Makefile.am:
        * clutter/clutter-effect.c:
        * clutter/clutter-effect.h:
        * clutter/clutter.h:

        * clutter/glx/clutter-backend-glx.c:
        Minor clean ups.

        * clutter/clutter-alpha.h:
        Add a fixme.

        * configure.ac:
        Add FPU define.

        * examples/Makefile.am:
        * examples/slider.c:
        Add Robs slider game.
2007-05-14 09:11:23 +00:00
Matthew Allum
e121eb54c8 2007-05-10 Matthew Allum <mallum@openedhand.com>
* clutter/egl/clutter-backend-egl.c:
        * clutter/egl/clutter-event-egl.c:
        * clutter/sdl/clutter-backend-sdl.c:
        * clutter/sdl/clutter-event-sdl.c:
        Fix SDL & EGL backends to work with newer backend code.
2007-05-10 12:49:34 +00:00
Tomas Frydrych
41834d92a6 fixed gtkdoc comments for hls functions 2007-05-10 11:50:07 +00:00
Tomas Frydrych
c5fee48847 added clutter_color_to/from_hlsx(); clobbered hue to 0..255 in clutter_colour_to/from_hls() 2007-05-10 11:37:45 +00:00
Matthew Allum
eb42f82f23 2007-05-10 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-backend.c:
        * clutter/clutter-backend.h:
        * clutter/clutter-event.c:
        * clutter/clutter-main.c:
        * clutter/clutter-private.h:
        * clutter/glx/clutter-backend-glx.c:
        * clutter/glx/clutter-backend-glx.h:
        * clutter/glx/clutter-event-glx.c:
        Rejig backend event code as to simplify a little.
        NOTE: This breaks non glx backends.

        * tests/Makefile.am:
        * tests/test-events.c:
        Add a very simple event test.

        * tests/test-textures.c: (main):
        Add some more sizes to the test.
2007-05-09 23:31:08 +00:00
Matthew Allum
e1bf19f869 2007-05-05 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c:
        Fix typos with new cogl using texture code. Fixes tiled textures.
        Add a check for max npots size.

        * configure.ac:
        * Makefile.am:
        * tests/Makefile.am:
        * tests/test-textures.c:
        Add a simple texture test.
2007-05-04 23:53:49 +00:00
Matthew Allum
76981c44a4 2007-05-02 Matthew Allum <mallum@openedhand.com>
* clutter/Makefile.am:
        * clutter/clutter-stage.c:
        * clutter/sdl/Makefile.am:
        * clutter/sdl/clutter-backend-sdl.c:
        * clutter/sdl/clutter-backend-sdl.h:
        * clutter/sdl/clutter-event-sdl.c:
        * clutter/sdl/clutter-sdl.h:
        * clutter/sdl/clutter-stage-sdl.c:
        * clutter/sdl/clutter-stage-sdl.h:
        * configure.ac:
        Add a basic SDL based backend. Lacks real input event handling
        (translation) as yet.
        Also allows for clutter to be built against dgles.
2007-05-02 20:05:29 +00:00
Matthew Allum
2845bb5b74 2007-05-02 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        * clutter/cogl/gles/cogl.c:
        Fix rotation + other fixed point cleanups.

        * clutter/clutter-texture.h:
        Sketch out an updated API.
2007-05-02 09:01:11 +00:00
Tomas Frydrych
78bf6ccb88 fixed sign problem in cogl_setup_vieport 2007-05-01 20:13:15 +00:00
Matthew Allum
45c8796631 2007-05-01 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-rectangle.c:
        Comment out color match check for now as appears to be causing
        borders to always get pained.

        * clutter/clutter-texture.h:
        Add some format defines (unused as yet)

        * clutter/cogl/gles/cogl.c:
        * clutter/egl/clutter-stage-egl.c:
        * configure.ac:
        Various OpenGL ES backend related fixes and tweaks.
2007-05-01 15:26:12 +00:00
Tomas Frydrych
84f51d0d71 removed debugging messages 2007-04-30 08:39:35 +00:00
Tomas Frydrych
e61aed2146 cleaned up ClutterBehaviourEllipse api, added documentation 2007-04-30 08:39:20 +00:00
Tomas Frydrych
4085070479 clutter_sini(): fixed reduction to 0,2pi 2007-04-30 08:39:15 +00:00
Tomas Frydrych
58aeeed192 initial stab at elliptic path behaviour 2007-04-30 08:39:11 +00:00
Matthew Allum
866e4ed0dd 2007-04-28 Matthew Allum <mallum@openedhand.com>
* clutter/Makefile.am:
        * clutter/clutter-debug.h:
        * clutter/clutter-fixed.h:
        * clutter/clutter-main.c:
        * clutter/cogl/gles/Makefile.am:
        * clutter/cogl/gles/cogl-defines.h:
        * clutter/cogl/gles/cogl.c:
        * clutter/egl/clutter-backend-egl.c:
        * clutter/egl/clutter-backend-egl.h:
        * clutter/egl/clutter-stage-egl.c:
        * configure.ac:
        Populate most stubs for cogl GL/ES implementation.
        (against vincent - see http://svn.o-hand.com/repos/misc/ogles)
        Add various fixups to EGL backend.
        Code builds and runs (on 16bpp) but yet displays much (is close!)

        * clutter/pango/pangoclutter-render.c:
        comment out some rouge glBegin/end calls.
2007-04-28 00:37:11 +00:00
Matthew Allum
79469940bc 2007-04-27 Matthew Allum <mallum@openedhand.com>
* clutter/Makefile.am:
        * clutter/clutter-actor.c:
        * clutter/clutter-clone-texture.c:
        * clutter/clutter-rectangle.c:
        * clutter/clutter-stage.c:
        * clutter/clutter-texture.c:
        * clutter/cogl/cogl.h:
        * clutter/cogl/gl/Makefile.am:
        * clutter/cogl/gl/cogl-defines.h:
        * clutter/cogl/gl/cogl.c:
        * clutter/cogl/gles/Makefile.am:
        * clutter/cogl/gles/cogl-defines.h:
        * clutter/cogl/gles/cogl.c:
        * clutter/glx/Makefile.am:
        * clutter/glx/clutter-stage-glx.c:
        * clutter/pango/Makefile.am:
        * clutter/pango/pangoclutter-render.c:
        * configure.ac:
        Add initial 'cogl' implementation. 'cogl' is a simple abstration
        layer over GL and GL/ES used by clutter internally. It should
        eventually allow clutter applications to be run on both GL and GL/ES
        with just a recompile as well as provide more debugging and potentially
        profiling information for GL and GL/ES usage.

        This commit contains the initial GL implementation.
2007-04-27 21:13:06 +00:00
Emmanuele Bassi
04ea1a98df 2007-04-26 Emmanuele Bassi <ebassi@openedhand.com>
Merge from clutter-0-2

	* clutter/clutter-label.c: Unbreak the "use-markup" property
	by actually passing the markup to pango_layout_set_markup().
2007-04-26 19:11:24 +00:00
Emmanuele Bassi
a7a511ce79 2007-04-25 Emmanuele Bassi <ebassi@openedhand.com>
Merge from clutter.git/master

	* clutter/glx/clutter-event-glx.c:
	* clutter/glx/clutter-stage-glx.c: Implement the _NET_WM_PING
	protocol handling on the main stage window.

	* clutter/clutter-stage.h:
	* clutter/clutter-stage.c:
	* clutter/clutter-main.c: Handle CLUTTER_DELETE events internally,
	by calling clutter_main_quit(), and remove the ::delete-event
	signal from ClutterStage; clean up the signal emission sequence
	for the events: emit the ::event signal before emitting any signal
	and the ::event-after signal after the signal has been emitted; move
	the signal emission calls inside ClutterStage so we can call
	g_signal_emit() instead of g_signal_emit_by_name(), thus sparing us
	a lookup for each event.

	* examples/test.c: Remove ::delete-event signal handling.
2007-04-25 14:22:24 +00:00
Emmanuele Bassi
a8749a5b64 Change clutter_glx_get_default_screen() to return a Screen pointer
Now that we have clutter_backend_get_screen_number(), we can directly
return the Screen pointer inside the GLX backend API.
2007-04-19 15:28:04 +00:00
Emmanuele Bassi
842dde6ba9 Fix delete-event signal handler
Use the right marshaller signature (boolean:boxed) for the delete-event
signal handlers. Add a debug note in clutter_main_do_event() to track the
signal return. Test the delete-event handler inside test.c.
2007-04-19 15:27:46 +00:00
Emmanuele Bassi
b2d01d86c2 Add support for WM_PROTOCOLS to the ClutterStage window
Supporting WM_PROTOCOLS allows handling the WM_DELETE_WINDOW ClientMessage,
which is then relayed to the ClutterStage actor in form of the "delete-event"
signal. Returning TRUE will block the propagation and won't close the
stage window.
2007-04-19 15:26:54 +00:00
Emmanuele Bassi
f1a1399927 Add clutter_backend_get_n_screens()
Add clutter_backend_get_n_screens(), which returns the number of screens
manager by the ClutterBackend, and change clutter_backend_get_screen_number()
to return the screen number of the currently used screen; this is semantically
equivalent to clutter_glx_get_default_screen(), but leaves the door open for
a "screen" abstraction in Clutter, handled by the backend. Update the GLX
and EGL backends to retrieve and set the screen_num and n_screens members of
ClutterBackend using Xlib calls.
2007-04-19 15:26:28 +00:00
Emmanuele Bassi
0caa0faeac Update the EGL backend code
Initialise the ClutterBackend object members when creating the
ClutterBackendEgl instance.
2007-04-19 15:26:06 +00:00
Emmanuele Bassi
72e6ec70f1 Add documentation to the new ClutterBackend API
Add API documentation for the new functions in ClutterBackend. Fixes
the resolution computation.
2007-04-19 15:25:53 +00:00
Emmanuele Bassi
cd39202f23 Add API for getting properties of the ClutterBackend
Add functions to retrieve some of the properties of the screen used by
the backend, like its dimensions (also physical, in millimeters); the
number of screens. Also add setters and getters for the double click
time (in milliseconds) and distance.
2007-04-19 15:25:34 +00:00
Emmanuele Bassi
8b7504dea2 Merge from stable: add XEMBED support
Add the XEMBED protocol support in the GLX backend, for embedding the
stage window into another X window. This allows cross-toolkit inclusion
and makes clutter-gtk possible.
2007-04-19 15:24:57 +00:00
Emmanuele Bassi
fdb1a82569 Merge from stable: implement gravity in scale behaviour
Implement every ClutterGravity value inside the scale behaviour and make
the actors anchor to a gravity when scaling up and down.
2007-04-19 15:24:35 +00:00
Emmanuele Bassi
e89f08560d Merge from stable: fix texture tiling
Revert to copying GdkPixbuf areas to correctly implement the texture
tiling. This fixes segmentation faults occurring with cards with a
small texture memory area.
2007-04-19 15:24:20 +00:00
Emmanuele Bassi
09487c904a Freeze notification queue when changing multiple properties.
Call g_object_freeze_notify() (and take a reference on the actor) inside
clutter_actor_request_size() so that the notifications get unqueued at the
end of the size request.
2007-04-19 15:24:04 +00:00
Emmanuele Bassi
1722c6fec4 Add missing template files. 2007-04-19 15:22:49 +00:00
Emmanuele Bassi
246a84d528 Merge from stable: add XEMBED support
Add the XEMBED protocol support in the GLX backend, for embedding the
stage window into another X window. This allows cross-toolkit inclusion
and makes clutter-gtk possible.
2007-04-16 16:50:40 +00:00
Emmanuele Bassi
85d979fe78 Merge from stable: implement gravity in scale behaviour
Implement every ClutterGravity value inside the scale behaviour and make
the actors anchor to a gravity when scaling up and down.
2007-04-16 16:50:34 +00:00
Emmanuele Bassi
a80a330d0b Merge from stable: fix texture tiling
Revert to copying GdkPixbuf areas to correctly implement the texture
tiling. This fixes segmentation faults occurring with cards with a
small texture memory area.
2007-04-16 16:50:29 +00:00
Emmanuele Bassi
7359668c3d Freeze notification queue when changing multiple properties.
Call g_object_freeze_notify() (and take a reference on the actor) inside
clutter_actor_request_size() so that the notifications get unqueued at the
end of the size request.
2007-04-16 16:50:23 +00:00
Emmanuele Bassi
89f167eebd Return a ClutterBehaviour when splicing the b-spline behaviour. 2007-04-16 10:26:05 +00:00
Emmanuele Bassi
6f6950f4cc Add missing types and sections in the API documentation.
Fix the ClutterBehaviourBspline header file. Fix typos in
ClutterBehaviourRotate API documentation.
2007-04-16 10:25:53 +00:00
Emmanuele Bassi
b76fb9804a Add API documentation to ClutterBehaviourRotate. Also add properties
handling.
2007-04-16 10:25:41 +00:00
Emmanuele Bassi
90ec410aef Add ClutterBehaviourRotate
Add initial implementation of a rotate behaviour; this behaviour rotates
actors along a chosen axis, with a chosen direction, between two angles.
Missing: API documentation and the implementation for the angle boundaries
setters (double and fixed API).
2007-04-16 10:25:30 +00:00
Emmanuele Bassi
bfacc08cc0 Hush compiler warning in ClutterBehaviourBspline.
Cast the knots to const ClutterKnot **; add type checks and use a variable
to hold the private pointer in order to kill off some of the indirections.
2007-04-16 10:25:25 +00:00
Emmanuele Bassi
1274e52f23 Use g_return_val_if_fail() in clutter_behaviour_is_applied().
Return FALSE if the parameters fail the ISA check, instead of returning void.
2007-04-16 10:25:19 +00:00
Tomas Frydrych
43593ab81f bezier spline behaviours 2007-04-12 12:42:07 +00:00
Matthew Allum
0085b75610 2007-04-07 Matthew Allum <mallum@openedhand.com>
* clutter/glx/clutter-backend-glx.c:
        Fix version check.
2007-04-07 21:01:49 +00:00
Tomas Frydrych
3944495569 fixed bug in fovy angle degree -> rad conversion, added glMultMatrixx() code 2007-03-29 11:30:30 +00:00
Tomas Frydrych
d1d746eab1 fixed typo in configure.ac; fixed point perspective() 2007-03-29 10:41:23 +00:00
Matthew Allum
120a489067 2007-03-27 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/Makefile.am:
        * clutter/cogl/cogl.h:
        * clutter/cogl/gles/Makefile.am:
        * clutter/cogl/gles/cogl.c:
        Begin poplulating cogl GLES code.

        * configure.ac:
        * clutter/egl/clutter-event-egl.c:
        * clutter/egl/clutter-stage-egl.c:
        * clutter/egl/clutter-stage-egl.h:
        * clutter/egl/clutter-backend-egl.c:
        * clutter/egl/clutter-backend-egl.h:
        * clutter/egl/clutter-egl.h:
        Add initial EGL/X backend work mostly ported from backend branch.
        Builds but untested as yet.

        * clutter/glx/clutter-stage-glx.c:
        Only include XFixes Header if we have have it.

        * clutter/clutter-behaviour.c: (clutter_behaviour_apply):
        * clutter/clutter-behaviour.h:
        Add clutter_behaviour_is_applied()
2007-03-27 21:09:11 +00:00