Commit Graph

38 Commits

Author SHA1 Message Date
Emmanuele Bassi
62844d5f04 2008-11-17 Emmanuele Bassi <ebassi@linux.intel.com>
Bug 1014 - Clutter Animation API Improvements

	* clutter/Makefile.am:
	* clutter/clutter.h: Update the build

	* clutter/clutter-types.h: Add AnimationMode, an enumeration
	for easing functions.

	* clutter/clutter-alpha.[ch]: Add the :mode property to
	control the function bound to an Alpha instance using an
	enumeration value. Also add six new alpha functions:

		- ease-in, ease-out, ease-in-out
		- sine-in, sine-out, sine-in-out

	* clutter/clutter-deprecated.h: Deprecate the #defines for
	the alpha functions. They will be replaced by entries in the
	ClutterAnimationMode.

	* clutter/clutter-interval.[ch]: Add ClutterInterval, an
	object for defining, validating and computing an interval
	between two values.

	* clutter/clutter-animation.[ch]: Add ClutterAnimation, an
	object responsible for animation the properties of a single
	actor along an interval of values. ClutterAnimation memory
	management is automatic. A simple wrapper method for
	ClutterActor is provided:

		clutter_actor_animate()

	which will create, or update, an animation for the passed
	actor.

	* clutter/clutter-debug.h:
	* clutter/clutter-main.c: Add a new 'animation' debug note.

	* clutter/clutter-script.c: Clean up the alpha functions
	whitelist, and add the new functions.

	* doc/reference/clutter/Makefile.am:
	* doc/reference/clutter/clutter-sections.txt: Update the
	API reference.

	* doc/reference/clutter/clutter-animation.xml: Renamed to
	doc/reference/clutter/clutter-animation-tutorial.xml to
	avoid clashes with the ClutterAnimation section.

	* doc/reference/clutter/clutter-docs.sgml: Renamed to
	doc/reference/clutter/clutter-docs.xml, as it was an XML
	file and not a SGML file.

	* tests/Makefile.am:
	* tests/interactive/Makefile.am:
	* tests/interactive/test-animation.c:
	* tests/interactive/test-easing.c: Add two tests for the
	new simple animation API and the easing functions.

	* tests/interactive/test-actors.c:
	* tests/interactive/test-behave.c:
	* tests/interactive/test-depth.c:
	* tests/interactive/test-effects.c:
	* tests/interactive/test-layout.c:
	* tests/interactive/test-multistage.c:
	* tests/interactive/test-paint-wrapper.c:
	* tests/interactive/test-rotate.c:
	* tests/interactive/test-scale.c:
	* tests/interactive/test-texture-quality.c:
	* tests/interactive/test-threads.c:
	* tests/interactive/test-viewport.c: Update interactive tests
	to the deprecations and new alpha API.
2008-11-18 09:50:03 +00:00
Emmanuele Bassi
a32eca26b6 2008-10-30 Emmanuele Bassi <ebassi@linux.intel.com>
Bug 1212 - Allow only a single include file for Clutter

	* clutter/*.h: Only allow including clutter.h in third
	party code.

	* clutter/cogl/cogl-color.h:
	* clutter/cogl/cogl-fixed.h:
	* clutter/cogl/cogl.h.in: Only allow including cogl.h in
	third party code.

	* clutter/cogl/common/Makefile.am:
	* clutter/cogl/gl/Makefile.am:
	* clutter/cogl/gles/Makefile.am:
	* clutter/eglnative/Makefile.am:
	* clutter/eglx/Makefile.am:
	* clutter/fruity/Makefile.am:
	* clutter/glx/Makefile.am:
	* clutter/glx/clutter-glx.h:
	* clutter/osx/Makefile.am:
	* clutter/pango/Makefile.am:
	* clutter/sdl/Makefile.am:
	* clutter/win32/Makefile.am:
	* clutter/x11/Makefile.am: Fix build environment.

	* clutter/x11/clutter-x11-texture-pixmap.h:
	* clutter/x11/clutter-x11.h: Fix inclusion rules.

	* tests/test-pixmap.c: Fix inclusion of GdkPixbuf header.

	* README: Update release notes.
2008-10-30 17:04:34 +00:00
Emmanuele Bassi
d3e2b27cff 2008-07-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter.h: Include missing installed files.
2008-07-14 13:46:31 +00:00
Matthew Allum
cc43d7a30d 2008-07-07 Matthew Allum <mallum@openedhand.com>
Bug 1019 - clutter-frame-source.h not included by clutter.h

        * clutter/clutter.h:
        Add missing header include.
2008-07-07 22:18:27 +00:00
Emmanuele Bassi
f32911c519 2008-01-09 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/Makefile.am:
	* clutter/clutter.h:
	* clutter/clutter-list-model.[ch]: Complete the ClutterModelDefault
	to ClutterListModel rename by renaming the source files
2008-01-09 14:40:31 +00:00
Emmanuele Bassi
6193beb8be 2007-12-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour.c:
	(clutter_knot_get_type): Use the I_() macro.

	* clutter/clutter-model.[ch]: Make ClutterModel and ClutterModelIter
	abstract classes; also, provide more virtual functions inside the
	ClutterModel vtable, to allow subclasses and language bindings to
	override the entire ClutterModel using other/native data types
	to store the rows.
	
	* clutter/clutter-model-default.[ch]: ClutterModelDefault is a
	default implementation of ClutterModel and ClutterModelIter using
	GSequence.

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

	* tests/test-model.c: Update for constructor changes.

	* tests/test-shader.c: Fix a typo.
2007-12-14 17:25:55 +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
Neil J. Patel
70e09ab9df 2007-11-15 Neil J. Patel <njp@o-hand.com>
* clutter/Makefile.am:
	* clutter/clutter-model.c: 
	* clutter/clutter-model.h:
	* clutter/clutter.h:
	* tests/Makefile.am:
	* tests/test-model.c:
	Merged ClutterModel, which closes #443.
2007-11-15 10:02:25 +00:00
Øyvind Kolås
99370d1e0c * clutter/Makefile.am:
* clutter/clutter.h: include clutter-deprecated.h
* clutter/clutter-deprecated.h: added file containing macros that
provides more meaningful errors when compiling clutter using code that
uses deprecated functions.
2007-11-13 14:06:19 +00:00
Emmanuele Bassi
6c01499abf 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).
2007-10-25 14:34:54 +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
Matthew Allum
5ab0ed5a00 2007-09-27 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-event.c:
        * clutter/clutter-event.h:
        * clutter/clutter-main.c:
        Further event tweaks;
        - Ref the event actor source
        - Protect against off stage events (button releases)
        - Move more into ClutterEventAny
        - Add a click count to button event (as yet unused)
        - Minor cleanups

        * clutter/clutter-actor.c:
        Make scale x/y a property.

        * clutter/clutter-private.h:
        Remove _clutter_actor_apply_modelview*

        * clutter/eglx/clutter-backend-egl.c:
        Warning cleanup

        * clutter/eglx/clutter-stage-egl.c:
        * clutter/glx/clutter-stage-glx.c:
        * clutter/sdl/clutter-stage-sdl.c:
        Avoid setting viewport directly, but set sync flag.

        * clutter/pango/pangoclutter-render.c: (draw_glyph):
        Minor cleanups.

        * clutter/Makefile.am:
        * tests/Makefile.am:
        * tests/test-score.c
        * clutter/clutter.h:
        * clutter/clutter-score.h:
        * clutter/clutter-score.c:
        Add very initial (broken) ClutterScore implementation.
2007-09-27 21:38:38 +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
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
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
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
Emmanuele Bassi
a633e922b1 Compilation fixes 2007-06-09 13:20:22 +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
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
Neil J. Patel
e725b0c7fa Initial import of ClutterEntry, a text-entry actor 2007-05-31 18:33:42 +00:00
Tomas Frydrych
a338a95796 removed ClutterReal; added clutter-units 2007-05-22 09:31:40 +00:00
Matthew Allum
23ac88ac70 2007-05-14 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-behaviour-path.c:
        Fix bug where last knot position wouldn't get reached.

        * clutter/clutter-group.c:
        Add some docs

        * clutter/clutter-timeline.h:
        * clutter/clutter-timeline.c:
        Add clutter_timeline_copy (needed for ClutterEffect)

        * clutter/clutter-version.h.in:
        Export windowing system / GL backend etc defines.

        * clutter/Makefile.am:
        * clutter/clutter-effect.c:
        * clutter/clutter-effect.h:
        * clutter/clutter.h:

        * clutter/glx/clutter-backend-glx.c:
        Minor clean ups.

        * clutter/clutter-alpha.h:
        Add a fixme.

        * configure.ac:
        Add FPU define.

        * examples/Makefile.am:
        * examples/slider.c:
        Add Robs slider game.
2007-05-14 09:11:23 +00:00
Tomas Frydrych
e61aed2146 cleaned up ClutterBehaviourEllipse api, added documentation 2007-04-30 08:39:20 +00:00
Emmanuele Bassi
90ec410aef Add ClutterBehaviourRotate
Add initial implementation of a rotate behaviour; this behaviour rotates
actors along a chosen axis, with a chosen direction, between two angles.
Missing: API documentation and the implementation for the angle boundaries
setters (double and fixed API).
2007-04-16 10:25:30 +00:00
Tomas Frydrych
43593ab81f bezier spline behaviours 2007-04-12 12:42:07 +00:00
Emmanuele Bassi
89de2fa269 2006-12-27 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-color.h:
	* clutter/clutter-color.c: Add clutter_color_to_string(),
	which creates a hex-encoded color string from a ClutterColor.
2006-12-27 18:19:34 +00:00
Emmanuele Bassi
5cc29888af 2006-11-20 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/Makefile.am:
	* clutter/clutter.h:
	* clutter/clutter-version.h.in: Auto-generated versioning macros.

	* clutter/clutter-actor.h:
	* clutter/clutter-actor.c: Add a ClutterActor::parent-set signal,
	for notificating changes of an actor's parent; add api-doc for
	the actor's properties; add the ClutterActor "name" property; clean
	up a bit some functions; emit the "parent-set" signal when setting
	te parent and when unparenting; better warnings when lowering
	and raising an actor.

	* configure.ac:
	* clutter/Makefile.am: Add a --enable-debug configure option,
	with three levels of debugging: no, minimum and yes; default
	for development releases (odd minor version) is "yes"; update
	the version m4 defines; update the libtool macros: now just
	changed the clutter_interface_age when releasing will update
	everything else.
2006-11-20 12:02:24 +00:00
Emmanuele Bassi
734f808fbc 2006-11-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-alpha.h:
	* clutter/clutter-alpha.c: Add a data parameter to
	the ClutterAlphaFunc; add a data+destroy parameter
	to clutter_alpha_set_func() and to clutter_alpha_new(),
	and turned the latter into clutter_alpha_new_full();
	add a simple, empty constructor clutter_alpha_new().

	These changes makes writing bindings a tad more easy,
	as bindings require passing their own functions in
	order to call the real alpha function.

	* clutter/clutter-behaviour.h: Clean up the header.

	* clutter/clutter-behaviours.[ch]:
	* clutter/clutter-behaviour-opacity.[ch]:
	* clutter/clutter-behaviour-path.[ch]:
	* clutter/clutter-behaviour-scale.[ch]: Split the
	ClutterBehaviourPath, ClutterBehaviourOpacity and
	ClutterBehaviourScale into their own files as they
	have been growing a bit. Fix ClutterBehaviourPath
	API.

	* clutter/clutter-media.h: Remove the commented
	"metadata_available" signal: gtk-doc chokes up on that.

	* clutter/clutter-timeline.h:
	* clutter/clutter-timeline.c: Remove the useless
	ClutterTimelineAlphaFunc signature; add missing accessor
	methods for the properties; clean up a bit.

	* clutter/clutter-util.h:
	* clutter/clutter-util.c: Remove unneeded function
	clutter_util_can_create_texture().

	* clutter/clutter-feature.h: Sync the name of
	clutter_feature_get_all() with the name declared
	in clutter-feature.h.

	* clutter/Makefile.am:
	* clutter/clutter.h: Update.

	* examples/behave.c: Update to the new ClutterAlpha
	constructor.

	* examples/super-oh.c: Use the right pointer and avoid
	the compiler making a fuss about it.
2006-11-15 23:37:53 +00:00
Emmanuele Bassi
4dea33e123 revert changes 2006-09-08 20:57:31 +00:00
Emmanuele Bassi
ba32170d94 creating a branch for experimenting with the behaviour API 2006-09-08 20:52:38 +00:00
Matthew Allum
2a4865b2b0 2006-09-01 Matthew Allum <mallum@openedhand.com>
* clutter/Makefile.am:
        * clutter/clutter-media.c:
        * clutter/clutter-media.h:
        * clutter/clutter.h:
        Re-add clutter media.
2006-09-01 17:26:47 +00:00
Jorn Baayen
458b4b47a7 2006-08-30 Jorn Baayen <jorn@openedhand.com>
* README:
	* clutter/Makefile.am:
	* clutter/clutter-audio.c:
	* clutter/clutter-audio.h:
	* clutter/clutter-main.c: (clutter_init):
	* clutter/clutter-media.c:
	* clutter/clutter-media.h:
	* clutter/clutter-video-texture.c:
	* clutter/clutter-video-texture.h:
	* clutter/clutter.h:
	* configure.ac:
	* examples/Makefile.am:
	* examples/README:
	* examples/video-cube.c:
	* examples/video-player.c:
	* gst/Makefile.am:
	* gst/clutterimagesink.:
	* gst/clutterimagesink.c:
	* gst/clutterimagesink.h:
	* gtk/Makefile.am:

	Remove gstreamer bits. There live in clutter-gst now.
2006-08-30 13:48:48 +00:00
Jorn Baayen
f907bcee1e 2006-08-30 Jorn Baayen <jorn@openedhand.com>
* clutter/Makefile.am:
	* clutter/clutter-audio.c:
	* clutter/clutter-audio.h:
	* clutter/clutter.h:

	Added ClutterAudio audio playback object.
2006-08-30 09:06:35 +00:00
Jorn Baayen
bc3d914ccd 2006-08-28 Jorn Baayen <jorn@openedhand.com>
* clutter/Makefile.am:
	* clutter/clutter-alpha.c:
	* clutter/clutter-alpha.h:
	* clutter/clutter-behaviours.c:
	(clutter_behaviour_opacity_dispose),
	(clutter_behaviour_opacity_init),
	(clutter_behaviour_opacity_frame_foreach),
	(clutter_behaviour_opacity_frame):
	* clutter/clutter-behaviours.h:
	* clutter/clutter-timeline.c: (clutter_timeline_class_init):
	* clutter/clutter-timeline.h:
	* clutter/clutter.h:
	* examples/behave.c: (main):

	Separate alpha calculation into its own class.

	* clutter/clutter-behaviour.c: (clutter_behaviour_set_timelime):

	Correct NULL check.
2006-08-28 17:11:15 +00:00
Matthew Allum
2c41d38fed 2006-08-15 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-behaviour.c:
        * clutter/clutter-behaviour.h:
        * clutter/clutter-behaviours.c:
        * clutter/clutter-timeline.c:
        * clutter/clutter-timeline.h:
        * clutter/clutter.h:
        Make basic behaviour infrastructure actually work.

        * examples/Makefile.am:
        * examples/behave.c:
        Add a simple behaviour demo/test

        * clutter/clutter-media.c: (clutter_media_set_volume):
        Actuall set volume rather than position..   (Fixes #141)
2006-08-15 20:28:41 +00:00
Matthew Allum
df92202c5f 2006-06-13 Matthew Allum <mallum@openedhand.com>
* clutter/Makefile.am:
        * clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        * clutter/clutter-clone-texture.c:
        * clutter/clutter-clone-texture.h:
        * clutter/clutter-element.c:
        * clutter/clutter-element.h:
        * clutter/clutter-group.c:
        * clutter/clutter-group.h:
        * clutter/clutter-label.c:
        * clutter/clutter-label.h:
        * clutter/clutter-main.c:
        * clutter/clutter-main.h:
        * clutter/clutter-rectangle.c:
        * clutter/clutter-rectangle.h:
        * clutter/clutter-stage.c:
        * clutter/clutter-stage.h:
        * clutter/clutter-texture.c:
        * clutter/clutter-texture.h:
        * clutter/clutter-video-texture.c:
        * clutter/clutter-video-texture.h:
        * clutter/clutter.h:
        * examples/super-oh.c:
        * examples/test-text.c:
        * examples/test-video.c:
        * examples/test.c:
        * examples/video-cube.c:
        * gtk/gtk-clutter-test.c:
        * gtk/gtk-clutter.c:
        * gtk/gtk-clutter.h:
        Element to Actor Renaming.
2006-06-13 13:17:45 +00:00
Matthew Allum
9afe83e695 2006-06-12 Matthew Allum <mallum@openedhand.com>
* clutter/Makefile.am:
        * clutter/clutter-media.c:
        * clutter/clutter-media.h:
        * clutter/clutter-video-texture.c:
        * clutter/clutter-video-texture.h:
        * clutter/clutter.h:
        * examples/test-video.c: (main):
        * examples/video-cube.c: (main):
        Add new 'media' interface.
        Drop Totem based video playback code replace with newly
        rewritten supper Jorn based code. Clutter is now fully LGPL.

        * clutter/clutter-texture.c: (tile_dimension):
        Remove uneeded overlap code.
2006-06-12 20:38:57 +00:00
Matthew Allum
342ea125f1 Merge gobject-branch into trunk 2006-05-29 08:59:36 +00:00