Commit Graph

2347 Commits

Author SHA1 Message Date
Matthew Allum
aebf79829a 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)
2007-11-28 23:57:26 +00:00
Emmanuele Bassi
9800eb0639 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.
2007-11-28 18:04:24 +00:00
Tomas Frydrych
132296dcc3 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.
2007-11-28 15:31:41 +00:00
Emmanuele Bassi
be3f09d64c Update release notes 2007-11-28 14:38:54 +00:00
Emmanuele Bassi
f4817f279a 2007-11-28 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.[ch]: Documentation fixes.
2007-11-28 14:16:37 +00:00
Emmanuele Bassi
4976be12ca 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.
2007-11-28 13:50:24 +00:00
Tomas Frydrych
20a9bf142c 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.
2007-11-28 12:23:31 +00:00
Emmanuele Bassi
04afb1066c 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.
2007-11-28 10:27:33 +00:00
Tomas Frydrych
55d53acc8f 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.
2007-11-27 12:34:28 +00:00
Emmanuele Bassi
ceecc23a02 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.
2007-11-27 11:05:26 +00:00
Emmanuele Bassi
69bc9516f9 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.
2007-11-26 12:10:20 +00:00
Emmanuele Bassi
a02e20a14a 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.
2007-11-26 12:07:25 +00:00
Emmanuele Bassi
99daccf1f3 2007-11-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-docs.sgml: Shuffle around non-actor classes.
2007-11-23 17:25:50 +00:00
Emmanuele Bassi
c4f89675e0 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.
2007-11-23 17:12:27 +00:00
Emmanuele Bassi
b0446d66fe 2007-11-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-event.h: Add more documentation.
2007-11-23 17:07:46 +00:00
Emmanuele Bassi
e06cb4234d 2007-11-23 Emmanuele Bassi <ebassi@openedhand.com>
* tests/test-event.c: Back out an accidental commit.
2007-11-23 13:12:37 +00:00
Emmanuele Bassi
07079204ac 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.
2007-11-23 13:11:10 +00:00
Emmanuele Bassi
7c7b9d0568 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.
2007-11-23 13:07:04 +00:00
Emmanuele Bassi
2b447c3b48 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.
2007-11-23 11:23:19 +00:00
Emmanuele Bassi
e57b42ae52 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.
2007-11-23 11:20:14 +00:00
Emmanuele Bassi
8039922802 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)
2007-11-22 13:41:00 +00:00
Øyvind Kolås
c7292a0d8b * clutter/clutter-actor.c: mended a couple of typos in documentation. 2007-11-21 23:25:56 +00:00
Øyvind Kolås
7fca77fa5e * clutter/clutter-actor.c: mended a couple of typos in documentation. 2007-11-21 23:25:30 +00:00
Matthew Allum
24d43aee02 2007-11-21 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gles/cogl.c: (cogl_fog_set):
        Minor fixes for fog on GLES.
2007-11-21 12:30:50 +00:00
Emmanuele Bassi
99acb8e9c1 2007-11-21 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/cogl/cogl.h: Add cogl_fog_set() abstracting the
	glFog() functions and enabling the GL_FOG flag.

	* clutter/cogl/gl/cogl.c: Add GL implementation of cogl_fog_set().
	
	* clutter/cogl/gles/cogl.c: Add GL/ES implementation of
	cogl_fog_set().

	* clutter.symbols: Add new symbols.

	* clutter/clutter-stage.h: Add API to enable depth cueing on
	the stage using a linear GL fog, and to set the parameters
	for it (#637).

	* clutter/clutter-stage.c (clutter_stage_paint): Enable the
	GL fog if the ClutterStage:use-fog property is true.

	* tests/test-depth.c: Test the new stage API.
2007-11-21 11:55:26 +00:00
Øyvind Kolås
a770e57193 * clutter/clutter-main.c: (event_click_count_generate): generalized
click_count generation code.
* tests/test-events.c: (input_cb): extended test to report click_count
for release and scroll events as well as press events.
2007-11-20 17:14:05 +00:00
Øyvind Kolås
08f841304a reverted accidental commit 2007-11-20 17:06:23 +00:00
Øyvind Kolås
80ef0db622 reverted accidental commit 2007-11-20 17:05:23 +00:00
Øyvind Kolås
4320c354a3 * clutter/clutter-main.c: (clutter_do_event): avoid computing source
of events if it is already set (for synthetic events.)
* clutter/clutter-event.c: Add more information to the documentation
of clutter_event_put.
2007-11-20 17:03:53 +00:00
Emmanuele Bassi
3c653b00a4 2007-11-20 Emmanuele Bassi <ebassi@openedhand.com>
* README: Add diff example command lines for submitting patches.
2007-11-20 16:19:52 +00:00
Emmanuele Bassi
9955b06542 2007-11-20 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c::
	* clutter/clutter-behaviour-opacity.c:
	* clutter/clutter-clone-texture.c:
	* clutter/clutter-effect.c:
	* clutter/clutter-label.c: Remove the usage of G_PARAM_CONSTRUCT
	without an override for the ::construct virtual function; using
	G_PARAM_CONSTRUCT to set the default value of a property is not
	the recommended approach; default values are set inside the
	instance init function.
2007-11-20 16:05:56 +00:00
Emmanuele Bassi
6cb35639e7 2007-11-20 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-texture.c (clutter_texture_init): Set filter-quality
	value to 1, to fix the regression caused when applying the patch for
	buf #616.
2007-11-20 15:45:59 +00:00
Emmanuele Bassi
caa56dadd4 2007-11-19 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-label.[ch]: Fix ClutterLabel size allocation when
	no bounding box has been provided, and store the box set by the
	user so that it can be reused when recomputing the layout. (#600)

	(clutter_label_class_init),
	(clutter_label_init): Set the :wrap property default to FALSE.
	
	* clutter/clutter-units.h: Add ClutterUnit-to-PangoUnit conversion
	macro.

	* tests/test-rotate.c: Fix string.
2007-11-19 21:14:16 +00:00
Emmanuele Bassi
531be399b7 2007-11-19 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-bspline.c:
	* clutter/clutter-behaviour-depth.c:
	* clutter/clutter-behaviour-ellipse.c:
	* clutter/clutter-behaviour-opacity.c:
	* clutter/clutter-behaviour-path.c:
	* clutter/clutter-behaviour-rotate.c:
	* clutter/clutter-behaviour-scale.c: Fix gtk-doc short description.
2007-11-19 16:35:46 +00:00
Emmanuele Bassi
75d047ed4d Do not forget files when committing 2007-11-19 16:35:11 +00:00
Emmanuele Bassi
b676210545 2007-11-19 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.symbols: Update

	* clutter/clutter-actor.h: Rename the angle argument for
	set_rotationx() to avoid gtk-doc complaining

	* clutter/clutter-main.h:
	* clutter/clutter-main.c:
	(clutter_set_motion_events_enabled): Rename for consistency

	(clutter_get_motion_events_frequency),
	(clutter_set_motion_events_frequency): Add accessors for the default
	motion events deliver frequency.
	
	(clutter_do_event): Throttle down motion events delivery using the
	motion events frequency setting, to avoid excessive redraws. (#608)

	(clutter_context_get_default): Enable per-actor motion events, at
	least for now.

	* tests/test-events.c (red_button_cb):
	* tests/test-grab.c (green_press_cb): Update.
2007-11-19 16:30:56 +00:00
Emmanuele Bassi
976df38630 2007-11-19 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-timeline.c (timeline_timeout_func): Do not emit the
	::new-frame signal twice for the last frame. (#531)
2007-11-19 15:25:56 +00:00
Øyvind Kolås
990d0e90a5 * clutter/clutter-actor.[ch]: (clutter_actor_set_rotationx),
(clutter_actor_set_rotation): swapped axis and angle around,
the new argument order is: (axis, angle, x, y, z). Also removed
deprecated rotation functions from header.
Updated use of clutter_actor_set_rotation? in the following files:
* clutter/clutter-behaviour-rotate.c: 
* clutter/clutter-effect.c: 
* tests/test-actors.c: 
* tests/test-project.c:
2007-11-19 11:43:20 +00:00
Emmanuele Bassi
521162a01c 2007-11-19 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-label.[ch]: Constify the color argument
	for the ClutterLabel ctor. (#604)
2007-11-19 00:02:13 +00:00
Matthew Allum
382852f921 2007-11-18 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        * clutter/clutter-group.c:
        * clutter/clutter-main.c:
        * clutter/clutter-stage.c:
        * tests/test-events.c:
        Parent Actors no longer need to be set reactive for reactive
        children to get events. Also makes groups now pickable.
        (#597, #423)

        * clutter/clutter-texture.c:
        Handle case when 1x1 tiled texture is created,
        falling 'back' to being non tiled. (#596)

        * clutter/eglx/clutter-backend-egl.c:
        Call EglTerminate on backend shutdown.
2007-11-18 23:24:55 +00:00
Emmanuele Bassi
8580a97b4b 2007-11-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.pc.in: Bump up glib-2.0 dependency.
2007-11-18 23:14:30 +00:00
Emmanuele Bassi
fd0e52848b 2007-11-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-model.c: Add gtk-doc section for
	ClutterModelIter

	* clutter/clutter-script.h: Fix argument name.

	* clutter/x11/clutter-x11.h:
	* clutter/x11/clutter-event-x11.c:
	* clutter/x11/clutter-backend-x11.c: Document functions and
	types.
2007-11-18 15:41:47 +00:00
Emmanuele Bassi
7495848f14 2007-11-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter.symbols: Update exported symbols.

	* clutter/clutter-actor.[ch]: Remove clutter_actor_rotate_*
	and clutter_actor_get_rx* and provide a simpler rotation API:
	clutter_actor_set_rotation() and clutter_actor_get_rotation().

	* clutter/clutter-deprecated.h: Deprecate the old rotation API.

	* clutter/clutter-behaviour-bspline.c:
	* clutter/clutter-behaviour-rotate.c:
	* clutter/clutter-effect.c: Update internal usage of the
	rotation API.

	* tests/test-project.c: Ditto as above.
2007-11-18 15:36:04 +00:00
Emmanuele Bassi
b7a79cf198 2007-11-17 Emmanuele Bassi <ebassi@openedhand.com>
Optimise Atoms usage in the X11 and X11-based backends.

	* clutter/x11/clutter-backend-x11.c:
2007-11-17 18:11:14 +00:00
Emmanuele Bassi
3282e6ceb2 Don't forget to commit the README 2007-11-17 17:08:31 +00:00
Emmanuele Bassi
7794bb561e 2007-11-17 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Depend on GLib >= 2.14 because of ClutterModel
	usage of GSequence.
2007-11-17 17:07:35 +00:00
Øyvind Kolås
3c0897a102 * clutter/clutter-main.c: (emit_event): renamed from deliver_event,
(emit_pointer_event): utility function to emit pointer event signals
(which takes pointer grab into account).
(emit_keyboard_event): utility function to emit keyboard event signals
(which takes keyboard grab into account).
(clutter_do_event): use the above utility functions, also reindented
the source.
2007-11-16 13:41:07 +00:00
Øyvind Kolås
8339cf3fce * tests/test-grab.c: (main): fix use of clutter_actor_set_reactive 2007-11-16 13:40:43 +00:00
Emmanuele Bassi
108461c6b9 Fix test usage for set_reactive() 2007-11-15 18:04:42 +00:00
Øyvind Kolås
3b4f603368 * clutter/clutter-main.[ch]: added clutter_grab_keyboard,
clutter_ungrab_keyboard and clutter_get_keyboard_grab, in
clutter_do_event deliver keyboard related events only to the
actor with the keyboard grab if a grab exists.
* clutter/clutter-private.h: added keyboard_grab_actor to context.
* tests/test-grab.c: added testing for testing the keyboard grab.
2007-11-15 18:00:24 +00:00