1
0
Fork 0
Commit graph

729 commits

Author SHA1 Message Date
Emmanuele Bassi
f1105807fb 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)
2007-10-18 12:31:07 +00:00
Matthew Allum
1ccbe04505 2007-10-18 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-score.c:
        * clutter/clutter-score.h:
        * tests/test-score.c:
        Implement more ClutterScore functionality.
2007-10-17 23:03:38 +00:00
Emmanuele Bassi
03fe64e8f8 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.
2007-10-17 16:43:46 +00:00
Emmanuele Bassi
d94acdf3d1 Update TODO 2007-10-17 10:41:42 +00:00
Øyvind Kolås
1a80c688fe * 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.
2007-10-16 19:14:52 +00:00
Øyvind Kolås
a7fb3a78d2 * 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.
2007-10-16 16:35:02 +00:00
Emmanuele Bassi
143a5937e2 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.
2007-10-16 14:40:00 +00:00
Emmanuele Bassi
f6c83a224e 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.
2007-10-16 13:41:34 +00:00
Tomas Frydrych
05789582b4 2007-10-16 Tomas Frydrych <tf@o-hand.com>
* build/msvc_2k5:
        Added MSVC project files.
2007-10-16 10:18:36 +00:00
Emmanuele Bassi
5737a8b79a 2007-10-16 Emmanuele bassi <ebassi@openedhand.com>
* clutter/clutter-color.c: Copy the alpha when shading.
2007-10-16 09:39:15 +00:00
Tomas Frydrych
f8de77ac92 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().
2007-10-16 08:34:16 +00:00
Tomas Frydrych
922a7e4d21 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.
2007-10-15 19:19:42 +00:00
Matthew Allum
dd99f024bf 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.
2007-10-15 16:50:59 +00:00
Emmanuele Bassi
2a891520fa 2007-10-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/pango/Makefile.am: Compile with the debug flags, if
	set.
2007-10-15 09:09:04 +00:00
Emmanuele Bassi
787de73486 2007-10-12 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.symbols: Remove non-public symbols.
2007-10-12 17:36:38 +00:00
Tomas Frydrych
ad80467d1c 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.
2007-10-12 15:16:22 +00:00
Emmanuele Bassi
12b9b3bbfc 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.
2007-10-12 12:42:54 +00:00
Tomas Frydrych
d9d10f4704 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.
2007-10-12 10:02:28 +00:00
Emmanuele Bassi
abc529aaec 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.
2007-10-12 09:43:27 +00:00
Tomas Frydrych
174bd04b49 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.
2007-10-12 09:39:41 +00:00
Tomas Frydrych
abd6832dd9 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).
2007-10-12 08:17:00 +00:00
Tomas Frydrych
422c725a47 2007-10-11 Tomas Frydrych <tf@o-hand.com>
* clutter/clutter-entry.c:
	Avoid using C++ reserverd words to name variables.
2007-10-11 15:07:36 +00:00
Øyvind Kolås
914c930cee 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.
2007-10-11 12:18:01 +00:00
Emmanuele Bassi
52065e88bc 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.
2007-10-10 16:02:54 +00:00
Emmanuele Bassi
676dd6a1b8 2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-sections.txt: Add new API and rearrange the subsections.
2007-10-10 16:00:41 +00:00
Emmanuele Bassi
261bc4c4f5 2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c: Beautify the ClutterActor documentation.
2007-10-10 14:51:25 +00:00
Emmanuele Bassi
717a82303a 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.
2007-10-10 14:29:29 +00:00
Matthew Allum
6216ce659c 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.
2007-10-10 13:04:34 +00:00
Emmanuele Bassi
a4b7abd18e 2007-10-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script-private.h:
	* clutter/clutter-script.c: Parse flags like we parse enums.
2007-10-10 13:01:09 +00:00
Emmanuele Bassi
8b55030c14 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.
2007-10-10 12:51:51 +00:00
Emmanuele Bassi
704aa0c6d7 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.
2007-10-10 10:44:45 +00:00
Emmanuele Bassi
7aa52af5dd 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.
2007-10-10 10:42:19 +00:00
Matthew Allum
8faf9b9964 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.
2007-10-09 23:45:49 +00:00
Emmanuele Bassi
475fcc64a7 2007-10-09 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script.c (resolve_alpha_func): Fix the
	ClutterAlphaFunc resolution function.
2007-10-09 20:04:23 +00:00
Emmanuele Bassi
b1ed23e0df 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().
2007-10-09 16:44:44 +00:00
Emmanuele Bassi
b0569d0f27 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.
2007-10-09 16:21:04 +00:00
Emmanuele Bassi
0d7184db20 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.
2007-10-09 15:11:01 +00:00
Robert Bradford
9e3f1e0d4c 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.
2007-10-09 13:56:29 +00:00
Emmanuele Bassi
ac9aa06fcf 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.
2007-10-09 13:29:03 +00:00
Emmanuele Bassi
d0e46914c1 2007-10-09 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-fixed.h: Add deprecation guards around
	CLUTTER_FIXED_INT().
2007-10-09 13:24:52 +00:00
Emmanuele Bassi
1016f27ca8 Fix typo in GLib version check 2007-10-09 12:10:11 +00:00
Emmanuele Bassi
98841e2be8 2007-10-08 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-script.c: Parse ClutterMargin and ClutterPadding
	properties from arrays or integers (assume pixels).
2007-10-08 16:48:22 +00:00
Emmanuele Bassi
76dd06bc7b 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.
2007-10-08 16:25:10 +00:00
Matthew Allum
34a40de3c5 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.
2007-10-08 16:18:33 +00:00
Emmanuele Bassi
9e81870d0b 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.
2007-10-08 15:18:31 +00:00
Emmanuele Bassi
adcfc6d130 Fix includes in ClutterScript 2007-10-08 15:04:13 +00:00
Emmanuele Bassi
991562f536 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.
2007-10-08 15:03:22 +00:00
Emmanuele Bassi
7b3464226c 2007-10-03 Emmanuele Bassi <ebassi@openedhand.com>
* tests/test-behave.c: Use the right return type for the
	event callbacks.
2007-10-08 14:51:26 +00:00
Emmanuele Bassi
84229a7617 2007-10-03 Emmanuele Bassi <ebassi@openedhand.com>
* tests/test-behave.c: Use the right return type for the
	event callbacks.
2007-10-08 14:51:14 +00:00
Matthew Allum
bc13e907cc 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.
2007-10-03 09:28:16 +00:00