Emmanuele Bassi [Tue, 25 Dec 2007 11:41:10 +0000 (11:41 +0000)]
2007-12-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-enum-types.c.in: Fix the template
Emmanuele Bassi [Mon, 24 Dec 2007 16:24:26 +0000 (16:24 +0000)]
Emmanuele Bassi [Mon, 24 Dec 2007 14:52:41 +0000 (14:52 +0000)]
2007-12-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-color.c:
* clutter/clutter-event.c:
* clutter/clutter-stage.c: Intern more strings using the I_() macro
* clutter/clutter-enum-types.c.in: Call g_intern_static_string()
in the enum types template
Emmanuele Bassi [Mon, 24 Dec 2007 14:22:20 +0000 (14:22 +0000)]
Update ChangeLog
Emmanuele Bassi [Mon, 24 Dec 2007 14:21:19 +0000 (14:21 +0000)]
2007-12-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.symbols: Add clutter_actor_set_clipu() and
clutter_actor_get_clipu()
* clutter/clutter-actor.h:
* clutter/clutter-actor.c:
(clutter_actor_set_clipu), (clutter_actor_get_clipu): Add the
new units-based versions of the clip accessors
(clutter_actor_set_clip), (clutter_actor_get_clip): Reimplement
the pixels-based clip accessors as proxies for the units-based
ones
Emmanuele Bassi [Mon, 24 Dec 2007 12:53:04 +0000 (12:53 +0000)]
2007-12-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/cogl/cogl.h: Update cogl_clip_set() to accept the
clip components as ClutterFixed values
* clutter/cogl/gl/cogl.c (cogl_clip_set): Update the GL implementation
of cogl_clip_set()
* clutter/cogl/gles/cogl.c:
(cogl_rectangle_internal): Provide an internal, inlined rectangle
drawing function using fixed point values, to be shared by
cogl_clip_set() and cogl_rectangle()
(cogl_clip_set), (cogl_rectangle): Update the GLES implementation
of cogl_clip_set() and cogl_rectangle() to use the new internal
rectangle drawing function
* clutter/clutter-actor.c: Make the clip an array of ClutterUnit
values instead of pixel-based; this allows higher precision and
device independence
(_clutter_actor_apply_modelview_transform): Pass the clip
components converting from units to fixed point values, using
the new cogl_clip_set() signature
(clutter_actor_get_property), (clutter_actor_set_clip),
(clutter_actor_get_clip): Update the accessors of the clip
property
Emmanuele Bassi [Mon, 24 Dec 2007 12:13:31 +0000 (12:13 +0000)]
Update TODO
Emmanuele Bassi [Fri, 21 Dec 2007 17:19:41 +0000 (17:19 +0000)]
Update README and NEWS before release
Emmanuele Bassi [Fri, 21 Dec 2007 17:19:18 +0000 (17:19 +0000)]
Update ChangeLog
Emmanuele Bassi [Fri, 21 Dec 2007 17:18:49 +0000 (17:18 +0000)]
2007-12-21 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.h: Remove the unused ::set_depth() and
::get_depth() virtual functions. (#674, Murray Cumming)
Emmanuele Bassi [Fri, 21 Dec 2007 16:04:39 +0000 (16:04 +0000)]
2007-12-21 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-group.c:
* clutter/clutter-group.h: Add the clutter_group_add() convenience
function; it's now "undeprecated" and implemented as a macro
* clutter/clutter-stage.h: Add clutter_stage_add() as a convenience
macro
* clutter/cogl/cogl.h: Include just the needed headers instead
of the whole clutter.h; this avoids rebuild cogl when not needed
Emmanuele Bassi [Fri, 21 Dec 2007 15:25:00 +0000 (15:25 +0000)]
2007-12-21 Emmanuele Bassi <ebassi@openedhand.com>
* Makefile.am: Move tests build before docs, to cut down the
distcheck failure discovery
* clutter.symbols: Add clutter_texture_set_area_from_rgb_data()
* clutter/clutter-actor.c:
* clutter/clutter-script.c:
* clutter/clutter-texture.c:
* clutter/json/json-generator.c:
* clutter/json/json-parser.c: Compilation fixes for passing distcheck
* tests/test-grab.c:
* tests/test-score.c:
* tests/test-script.c:
* tests/test-shader.c:
* tests/test-unproject.c: Ditto as above
Emmanuele Bassi [Fri, 21 Dec 2007 15:09:08 +0000 (15:09 +0000)]
2007-12-21 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-sections.txt: Add clutter_texture_set_area_from_rgb_data()
Emmanuele Bassi [Fri, 21 Dec 2007 13:18:19 +0000 (13:18 +0000)]
2007-12-21 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-label.c:
(clutter_label_ensure_layout): Avoid rounding errors in the layout
computing when switching between Clutter units and Pango units.
Øyvind Kolås [Thu, 20 Dec 2007 14:26:07 +0000 (14:26 +0000)]
* clutter/clutter-texture.[ch]: (bug #675) added
clutter_texture_set_area_from_rgb_data, sharing some of the
initialization infrastructure with clutter_texture_set_from_rgb_data.
Emmanuele Bassi [Thu, 20 Dec 2007 10:44:28 +0000 (10:44 +0000)]
2007-12-20 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-container.c:
(clutter_container_lower_child): Fix interface method call
to actually call ClutterContainer::lower. (#670, Gwenole
Beauchesne)
Emmanuele Bassi [Thu, 20 Dec 2007 09:22:05 +0000 (09:22 +0000)]
2007-12-20 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-label.c:
(clutter_label_query_coords): Return the bounding box set inside
request_coords(), if any; otherwise, return the natural allocation
of the label. (#678, reported by Gwenole Beauchesne)
* tests/test-rotate.c: Align the label
Tomas Frydrych [Wed, 19 Dec 2007 16:16:10 +0000 (16:16 +0000)]
2007-12-19 Tomas Frydrych <tf@openedhand.com>
* clutter/Makefile.am:
* clutter/cogl/gl/cogl-defines.h.in:
* clutter/pango/pangoclutter-render.c:
* configure.ac:
Fixes to allow cross-compilation with mingw (patch by Neil
Roberts).
Removed trailing whitespace.
Øyvind Kolås [Tue, 18 Dec 2007 13:03:45 +0000 (13:03 +0000)]
* clutter/clutter-main.c: (generate_enter_leave_events): synthesize
enter event (without related) and corresponding leave event when the
actor the cursor is over has been destroyed.
* clutter/clutter-event.c: (clutter_event_free): only unref the
related_actor when it actually is set.
Emmanuele Bassi [Tue, 18 Dec 2007 10:49:29 +0000 (10:49 +0000)]
2007-12-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.c:
(unset_motion_last_actor),
(generate_enter_leave_events): Attach a callback to the destroy
signal on the last motion actor, so if it goes away while the
pointer is in the middle of it we can unset the pointer.
* clutter/clutter-private.h: Store the last motion actor inside
the global context.
Emmanuele Bassi [Mon, 17 Dec 2007 17:45:49 +0000 (17:45 +0000)]
2007-12-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
(clutter_actor_should_pick_paint),
(clutter_actor_apply_transform_to_point): Fix the whitespace.
(clutter_actor_set_rotation): Clarify that the coordinates of
the centre of rotation are relative to the anchor point or,
if not set, to the upper left corner of the bounding box.
Tomas Frydrych [Mon, 17 Dec 2007 17:16:49 +0000 (17:16 +0000)]
2007-12-17 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-behaviour-ellipse.c:
* clutter/clutter-behaviour-rotate.c:
Clamping of start and end angles to <0, 360).
Emmanuele Bassi [Mon, 17 Dec 2007 15:56:35 +0000 (15:56 +0000)]
2007-12-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-path.c: Clarify the equivalence
between the upper and lower bounds of the ClutterAlpha and
the position in the path. (#634)
Emmanuele Bassi [Mon, 17 Dec 2007 15:51:30 +0000 (15:51 +0000)]
2007-12-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-texture.c: Mention the fact that a ClutterTexture
will scale its contents to fit inside the requested bounding
box. (#661)
Emmanuele Bassi [Mon, 17 Dec 2007 15:47:19 +0000 (15:47 +0000)]
2007-12-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Fix documentation for
the ::captured-event signal. (#673)
Emmanuele Bassi [Mon, 17 Dec 2007 15:08:43 +0000 (15:08 +0000)]
2007-12-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Clarify the set_clip() method
documentation, pointing out that the clip area origin is
always the top-left corner of an actor.
Emmanuele Bassi [Sat, 15 Dec 2007 14:36:27 +0000 (14:36 +0000)]
2007-12-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
* clutter/clutter-alpha.h:
* clutter/clutter-event.h:
* clutter/clutter-fixed.[ch]:
* clutter/clutter-model.h:
* clutter/clutter-shader.[ch]:
* clutter/clutter-stage.c: Documentation fixes.
Emmanuele Bassi [Sat, 15 Dec 2007 13:02:06 +0000 (13:02 +0000)]
2007-12-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model-default.c:
(clutter_model_default_iter_next),
(clutter_model_default_iter_prev): Do not instantiate a new
iterator, and update the passed one instead, as we say we do
in the documentation. This avoid leaking tons of iterators.
* clutter/clutter-model.[ch]: Update the documentation.
* tests/test-model.c: Prettify some output.
Emmanuele Bassi [Fri, 14 Dec 2007 17:25:55 +0000 (17:25 +0000)]
2007-12-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour.c:
(clutter_knot_get_type): Use the I_() macro.
* clutter/clutter-model.[ch]: Make ClutterModel and ClutterModelIter
abstract classes; also, provide more virtual functions inside the
ClutterModel vtable, to allow subclasses and language bindings to
override the entire ClutterModel using other/native data types
to store the rows.
* clutter/clutter-model-default.[ch]: ClutterModelDefault is a
default implementation of ClutterModel and ClutterModelIter using
GSequence.
* clutter/Makefile.am:
* clutter/clutter.h: Build glue for ClutterModelDefault.
* tests/test-model.c: Update for constructor changes.
* tests/test-shader.c: Fix a typo.
Matthew Allum [Fri, 14 Dec 2007 12:36:45 +0000 (12:36 +0000)]
2007-12-14 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gl/cogl-defines.h.in:
* clutter/cogl/gles/cogl-defines.h:
Add CLUTTER_COGL_HAS_GL/GLES defines
Øyvind Kolås [Tue, 11 Dec 2007 14:49:41 +0000 (14:49 +0000)]
Refined the ClutterShader API based on a patch from Emmanuele Bassi.
* clutter/clutter-actor.c: (clutter_actor_paint),
(clutter_actor_apply_shader): queue a redraw of actor when shader is
set.
* clutter/clutter-actor.h: indentation.
* clutter/clutter-shader.[ch]: made the fragment and vertex shader
sources properties. Report error through GError when binding shaders.
* tests/test-shader.c: modified to use newer API.
Emmanuele Bassi [Mon, 10 Dec 2007 16:42:21 +0000 (16:42 +0000)]
2007-12-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model.c:
(clutter_model_get_sorting_column): Fix wrong type check.
Emmanuele Bassi [Mon, 10 Dec 2007 16:22:05 +0000 (16:22 +0000)]
2007-12-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model.[ch]: Allow unsorting the model (passing
-1 as the sorting column)
(clutter_model_iter_get_valist): Do not initialise twice che
return value.
Emmanuele Bassi [Mon, 10 Dec 2007 16:02:46 +0000 (16:02 +0000)]
2007-12-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model.c (clutter_model_iter_get_value): Initialise
the passed GValue like the other getters do.
Emmanuele Bassi [Mon, 10 Dec 2007 15:08:53 +0000 (15:08 +0000)]
2007-12-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model.h:
* clutter/clutter-model.c:
(clutter_model_append_value),
(clutter_model_prepend_value),
(clutter_model_insert_value): Add a _value() variant for the
insertion methods, for use of the language bindings.
(clutter_model_append),
(clutter_model_prepend),
(clutter_model_insert): Do not return a boolean: insertion should
never fail unless for a programming error, in which case we have
plenty of warnings.
Emmanuele Bassi [Mon, 10 Dec 2007 12:00:41 +0000 (12:00 +0000)]
Fix ChangeLog attribution
Emmanuele Bassi [Mon, 10 Dec 2007 12:00:08 +0000 (12:00 +0000)]
2007-12-10 Emmanuele Bassi,,, <ebassi@sprite>
* clutter/clutter-behaviour-ellipse.c:
(clutter_behaviour_ellipse_get_angle_tilt),
(clutter_behaviour_ellipse_get_angle_tiltx),
(clutter_behaviour_ellipse_set_tilt): Fix a double conversion
that was messing up the returned results. (#665)
Emmanuele Bassi [Mon, 10 Dec 2007 11:03:24 +0000 (11:03 +0000)]
2007-12-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-docs.sgml: Add ClutterShader...
* clutter.types: ... and its type function.
Emmanuele Bassi [Mon, 10 Dec 2007 11:01:10 +0000 (11:01 +0000)]
2007-12-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
(clutter_actor_set_property),
(clutter_actor_get_property),
(clutter_actor_class_init): Add the rotation-* properties,
controlling the rotation angle and center on each axis. (#614)
(parse_rotation_array), (parse_rotation),
(clutter_actor_parse_custom_node),
(clutter_actor_set_custom_property),
(clutter_scriptable_iface_init): Add a new "rotation" custom
property for expressing the rotation along each axis in a
compact way:
"rotation" : [
{ "x-axis" : [ <angle>, [ <y>, <z> ] ] },
{ "y-axis" : [ <angle>, [ <x>, <z> ] ] },
{ "z-axis" : [ <angle>, [ <x>, <y> ] ] }
]
(clutter_geometry_get_type),(clutter_vertex_get_type),
(clutter_actor_box_get_type): Use the I_() macro instead of
directly calling g_intern_static_string().
* clutter/clutter-entry.c (clutter_entry_request_coords):
* clutter/clutter-label.c (clutter_label_ensure_layout),
(clutter_label_request_coords): Use CLUTTER_UNITS_FROM_DEVICE()
instead of CLUTTER_UNITS_FROM_INT(), as "device" means "pixels".
* clutter/clutter-private.h: Add the I_() macro for intern
static strings.
* tests/test-script.json: Test the newly added "rotation"
custom property.
Tomas Frydrych [Mon, 10 Dec 2007 10:16:55 +0000 (10:16 +0000)]
2007-12-10 Tomas Frydrych <tf@openedhand.com>
* tests/Makefile.am:
Fixed a typo.
Tomas Frydrych [Mon, 10 Dec 2007 10:13:31 +0000 (10:13 +0000)]
2007-12-10 Tomas Frydrych <tf@openedhand.com>
* tests/test-viewport.c:
* tests/Makefile.am:
Added a simple viewport test.
Tomas Frydrych [Mon, 10 Dec 2007 08:15:10 +0000 (08:15 +0000)]
2007-12-07 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.c:
(_clutter_actor_apply_modelview_transform):
Moved offset translation after rotation so that rotation coords
are also relative to the offset point.
Emmanuele Bassi [Sun, 9 Dec 2007 08:53:06 +0000 (08:53 +0000)]
2007-12-09 Emmanuele Bassi <ebassi@openedhand.com>
* tests/test-events.c (input_cb):
* tests/test-text.c (main): Fix compiler errors. (#592,
Gwenole Beauchesne)
Emmanuele Bassi [Sun, 9 Dec 2007 08:47:11 +0000 (08:47 +0000)]
2007-12-09 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Document the values for full
transparency and full opacity in the set_opacity()
method. (#662)
* clutter/clutter-behaviour-ellipse.c: Improve consistency
in the apidoc.
Emmanuele Bassi [Sat, 8 Dec 2007 14:59:58 +0000 (14:59 +0000)]
2007-12-08 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Make libtool respect the -s switch of make
and be quiet.
Emmanuele Bassi [Fri, 7 Dec 2007 15:49:54 +0000 (15:49 +0000)]
2007-12-07 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.h:
* clutter/clutter-actor.c:
(clutter_actor_get_sizeu),
(clutter_actor_get_positionu): Add unit-based accessors to
the size and position.
Tomas Frydrych [Fri, 7 Dec 2007 11:00:01 +0000 (11:00 +0000)]
2007-12-07 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-behaviour-ellipse.c:
(clutter_behaviour_ellipse_set_angle_start):
(clutter_behaviour_ellipse_set_angle_end):
(clutter_behaviour_ellipse_set_angle_tilt):
(clutter_behaviour_ellipse_set_tilt):
Removed strayed degree -> ClutterAngle conversions left over from
API changes.
(clutter_behaviour_ellipse_set_angle_tiltx):
Removed stray printf.
Tomas Frydrych [Fri, 7 Dec 2007 07:48:57 +0000 (07:48 +0000)]
2007-12-07 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-behaviour-ellipse.c:
Fixed tilt setters and getters.
Tomas Frydrych [Thu, 6 Dec 2007 16:21:48 +0000 (16:21 +0000)]
2007-12-06 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-fixed.c:
* clutter/clutter-fixed.h:
(clutter_sqrti):
Added extra iteration to the Newton-Rapson algorithm for argumens
lesser than 342 to improve precission.
Emmanuele Bassi [Thu, 6 Dec 2007 12:38:04 +0000 (12:38 +0000)]
2007-12-06 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.c:
(clutter_set_motion_events_frequency): Never allow the motion
events devlivery frequency to exceed the default frame rate.
Emmanuele Bassi [Thu, 6 Dec 2007 11:25:16 +0000 (11:25 +0000)]
2007-12-06 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/json/json-parser.[ch]: Use gssize, size we allow -1
as a length (meaning "use the whole string").
(json_parser_load_from_data): Use the passed length instead of
using strlen() all the time.
* clutter/clutter-script.[ch]: Ditto as above.
Emmanuele Bassi [Thu, 6 Dec 2007 10:58:42 +0000 (10:58 +0000)]
Rever accidental commit
Emmanuele Bassi [Thu, 6 Dec 2007 10:57:29 +0000 (10:57 +0000)]
Update the svn:ignore property
Emmanuele Bassi [Thu, 6 Dec 2007 10:55:41 +0000 (10:55 +0000)]
2007-12-06 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/pango/pangoclutter-render.c: Hush a compiler warning
by removing a unused variable.
Emmanuele Bassi [Thu, 6 Dec 2007 10:49:46 +0000 (10:49 +0000)]
2007-12-06 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-label.c (clutter_label_ensure_layout): If the
label has a requested size, force it when ensuring the layout.
Emmanuele Bassi [Thu, 6 Dec 2007 10:39:07 +0000 (10:39 +0000)]
Do not forget to commit the ChangeLog next time
Emmanuele Bassi [Thu, 6 Dec 2007 09:07:12 +0000 (09:07 +0000)]
2007-12-06 Emmanuele Bassi <ebassi@openedhand.com>
* tests/test-unproject.c: Fix type comparison.
* tests/test-score.c: Save the returned ids.
Matthew Allum [Wed, 5 Dec 2007 21:41:43 +0000 (21:41 +0000)]
2007-12-05 Matthew Allum <mallum@openedhand.com>
* clutter/pango/pangoclutter-render.c:
Prefer rendering with npots textures over pots textures if
available (essentially makes applying shaders easier)
Also convert some float to fixed.
Emmanuele Bassi [Wed, 5 Dec 2007 21:15:19 +0000 (21:15 +0000)]
2007-12-05 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-score.h: Rearrange declarations.
* clutter/clutter-score.c: More documentation in the long
description of the ClutterScore section.
* clutter/clutter-debug.h:
* clutter/clutter-main.c: Add the CLUTTER_DEBUG_SHADER flag,
for debugging the shader calls.
* clutter/clutter-feature.h: Fix the documentation of the
feature flags.
* clutter/Makefile.am: Remove trailing whitespace.
Tomas Frydrych [Wed, 5 Dec 2007 14:54:15 +0000 (14:54 +0000)]
2007-12-05 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.c:
* clutter/clutter-actor.h:
* tests/Makefile.am:
* tests/test-unproject:
(clutter_actor_transform_stage_point):
Added new function for translating stage coordinates into local
actor coordinates.
Emmanuele Bassi [Tue, 4 Dec 2007 16:56:53 +0000 (16:56 +0000)]
2007-12-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-score.c: Better document ClutterScore
and its API.
Emmanuele Bassi [Tue, 4 Dec 2007 16:26:19 +0000 (16:26 +0000)]
2007-12-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-score.[ch]: Reimplement ClutterScore using
a N-ary tree to store the timelines. Remove clutter_score_add():
the same functionality can be achieved by passing a NULL
parent to clutter_score_append().
* tests/test-score.c: Update ClutterScore test unit, and add
debug printouts.
Øyvind Kolås [Tue, 4 Dec 2007 09:13:06 +0000 (09:13 +0000)]
* clutter/clutter-shader.c: (bind_glsl_shader): use gchar instead of
GLcharARB.
Øyvind Kolås [Mon, 3 Dec 2007 17:14:49 +0000 (17:14 +0000)]
* clutter/clutter-shader.[ch]: do not include GL.h.
Øyvind Kolås [Mon, 3 Dec 2007 16:29:18 +0000 (16:29 +0000)]
Support for shaders in clutter. At the moment limited to drivers
providing GLSL support.
* clutter/cogl/cogl.h: added rather direct binding of needed for glsl
shaders.
* clutter/cogl/gl/cogl-defines.h.in:
* clutter/cogl/gl/cogl.c:
* clutter/cogl/gles/cogl-defines.h: added stubs.
* clutter/cogl/gles/cogl.c: added stubs.
* clutter/glx/clutter-stage-glx.c:
(clutter_stage_glx_realize): unrelated memory management sanity fix.
(clutter_stage_glx_unrealize): unbind all shaders on stage unrealize.
* clutter/Makefile.am: added clutter-shader.[ch]
* clutter/clutter-actor.[ch]: adding shader capability to
actors.
* clutter/clutter-feature.h: added CLUTTER_FEATURE_SHADERS_GLSL
* clutter/clutter-private.h: added stack of shaders to context.
* clutter/clutter-shader.[ch]: new.
* tests/Makefile.am: added shader test.
* tests/test-shader.c: (frame_cb), (main): simple shader test,
cycle through the inline shader with right/left mouse buttons.
Øyvind Kolås [Mon, 3 Dec 2007 16:16:41 +0000 (16:16 +0000)]
* clutter/glx/clutter-stage-glx.c: for extra sanity, set
stage_x11->xvisinfo = NULL after XFree. Makes using the root window
as foreign window possible.
Øyvind Kolås [Fri, 30 Nov 2007 17:07:08 +0000 (17:07 +0000)]
* clutter/clutter-timeline.c: (clutter_timeline_get_delta): return the
number of milliseconds passed between new-frame events instead of
since new-frame events, thus making sure that the sum of _get_delta's
returned for all new-frame events is equal to total time elapsed.
Emmanuele Bassi [Fri, 30 Nov 2007 14:36:07 +0000 (14:36 +0000)]
2007-11-30 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c (parse_units),
(clutter_actor_parse_custom_node): Do not allow using percentages
of the stage on the stage itself, as it makes little to no
sense.
* clutter/clutter-script.c:
(clutter_script_construct_object): Rearrange code.
* tests/test-script.json: Do not set the size of the stage, to
test for the stage size percentage.
Emmanuele Bassi [Fri, 30 Nov 2007 13:22:03 +0000 (13:22 +0000)]
2007-11-30 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model.h: Complete the documentation of
the ClutterModelClass structure members.
Emmanuele Bassi [Fri, 30 Nov 2007 13:21:15 +0000 (13:21 +0000)]
Update exported symbols
Emmanuele Bassi [Fri, 30 Nov 2007 13:20:15 +0000 (13:20 +0000)]
2007-11-30 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-timeline.h:
* clutter/clutter-timeline.c
(timeline_timeout_func),
(clutter_timeline_get_delta): Add a function for retrieving
the number of frames and the time (in milliseconds) elapsed
since the last timeline ::new-frame signal. This can be useful
for implementing a physics engine or just for knowing how if
and how many frames have been skipped.
Emmanuele Bassi [Fri, 30 Nov 2007 09:27:10 +0000 (09:27 +0000)]
2007-11-30 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c (parse_units),
(clutter_actor_parse_custom_node),
(clutter_scriptable_iface_init): Override the parsing code
for the x, y, width and height properties of ClutterActor,
to allow strings with modifiers when defining the position
and/or the dimensions of an actor. Bare integers are assumed
as pixels; floating point values in the [0, 1] interval are
assumed as percentages; strings can have these modifiers:
- px - pixels
- mm - millimeters
- pt - points (at the current resolution)
- % - percentage of the stage
* clutter/clutter-units.h: Fix the conversion macros
* tests/test-script.json: Test the new values.
Emmanuele Bassi [Thu, 29 Nov 2007 15:01:21 +0000 (15:01 +0000)]
2007-11-29 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model.[ch]: Slight API change in the constructor
functions for ClutterModel: clutter_model_new() now takes a list
of GType/string pairs for both the column type and the column name.
(clutter_model_set_n_columns),
(clutter_model_set_names),
(clutter_model_set_types): Subclasses of ClutterModel will be able
to call clutter_model_set_types() and clutter_model_set_names() in
any order, provided that they don't call each function more than
once.
* tests/test-model.c: Update the test case.
Tomas Frydrych [Thu, 29 Nov 2007 13:47:37 +0000 (13:47 +0000)]
2007-11-29 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.h:
* clutter/clutter-actor.c:
Converted depth and rotation offsets to ClutterUnit.
(clutter_actor_set_depthu):
(clutter_actor_get_depthu):
Additional ClutterUnit API.
(_clutter_actor_apply_modelview_transform):
Use cogl_translatex() in place of cogl_translate().
Emmanuele Bassi [Thu, 29 Nov 2007 11:00:28 +0000 (11:00 +0000)]
Fix keywords on README
Emmanuele Bassi [Thu, 29 Nov 2007 10:59:53 +0000 (10:59 +0000)]
Fix keywords on README
Emmanuele Bassi [Thu, 29 Nov 2007 10:58:19 +0000 (10:58 +0000)]
Add keywords to README
Emmanuele Bassi [Thu, 29 Nov 2007 10:54:13 +0000 (10:54 +0000)]
2007-11-29 Emmanuele Bassi <ebassi@openedhand.com>
* *: Add svn:ignore property to every directory, so that
svn status starts being useful.
Matthew Allum [Wed, 28 Nov 2007 23:57:26 +0000 (23:57 +0000)]
2007-11-29 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-main.c: (generate_enter_leave_events):
Minor formatting tweak.
* configure.ac:
Typo fix from Damien Lespiau (via mailing list)
Emmanuele Bassi [Wed, 28 Nov 2007 18:04:24 +0000 (18:04 +0000)]
2007-11-28 Emmanuele Bassi <ebassi@openedhand.com>
Add more introspection capabilities to the base model class
* clutter/clutter-model.h:
* clutter/clutter-model.c:
(clutter_model_finalize): Do no leak the column types array.
(clutter_model_get_n_columns): Function for getting the number
of columns inside a model.
(clutter_model_set_names): Add API for setting the names of the
columns.
(clutter_model_get_column_name),
(_model_get_column_type): Add API for getting each column's name
and the default implementation for ClutterModel.
(clutter_model_get_column_type),
(_model_get_iter_at_row): Add API for getting each column's type
and the default implementation for ClutterModel.
* clutter.symbols: Add ClutterModel and ClutterModelIter symbols,
and keep the symbols file sorted.
Tomas Frydrych [Wed, 28 Nov 2007 15:31:41 +0000 (15:31 +0000)]
2007-11-28 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-actor.c:
* clutter/clutter-actor.h:
(clutter_actor_set_positionu):
(clutter_actor_set_sizeu):
(clutter_actor_get_widthu):
(clutter_actor_get_heightu):
(clutter_actor_set_widthu):
(clutter_actor_set_heightu):
(clutter_actor_get_xu):
(clutter_actor_get_yu):
(clutter_actor_set_xu):
(clutter_actor_set_yu):
Expanded ClutterActor API with new ClutterUnit-base functions.
* clutter/clutter-stage.c:
* clutter/clutter-stage.h:
(clutter_stage_get_resolution):
(clutter_stage_get_resolutionx):
New function to query stage resolution (floating and fixed point
versions).
* clutter/clutter-units.h:
(CLUTTER_UNITS_FROM_STAGE_WIDTH_PERCENTAGE):
(CLUTTER_UNITS_FROM_STAGE_HEIGHT_PERCENTAGE):
(CLUTTER_UNITS_FROM_PARENT_WIDTH_PERCENTAGE):
(CLUTTER_UNITS_FROM_PARENT_HEIGHT_PERCENTAGE):
(CLUTTER_UNITS_FROM_MM):
(CLUTTER_UNITS_FROM_MMX):
(CLUTTER_UNITS_FROM_POINTS):
(CLUTTER_UNITS_FROM_POINTSX):
New macros for conversions to ClutterUnits.
* clutter.symbols:
Added:
ClutterActor anchor_point functions,
clutter_stage_get_resolution functions.
Removed:
clutter_actor_scale_with_gravity functions.
Emmanuele Bassi [Wed, 28 Nov 2007 14:38:54 +0000 (14:38 +0000)]
Update release notes
Emmanuele Bassi [Wed, 28 Nov 2007 14:16:37 +0000 (14:16 +0000)]
2007-11-28 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.[ch]: Documentation fixes.
Emmanuele Bassi [Wed, 28 Nov 2007 13:50:24 +0000 (13:50 +0000)]
2007-11-28 Emmanuele Bassi <ebassi@openedhand.com>
Remove the layout containers: they will be moved to a
high-level library.
* clutter/clutter.h:
* clutter/Makefile.am: Remove layout and boxes from the
build.
* clutter/clutter-layout.[ch]: Remove the ClutterLayout
interface.
* clutter/clutter-box.[ch]:
* clutter/clutter-hbox.[ch]:
* clutter/clutter-vbox.[ch]: Remove ClutterBox and its
subclasses.
* clutter/clutter-label.c: Remove ClutterLayout implementation
* clutter/clutter-script-private.h:
* clutter/clutter-script-parser.c:
* clutter/clutter-script.c:
(clutter_script_parse_node): Remove special parsing for
ClutterMargin and ClutterPadding.
* clutter/clutter-types.h: Remove ClutterPadding and ClutterMargin.
* tests/Makefile.am:
* tests/test-boxes.c: Remove the boxes test case.
Tomas Frydrych [Wed, 28 Nov 2007 12:23:31 +0000 (12:23 +0000)]
2007-11-28 Tomas Frydrych <tf@openedhand.com>
* clutter/NEWS:
Started 0.6.0 section with comment on actor anchor point.
* clutter/clutter/clutter-actor.c:
* clutter/clutter/clutter-actor.h:
* clutter/clutter/clutter-behaviour-scale.c:
* clutter/clutter/clutter-deprecated.h:
(clutter_actor_set_anchor_point):
(clutter_actor_set_anchor_pointu):
(clutter_actor_get_anchor_point):
(clutter_actor_get_anchor_pointu):
(clutter_actor_set_anchor_point_from_gravity):
New anchor point API deprecating old gravity scaling, added
comments on modelview matrix construction to ClutterActor
documentation.
(clutter_actor_set_scale_with_gravity):
(clutter_actor_set_scale_with_gravityx):
Deprecated; use clutter_actor_set_anchor_point_from_gravity() instead.
Emmanuele Bassi [Wed, 28 Nov 2007 10:27:33 +0000 (10:27 +0000)]
2007-11-28 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-effect.[ch]: Add clutter_effect_template_construct()
function, for language bindings that need to set the alpha function
but cannot call the clutter_effect_template_new() ctor themselves.
Tomas Frydrych [Tue, 27 Nov 2007 12:34:28 +0000 (12:34 +0000)]
2007-11-27 Tomas Frydrych <tf@openedhand.com>
* clutter/clutter-behaviour-ellipse.c:
* clutter/clutter-behaviour-ellipse.h:
(clutter_behaviour_ellipse_get_angle_startx):
(clutter_behaviour_ellipse_set_angle_startx):
(clutter_behaviour_ellipse_get_angle_endx):
(clutter_behaviour_ellipse_set_angle_endx):
(clutter_behaviour_ellipse_get_angle_tiltx):
(clutter_behaviour_ellipse_set_angle_tiltx):
Changed to take and return angles in degrees represented as
ClutterFixed.
Emmanuele Bassi [Tue, 27 Nov 2007 11:05:26 +0000 (11:05 +0000)]
2007-11-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c (clutter_actor_destroy): Remove the
reference we hold on the actor, as it was preventing the finalization
of every child on the stage.
Emmanuele Bassi [Mon, 26 Nov 2007 12:10:20 +0000 (12:10 +0000)]
2007-11-26 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/x11/clutter-stage-x11.c:
(clutter_stage_x11_set_cursor_visible): Restore the XFixes usage,
as it now seems to be have been fixed.
Emmanuele Bassi [Mon, 26 Nov 2007 12:07:25 +0000 (12:07 +0000)]
2007-11-26 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
(clutter_actor_real_show),
(clutter_actor_real_hide): Do not set the MAPPED flag on the actor
if it is a top-level one (like ClutterStage); the backends are
responsible for setting that flag, as it might be the result of an
asynchronous operation (e.g. on X11).
* clutter/eglnative/clutter-stage-egl.c:
(clutter_stage_egl_show),
(clutter_stage_egl_hide): Set/unset the CLUTTER_ACTOR_MAPPED flag
on show and hide respectively.
* clutter/osx/clutter-stage-osx.c:
(clutter_stage_osx_show),
(clutter_stage_osx_hide): Ditto as above.
* clutter/sdl/clutter-stage-sdl.c:
(clutter_stage_sdl_show),
(clutter_stage_sdl_hide): Ditto as above, plus chain up to the
parent class show/hide virtual functions.
* clutter/x11/clutter-event-x11.c (event_translate): Use the MapNotify
and UnmapNotify events to call the X11 stage map/unmap functions.
* clutter/x11/clutter-stage-x11.[ch]:
(clutter_stage_x11_set_fullscreen): Set the fullscreen_on_map flag
with the fullscreen value.
(clutter_stage_x11_map), (clutter_stage_x11_unmap): Set the MAPPED
flag on the stage actor and redraw; also, if the fullscreen_on_map
flag was set, call clutter_stage_fullscreen() as well. (#648)
* tests/Makefile.am:
* tests/test-fullscreen.c: Add a fullscreen test case for checking
whether fullscreen works on every backend/platform.
Emmanuele Bassi [Fri, 23 Nov 2007 17:25:50 +0000 (17:25 +0000)]
2007-11-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-docs.sgml: Shuffle around non-actor classes.
Emmanuele Bassi [Fri, 23 Nov 2007 17:12:27 +0000 (17:12 +0000)]
2007-11-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
(clutter_actor_real_request_coords),
(clutter_actor_request_coords),
(clutter_actor_class_init): Provide a default ::request_coords()
implementation in ClutterActor and use it to store the bounding
box passed to clutter_actor_request_coords(). This makes the code
more reliable and clean, and avoids a call to the subclass
request_coords() method if the bounding box did not change. Now,
every class overriding ClutterActor::request_coords() *must* chain
up to the parent class method or the bounding box will not be
saved inside the ClutterActor structure.
* clutter/clutter-entry.c:
* clutter/clutter-group.c:
* clutter/clutter-hbox.c:
* clutter/clutter-label.c:
* clutter/clutter-texture.c:
* clutter/clutter-vbox.c: Chain up to the parent class
request_coords() method.
Emmanuele Bassi [Fri, 23 Nov 2007 17:07:46 +0000 (17:07 +0000)]
2007-11-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-event.h: Add more documentation.
Emmanuele Bassi [Fri, 23 Nov 2007 13:12:37 +0000 (13:12 +0000)]
2007-11-23 Emmanuele Bassi <ebassi@openedhand.com>
* tests/test-event.c: Back out an accidental commit.
Emmanuele Bassi [Fri, 23 Nov 2007 13:11:10 +0000 (13:11 +0000)]
2007-11-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
* clutter/clutter-alpha.c:
* clutter/clutter-effect.c:
* clutter/clutter-event.c:
* clutter/clutter-event.h:
* clutter/clutter-group.h:
* clutter/clutter-model.c:,
* clutter/clutter-script.c:
* clutter/clutter-scriptable.h:
* clutter/clutter-stage.c: Documentation fixes.
* clutter/clutter-score.c: Fix implementation.
Emmanuele Bassi [Fri, 23 Nov 2007 13:07:04 +0000 (13:07 +0000)]
2007-11-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/x11/clutter-stage-x11.c: Chain up the hide and show
to the parent's implementation.
Emmanuele Bassi [Fri, 23 Nov 2007 11:23:19 +0000 (11:23 +0000)]
2007-11-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-effect.[ch]: Update the effects API to remove
the start value for most of them.
(clutter_effect_move): Make it a simple "move from current
position to new coordinates" effect.
(clutter_effect_path): Rename from clutter_effect_move().
(clutter_effect_rotate): Sync up with the new actor rotation API.
* tests/test-effects.c: Regression test for the effects.
* tests/Makefile.am: Build glue for test-effects
* tests/test-behave.c: Emulate a full ramp by using a looping
timeline changing its direction when reaching the last frame.
Emmanuele Bassi [Fri, 23 Nov 2007 11:20:14 +0000 (11:20 +0000)]
2007-11-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c (clutter_actor_destroy): Bail out
if clutter_actor_destroy() was called on the stage: the stage
is not for the user to destroy.
* clutter/x11/clutter-backend-x11.c:
* clutter/eglnative/clutter-backend-egl.c:
* clutter/sdl/clutter-backend-sdl.c:
* clutter/osx/clutter-backend-osx.c: Unset the top-level private
flag on the stage when disposing it, so the backends can safely
call clutter_actor_destroy().
* clutter/clutter-private.h: Tweak the private flags accessors,
to avoid the typecheck.
Emmanuele Bassi [Thu, 22 Nov 2007 13:41:00 +0000 (13:41 +0000)]
2007-11-22 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-label.c (clutter_label_new_full): Set the
terminating NULL which was removed when applying patch for
fixing #606. (#645, Gwenole Beauchesne)
Øyvind Kolås [Wed, 21 Nov 2007 23:25:56 +0000 (23:25 +0000)]
* clutter/clutter-actor.c: mended a couple of typos in documentation.