profile/ivi/clutter.git
16 years ago2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 10 Oct 2007 13:01:09 +0000 (13:01 +0000)]
2007-10-10  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script-private.h:
* clutter/clutter-script.c: Parse flags like we parse enums.

16 years ago2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 10 Oct 2007 12:51:51 +0000 (12:51 +0000)]
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.

16 years ago2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 10 Oct 2007 10:44:45 +0000 (10:44 +0000)]
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.

16 years ago2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 10 Oct 2007 10:42:19 +0000 (10:42 +0000)]
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.

16 years ago2007-10-10 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Tue, 9 Oct 2007 23:45:49 +0000 (23:45 +0000)]
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.

16 years ago2007-10-09 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 9 Oct 2007 20:04:23 +0000 (20:04 +0000)]
2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script.c (resolve_alpha_func): Fix the
ClutterAlphaFunc resolution function.

16 years ago2007-10-09 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 9 Oct 2007 16:44:44 +0000 (16:44 +0000)]
2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>

* tests/Makefile.am:
* tests/test-script.c:
* tests/test-script.json: Move part of the UI definition into
its own file and exercise clutter_script_load_from_file().

16 years ago2007-10-09 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 9 Oct 2007 16:21:04 +0000 (16:21 +0000)]
2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script.c (clutter_script_get_object): Construct
the requested object if it hasn't been already. This allows
referencing objects within the same snippet.

* tests/test-script.c: Declare a timeline and use it inside
multiple behaviours; apply multiple behaviours to various
actors, then retrieve the timeline to start it when the test
runs.

16 years ago2007-10-09 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 9 Oct 2007 15:11:01 +0000 (15:11 +0000)]
2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script-private.h:
* clutter/clutter-script.c: Allow applying behaviours directly
inside the UI definition data.

* tests/test-script.c: Test the "behaviours" member.

16 years ago2007-10-09 Rob Bradford <rob@openedhand.com>
Robert Bradford [Tue, 9 Oct 2007 13:56:29 +0000 (13:56 +0000)]
2007-10-09  Rob Bradford  <rob@openedhand.com>

* clutter/eglnative/clutter-backend-egl.c:
(clutter_backend_egl_dispose):
Call eglTerminate() on the display when the backend is disposed of.

* clutter/eglnative/clutter-stage-egl.c:
(clutter_stage_egl_realize):
Don't use the createNativeWindow() call, it's not generic EGL.

16 years ago2007-10-09 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 9 Oct 2007 13:29:03 +0000 (13:29 +0000)]
2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script-private.h:
* clutter/clutter-script.h:
* clutter/clutter-script.c: Add licensing information to
the newly added files.

* clutter/clutter-script.c: Support creating behaviours with
ClutterScript. ClutterAlpha objects are implicit, but
timelines can be both explicit objects using their id or
implicit objects. Make the property resolution and translation
more robust. Support the pixbuf property.

* tests/test-script.c: Test the newly added features.

* docs/reference/clutter-docs.sgml:
* docs/reference/clutter-sections.txt: Add ClutterScript.

16 years ago2007-10-09 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 9 Oct 2007 13:24:52 +0000 (13:24 +0000)]
2007-10-09  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-fixed.h: Add deprecation guards around
CLUTTER_FIXED_INT().

16 years agoFix typo in GLib version check
Emmanuele Bassi [Tue, 9 Oct 2007 12:10:11 +0000 (12:10 +0000)]
Fix typo in GLib version check

16 years ago2007-10-08 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 8 Oct 2007 16:48:22 +0000 (16:48 +0000)]
2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script.c: Parse ClutterMargin and ClutterPadding
properties from arrays or integers (assume pixels).

16 years ago2007-10-08 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 8 Oct 2007 16:25:10 +0000 (16:25 +0000)]
2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script-private.h:
* clutter/clutter-script.c: Allow defining childrens for every
container actor inside the UI definition files.

16 years ago2007-10-08 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Mon, 8 Oct 2007 16:18:33 +0000 (16:18 +0000)]
2007-10-08  Matthew Allum  <mallum@openedhand.com>

        * clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        * clutter/clutter-private.h:
        * clutter/clutter-main.c:
        Add a hash to global clutter context mapping all parented actor
        id's to actors.
        Add clutter_get_actor_by_id() call.
        Convert picking machinery to use above.
        (performance/simpler composite actor creation)

        * clutter/clutter-stage.c: (clutter_stage_fullscreen),
        (clutter_stage_unfullscreen), (clutter_stage_event):
        Only set the fullscreen property on stage state fullscreen event(#545)
        Experimental as could be painful to implement on non X backends.

16 years ago2007-10-08 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 8 Oct 2007 15:18:31 +0000 (15:18 +0000)]
2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-script.c (json_parse_end):
* clutter/json/json-object.c (json_object_get_members): Replace
the GLib 2.14 API with the equivalent code for GLib < 2.14.

* configure.ac: Revert the dependency bump.

16 years agoFix includes in ClutterScript
Emmanuele Bassi [Mon, 8 Oct 2007 15:04:13 +0000 (15:04 +0000)]
Fix includes in ClutterScript

16 years ago2007-10-08 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 8 Oct 2007 15:03:22 +0000 (15:03 +0000)]
2007-10-08  Emmanuele Bassi  <ebassi@openedhand.com>

Initial implementation of the UI definition files. (#424)

* clutter/json/Makefile.am:
* clutter/json/*.[ch]: In-tree copy of JSON-GLib, a GLib-based
JSON parser/generator library. We use it in-tree because we might
need to change the API. Ideally, we'd depend on it.

* clutter/clutter.h:
* clutter/clutter-script-private.h:
* clutter/clutter-script.[ch]: ClutterScript, the scenegraph
generator class. It parses JSON streams in form of buffers and
files and builds the scene.

* clutter/clutter-debug.h:
* clutter/clutter-main.c: Add a "script" debug flag

* clutter/Makefile.am: Build glue.

* tests/Makefile.am:
* tests/test-script.c: Add a test case for the ClutterScript.

* configure.ac: Depend on GLib 2.14, so we can use the
g_hash_table_get_key() and g_hash_table_get_values() functions
for the time being; we can probably reimplement those, but we
are going to need 2.14 anyway if we are going to implement a
list model using GSequence.

16 years ago2007-10-03 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 8 Oct 2007 14:51:26 +0000 (14:51 +0000)]
2007-10-03  Emmanuele Bassi  <ebassi@openedhand.com>

* tests/test-behave.c: Use the right return type for the
event callbacks.

16 years ago2007-10-03 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 8 Oct 2007 14:51:14 +0000 (14:51 +0000)]
2007-10-03  Emmanuele Bassi  <ebassi@openedhand.com>

* tests/test-behave.c: Use the right return type for the
event callbacks.

16 years ago2007-10-03 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Wed, 3 Oct 2007 09:28:16 +0000 (09:28 +0000)]
2007-10-03  Matthew Allum  <mallum@openedhand.com>

        * clutter/clutter-actor.c:
        * clutter/clutter-event.c:
        * clutter/clutter-event.h:
        * clutter/clutter-main.c:
        * clutter/clutter-private.h:
        * clutter/eglnative/clutter-event-egl.c:
        * clutter/eglx/clutter-event-egl.c:
        * clutter/glx/clutter-event-glx.c:
        * clutter/sdl/clutter-event-sdl.c:
        Remove seperate double/triple click events and replace with
        a click_count member.
        Move calculating click counts from backend to do_event()
        Initial implementation of ENTER/LEAVE events.

        * tests/test-events.c:
        Add code to test above.

        * tests/test-behave.c:
        Sync with newer API.

        * clutter/clutter-score.c:
        Silence a warning.

16 years ago2007-10-01 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 2 Oct 2007 14:53:32 +0000 (14:53 +0000)]
2007-10-01  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-fixed.h: Add CLUTTER_FIXED_TO_INT() and
deprecate CLUTTER_FIXED_INT(), for symmetry with
CLUTTER_FIXED_FROM_INT().

* clutter/clutter-alpha.c:
* clutter/clutter-behaviour-depth.c:
* clutter/clutter-behaviour-ellipse.c:
* clutter/clutter-behaviour-path.c:
* clutter/clutter-fixed.h: Use CLUTTER_FIXED_TO_INT().

16 years ago2007-10-01 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 2 Oct 2007 14:45:40 +0000 (14:45 +0000)]
2007-10-01  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-actor.c (clutter_actor_get_size): Implement
get_size() as a wrapper around clutter_actor_query_coords()
instead of calling g_object_get() twice.

(clutter_actor_init): Initialise the box in one call.

16 years ago2007-10-01 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Tue, 2 Oct 2007 14:03:36 +0000 (14:03 +0000)]
2007-10-01  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-actor.[ch]: Remove the ::event-after signal
class handler, as it's not meant to be overridden by sub-classes.

(clutter_actor_class_init):
Make every event-related signal return a boolean: return TRUE
in a signal handler to block the emission. The value is accumulated
automatically by the signal API.

(clutter_actor_event): If ::event returns TRUE, skip to emitting
::event-after. Return the value accumulated by the signal emission
chain.

* clutter/clutter-private.h: Rename _clutter_boolean_accumlator().

* clutter/clutter-main.c (clutter_do_event): If clutter_actor_event()
returns TRUE then stop the event emission chain from child to parent.

* clutter/clutter-stage.c (clutter_stage_event): Behave like
clutter_actor_event().

(clutter_stage_get_key_focus),
(clutter_stage_set_key_focus): Avoid a nasty circular reference
issue: if the actor passed to set_key_focus is NULL then the stage
has the key focus.

* tests/test-events.c: Update the events test with the API
changes.

16 years ago2007-10-01 Tomas Frydrych <tf@openedhand.com>
Tomas Frydrych [Mon, 1 Oct 2007 15:26:09 +0000 (15:26 +0000)]
2007-10-01  Tomas Frydrych  <tf@openedhand.com>

* clutter/clutter-actor.c:
(clutter_actor_set_scale_with_gravityx):
Use CLUTTER_QMUL for better precission (#532, patch by Gwenole
Beauchesne).

* clutter/clutter-color.c:
(clutter_color_to_hlsx):
Added missing CLUTTER_INT_TO_FIXED conversion (#544, patch by Neil
Roberts).

16 years ago2007-10-01 Neil J. Patel <njp@o-hand.com>
Neil J. Patel [Mon, 1 Oct 2007 13:44:33 +0000 (13:44 +0000)]
2007-10-01  Neil J. Patel  <njp@o-hand.com>

Patch by: Tommi Komulainen <tommi.komulainen@iki.fi>

* clutter/clutter-entry.c: (clutter_entry_delete_text):
Fix characters vs. bytes inconsistency (#520).

16 years ago2007-09-30 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Sun, 30 Sep 2007 22:27:52 +0000 (22:27 +0000)]
2007-09-30  Matthew Allum  <mallum@openedhand.com>

        * clutter/clutter-event.h:
        Removed unused POINTER_ENTER and POINTER_LEAVE states. (#546)
        * clutter/clutter-stage.c: (clutter_stage_fullscreen),
        (clutter_stage_unfullscreen):
        Only Change fullscreen prop if the backend implements fullscreen
        methods. (#545)

16 years ago2007-09-28 Øyvind Kolås <pippin@openedhand.com>
Øyvind Kolås [Fri, 28 Sep 2007 14:52:54 +0000 (14:52 +0000)]
2007-09-28  Øyvind Kolås  <pippin@openedhand.com>

* clutter/clutter-container.[ch]: added
clutter_container_find_child_by_name.

16 years ago2007-09-28 Øyvind Kolås <pippin@openedhand.com>
Øyvind Kolås [Fri, 28 Sep 2007 11:03:21 +0000 (11:03 +0000)]
2007-09-28  Øyvind Kolås  <pippin@openedhand.com>

* clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_realize):
removed unused variable perspective.
* tests/test-events.c: (main): added CLUTTER_STAGE() cast.
* tests/test-threads.c: include unistd.h for sleep().

16 years ago * clutter/clutter-label.c: (clutter_label_ensure_layout): avoid
Øyvind Kolås [Fri, 28 Sep 2007 10:54:42 +0000 (10:54 +0000)]
* clutter/clutter-label.c: (clutter_label_ensure_layout): avoid
calling pango_layout_set_text|markup before we've got any text.

16 years ago2007-09-27 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Thu, 27 Sep 2007 22:30:58 +0000 (22:30 +0000)]
2007-09-27  Matthew Allum  <mallum@openedhand.com>

        * tests/test-scale.c:
        Fix out of about array addressing (#522, Tommi Komulainen)

16 years ago2007-09-27 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Thu, 27 Sep 2007 22:20:30 +0000 (22:20 +0000)]
2007-09-27  Matthew Allum  <mallum@openedhand.com>

        * clutter/clutter-clone-texture.c:
        * clutter/clutter-rectangle.c:
        Include config.h in all c files (#524, Tommi Komulainen)

16 years ago2007-09-27 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Thu, 27 Sep 2007 22:15:25 +0000 (22:15 +0000)]
2007-09-27  Matthew Allum  <mallum@openedhand.com>

        Merge from stable.

        * clutter/clutter-behaviour-path.c: (path_alpha_to_position)
        Fix uninitialized variable (#480, Gwenole Beauchesne)

16 years ago2007-09-27 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Thu, 27 Sep 2007 21:38:38 +0000 (21:38 +0000)]
2007-09-27  Matthew Allum  <mallum@openedhand.com>

        * clutter/clutter-event.c:
        * clutter/clutter-event.h:
        * clutter/clutter-main.c:
        Further event tweaks;
        - Ref the event actor source
        - Protect against off stage events (button releases)
        - Move more into ClutterEventAny
        - Add a click count to button event (as yet unused)
        - Minor cleanups

        * clutter/clutter-actor.c:
        Make scale x/y a property.

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

        * clutter/eglx/clutter-backend-egl.c:
        Warning cleanup

        * clutter/eglx/clutter-stage-egl.c:
        * clutter/glx/clutter-stage-glx.c:
        * clutter/sdl/clutter-stage-sdl.c:
        Avoid setting viewport directly, but set sync flag.

        * clutter/pango/pangoclutter-render.c: (draw_glyph):
        Minor cleanups.

        * clutter/Makefile.am:
        * tests/Makefile.am:
        * tests/test-score.c
        * clutter/clutter.h:
        * clutter/clutter-score.h:
        * clutter/clutter-score.c:
        Add very initial (broken) ClutterScore implementation.

16 years ago2007-09-25 Ross Burton <ross@openedhand.com>
Ross Burton [Tue, 25 Sep 2007 13:22:24 +0000 (13:22 +0000)]
2007-09-25  Ross Burton  <ross@openedhand.com>

Merge from stable.

* clutter/clutter-group.c:
Optimise sort_z_order.

16 years ago2007-09-17 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 17 Sep 2007 11:34:03 +0000 (11:34 +0000)]
2007-09-17  Emmanuele Bassi  <ebassi@openedhand.com>

Merge from stable

* clutter/eglnative/clutter-event-egl.c:
Flag every device click after the first as motion events
instead of button presses. (#505, Shreyas Srinivasan)

16 years ago2007-09-10 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Mon, 10 Sep 2007 09:16:33 +0000 (09:16 +0000)]
2007-09-10  Matthew Allum  <mallum@openedhand.com>

        Port from stable branch.

        * clutter/eglnative/clutter-event-egl.c: (clutter_event_dispatch):
        Only declare tsevent if we have tslib (#498, Robert Bragg)

16 years ago2007-09-06 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 6 Sep 2007 10:37:24 +0000 (10:37 +0000)]
2007-09-06  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-stage.c: Remove stray include <gdk-pixbuf-xlib.h>
in ClutterStage: the code requesting it was moved in the backends.

16 years agoFix the ClutterRectangle border drawing
Emmanuele Bassi [Fri, 31 Aug 2007 11:58:20 +0000 (11:58 +0000)]
Fix the ClutterRectangle border drawing

Apply a patch from Neil Roberts (bug 488) for fixing the drawing of the
rectangle border, by not overdrawing the rectangle on the border and by
doing the correct check on the border colour.

16 years ago2007-08-29 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Wed, 29 Aug 2007 22:32:47 +0000 (22:32 +0000)]
2007-08-29  Matthew Allum  <mallum@openedhand.com>

        * clutter/clutter-effect.c: (clutter_effect_template_set_property):
        Add missing break statement. Whoops.

16 years ago2007-08-29 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Wed, 29 Aug 2007 19:11:18 +0000 (19:11 +0000)]
2007-08-29  Matthew Allum  <mallum@openedhand.com>

        * clutter/clutter-main.c: (_clutter_do_pick):
        Call glFinish before reading pixels
        * clutter/eglx/clutter-stage-egl.c: (clutter_stage_egl_realize):
        Add missing read surface in making context current.
        Above fixes via Kate Alhola.

        * clutter/glx/clutter-glx.h:
        Add missing filter funcs so there actually exported

16 years ago2007-08-24 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Fri, 24 Aug 2007 15:12:52 +0000 (15:12 +0000)]
2007-08-24  Matthew Allum  <mallum@openedhand.com>

        * clutter/clutter-actor.c:
        * clutter/clutter-event.h:
        * clutter/clutter-main.c:
        * clutter/clutter-stage.c:
        * clutter/clutter-stage.h:
        * clutter/glx/clutter-backend-glx.c:
        * clutter/glx/clutter-backend-glx.h:
        * clutter/glx/clutter-event-glx.c:
        * clutter/glx/clutter-stage-glx.c:
        * clutter/glx/clutter-stage-glx.h:
        Add initial support for stage state events.
        Fix fullscreening for an already mapped stage.

        * tests/test-events.c:
        Print out info from the above. Blue button now toggles
        fullscreen.

        * clutter/clutter-effect.c:
        * clutter/clutter-effect.h:
        Add a setting for templates to ref or clone underlying
        timelines. (As to improve sync issues like those in foofone)

        * tests/test-timeline.c:
        Also add completed signals.

        * clutter/cogl/gles/cogl.c: (cogl_texture_image_2d):
        * configure.ac:
        Forward port from stable branch. RGB Image fixes gles
        and check for lower case libgles_cm.

16 years agoFixed rotation around x axis (bug 486).
Tomas Frydrych [Fri, 24 Aug 2007 06:19:06 +0000 (06:19 +0000)]
Fixed rotation around x axis (bug 486).
* clutter/clutter-actor.c:
(_clutter_actor_apply_modelview_transform):

16 years ago2007-08-23 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 23 Aug 2007 12:47:25 +0000 (12:47 +0000)]
2007-08-23  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-private.h:
* clutter/clutter-event.c: Revert the event queue ordering
commit.

* clutter/eglx/clutter-event-egl.c:
* clutter/glx/clutter-event-glx.c:
* clutter/sdl/clutter-event-sdl.c: Update backends.

16 years agoFixed CCW rotation in rotate behaviour (bug 483); fixed overall path length calculati...
Tomas Frydrych [Wed, 22 Aug 2007 10:33:26 +0000 (10:33 +0000)]
Fixed CCW rotation in rotate behaviour (bug 483); fixed overall path length calculation for angles > 360 in rotate and ellipse.

16 years agoUpdate ChangeLog for SVN users
Emmanuele Bassi [Wed, 22 Aug 2007 10:12:20 +0000 (10:12 +0000)]
Update ChangeLog for SVN users

16 years agoRemove the threads locking in the dispatchers destruction notification
Emmanuele Bassi [Wed, 22 Aug 2007 10:12:15 +0000 (10:12 +0000)]
Remove the threads locking in the dispatchers destruction notification

The GLib main loop allows destroying sources while still in the dispatcher
function, so whether the Clutter threading lock is being held or not is
actually unpredictable by the library. This might be fixed in GLib, so we
just do what GTK+ does for the time being and wait.

See bug: http://bugzilla.gnome.org/show_bug.cgi?id=459555

16 years agoUpdate ChangeLog for SVN users
Emmanuele Bassi [Tue, 21 Aug 2007 15:48:57 +0000 (15:48 +0000)]
Update ChangeLog for SVN users

16 years agoReturn event coordinates for 3BUTTON_PRESS events
Emmanuele Bassi [Tue, 21 Aug 2007 15:48:51 +0000 (15:48 +0000)]
Return event coordinates for 3BUTTON_PRESS events

The switch() in clutter_event_get_coords() wasn't returning the coordinates
for the 3 button press events, thus those events never reached the actors.

16 years agoCorrectly initialise the multiple clicks variables
Emmanuele Bassi [Tue, 21 Aug 2007 15:48:44 +0000 (15:48 +0000)]
Correctly initialise the multiple clicks variables

16 years agoCheck for pending events from the tail of the events queue
Emmanuele Bassi [Tue, 21 Aug 2007 15:48:37 +0000 (15:48 +0000)]
Check for pending events from the tail of the events queue

When checking for pending events we need to look from the tail of the
list backwards.

16 years agoFix previous ChangeLog message
Emmanuele Bassi [Tue, 21 Aug 2007 15:48:30 +0000 (15:48 +0000)]
Fix previous ChangeLog message

16 years agoUpdate ChangeLog for SVN users
Emmanuele Bassi [Tue, 21 Aug 2007 15:48:24 +0000 (15:48 +0000)]
Update ChangeLog for SVN users

16 years agoPreserve ordering when placing synthetic events in the queue
Emmanuele Bassi [Tue, 21 Aug 2007 15:48:13 +0000 (15:48 +0000)]
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.

16 years agoUpdate ChangeLog for SVN users
Emmanuele Bassi [Tue, 21 Aug 2007 15:48:03 +0000 (15:48 +0000)]
Update ChangeLog for SVN users

16 years agoDocument ClutterStage properties
Emmanuele Bassi [Tue, 21 Aug 2007 15:47:51 +0000 (15:47 +0000)]
Document ClutterStage properties

Add missing documentation for the ClutterStage properties and enable the
properties and signals in the gtk-doc API reference.

16 years agoFixes for 64-bit platforms; use of SSE builtin when available (patches by Gwenole...
Tomas Frydrych [Tue, 21 Aug 2007 09:25:09 +0000 (09:25 +0000)]
Fixes for 64-bit platforms; use of SSE builtin when available (patches by Gwenole Beauchesne).

16 years ago2007-08-20 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Mon, 20 Aug 2007 20:16:15 +0000 (20:16 +0000)]
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).

16 years agoRelax the CLUTTER_CHECK_VERSION() macro check
Emmanuele Bassi [Mon, 20 Aug 2007 11:54:28 +0000 (11:54 +0000)]
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.

16 years agoFix compiler warnings in test-timeline
Emmanuele Bassi [Mon, 20 Aug 2007 11:22:11 +0000 (11:22 +0000)]
Fix compiler warnings in test-timeline

16 years agoMake gtk-doc produce the ClutterTimeline signals
Emmanuele Bassi [Mon, 20 Aug 2007 09:17:23 +0000 (09:17 +0000)]
Make gtk-doc produce the ClutterTimeline signals

16 years agoUpdate ChangeLog for SVN users
Emmanuele Bassi [Sun, 19 Aug 2007 19:09:26 +0000 (19:09 +0000)]
Update ChangeLog for SVN users

16 years agoVarious fixes to ClutterTimeline
Emmanuele Bassi [Sun, 19 Aug 2007 19:09:20 +0000 (19:09 +0000)]
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.

16 years agoNo need to unref the ClutterAlpha in the effect closure
Emmanuele Bassi [Sun, 19 Aug 2007 17:06:54 +0000 (17:06 +0000)]
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.

16 years agoProtect the version components
Emmanuele Bassi [Sun, 19 Aug 2007 17:06:41 +0000 (17:06 +0000)]
Protect the version components

16 years agoReplace the note in clutter_do_event()
Emmanuele Bassi [Sun, 19 Aug 2007 17:06:37 +0000 (17:06 +0000)]
Replace the note in clutter_do_event()

Use an EVENT note and not a SCHEDULER one.

16 years agoUse g_list_insert_sorted() instead of our custom function
Emmanuele Bassi [Sun, 19 Aug 2007 17:06:22 +0000 (17:06 +0000)]
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.

16 years ago2007-08-19 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Sun, 19 Aug 2007 00:03:01 +0000 (00:03 +0000)]
2007-08-19  Matthew Allum  <mallum@openedhand.com>

        * clutter/eglx/clutter-event-egl.c: (clutter_event_dispatch):
        Fix clutter_thread typo (Kate Alhola)

16 years agoUpdate ChangeLog for SVN users
Emmanuele Bassi [Sat, 18 Aug 2007 12:39:40 +0000 (12:39 +0000)]
Update ChangeLog for SVN users

16 years agoFix clutter_behaviour_rotate_get_center()
Emmanuele Bassi [Sat, 18 Aug 2007 12:39:36 +0000 (12:39 +0000)]
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.

16 years agoUpdate the Since version in the API that has been backported
Emmanuele Bassi [Sat, 18 Aug 2007 12:39:30 +0000 (12:39 +0000)]
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.

16 years agoUpdate ChangeLog for SVN users
Emmanuele Bassi [Wed, 15 Aug 2007 19:50:36 +0000 (19:50 +0000)]
Update ChangeLog for SVN users

16 years agoAdd checks on the reactive accessors
Emmanuele Bassi [Wed, 15 Aug 2007 19:50:31 +0000 (19:50 +0000)]
Add checks on the reactive accessors

Check for the parameter in the various "reactive" flag accessors.

16 years agoUpdate ChangeLogs for SVN users
Emmanuele Bassi [Wed, 15 Aug 2007 19:50:24 +0000 (19:50 +0000)]
Update ChangeLogs for SVN users

16 years agoAdd clutter_effect_depth(), simple wrapper around the depth behaviour
Emmanuele Bassi [Wed, 15 Aug 2007 19:50:16 +0000 (19:50 +0000)]
Add clutter_effect_depth(), simple wrapper around the depth behaviour

This patch adds a new effect function, wrapping ClutterBehaviourDepth into
clutter_effect_depth().

16 years agoFix for the smoothstep alpha function
Emmanuele Bassi [Wed, 15 Aug 2007 13:29:43 +0000 (13:29 +0000)]
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.

16 years agoUpdate ChangeLog for SVN users
Emmanuele Bassi [Tue, 14 Aug 2007 08:01:43 +0000 (08:01 +0000)]
Update ChangeLog for SVN users

16 years agoRename ClutterContainer raise() and lower() methods to avoid clashes
Emmanuele Bassi [Tue, 14 Aug 2007 08:01:33 +0000 (08:01 +0000)]
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.

16 years ago2007-08-13 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Mon, 13 Aug 2007 20:48:01 +0000 (20:48 +0000)]
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.

16 years agoUpdate ChangeLogs for SVN users
Emmanuele Bassi [Mon, 13 Aug 2007 17:01:35 +0000 (17:01 +0000)]
Update ChangeLogs for SVN users

16 years agoImplement ::raise(), ::lower() and ::sort_depth_order() in ClutterBox
Emmanuele Bassi [Mon, 13 Aug 2007 17:01:30 +0000 (17:01 +0000)]
Implement ::raise(), ::lower() and ::sort_depth_order() in ClutterBox

Provide the implementations of the newly added ClutterContainer virtual
functions inside ClutterBox.

16 years agoUse the sibling to reinsert the actor at the right position
Emmanuele Bassi [Mon, 13 Aug 2007 17:01:25 +0000 (17:01 +0000)]
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.

16 years agoAdd more checks to ClutterContainer::raise() and ::lower()
Emmanuele Bassi [Mon, 13 Aug 2007 17:01:12 +0000 (17:01 +0000)]
Add more checks to ClutterContainer::raise() and ::lower()

Check that the actors passed are actually children of the container,
as the implementations assume this.

16 years agoMake ClutterActor use ClutterContainer methods
Emmanuele Bassi [Mon, 13 Aug 2007 17:01:07 +0000 (17:01 +0000)]
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.

16 years agoMove depth ordering methods from ClutterGroup to ClutterContainer
Emmanuele Bassi [Mon, 13 Aug 2007 17:00:58 +0000 (17:00 +0000)]
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.

16 years agoUse clutter_container_find_child_by_id() when picking
Emmanuele Bassi [Mon, 13 Aug 2007 17:00:52 +0000 (17:00 +0000)]
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.

16 years agoImplement ClutterContainer::find_child_by_id() in ClutterBox
Emmanuele Bassi [Mon, 13 Aug 2007 17:00:47 +0000 (17:00 +0000)]
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.

16 years agoMake ::find_child_by_id() a method of ClutterContainer
Emmanuele Bassi [Mon, 13 Aug 2007 17:00:37 +0000 (17:00 +0000)]
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.

16 years ago2007-08-12 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Sun, 12 Aug 2007 21:30:14 +0000 (21:30 +0000)]
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)

16 years ago2007-08-12 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Sun, 12 Aug 2007 13:19:31 +0000 (13:19 +0000)]
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.

16 years agoUpdate ChangeLog
Emmanuele Bassi [Sun, 12 Aug 2007 12:41:05 +0000 (12:41 +0000)]
Update ChangeLog

16 years ago2007-08-11 Matthew Allum <mallum@openedhand.com>
Matthew Allum [Sat, 11 Aug 2007 19:28:05 +0000 (19:28 +0000)]
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

16 years ago2007-08-09 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Thu, 9 Aug 2007 13:24:42 +0000 (13:24 +0000)]
2007-08-09  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-box.c: Rename a variable to fix a compiler
warning.

16 years ago2007-08-08 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 8 Aug 2007 23:23:18 +0000 (23:23 +0000)]
2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-behaviour-ellipse:
(clutter_behaviour_ellipse_get_tiltx): Remove useless
"Return" in the API documentation.

16 years ago2007-08-08 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 8 Aug 2007 21:36:16 +0000 (21:36 +0000)]
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)

16 years ago2007-08-08 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 8 Aug 2007 13:24:43 +0000 (13:24 +0000)]
2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-main.c (clutter_get_timestamp): Remove
the microseconds remainder, which is mostly useless. (#447)

16 years ago2007-08-08 Emmanuele Bassi <ebassi@openedhand.com>
Emmanuele Bassi [Wed, 8 Aug 2007 11:22:45 +0000 (11:22 +0000)]
2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>

* clutter/clutter-main.c (clutter_get_timestamp): Return the
correct number of microseconds (#447, Neil Roberts)

16 years agoUpdate DOAP file
Emmanuele Bassi [Wed, 8 Aug 2007 10:37:10 +0000 (10:37 +0000)]
Update DOAP file

16 years agoDon't forge to add test cases
Emmanuele Bassi [Wed, 8 Aug 2007 10:22:00 +0000 (10:22 +0000)]
Don't forge to add test cases