Øyvind Kolås [Mon, 5 Nov 2007 17:12:11 +0000 (17:12 +0000)]
* clutter/clutter-container.[ch]: removed find_child_by_id method
from interface (and all implementations of it) since this
functionality is now implemented using a global hash.
* clutter/clutter-box.c:
* clutter/clutter-group.c:
Emmanuele Bassi [Thu, 1 Nov 2007 17:53:10 +0000 (17:53 +0000)]
2007-11-01 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script.c: Do not keep ownership of the
pixbufs we load.
Øyvind Kolås [Wed, 31 Oct 2007 15:38:18 +0000 (15:38 +0000)]
* clutter/clutter-main.c: (_clutter_do_pick): disable dithering
when painting in pick mode.
Matthew Allum [Wed, 31 Oct 2007 14:50:34 +0000 (14:50 +0000)]
2007-10-31 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-score.c:
Various minor improvements to ClutterScore.
Emmanuele Bassi [Tue, 30 Oct 2007 22:12:01 +0000 (22:12 +0000)]
2007-10-30 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-layout.c: Fix documentation, with regards to
the containers handling of the children implementing the
ClutterLayout interface.
Emmanuele Bassi [Mon, 29 Oct 2007 16:50:34 +0000 (16:50 +0000)]
2007-10-29 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac:
* clutter/cogl/gl/cogl-defines.h.in: The OS X backend has a funny
OpenGL header location, so it basically did break every application
including clutter/cogl.h because the GL header inclusion depended
on symbols defined into Clutter's config.h. Now, we define the
GL header into the configure template and use it to create the
cogl-defines.h file cogl.h includes.
Emmanuele Bassi [Mon, 29 Oct 2007 16:45:25 +0000 (16:45 +0000)]
2007-10-29 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/json/json-parser.c: Enable parsing of negative numbers;
GScanner splits negative numbers into two tokens, so we need to
special case them.
Emmanuele Bassi [Mon, 29 Oct 2007 15:57:59 +0000 (15:57 +0000)]
2007-10-29 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script.c: Add the :filename and :filename-set
properties, to retrieve the path of the currently parsed file (if
:filename-set is TRUE) from the ClutterScriptable implementations.
Matthew Allum [Sun, 28 Oct 2007 22:01:25 +0000 (22:01 +0000)]
2007-10-28 Matthew Allum <mallum@openedhand.com>
* clutter-animation.sgml:
Fix missing func param (#583)
Matthew Allum [Sun, 28 Oct 2007 21:57:04 +0000 (21:57 +0000)]
2007-10-28 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-effect.c:
Small doc fix (#584)
Matthew Allum [Sat, 27 Oct 2007 22:51:35 +0000 (22:51 +0000)]
add missing fixed bug nums to ChangeLog
Emmanuele Bassi [Sat, 27 Oct 2007 19:49:39 +0000 (19:49 +0000)]
2007-10-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/json/json-parser.c:
(json_scanner_msg_handler): Set the GError to be returned by
the parsing functions into the GScanner error message handler.
(json_parser_object): Return the symbol token in case we have
a parse error after the member name.
(json_parser_load_from_data): Propagate the error set in the
message handler, if any.
* clutter/json/json-node.c (json_node_free): Unref the objects
only if are set, to avoid a couple of needless criticals we
get on error.
* tests/test-script.json: More properties.
Emmanuele Bassi [Sat, 27 Oct 2007 19:08:59 +0000 (19:08 +0000)]
2007-10-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script.[ch]: Slight API change in the
clutter_script_get_objects() function: now it takes
object name/object return location pairs and returns the
number of objects found and returned.
* tests/test-script.c: Exercise the clutter_script_get_objects()
function.
Emmanuele Bassi [Sat, 27 Oct 2007 12:26:12 +0000 (12:26 +0000)]
2007-10-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-rectangle.c (clutter_rectangle_paint): Use
CGL_ENABLE_BLEND flag instead of CGL_BLEND value. (#580,
Gwenole Beauchesne)
Emmanuele Bassi [Sat, 27 Oct 2007 12:14:18 +0000 (12:14 +0000)]
2007-10-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-color.c (clutter_color_to_string): Update the
documentation for the format of the returned string, and remove
the note: now clutter_color_parse() can parse the string this
function returns.
Emmanuele Bassi [Sat, 27 Oct 2007 12:01:51 +0000 (12:01 +0000)]
2007-10-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/pango/pangoclutter-render.c: Last usage of guint
replaced with COGLuint. (Tommi Komulainen)
Matthew Allum [Fri, 26 Oct 2007 22:06:45 +0000 (22:06 +0000)]
2007-10-26 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c:
* clutter/cogl/cogl.h:
* clutter/cogl/gl/cogl-defines.h:
* clutter/cogl/gles/cogl-defines.h:
* clutter/cogl/gl/cogl.c:
* clutter/cogl/gles/cogl.c:
Switch from use of guint to COGLuint. Avoids problems when
guint != GLuint on some platforms, i.e OSX.
(Tommi Komulainen, #526)
* clutter/Makefile.am:
* clutter/osx/Makefile.am:
* clutter/osx/clutter-backend-osx.c:
* clutter/osx/clutter-backend-osx.h:
* clutter/osx/clutter-event-osx.c:
* clutter/osx/clutter-osx.h:
* clutter/osx/clutter-stage-osx.c:
* clutter/osx/clutter-stage-osx.h:
* configure.ac:
Add initial Cocoa/OSX Backend (by Tommi Komulainen, see #526)
Emmanuele Bassi [Fri, 26 Oct 2007 15:56:17 +0000 (15:56 +0000)]
2007-10-26 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-entry.c: Add a :x-align property for aligning
the text in the entry, in case the actor is wider than the
text it shows.
Emmanuele Bassi [Fri, 26 Oct 2007 15:47:39 +0000 (15:47 +0000)]
2007-10-26 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.c: Add a --clutter-default-fps run-time
switch and CLUTTER_DEFAULT_FPS environment variable support for
setting the default frame-rate at run-time.
Emmanuele Bassi [Fri, 26 Oct 2007 09:05:06 +0000 (09:05 +0000)]
2007-10-26 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script.h:
* clutter/clutter-script.c: Add a ::get_type_from_name() virtual
function for bindings to override. The current implementation
calls g_type_from_name() and our lazy class resolver.
* clutter.symbols: Update.
* doc/reference/clutter-sections.txt: Update.
Emmanuele Bassi [Thu, 25 Oct 2007 20:06:48 +0000 (20:06 +0000)]
2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-path.c: Reverse the list of
parsed knots, to preserve the real ordering after prepending
them (thanks to Øyvind for spotting this).
* clutter/clutter-behaviour-bspline.c: Ditto as above.
Emmanuele Bassi [Thu, 25 Oct 2007 15:14:06 +0000 (15:14 +0000)]
2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script-parser.c: Unset the GValue when
getting a ClutterUnit from a JSON node.
Emmanuele Bassi [Thu, 25 Oct 2007 15:05:19 +0000 (15:05 +0000)]
2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-bspline.c: Implement the
ClutterScriptableIface to parse the custom "knots" property.
Emmanuele Bassi [Thu, 25 Oct 2007 14:48:12 +0000 (14:48 +0000)]
2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* Makefile.am: Ignore clutter-json.h header.
Emmanuele Bassi [Thu, 25 Oct 2007 14:46:59 +0000 (14:46 +0000)]
2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.types:
* clutter-sections.txt:
* clutter-docs.sgml: Add new ClutterScriptable API.
Emmanuele Bassi [Thu, 25 Oct 2007 14:46:22 +0000 (14:46 +0000)]
Add new symbols
Emmanuele Bassi [Thu, 25 Oct 2007 14:46:02 +0000 (14:46 +0000)]
2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* tests/test-script.c:
* tests/test-script.json: Rejig the test case and add a
path behaviour to test the knot parsing code.
Emmanuele Bassi [Thu, 25 Oct 2007 14:43:55 +0000 (14:43 +0000)]
2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/cogl/cogl.h: Do not include <clutter/clutter.h>.
Emmanuele Bassi [Thu, 25 Oct 2007 14:42:15 +0000 (14:42 +0000)]
2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-path.c: Implement the
ClutterScriptableIface to parse the custom "knots" property.
Emmanuele Bassi [Thu, 25 Oct 2007 14:37:41 +0000 (14:37 +0000)]
2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-texture.c (clutter_texture_set_property): Do
not try to set NULL pixbufs.
Emmanuele Bassi [Thu, 25 Oct 2007 14:36:37 +0000 (14:36 +0000)]
2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Implement part of the ClutterScriptable
interface, using the ClutterActor API to set and get the name
of an actor.
(clutter_geometry_copy), (clutter_geometry_free): Use
the slice allocator to avoid fragmentation when setting
properties and emitting signals (that is: when packing
boxed types into GValues).
(clutter_actor_box_copy), (clutter_actor_box_free),
(clutter_vertex_copy), (clutter_vertex_free): Ditto.
* clutter/clutter-actor.h:
* clutter/clutter-actor.c:
(clutter_actor_push_transform_child),
(clutter_actor_pop_transfomr_child): Simple wrappers around
COGL API, which avoid including clutter/cogl.h when writing
container actors outside Clutter.
Emmanuele Bassi [Thu, 25 Oct 2007 14:34:54 +0000 (14:34 +0000)]
2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/Makefile.am:
* clutter/clutter.h:
* clutter/clutter-scriptable.[ch]: Add the ClutterScriptable
interface; by implementing this interface, a class can
override the UI definition parsing and transform complex data
types into GObject properties, or allow custom properties.
* clutter/clutter-script.c:
* clutter/clutter-script-parser.c:
* clutter/clutter-script-private.h: Rearrange the code and
use the ClutterScriptable interface to parse and build the
custom properties. This cleans up the code and also it makes
it more reliable (the complex type parsing is now done using
the target type and not just the name of the property).
Emmanuele Bassi [Thu, 25 Oct 2007 14:32:29 +0000 (14:32 +0000)]
2007-10-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-json.h: Header for including the JSON
parsing and data types.
* clutter/json/json-types.h: Add JSON_NODE_VALUE_TYPE() macro.
* clutter/json/Makefile.am: Install the JSON headers into a
private location. This might change in the future, and might
also cause collisions if you're using JSON-GLib and Clutter
at the same time, so be warned.
Emmanuele Bassi [Mon, 22 Oct 2007 15:47:07 +0000 (15:47 +0000)]
Check width in ClutterLabel::request_coords
If we get a size requisition, and we have ellipsization active,
check if we are getting less space than what the layout needs
and recompute the width.
Emmanuele Bassi [Mon, 22 Oct 2007 15:46:56 +0000 (15:46 +0000)]
Change the clutter_color_from_string() format
The format should be "%02x%02x%02x%02x" because we use guint8 for each
component, and not guint16. The string before was completely broken.
Emmanuele Bassi [Fri, 19 Oct 2007 12:44:59 +0000 (12:44 +0000)]
Update Clutter symbols
Emmanuele Bassi [Fri, 19 Oct 2007 10:15:57 +0000 (10:15 +0000)]
2007-10-19 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-entry.c (clutter_entry_paint): Fixed off by
one error. (#566, Gwenole Beauchesne)
Øyvind Kolås [Thu, 18 Oct 2007 13:47:21 +0000 (13:47 +0000)]
* clutter/clutter-timeline.c: (clutter_timeline_set_duration):
rearranged arithemetic to allow specifying duration with sub second
precision (also enables durations smaller than one second).
Emmanuele Bassi [Thu, 18 Oct 2007 12:31:53 +0000 (12:31 +0000)]
Fix ChangeLog
Emmanuele Bassi [Thu, 18 Oct 2007 12:31:07 +0000 (12:31 +0000)]
2007-10-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script-private.h:
* clutter/clutter-script.h:
* clutter/clutter-script.c: Allow id-less objects: as long
as they have a "type" member, a unique id will be provided.
(json_object_end): Add merge id to the object information
structure.
(apply_behaviours), (add_children): Keep the unresolved
objects around.
(construct_stage), (clutter_script_construct_object): If an
object has unresolved children or behaviours try resolving
them when we ask for it.
(json_parse_end), (clutter_script_ensure_objects): Ensure
that the objects are fully constructed as best as we can when
finished parsing.
(object_info_free), (remove_by_merge_id):
(clutter_script_unmerge_objects): Remove objects under the
same merge id returned by the loading functions. (Fixes
bug #558)
Matthew Allum [Wed, 17 Oct 2007 23:03:38 +0000 (23:03 +0000)]
2007-10-18 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-score.c:
* clutter/clutter-score.h:
* tests/test-score.c:
Implement more ClutterScore functionality.
Emmanuele Bassi [Wed, 17 Oct 2007 16:43:46 +0000 (16:43 +0000)]
2007-10-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
(clutter_actor_set_property), (clutter_actor_get_property),
(clutter_actor_class_init): Add the :reactive property, to
control reactiveness using the UI definition files.
(clutter_actor_reparent): Do not assume the parent is a
ClutterContainer, and call the container API only if needed.
(clutter_actor_destroy): Remove from the parent if needed,
just like the documentation says.
Emmanuele Bassi [Wed, 17 Oct 2007 10:41:42 +0000 (10:41 +0000)]
Update TODO
Øyvind Kolås [Tue, 16 Oct 2007 19:14:52 +0000 (19:14 +0000)]
* clutter/pango/pangoclutter-render.c: (tc_get): Provide for blank
rows/columns of pixels between adjecant glyphs in the texture cache to
avoid bilinear interpolation spillage at edges of glyphs.
Øyvind Kolås [Tue, 16 Oct 2007 16:35:02 +0000 (16:35 +0000)]
* clutter/clutter-main.c: (clutter_do_event): allow motion events
only delivered to stage to be chaugt in the capture phase as well
as the bubbling phase.
Emmanuele Bassi [Tue, 16 Oct 2007 14:40:00 +0000 (14:40 +0000)]
2007-10-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/json/json-object.c: Automatically transform every
delimiter into an underscore.
* clutter/clutter-script.c: Implement the "parent_texture"
property translation for ClutterCloneTextures, using the
passed id of the parent texture.
Emmanuele Bassi [Tue, 16 Oct 2007 13:41:34 +0000 (13:41 +0000)]
2007-10-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-timeline.[ch]: Added ClutterTimeline:duration,
a property for setting the duration of a timeline in milliseconds.
The property comes with accessors and a new constructor. The
frame rate used is the default value.
* clutter/clutter-private.h:
* clutter/clutter-main.[ch]: Add clutter_get_default_frame_rate()
and clutter_set_default_frame_rate(); these two functions control
the default frame rate to be used when creating timelines. Currently
is set to 60 frames-per-second.
Tomas Frydrych [Tue, 16 Oct 2007 10:18:36 +0000 (10:18 +0000)]
2007-10-16 Tomas Frydrych <tf@o-hand.com>
* build/msvc_2k5:
Added MSVC project files.
Emmanuele Bassi [Tue, 16 Oct 2007 09:39:15 +0000 (09:39 +0000)]
2007-10-16 Emmanuele bassi <ebassi@openedhand.com>
* clutter/clutter-color.c: Copy the alpha when shading.
Tomas Frydrych [Tue, 16 Oct 2007 08:34:16 +0000 (08:34 +0000)]
2007-10-16 Tomas Frydrych <tf@o-hand.com>
* clutter.symbols:
Added a bunch of missing symbols.
* clutter/clutter-script.c:
* json/json-node.c:
Use g_slice_new0 instead of g_slice_new to avoid passing garbage to functions.
* tests/test-threads.c:
Replaced non-portable sleep() with g_usleep().
Tomas Frydrych [Mon, 15 Oct 2007 19:19:42 +0000 (19:19 +0000)]
2007-10-15 Tomas Frydrych <tf@o-hand.com>
* clutter/cogl/gl/cogl-defines.h:
* clutter/cogl/gl/cogl.c:
Fixed up GL include for windows.
Matthew Allum [Mon, 15 Oct 2007 16:50:59 +0000 (16:50 +0000)]
2007-10-15 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
More events documentation.
* clutter/clutter-event.c:
* clutter/clutter-event.h:
Add synthetic flag and make put_event use it
(via modded patch from pippin)
* clutter/clutter-main.c: (clutter_do_event):
dont use put event anymore when pushing enter/leave events.
Emmanuele Bassi [Mon, 15 Oct 2007 09:09:04 +0000 (09:09 +0000)]
2007-10-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/pango/Makefile.am: Compile with the debug flags, if
set.
Emmanuele Bassi [Fri, 12 Oct 2007 17:36:38 +0000 (17:36 +0000)]
2007-10-12 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.symbols: Remove non-public symbols.
Tomas Frydrych [Fri, 12 Oct 2007 15:16:22 +0000 (15:16 +0000)]
2007-10-12 Tomas Frydrych <tf@o-hand.com>
* clutter.symbols:
A list of public symbols, one per line; semi-autogenerated, so
might not be complete -- PLEASE when adding new public APIs, add
the function name to this file.
Emmanuele Bassi [Fri, 12 Oct 2007 12:42:54 +0000 (12:42 +0000)]
2007-10-12 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Add a :depth property, so we can
set the initial depth of an actor inside the UI definition
files.
Tomas Frydrych [Fri, 12 Oct 2007 10:02:28 +0000 (10:02 +0000)]
2007-10-12 Tomas Frydrych <tf@o-hand.com>
* tests/test-actors.c:
When using MSVC, define _USE_MATH_DEFINES before including
math.h, otherwise constants like M_PI will not be defined.
Emmanuele Bassi [Fri, 12 Oct 2007 09:43:27 +0000 (09:43 +0000)]
2007-10-12 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script.c (construct_timline),
(parse_member_to_property): Transfer ownership of the
implicit timelines to the behaviour, so that they get
unreferenced when the behaviour is destroyed.
(parse_member_to_property): Reverse the list of children
and behaviours.
Tomas Frydrych [Fri, 12 Oct 2007 09:39:41 +0000 (09:39 +0000)]
2007-10-12 Tomas Frydrych <tf@o-hand.com>
Portability fixes:
* clutter/clutter-private.h:
Bracket #include "unistd.h" with #ifdef HAVE_UNISTD_H
* clutter/clutter-fixed.c:
Use "", not <> for inclusion of local files.
(clutter_sqrtx): forward declare local variables.
* clutter/clutter-debug.h:
Added non-gcc (c99) implementation of variadic debug macros for
when not compiling with gcc.
* clutter/pango/pangoclutter-render.c:
Fixed some strange uses of CLUTTER_NOTE() + stripped trailing
whitespace.
Tomas Frydrych [Fri, 12 Oct 2007 08:17:00 +0000 (08:17 +0000)]
2007-10-12 Tomas Frydrych <tf@o-hand.com>
* clutter/clutter-actor.c:
* clutter/clutter-backend.c:
* clutter/clutter-behaviour-depth.c:
* clutter/clutter-box.c:
* clutter/clutter-clone-texture.c:
* clutter/clutter-container.c:
* clutter/clutter-entry.c:
* clutter/clutter-feature.c:
* clutter/clutter-fixed.c:
* clutter/clutter-group.c:
* clutter/clutter-hbox.c:
* clutter/clutter-label.c:
* clutter/clutter-layout.c:
* clutter/clutter-media.c:
* clutter/clutter-rectangle.c:
* clutter/clutter-score.c:
* clutter/clutter-script.c:
* clutter/clutter-stage.c:
* clutter/clutter-texture.c:
* clutter/clutter-timeline.c:
* clutter/clutter-timeout-pool.c:
* clutter/clutter-vbox.c:
* clutter/cogl/gl/cogl.c:
* clutter/cogl/gles/cogl.c:
* clutter/eglnative/clutter-backend-egl.c:
* clutter/eglnative/clutter-event-egl.c:
* clutter/eglnative/clutter-stage-egl.c:
* clutter/eglx/clutter-backend-egl.c:
* clutter/eglx/clutter-event-egl.c:
* clutter/eglx/clutter-stage-egl.c:
* clutter/glx/clutter-event-glx.c:
* clutter/json/json-array.c:
* clutter/json/json-generator.c:
* clutter/json/json-node.c:
* clutter/json/json-object.c:
* clutter/json/json-parser.c:
* clutter/sdl/clutter-backend-sdl.c:
* clutter/sdl/clutter-event-sdl.c:
* clutter/sdl/clutter-stage-sdl.c:
Fixedup config.h inclusion (must always be bracketed with #ifdef
HAVE_CONFIG_H).
Tomas Frydrych [Thu, 11 Oct 2007 15:07:36 +0000 (15:07 +0000)]
2007-10-11 Tomas Frydrych <tf@o-hand.com>
* clutter/clutter-entry.c:
Avoid using C++ reserverd words to name variables.
Øyvind Kolås [Thu, 11 Oct 2007 12:18:01 +0000 (12:18 +0000)]
Improve the quality of text when the scale it is shown at screen is
smaller than the original, seems to work well down to about a scale
of 50%.
* clutter/pango/pangoclutter-fontmap.c:
(pango_clutter_font_map_default_substitute): turn off hinting.
* clutter/pango/pangoclutter-render.c: request linear filtering
instead of nearest neighbour when scaling down.
* tests/test-text.c: replaced test with a a test that renders a sample
grid with various pixel sizes and scales for visual inspection of
text rendering quality.
Emmanuele Bassi [Wed, 10 Oct 2007 16:02:54 +0000 (16:02 +0000)]
2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/glx/clutter-backend-glx.c: Fix documentation of the
filter function API.
* clutter/clutter-score.c:
* clutter/clutter-effect.c:
* clutter/clutter-actor.c: Documentation fixes.
* clutter/clutter-actor.h: Automatically typecast to ClutterActor
when setting/checking flags.
Emmanuele Bassi [Wed, 10 Oct 2007 16:00:41 +0000 (16:00 +0000)]
2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-sections.txt: Add new API and rearrange the subsections.
Emmanuele Bassi [Wed, 10 Oct 2007 14:51:25 +0000 (14:51 +0000)]
2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Beautify the ClutterActor documentation.
Emmanuele Bassi [Wed, 10 Oct 2007 14:29:29 +0000 (14:29 +0000)]
2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Remove the ::event-after signal:
three event layers to connect to seems a bit overkill.
(clutter_actor_event): Return FALSE, not TRUE by default,
as g_signal_emit() will change the return value if no
handlers are connected
* clutter/clutter-stage.c: Emit ::notify when we change
the fullscreen property.
* clutter/clutter-script.c: Add more documentation for the
definition format and keywords.
(translate_property): Collapse the G_TYPE_ENUM and G_TYPE_FLAGS
cases into one, to simplify the code.
* tests/test-script.c: Test enumeration conversion by using
a value different from the default.
Matthew Allum [Wed, 10 Oct 2007 13:04:34 +0000 (13:04 +0000)]
2007-10-10 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
* clutter/clutter-actor.h:
* clutter/clutter-event.c:
* clutter/clutter-main.c:
* tests/test-events.c:
Add basic W3 DOM event 'capture' like functionality.
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.
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.
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.
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.
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.
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.
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().
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.
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.
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.
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.
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().
Emmanuele Bassi [Tue, 9 Oct 2007 12:10:11 +0000 (12:10 +0000)]
Fix typo in GLib version check
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).
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.
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.
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.
Emmanuele Bassi [Mon, 8 Oct 2007 15:04:13 +0000 (15:04 +0000)]
Fix includes in ClutterScript
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.
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.
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.
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.
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().
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.
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.
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).
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).
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)
Ø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.
Ø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().
Ø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.
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)
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)