Commit Graph

513 Commits

Author SHA1 Message Date
Emmanuele Bassi
337571a805 2007-08-02 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-color.c (clutter_color_subtract): Invert the
	operands and match what the function says it does.
2007-08-02 07:40:58 +00:00
Matthew Allum
a6a998e4d8 2007-08-01 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-color.c: (clutter_color_from_pixel):
        Fix typo in alpha channel extraction (#434)
2007-08-01 22:09:33 +00:00
Emmanuele Bassi
fbadfa1a6b 2007-08-01 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.[ch]: Add floating-point variant of the
	clutter_actor_get_r[xyz]angx() functions.
2007-08-01 13:11:43 +00:00
Emmanuele Bassi
4170d7cc43 2007-07-31 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-stage.[ch]: Fix clutter_stage_set_user_resizable()
	name, and add a getter for the property.

	* clutter/glx/clutter-stage-glx.c: Use the accessor, not
	g_object_get() to retrieve the value of the resizable property.
2007-07-31 17:01:52 +00:00
Emmanuele Bassi
6145261040 Fix previous commit 2007-07-31 16:53:17 +00:00
Emmanuele Bassi
dd93a0a13c 2007-07-31 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-backend.[ch]: Add clutter_backend_set_resolution()
	and clutter_backend_get_resolution(); backends should use the former
	to set the resolution of the display when initialising, while actors
	should use the latter when sizing themselves depending on the
	resolution or the font size.

	* clutter/glx/clutter-backend-glx.c: Set the resolution as 96 dpi
	as a default and query the X server when opening the display.

	* clutter/clutter-entry.c: Drop the hardcoded dpi value and use
	clutter_backend_get_resolution() to compute the default size.
2007-07-31 10:38:23 +00:00
Emmanuele Bassi
cae72ec419 2007-07-31 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-entry.c (clutter_entry_init): Set the default
	size of the entry based on the size of the default font. (#414).
2007-07-31 08:28:17 +00:00
Emmanuele Bassi
4c5e32ad05 2007-07-31 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/sdl/clutter-backend-sdl.c: Fix a typo in
	clutter_backend_sdl_get_features() (#426, Pan Bohui)
2007-07-31 07:58:35 +00:00
Tomas Frydrych
936fea0b37 Fixed invalid assumption about z cooordiance in calculation of
tilt in y axis.
2007-07-30 16:09:40 +00:00
Tomas Frydrych
2cc4a23820 Fixed incorrect order of modelview matrix stacking while calculating actor vertices. 2007-07-30 07:27:14 +00:00
Matthew Allum
459e8a0a9d 2007-07-30 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-backend.h:
        Remove #if 0's old backend_api
        (generating uneeded documentation)
2007-07-29 23:24:13 +00:00
Matthew Allum
0151f842d7 2007-07-30 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c:
        Fix re-relisation for large tiled textures.
        * tests/test-textures.c: (main):
        Add a show/hide to trigger above (see #442)
2007-07-29 22:55:04 +00:00
Emmanuele Bassi
249ada48bc 2007-07-29 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-types.h: Document ClutterGravity enumeration
	and remove the only incomplete symbol of the api reference. Now
	we are up to 79% documented symbols.
2007-07-29 09:19:37 +00:00
Emmanuele Bassi
84050c842c 2007-07-29 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-media.c: Document ClutterMedia signals;
	replace the implementation of clutter_media_set_filename() with
	something a wee bit more robust (and portable) than a sprintf().
2007-07-29 09:11:57 +00:00
Emmanuele Bassi
0d287fc4d4 2007-07-29 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-ellipse.c: Documentation
	fixes; kill some indirections; freeze the notification
	queue when (potentially) emitting multiple notify
	signals.

	* clutter/clutter-alpha.h: Remove the unused macro
	CLUTTER_TYPE_SMOOTHSTEP.
2007-07-29 08:54:24 +00:00
Emmanuele Bassi
ad64200aa7 2007-07-28 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.[ch]: Use GInitiallyUnowned
	as the parent structure in the ClutterActor structure
	definition; somehow, this has escaped everyone attention
	in one year and a half. Luckily, GInitiallyUnowned is
	as big as GObject.
	 
	 (clutter_actor_get_abs_position_units),
	 (clutter_actor_get_abs_position): Check parameters.

	 * clutter/clutter-texture.h: Unmangle the flags enum
	 type declaration, so that dumb parsers like h2defs.py
	 are not fooled.

	 * clutter/clutter-behaviour-ellipse.[ch]:
	 * clutter/clutter-effect.c: Fix some documentation
	 issues and make gtk-doc happy.
2007-07-28 17:11:39 +00:00
Tomas Frydrych
aed6a0cbe2 pruned ClutterBehaviourEllipse api 2007-07-27 13:44:42 +00:00
Tomas Frydrych
e17173edb4 ClutterBehaviourEllipse: allow tilt in all three axis 2007-07-27 08:18:41 +00:00
Matthew Allum
e0e27baf35 2007-07-26 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-feature.h:
        Add new stage feature flags and document.

        * clutter/eglnative/clutter-backend-egl.c:
        * clutter/eglx/clutter-backend-egl.c:
        * clutter/sdl/clutter-backend-sdl.c:
        Set new feature flags.

        * clutter/glx/clutter-backend-glx.c:
        * clutter/glx/clutter-stage-glx.c:
        * clutter/clutter-stage.c:
        * clutter/clutter-stage.h:
        Add a 'user_resizeable' setting to the backend and implement
        for glx backend.
2007-07-26 20:08:09 +00:00
Emmanuele Bassi
5724178685 Miscellaneous fixes to make gtk-doc scanner happy 2007-07-26 15:14:45 +00:00
Emmanuele Bassi
6033f7e2e3 Add missing documentation
Document ClutterGravity, ClutterRotateAxis and ClutterRotateDirection.
2007-07-26 15:05:41 +00:00
Tomas Frydrych
de27074b48 cleanup some trailing whitespace 2007-07-26 13:48:58 +00:00
Tomas Frydrych
43854a3e0a fixed ClutterBehaviourEllipse angle setters; updated ChangeLog 2007-07-26 13:48:50 +00:00
Tomas Frydrych
f1b27d9e1b added direction property to ClutterBehaviourEllipse 2007-07-26 13:48:44 +00:00
Emmanuele Bassi
b7e063c3ce Add a header for common types to avoid inclusion hell
This patch adds clutter-types.h, a header file containing some common
structures and enums, shared by different objects.
2007-07-26 13:13:23 +00:00
Emmanuele Bassi
7c29e3edbe Do not forget to initialise the priv pointer 2007-07-26 13:13:19 +00:00
Neil J. Patel
c1e84a8f3a 2007-07-26 Neil J. Patel <njp@o-hand.com>
* clutter/clutter-entry.c: (offset_to_bytes),
	(clutter_entry_ensure_cursor_position),
	(clutter_entry_new_with_text), (clutter_entry_new),
	(clutter_entry_insert_unichar), (clutter_entry_delete_chars):
	Fixed utf8 support so it actually works now, for both inserting and deleting
	chars.
	Fixed positioning of cursor for utf8 chars. Both GString and Pnago need
	bytes (not documented!) for string manipulation, so making sure all values
	were bytes and not char positions fixed the issue.
	Set a default size of 50x50 for the entry, otherwise no chars can be seen
	if the size is not set after creation (which confuses the developer).
2007-07-26 11:31:50 +00:00
Emmanuele Bassi
6b00d10549 Check for 0 frames per seconds
ClutterTimeline with zero frames per seconds are not allowed as well.
2007-07-26 11:28:30 +00:00
Emmanuele Bassi
34a119f8a7 Do not allow zero as number of frames in ClutterTimeline
A timeline with no frames is not valid, so we simply disallow setting
ClutterTimeline:num-frames to 0.
2007-07-26 11:28:25 +00:00
Emmanuele Bassi
454e493197 Fix various compiler warnings
Most of these fixes are simple symbol shadowing issues, like index and the
braindead y0 and y1 extern symbols exported by math.h on GNU libc systems.

There is a masking issue in ClutterTexture which should be checked; I ran
the tests and everything looked fine.

The rest are just unused variables.
2007-07-26 11:04:04 +00:00
Matthew Allum
73ff6900d0 2007-07-25 Matthew Allum <mallum@openedhand.com>
* Makefile.am:
        * HACKING:
        Add with initial notes on coding bits and bobs.

        * clutter/clutter-behaviour-scale.c:
        Doc fixes.

        * clutter/clutter-event.c: (clutter_event_put):
        Doc fixes.

        * clutter/glx/clutter-stage-glx.c:
        Disable wm user resizing of stage (At least for now)
        Doc fixes.
2007-07-25 22:09:53 +00:00
Tomas Frydrych
5b92cc21cb fixed endianness issue in fast fp conversions 2007-07-25 18:34:05 +00:00
Tomas Frydrych
2c97bdf456 added --disable-fast-fp-converions configure option 2007-07-25 18:17:13 +00:00
Emmanuele Bassi
a57acd0275 2007-07-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-label.[ch]: Ouch, clutter_label_get_alignment()
	returns a PangoAlignment, not a boolean.
2007-07-25 14:25:01 +00:00
Emmanuele Bassi
06c5bf1199 2007-07-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour.h:
	* clutter/clutter-behaviour.c: Rename clutter_behaviour_clear()
	to clutter_behaviour_remove_all() to avoid method clashes in
	bindings.
2007-07-25 13:12:24 +00:00
Emmanuele Bassi
c72ab1f081 2007-07-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-bspline.c: Kill off some deep pointer
	indirections; use CLUTTER_NOTE() instead of ifdeffed out g_debug();
	add checks in every public entry point; move some initialisations
	of private data structures out of the constructor and into the
	init function, where they belong.
2007-07-25 12:54:30 +00:00
Matthew Allum
c27b00d7ef 2007-07-25 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-behaviour-rotate.c:
        * clutter/clutter-behaviour-rotate.h:
        Split 'center' prop into 3 seperate props for each axis.
        Use clutter_behaviour_actors_foreach() rather than
        clutter_behaviour_get_actors() to avoid copying list.
        Call fixed point rotation funcs internally.

        * clutter/clutter-effect.c:
        * clutter/clutter-effect.h:
        Add new simple rotation based effect funcs.
2007-07-25 12:17:44 +00:00
Emmanuele Bassi
b43f0994ca 2007-07-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter.h: Include clutter-behaviour-depth.h
2007-07-25 10:36:19 +00:00
Emmanuele Bassi
403f0bdb2f 2007-07-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-rotate.[ch]: Add a center property
	for the center or rotation; implement the set_bounds() methods.
2007-07-24 22:32:37 +00:00
Emmanuele Bassi
3db49c4f12 2007-07-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/eglx/clutter-backend-egl.c:
	* clutter/eglnative/clutter-backend-egl.c:
	* clutter/sdl/clutter-backend-sdl.c: Destroy the stage in every
	backend.
2007-07-24 19:03:04 +00:00
Emmanuele Bassi
107f6112cd 2007-07-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/glx/clutter-backend-glx.c: Destroy the stage, don't
	just unref it.
2007-07-24 18:59:25 +00:00
Emmanuele Bassi
5f9944fd84 2007-07-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.c: Add debug markers.
2007-07-24 17:39:40 +00:00
Emmanuele Bassi
a87ede2e12 2007-07-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-texture.[ch]: Add a ClutterTextureError
	to be returned by the loader functions; use the GObject API
	to allocate the private data structure instead of managing it
	ourselves; add documentation.
2007-07-24 17:38:35 +00:00
Emmanuele Bassi
a37f537cd0 2007-07-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	* clutter/clutter-box.h:
	* clutter/clutter-stage.c: Documentation fixes.
2007-07-24 17:34:06 +00:00
Matthew Allum
8e749f599d 2007-07-24 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gl/cogl-defines.h:
        Add  CGL_UNSIGNED_INT_8_8_8_8_REV (for big endian machines)
2007-07-24 16:50:34 +00:00
Matthew Allum
23c50938da 2007-07-24 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gl/cogl-defines.h:
        Another GL_TEXTURE_RECTANGLE_ARB related fix (#404)
2007-07-24 16:42:50 +00:00
Matthew Allum
7ae707faf5 2007-07-24 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-backend.c:
        Minor build fixes (#413)
2007-07-24 16:22:29 +00:00
Emmanuele Bassi
8725ad7e60 2007-07-24 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-effect.h:
	* clutter/clutter-effect.c: Add a secondary constructor for
	ClutterEffectTemplate, for use of the bindings.
2007-07-24 16:18:52 +00:00
Matthew Allum
2bf94df497 2007-07-24 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gles/cogl.c: (cogl_get_bitmasks):
        Fix typo calling glGetIntegerv rather than glGetInteger
2007-07-24 12:17:42 +00:00
Matthew Allum
86b869259e 2007-07-24 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gl/cogl.c: (cogl_get_features):
        learn to use cpp properly.
2007-07-24 12:06:52 +00:00
Matthew Allum
e8c091573c 2007-07-24 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-media.c: (clutter_media_base_init):
        Remove #if 0! signal - assume causing issues with binding generation.
        (#407)

        * clutter/cogl/gl/cogl.c:
        Check GL_TEXTURE_RECTANGLE_ARB and GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB
        are defined in gl.h (#404)
2007-07-24 12:04:24 +00:00
Matthew Allum
8076d5c218 2007-07-24 Matthew Allum <mallum@openedhand.com>
* clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_realize):
        Create stage window with correct depth/visual. Via patch from
        Robert Bragg (#409).
2007-07-24 09:56:07 +00:00
Matthew Allum
e227bf70e2 2007-07-23 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c: (texture_render_to_gl_quad),
        (clutter_texture_paint):
        Dont be over aggressive in throwing criticals for unrealized
        textures. Doesn't make sense for sub classes. (#403)
2007-07-23 17:02:52 +00:00
Emmanuele Bassi
3648488017 2007-07-22 Emmanuele Bassi <ebassi@openedhand.com>
Two small fixes for correctly debugging the deinitialisation
	phase of the backend:

	* clutter/glx/clutter-backend-glx.c: Remove the event source
	after we unref the main stage.

	* clutter/glx/clutter-stage-glx.c: Add a mark at the end of the
	unrealize call (the perl bindings seem to crash before we reach
	this point).
2007-07-22 22:40:18 +00:00
Emmanuele Bassi
049f2feedc 2007-07-22 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-ellipse.c: Remove pointer indirections;
	add sanity checks on the public entry points; make all the public
	properties floating point (where needed) andconvert them to fixed
	point internally. (Partial fix for #389)
2007-07-22 22:35:45 +00:00
Emmanuele Bassi
fe11263b84 2007-07-22 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour.[ch]: Rename ClutterBehaviour::apply
	and ClutterBehaviour::remove to ClutterBehaviour::applied and
	ClutterBehaviour::removed respectively, and emit them when the
	behaviour has been applied (or does no longer apply) to an actor.

	(clutter_behaviour_dispose), (clutter_behaviour_finalize),
	(clutter_behaviour_class_init): Move the actor removal to the
	::dispose virtual function, and remove the ::finalize one;
	document the missing properties and signals.

	(clutter_behaviour_clear): Add function to clear a behaviour:
	every actor will be unreffed and the ClutterBehaviour::removed
	signal will be emitted.
2007-07-22 22:30:47 +00:00
Matthew Allum
9157740741 2007-07-21 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-event.c:
        Correct  clutter_event_get_state () return type. Fixes #398

        * clutter/glx/clutter-stage-glx.c:
        Disable use XFixes cursor visibility funcs. Appears to have issues
        on feisty X Server at least. Fallback should work generally better.

        Fix non offscreen clutter_stage_snapshot to also rotate read pixel
        data to correct orientation.
2007-07-21 16:48:11 +00:00
Emmanuele Bassi
097c177824 Rename minimum and maximum depth properties of the depth behaviour
To follow the other simple behaviours, the ClutterBehaviourDepth:min-depth
and ClutterBehaviourDepth:max-depth properties have been renamed to
ClutterBehaviourDepth:depth-start and ClutterBehaviourDepth:depth-end
respectively.
2007-07-13 14:11:49 +00:00
Matthew Allum
410f40b578 2007-07-12 Matthew Allum <mallum@openedhand.com>
* clutter/eglnative/clutter-event-egl.c: (clutter_event_dispatch):
        Avoid sending too many events which are just pressure changes.
2007-07-12 11:30:56 +00:00
Matthew Allum
8fcfa9e2db 2007-07-12 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c: (clutter_actor_paint):
        * clutter/clutter-stage.c: (clutter_stage_get_actor_at_pos):
        * clutter/cogl/cogl.h:
        * clutter/cogl/gl/cogl.c: (cogl_get_viewport):
        * clutter/cogl/gles/cogl.c: (cogl_get_viewport):
        Based on patch from Pan Bohui, See;
        http://bugzilla.openedhand.com/show_bug.cgi?id=390

        * TODO:
        More misc updates.
2007-07-12 10:15:19 +00:00
Emmanuele Bassi
c2345a5337 Fully revert opacity checks 2007-07-11 12:01:03 +00:00
Emmanuele Bassi
191d667a7c Revert last fix 2007-07-11 11:43:02 +00:00
Emmanuele Bassi
847846923e Further fix 2007-07-11 11:41:01 +00:00
Emmanuele Bassi
0b03e393f3 2007-07-11 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-opacity.c:
	Don't check direction in opacity.
2007-07-11 11:37:32 +00:00
Tomas Frydrych
f605136c39 improvements to ClutterBehaviourEllipse 2007-07-11 07:16:21 +00:00
Matthew Allum
071719ffa4 2007-07-09 Matthew Allum <mallum@openedhand.com>
* TODO:
        Updates.
        * clutter/clutter-stage.c:
        * clutter/glx/clutter-stage-glx.c:
        Fix cursor visibility property.
        Force a repaint before mapping to attempt to avoid flicker.
2007-07-09 22:59:52 +00:00
Richard Purdie
eeef27ca66 Add tslib support to eglnative backend. 2007-07-09 22:25:26 +00:00
Richard Purdie
69cc294cea Tweaks to the eglnative backend. 2007-07-09 21:59:01 +00:00
Richard Purdie
87d163db5c Make the backend add_option function optional. 2007-07-09 21:56:06 +00:00
Emmanuele Bassi
588c4504a1 Handle opacity inversion in ClutterBehaviourOpacity
Always make sure that the opacity is a positive integer, even if the
start and end opacities are inverted.

Also, use the correct integer-to-pointer casts, as the opacity is an
unsigned integer.
2007-07-09 21:39:03 +00:00
Emmanuele Bassi
350bb347d8 Add ClutterBehaviourDepth
ClutterBehaviourDepth is a simple behaviour that controls the depth
property of a set of actors.
2007-07-09 21:38:43 +00:00
Matthew Allum
817cdbe2be 2007-07-06 Matthew Allum <mallum@openedhand.com>
* clutter/eglx/Makefile.am:
        * clutter/eglx/clutter-egl.h:
        * clutter/eglx/clutter-event-egl.c:
        * clutter/eglx/clutter-stage-egl.c:
        Rename clutter-egl.h -> clutter-eglx.h

        * NEWS:
        * README:
        Add info re EGL split.
2007-07-06 14:08:03 +00:00
Matthew Allum
051a76c155 2007-07-06 Matthew Allum <mallum@openedhand.com>
* clutter/Makefile.am:
        * clutter/eglnative/Makefile.am:
        * clutter/eglnative/clutter-backend-egl.c:
        * clutter/eglnative/clutter-backend-egl.h:
        * clutter/eglnative/clutter-egl.h:
        * clutter/eglnative/clutter-event-egl.c:
        * clutter/eglnative/clutter-stage-egl.c:
        * clutter/eglnative/clutter-stage-egl.h:
        * clutter/eglx/Makefile.am:
        * clutter/eglx/clutter-backend-egl.c:
        * clutter/eglx/clutter-egl.h:
        * clutter/eglx/clutter-event-egl.c:
        * clutter/eglx/clutter-stage-egl.c:
        * configure.ac:
        Add a new 'native' EGL backend for non X based EGL's
        (i.e on framebuffer).
        Rename old backend to 'eglx' and namespace public funcs with this.

        * clutter/pango/pangoclutter-private.h:
        Add extra checks for expected defines.
2007-07-06 13:56:01 +00:00
Matthew Allum
bbdcf5542b 2007-07-06 Matthew Allum <mallum@openedhand.com>
* NEWS:
        * README:
        Updates for upcoming 0.3.1 release.
        * clutter/egl/Makefile.am:
        * clutter/egl/clutter-backend-egl.c:
        * clutter/egl/clutter-backend-egl.h:
        * clutter/egl/clutter-egl.h:
        * clutter/egl/clutter-event-egl.c:
        * clutter/egl/clutter-stage-egl.c:
        * clutter/egl/clutter-stage-egl.h:
        * configure.ac:
        Move egl -> eglx
2007-07-06 11:40:59 +00:00
Matthew Allum
7ea9e2bcbb 2007-07-06 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-box.c: (clutter_box_pick):
        Call clutter_box_paint rather than actor paint method avoiding
        infinte loop (Fixes test-boxes crasher).

        * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_unrealize):
        Trap the X calls to avoid potential X errors.
2007-07-06 09:22:43 +00:00
Tomas Frydrych
038f79f4bc fixed clutter_goup_query_coords() to shrink if appropriate 2007-07-05 13:52:19 +00:00
Emmanuele Bassi
b66593374d Add synchronise support to the GLX backend
This patch adds a command line switch to make every X call synchronous.
It's only useful for debugging purposes, so it will not be displayed when
calling a Clutter application with --help.
2007-07-05 11:05:46 +00:00
Emmanuele Bassi
61db350ca4 2007-07-05 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-rectangle.c: Fix off-by-border-width bug
	in the border creation of a ClutterRectangle.
2007-07-05 10:06:08 +00:00
Tomas Frydrych
cbf2830e5f added CLUTTER_FLOAT_TO_UINT 2007-07-04 15:30:44 +00:00
Emmanuele Bassi
d7caae7f6a 2007-07-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/*: Loads of fixes for the API reference.
2007-07-04 14:00:41 +00:00
Emmanuele Bassi
0d1777426d Fix the iteration in clutter_group_remove_all()
When iterating on a list while changing it, it's a good idea to keep
pointers around to avoid dirty access bugs.
2007-07-04 12:29:50 +00:00
Emmanuele Bassi
82860b5d5a Use the right argument naming for alpha functions
The name of the argument in the header must match the name in the
function implementation, for gtk-doc to work properly.
2007-07-04 12:29:44 +00:00
Emmanuele Bassi
436df772a4 2007-07-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-main.c (clutter_redraw): Move the stage
	paint init call from the main redraw function...

	* clutter/clutter-stage.c (clutter_stage_paint): ... to the
	ClutterActor::paint() overridden method in ClutterStage.
2007-07-04 09:36:44 +00:00
Emmanuele Bassi
271b13cde3 2007-07-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter.h:
	* clutter/Makefile.am: ClutterBackend is marked as public API,
	so install the clutter-backend.h header and include it when
	including clutter.h.
2007-07-04 09:34:24 +00:00
Emmanuele Bassi
da8bad5e03 2007-07-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-entry.[ch]: Various fixes to ClutterEntry:
	fix code style issues; add documentation for the various
	properties; add ClutterEntry:entry-padding property, for controlling
	the text padding (until we have style properties separated from
	the object properties); notify property changes; free resources
	in the ::finalize method; rename clutter_entry_add() to
	clutter_entry_insert_unichar(), and clutter_entry_remove() to
	clutter_entry_delete_chars() - for bindings and for matching the
	insert_text() and delete_text() existing methods; add a getter
	method for the max-length property.
2007-07-04 09:33:04 +00:00
Emmanuele Bassi
11775a16f0 2007-07-04 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.[ch]: Use the right get_type() function
	name for ClutterVertex, and add the CLUTTER_TYPE_VERTEX macro.
2007-07-04 09:17:10 +00:00
Tomas Frydrych
b9e486f587 use ClutterVertex to pass parameters into clutter_actor_apply_transform_to_point() 2007-07-02 09:21:58 +00:00
Emmanuele Bassi
1e36656622 Remove stray debug message
This patch removes a stray g_print() added for debugging purposes, which
also produces a compiler warning.
2007-07-01 16:46:07 +00:00
Emmanuele Bassi
500d7482b6 Documentation fixes
Various fixes in the API reference build and text.
2007-07-01 16:44:24 +00:00
Emmanuele Bassi
255edd4e26 Clean up ClutterEffect
Make ClutterEffectTemplate use a pointer to the private data to avoid
a type check each time it dereferences the ClutterEffectTemplatePrivate
structure pointer.

Clean up the header file for parsing purposes.

Add a description for the gtk-doc reference.
2007-07-01 10:29:34 +00:00
Neil J. Patel
52b5bad316 2007-06-29 Neil J. Patel <njp@o-hand.com>
* clutter/clutter-entry.c: (clutter_entry_handle_key_event),
	(clutter_entry_add), (clutter_entry_remove):
	Check if unichar == 0, and if so, return, as it will cause a delete in
	the GString.
2007-06-29 17:18:13 +00:00
Matthew Allum
fda8a1d948 2007-06-29 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c: (texture_upload_data):
        Fix a SEGV for GL ES textures.

        * clutter/cogl/gles/cogl.c: (cogl_setup_viewport):
        Tweak default z_camera for 60 degrees like GL.

        * clutter/egl/clutter-backend-egl.c::
        * clutter/egl/clutter-stage-egl.c:
        Fix edpy usage (thanks to Kaj Gronholm).
2007-06-29 11:54:31 +00:00
Tomas Frydrych
9958a1e6d2 Fixed box calculation in clutter_group_query_coords() 2007-06-29 10:46:12 +00:00
Tomas Frydrych
1677e9d263 fixed crash in clutter_group_raise / _lower() 2007-06-28 15:18:20 +00:00
Matthew Allum
ca450782cb 2007-06-28 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gl/cogl.c: (cogl_setup_viewport):
        Improve fixed z_camera value for defualt perspective.
        Appears pixel perfect on ATI and Intel at least
2007-06-28 09:38:42 +00:00
Tomas Frydrych
4bb51a4787 renamed clutter_actor_project_* functions 2007-06-27 15:10:52 +00:00
Tomas Frydrych
e10a0ad025 clutter_actor_project_point(): separated input from output parameters 2007-06-27 15:10:42 +00:00
Tomas Frydrych
4fda40461e Fixed incorrect order of scaling and rotation in _clutter_actor_apply_modelview_transform() 2007-06-27 11:34:43 +00:00
Tomas Frydrych
4ed86c4bc1 fixed clutter_actor_scale_with_gravityx() 2007-06-27 09:41:49 +00:00
Tomas Frydrych
761a5f4d9d tweaked z_camera constant for default 60 deg perspective angle 2007-06-26 16:07:14 +00:00
Tomas Frydrych
f4029ab77c added fixed version of clutter_actor_rotate_*() functions and accessors for rotation angles 2007-06-26 11:35:33 +00:00
Matthew Allum
62d716b1cb 2007-06-25 Matthew Allum <mallum@openedhand.com>
* README:
        Update a little more.
        * clutter/clutter-effect.c:
        Add missing func documentation
        * clutter/clutter-rectangle.c:
        Fix border drawing.
2007-06-25 13:44:32 +00:00
Tomas Frydrych
b6a703a99e changed ClutterPerspective.fovy from ClutterAngle to degrees 2007-06-25 13:43:13 +00:00
Matthew Allum
ee6156cb01 2007-06-22 Matthew Allum <mallum@openedhand.com>
* NEWS:
        * README.in:
        * TODO:
        Update for 0.3 release.

        * clutter/clutter-actor.c:
        Minor doc fixups

        * clutter/clutter-texture.c:
        Various minor additions for handling non RGBA data.
        Fix a typo breaking clutter_texture_get_pixbuf() on tiled textures.

        * tests/test-actors.c:
        Disable scaling to avoid drifting (temporary till API is fixed)
2007-06-22 15:16:40 +00:00
Emmanuele Bassi
e49b05049a Allow disabling the timeline pool via environment variables
All the ClutterTimeline share a ClutterTimeoutPool by default. This might
cause problems if an application is using a heavily threaded library that
does not play nicely with the main loop (like libneon). If this is the
case, using the CLUTTER_TIMELINE environment variable set to "no-pool"
makes the ClutterTimeline objects discard the pool and allocate a slice
of the main loop.
2007-06-21 14:19:56 +00:00
Matthew Allum
d30396cf0c 2007-06-19 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-main.c: (clutter_init_with_args), (clutter_init):
        Safer checks for setting progname if NULL is passed in init.
2007-06-19 14:47:33 +00:00
Matthew Allum
e7332a3778 2007-06-19 Matthew Allum <mallum@openedhand.com>
* TODO:
        Sync up a little.
        * clutter/clutter-main.c:
        Set a default window title based on g_prgname().

        * clutter/clutter-stage.c:
        * clutter/clutter-stage.h:
        * clutter/egl/clutter-stage-egl.c:
        * clutter/glx/clutter-stage-glx.c:
        * clutter/sdl/clutter-stage-sdl.c:
        Alter draw_to_pixbuf to return a pixbuf

        * configure.ac:
        Only full in gdk-pixbuf-xlib as a GLX backend dep.

        * tests/test-entry.c:
        Fix a couple of warnings.
2007-06-19 14:10:25 +00:00
Matthew Allum
38e6cab1d8 2007-06-19 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-stage.c:
        * clutter/clutter-stage.h:
        * clutter/glx/clutter-stage-glx.c:
        * clutter/sdl/clutter-stage-sdl.c:
        Add window title setting/getting functionality.

        * clutter/clutter-event.c: (clutter_key_event_unicode):
        Remove uneeded convert case call.

        * clutter/cogl/gl/cogl.c: (cogl_rectangle)
        Use parameters correctly for underlying GL rect call.

        * tests/test-entry.c:
        Add a window title.
2007-06-19 09:10:37 +00:00
Matthew Allum
1494a017c3 2007-06-18 Matthew Allum <mallum@openedhand.com>
* clutter/sdl/clutter-event-sdl.c:
        Seemingly fix SDL Event source.
        Add some very basic SDL keysym translation.
        (Thanks to Thomas Van Machelen for initial translation code)

        * tests/test-events.c:
        Dump some info on keysyms pressed.
2007-06-18 09:15:00 +00:00
Emmanuele Bassi
339b22ded9 2007-06-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.h:
	* clutter/clutter-stage.h: Add 32 padding slots; when we
	reach 1.0 it'll be a long road until the following ABI
	break.

	* tests/test-behave.c: Don't forget to include headers.
2007-06-16 21:15:31 +00:00
Emmanuele Bassi
80e71eaa46 2007-06-16 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-container.h:
	* clutter/clutter-layout.h: Interfaces are not checked
	at compile-time, so there's not need to add padding to
	avoid ABI breaks.
2007-06-16 21:07:13 +00:00
Emmanuele Bassi
4172ce1fb2 2007-06-16 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Partially revert last commit, and fail
	with AC_MSG_ERROR() instead of disabling the manual build
	if no jw and xmlto were found.
2007-06-16 20:58:00 +00:00
Matthew Allum
53301e1bba 2007-06-16 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        Fix typo in x rotation transform (Thanks to Johan Billen #138)

        * configure.ac:
        * doc/manual/Makefile.am:
        Fix manual build and required program check.

        * tests/Makefile.am:
        Another typo fix.
2007-06-15 23:15:34 +00:00
Tomas Frydrych
0c5546007c removal of debug stuff, addition of comments 2007-06-15 09:53:07 +00:00
Emmanuele Bassi
7d18616cfa Remove locking from ClutterTimeoutPool
The mutex protection for the timeout pool was causing deadlocks, so it has been
removed for the time being, until I figure out a way to make it work properly.
A timeout pool should not be considered thread-safe (or thread-aware) until further
notice.
2007-06-14 19:57:36 +00:00
Emmanuele Bassi
450ac94e49 Override ClutterActor::pick
Override the default ClutterActor::pick method, by calling a full paint of the box actor
like ClutterGroup does.
2007-06-14 19:57:29 +00:00
Tomas Frydrych
699297ad64 fixed vbox and hbox pack functions 2007-06-14 15:56:22 +00:00
Emmanuele Bassi
4a926f4155 Don't forget to add the boxes 2007-06-14 15:30:27 +00:00
Emmanuele Bassi
a1958da910 2007-06-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-box.[ch]: Base class for layout containers.

	* clutter/clutter-hbox.[ch]: Horizontal box actor.
	
	* clutter/clutter-vbox.[ch]: Vertical box actor.

	* clutter/clutter.h:
	* clutter/Makefile.am: Build glue

	* tests/Makefile.am:
	* tests/test-boxes.c: Test suite for ClutterBox API and
	implementations.
2007-06-14 15:29:52 +00:00
Matthew Allum
61c6c24dfa 2007-06-14 Matthew Allum <mallum@openedhand.com>
* clutter/cogl/gl/cogl.c: (cogl_check_extension):
        Actually populate this func and remove the static alternate
        named one. Means GLX actually checks for available extensions.
        Other minor tidy ups.

        * clutter/glx/clutter-backend-glx.c:
        * clutter/glx/clutter-backend-glx.h:
        Add support for GLX_SGI_swap_control to do vblanking prefering
        over glXGetVideoSyncSGI. Should fix issues on Intel chips with
        very slow frame rates due to vblank problems.
        Thanks to  Michel Danzer for tips, see;
        http://bugs.freedesktop.org/show_bug.cgi?id=10542

        * test/test-actors.c:
        Change FPS to 60.
2007-06-14 12:54:47 +00:00
Emmanuele Bassi
ba0fa9d4be 2007-06-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-timeout-pool.c: Make ClutterTimeoutPool
	more thread-safe, using a static lock.

	(clutter_timeout_pool_dispatch), (clutter_timeout_pool_remove): Fix
	a race condition-turned-in-memory corruption bug, triggered by
	removing a timeout from the pool while still spinning the pool
	source.
2007-06-14 12:00:31 +00:00
Tomas Frydrych
1391ee7306 use clutter_actor_project_point/vertices in clutter_actor_get_abs_position/size 2007-06-14 08:17:13 +00:00
Matthew Allum
61e3252ff1 2007-06-14 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        * clutter/clutter-group.c:
        * clutter/clutter-label.c:
        * clutter/egl/clutter-stage-egl.c:
        * clutter/glx/clutter-stage-glx.c:
        * clutter/sdl/clutter-stage-sdl.c:
        Rename clutter_actor_allocate_coords -> clutter_actor_query_coords

        Change repaints to G_PRIORITY_DEFAULT + 10.
        (timelines are G_PRIORITY_DEFAULT + 30, events G_PRIORITY_DEFAULT)

        * clutter/glx/clutter-event-glx.c:
        Handle shift modifier in keycode -> keysym translation.

        * tests/test-actors.c:
        Remove (broken) screen saver code.
        Add scaling behaviour, clean code a little
2007-06-13 23:24:59 +00:00
Tomas Frydrych
14e00cb904 more of projection work 2007-06-13 11:20:10 +00:00
Tomas Frydrych
5f4a7a4812 clear CLUTTER_ACTOR_SYNC_MATRICES after setting up viewport 2007-06-12 17:39:08 +00:00
Tomas Frydrych
70a3c9fbe6 clutter_actor_project_point/vertices 2007-06-12 11:42:29 +00:00
Matthew Allum
c2236bb72a 2007-06-12 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-alpha.c:
        Remove stray g_debug.

        * clutter/clutter-behaviour-rotate.c:
        Register private class member.

        * clutter/clutter-behaviour.c:
        * clutter/clutter-behaviour.h:
        Add applied and removed signals.

        * Makefile.am:
        * configure.ac:
        * examples/Makefile.am:
        * examples/README:
        * examples/behave.c:
        * examples/slider.c:
        * examples/super-oh.c:
        * examples/test-entry.c:
        * examples/test-text.c:
        * examples/test.c:
        * tests/Makefile.am:
        Remove examples, moving applicable code into tests.
2007-06-12 10:36:28 +00:00
Tomas Frydrych
5f8bd1d160 Fixed unsigned overflow in sine alpha functions 2007-06-11 15:47:26 +00:00
Emmanuele Bassi
c22543be1f Update Clutter event structures to use the ModifierType enum 2007-06-11 09:02:40 +00:00
Emmanuele Bassi
a8c3d1652b Use a full enum for the modifier masks 2007-06-11 09:02:28 +00:00
Emmanuele Bassi
a633e922b1 Compilation fixes 2007-06-09 13:20:22 +00:00
Emmanuele Bassi
d41a60a371 Document ClutterTimeoutPool
Add ClutterTimeoutPool API documentation to the source and to the
gtk-doc sections.
2007-06-09 13:20:13 +00:00
Emmanuele Bassi
787ddc3122 Add copyright license and make ClutterTimeoutPool public
ClutterTimeoutPool can be useful for manually animating without using
timelines or behaviours.
2007-06-09 13:20:06 +00:00
Emmanuele Bassi
bf378bc7cd Use ClutterTimeoutPool in ClutterTimeline
Use a per-class timeout pool into ClutterTimeline so that every timeline
instance will use a pooled timeout function to execute the tick. This
should make multiple timelines not starve the main loop.
2007-06-09 13:20:00 +00:00
Emmanuele Bassi
7f4b6b9c0e Add timeout pool source
A ClutterTimeoutPool is a source for the GLib main loop which pools
multiple timeout functions. The pool is always sorted so that the first
timeout to expire is also the first element of the pool; hence, extraction
is a constant time operation. This also makes the usage of multiple
timeouts at the same priority not compete for a timeslice of the main
loop, leading to starvation.
2007-06-09 13:19:52 +00:00
Matthew Allum
6c99b685dd 2007-06-08 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c: (clutter_texture_get_pixbuf):
        Remove stray printf.
2007-06-07 23:55:25 +00:00
Matthew Allum
2c40b4b53d 2007-06-08 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        * clutter/clutter-debug.h:
        * clutter/clutter-main.c:
        * clutter/clutter-main.h:
        * clutter/clutter-private.h:
        * clutter/clutter-timeline.c:
        Add 'schedule' debug flag and new CLUTTER_TIMESTAMP macro.

        * clutter/clutter-texture.c:
        * clutter/clutter-texture.h:
        * 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:
        Add initial experiemental YUV texture support.
        Move texture rect size checks into cogl.
        Better handle moving texture data from video -> system memory
        (if support available).
2007-06-07 23:51:53 +00:00
Neil J. Patel
3649b4734b Added a 'activate' signal, which is emitted when the 'Enter' key is pressed 2007-06-07 21:23:07 +00:00
Emmanuele Bassi
42ebf073bd Don't forget files when committing, stoopeed 2007-06-07 19:23:04 +00:00
Emmanuele Bassi
e30df678ae 2007-06-07 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/*: Move documentation from the templates into the
	source code.
2007-06-07 15:28:59 +00:00
Emmanuele Bassi
3c2defee9d 2007-06-07 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-container.[ch]: Add a generic actor container
	interface, for actors to implement without subclassing ClutterGroup.

	* clutter/clutter-group.[ch]: Make ClutterGroup implement the
	ClutterContainer interface, and deprecate the colliding methods.

	* clutter/clutter-layout.[ch]: Add extended layout interface.
	Actors and containers requiring or honouring complex layout
	management should implement this interface and provide at least
	one of the available layout types: width for height, height for
	width, natural size, iterative size request.

	* clutter/clutter-label.c: A ClutterLabel requires height for
	width layout management, so it implements the ClutterLayout
	interface.

	* clutter/Makefile.am: Add new files to the build.

	* tests/*.c:
	* examples/*.c: Update tests and examples code to use the
	new ClutterContainer API instead of ClutterGroup.
2007-06-07 14:41:35 +00:00
Emmanuele Bassi
b11aca44e3 Add delay property to ClutterTimeline
This patch adds a "delay" property to the timeline object. If set,
it will delay the start of the timeline of a number of milliseconds.
If the timeline is looping, the delay will be applied just the first
time and not for every loop.
2007-06-07 10:26:18 +00:00
Emmanuele Bassi
c90a252581 Rename clutter_timeline_copy to clutter_timeline_clone
Usually, in OOP objects are cloned, while boxed types are copied; this
holds true in GObject, where GBoxed types have copy functions.
2007-06-07 10:26:07 +00:00
Matthew Allum
9789bfc69e 2007-06-06 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c:
        * clutter/clutter-texture.h:
        Fix GError Args.
2007-06-06 14:27:52 +00:00
Neil J. Patel
acb0772fe0 2007-06-01 Neil J. Patel <njp@o-hand.com>
* clutter/clutter-entry.c: (clutter_entry_set_property),
        (clutter_entry_get_property), (clutter_entry_class_init),
        (clutter_entry_init), (clutter_entry_set_text),
        (clutter_entry_set_max_length):
        * clutter/clutter-entry.h:
        * examples/test-entry.c: (main):
        Added a max-length property whihc limits the length of the text in the
        entry.
2007-06-01 17:18:21 +00:00
Neil J. Patel
d5c38ef466 Clipping within the entry class to stop it over-slipping its
boundries.
        Text will move within the clip region to keep the cursor always
        visible.
        Added some padding to the left and right to make sure cursor is
        always show.
2007-06-01 16:50:35 +00:00
Tomas Frydrych
479fe01b5a removed perspective matrix caching from ClutterStage 2007-06-01 16:20:57 +00:00
Neil J. Patel
f6b675fc7d Added text-visibility, which will allow you to show all entered text
as a nominated charaecter ('*' is default).
2007-06-01 15:58:17 +00:00
Neil J. Patel
214a2ead22 Added signal to track cursor movements\nMoved the curor painting function into the class functions so it can be sub-classed 2007-06-01 15:18:05 +00:00
Tomas Frydrych
d82c068faf make clutter_actor_get_transformed_point input relative to actor; feed actor depth into transform 2007-06-01 15:15:13 +00:00