* clutter/clutter-event.c (clutter_event_copy): Take an extra
reference on the related actor in ClutterEventCrossing that we
explicitly unref in clutter_event_free(). (#714, Neil Roberts)
* clutter/clutter-main.c (clutter_do_event): Check the
return value of the ::event signal for the CLUTTER_DELETE
event type.
* clutter/clutter-stage.c (clutter_stage_event): Emit the
::event signal when receiving the CLUTTER_DELETE event; this
allows to intercept the user's closing of the stage window.
* clutter.symbols: Add ClutterBehaviourOpacity accessors.
* clutter/clutter-behaviour-opacity.h:
* clutter/clutter-behaviour-opacity.c:
(clutter_behaviour_opacity_set_bounds),
(clutter_behaviour_opacity_get_bounds): Add accessors for the
opacity-start and opacity-end properties.
* clutter/clutter-behaviour-scale.h: Fix the argument name to
avoid complaints by gtk-doc.
* clutter.symbols: Add new ClutterBehaviourScale setters.
* clutter/clutter-behaviour-scale.[ch]: Split the scaling factors
on both axis. Add setters for all the behaviour properties.
* clutter/clutter-effect.h:
* clutter/clutter-effect.c (clutter_effect_scale): Split the
final scale factor to match the ClutterBehaviourScale changes. (#709)
* tests/test-actors.c:
* tests/test-effects.c:
* tests/test-rotate.c:
* tests/test-scale.c: Update after API change.
* clutter/cogl/cogl.h: Rename COGLhandleARB to COGLhandle.
* clutter/cogl/gl/cogl-defines.h.in:
* clutter/cogl/gl/cogl.c: Update GL implementation of COGL.
* clutter/cogl/gles/cogl-defines.h:
* clutter/cogl/gles/cogl.c: Update GLES implementation of COGL.
* clutter/clutter-shader.c: Fix ClutterShader to use the new
COGLhandle type instead of COGLhandlerARB.
Define COGLhandleARB. (patch by Johan Bilien)
* clutter/cogl/gles/cogl-defines.h: Define COGLhandleARB on
GLES as well (using GLuint)
* clutter/cogl/gles/cogl.c: Use COGLhandleARB.
reviewed by: Emmanuele Bassi <ebassi@openedhand.com>
* clutter/osx/clutter-event-osx.c (_clutter_event_osx_put):
Initialize ClutterEvent structure with zeroes (#672)
The 'source' member was uninitialized and being referenced in
clutter_do_event leading to crash.
* clutter/cogl/gl/cogl.c (cogl_get_proc_address): Implement non-GLX
version using GModule and looking up the symbol from the running
process. It should work when linked to library providing the
requested function. (#696, Tommi Komulainen)
* clutter.symbols: Add clutter_model_insertv()
* clutter/clutter-model.[ch] (clutter_model_insertv): Add a vector
based insertion API, for language bindings
* clutter/clutter-effect.c (clutter_effect_rotate): Make the
rotate effect work on the passed axis, instead of hardcoding
the X axis. (#700, Neil Roberts)
patch from Tommi Komulainen <tommi.komulainen@iki.fi>, (#694)
* clutter/cogl/gl/cogl-defines.h.in: Added COGLhandleARB typedef.
* clutter/cogl/cogl.h:
* clutter/cogl/gl/cogl.c:
* clutter/clutter-shader.c: Use COGLhandleARB instead of COGLint when
referring to program or shader handles.
* clutter/Makefile.am:
* clutter/clutter.h:
* clutter/clutter-list-model.[ch]: Complete the ClutterModelDefault
to ClutterListModel rename by renaming the source files
* clutter/clutter-model-default.[ch]: Rename ClutterModelDefault
into ClutterListModel, to make it clear that the default
ClutterModel implementation is list-based
* tests/test-model.c: Update call
* clutter/clutter-model-default.c:
(clutter_model_default_new),
(clutter_model_default_newv): Move the constructors in the
right file
* clutter/clutter-model-private.h: Add a private header for
the ClutterModel implementations
* clutter/clutter-model.c:
(clutter_model_check_type),
(clutter_model_set_n_columns),
(clutter_model_set_column_type): Mark as private to Clutter,
not static to ClutterModel
* clutter/Makefile.am: Add clutter-model-private.h
* clutter/clutter-model-default.[ch]: Remove the ClutterModelDefault
iterator symbols from the public API; the iterator implementation
is a detail of the default ClutterModel class
* clutter.symbols: Update
* clutter/clutter-model.h:
* clutter/clutter-model.c:
(clutter_model_appendv),
(clutter_model_prependv): Add vector based API for bindings.
(clutter_model_get_column_name),
(clutter_model_get_column_type),
(clutter_model_set_sorting_column): Fix the check in the condition
on the column index.
* tests/test-scale.c (on_timeline_completed), (main): Fix spelling
* clutter.symbols: Update public symbols
* clutter.symbols: Add clutter_actor_move_byu()
* clutter/clutter-actor.h:
* clutter/clutter-actor.c:
(clutter_actor_move_by),
(clutter_actor_move_byu): Add a units-based variant of the
clutter_actor_move_by() function
* clutter/clutter-model-default.c:
(clutter_model_default_get_iter_at_row),
(clutter_model_default_insert_row): Fix off-by-one errors
(clutter_model_default_class_init):
(clutter_model_default_remove_row): Move the actual removal of the
row to...
(clutter_model_default_row_removed): ... the signal class handler
of ::row-removed; this way, signal handlers connected to
::row-removed will get a valid iterator, while signal handlers
connected to ::row-removed with the AFTER flag will get an updated
model
* clutter/clutter-model.c:
(clutter_model_real_get_n_rows), (clutter_model_class_init),
(clutter_model_get_n_rows): Provide a default implementation of
the get_n_rows() method, so that subclasses do not strictly need
to override it
reviewed by: <delete if not using a buddy>
* clutter/clutter-actor.c:
(parse_rotation_array): Inline, and get the JsonArray as a parameter
(parse_rotation): Update
* clutter/clutter-script.c:
(warn_missing_attribute): Fix for emacs-style warnings
(clutter_script_parse_node): Remove an ifdeffed out section
(clutter_script_construct_parameters),
(clutter_script_construct_object): Rename get_parameters, so
it's obvious what it does
* clutter/clutter-color.c:
* clutter/clutter-event.c:
* clutter/clutter-stage.c: Intern more strings using the I_() macro
* clutter/clutter-enum-types.c.in: Call g_intern_static_string()
in the enum types template
* clutter.symbols: Add clutter_actor_set_clipu() and
clutter_actor_get_clipu()
* clutter/clutter-actor.h:
* clutter/clutter-actor.c:
(clutter_actor_set_clipu), (clutter_actor_get_clipu): Add the
new units-based versions of the clip accessors
(clutter_actor_set_clip), (clutter_actor_get_clip): Reimplement
the pixels-based clip accessors as proxies for the units-based
ones
* clutter/cogl/cogl.h: Update cogl_clip_set() to accept the
clip components as ClutterFixed values
* clutter/cogl/gl/cogl.c (cogl_clip_set): Update the GL implementation
of cogl_clip_set()
* clutter/cogl/gles/cogl.c:
(cogl_rectangle_internal): Provide an internal, inlined rectangle
drawing function using fixed point values, to be shared by
cogl_clip_set() and cogl_rectangle()
(cogl_clip_set), (cogl_rectangle): Update the GLES implementation
of cogl_clip_set() and cogl_rectangle() to use the new internal
rectangle drawing function
* clutter/clutter-actor.c: Make the clip an array of ClutterUnit
values instead of pixel-based; this allows higher precision and
device independence
(_clutter_actor_apply_modelview_transform): Pass the clip
components converting from units to fixed point values, using
the new cogl_clip_set() signature
(clutter_actor_get_property), (clutter_actor_set_clip),
(clutter_actor_get_clip): Update the accessors of the clip
property
* clutter/clutter-group.c:
* clutter/clutter-group.h: Add the clutter_group_add() convenience
function; it's now "undeprecated" and implemented as a macro
* clutter/clutter-stage.h: Add clutter_stage_add() as a convenience
macro
* clutter/cogl/cogl.h: Include just the needed headers instead
of the whole clutter.h; this avoids rebuild cogl when not needed
* clutter/clutter-label.c:
(clutter_label_ensure_layout): Avoid rounding errors in the layout
computing when switching between Clutter units and Pango units.
* clutter/clutter-label.c:
(clutter_label_query_coords): Return the bounding box set inside
request_coords(), if any; otherwise, return the natural allocation
of the label. (#678, reported by Gwenole Beauchesne)
* tests/test-rotate.c: Align the label
enter event (without related) and corresponding leave event when the
actor the cursor is over has been destroyed.
* clutter/clutter-event.c: (clutter_event_free): only unref the
related_actor when it actually is set.
* clutter/clutter-main.c:
(unset_motion_last_actor),
(generate_enter_leave_events): Attach a callback to the destroy
signal on the last motion actor, so if it goes away while the
pointer is in the middle of it we can unset the pointer.
* clutter/clutter-private.h: Store the last motion actor inside
the global context.
* clutter/clutter-actor.c:
(clutter_actor_should_pick_paint),
(clutter_actor_apply_transform_to_point): Fix the whitespace.
(clutter_actor_set_rotation): Clarify that the coordinates of
the centre of rotation are relative to the anchor point or,
if not set, to the upper left corner of the bounding box.
* clutter/clutter-behaviour-path.c: Clarify the equivalence
between the upper and lower bounds of the ClutterAlpha and
the position in the path. (#634)