Commit Graph

258 Commits

Author SHA1 Message Date
Neil Roberts
82d43ffe64 Bug 1189 - Backface culling
* clutter/cogl/gl/cogl-texture.c (cogl_texture_polygon)
	(_cogl_texture_quad_sw, _cogl_texture_quad_hw):
	* clutter/cogl/gles/cogl-texture.c (cogl_texture_polygon)
	(_cogl_texture_quad_sw, _cogl_texture_quad_hw): Enable backface
	culling in GL if it is requested.

	* clutter/cogl/gles/cogl-texture.c (_cogl_texture_quad_sw)
	(_cogl_texture_quad_hw):
	* clutter/cogl/gl/cogl-texture.c (_cogl_texture_quad_sw)
	(_cogl_texture_quad_hw): Reorder the
	vertices so that they are counter-clockwise.

	* clutter/cogl/gles/cogl-context.h (CoglContext): 
	* clutter/cogl/gl/cogl-context.h (CoglContext): Added a flag to
	store whether backface culling is currently enabled.

	* clutter/cogl/gles/cogl.c (cogl_enable_backface_culling): 
	* clutter/cogl/gl/cogl.c (cogl_enable_backface_culling): New
	function

	* doc/reference/cogl/cogl-sections.txt: Add
	cogl_enable_backface_culling
2008-10-27 14:36:52 +00:00
Emmanuele Bassi
8f1819cd52 2008-10-17 Thomas Wood <thomas@linux.intel.com>
reviewed by: Emmanuele Bassi <ebassi@linux.intel.com>

	* clutter/clutter-color.[ch]: Add GParamSpec and GValue integration
	for ClutterColor. With ClutterParamSpecColor it is possible to define
	color properties; with the GValue integration it's possible to
	automatically transform strings into colors and vice versa.

	(clutter_color_free): Allow NULL parameter to match other boxed
	types destructors.

	(clutter_color_new): Add a constructor for the ClutterColor boxed
	type, mostly for bindings.
2008-10-17 16:23:46 +00:00
Emmanuele Bassi
653f526c44 2008-09-25 Emmanuele Bassi <ebassi@linux.intel.com>
* clutter/clutter-sections.txt: Add
	clutter_get_option_group_without_init()
2008-09-25 11:09:22 +00:00
Emmanuele Bassi
c34e17163d 2008-08-27 Emmanuele Bassi <ebassi@openedhand.com>
Bug 1099 - No ClutterScript API to get a list of IDs in a given file

	* clutter/clutter-script.[ch]: Add clutter_script_list_objects(),
	a function for retrieving all the objects built by a ClutterScript
	instance. (Based on a patch by Noah Gibbs)
2008-08-27 12:16:56 +00:00
Neil Roberts
607503ca43 Bug 1103 - Two typos in clutter documentation
* doc/reference/clutter/subclassing-ClutterActor.xml: Update the
	custom actor example since the Cogl API was changed to namespace
	all of the path related functions in cogl_path_*. Thanks to Nati
	Berkover.
	
	* clutter/clutter-score.c: Add missing parameter in example of
	calling clutter_score_start().
2008-08-19 10:55:49 +00:00
Neil Roberts
db4c5e2829 Bug 945 - Clipping+fbo cloning bugs
* clutter/cogl/gl/cogl.c: 
	* clutter/cogl/gles/cogl.c: 
	* clutter/cogl/cogl.h.in: Add cogl_clip_stack_save,
	cogl_clip_stack_restore, cogl_viewport and cogl_frustum.

	* clutter/cogl/gl/cogl-fbo.h: 
	* clutter/cogl/gl/cogl-fbo.c: Try to attach a stencil buffer when
	creating an FBO.

	* clutter/cogl/common/cogl-clip-stack.c: Add functions to save and
	restore the whole state of the stack.

	* clutter/clutter-texture.c (clutter_texture_paint): When
	rendering the FBO source, setup a temporary asymmetric perspective
	projection matrix to render it as it would appear on screen.

	* clutter/clutter-private.h: 
	* clutter/clutter-actor.c
	(_clutter_actor_apply_modelview_transform_recursive): No longer
	static and exported in clutter-private.h
2008-08-01 12:23:57 +00:00
Ross Burton
51563ba73e 2008-07-30 Ross Burton <ross@openedhand.com>
* clutter/version.xml.in:
	* cogl/version.xml.in:
	Remove trailing newline as it upsets Devhelp
2008-07-30 09:17:57 +00:00
Emmanuele Bassi
1742dd6750 2008-07-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/subclassing-ClutterActor.xml: Update the ClutterActor
	subclassing section by removing the cogl_push/pop_matrix() calls
	where not needed.
2008-07-17 10:40:19 +00:00
Emmanuele Bassi
2c31e8ab04 2008-07-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-sections.txt: Add the missing X11 backend
	API.
2008-07-10 14:48:14 +00:00
Emmanuele Bassi
7798958772 2008-07-01 Emmanuele Bassi <ebassi@openedhand.com>
* cogl/cogl-docs.sgml: Add an index to the COGL API reference
	and the licensing information.
2008-07-01 10:15:07 +00:00
Emmanuele Bassi
3606c5767e 2008-06-27 Emmanuele Bassi <ebassi@openedhand.com>
* configure.ac: Post release bump to 0.7.7.
2008-06-27 20:45:33 +00:00
Emmanuele Bassi
a07d57572c 2008-06-26 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.c:
	(clutter_actor_set_min_width),
	(clutter_actor_set_min_height),
	(clutter_actor_set_natural_width),
	(clutter_actor_set_natural_height): Ignore any override of the
	minimum and natural size of the stage on backends that only
	support static stages.

	* clutter/clutter-stage.c (clutter_stage_allocate): Use the
	preferred size of the ClutterStage implementation instead of
	the display size.

	* clutter/clutter-backend.[ch]: Remove get_display_size() and
	clutter_backend_get_display_size().

	* clutter/eglnative/clutter-backend-egl.c:
	* clutter/fruity/clutter-backend-fruity.c:
	* clutter/osx/clutter-backend-osx.c:
	* clutter/sdl/clutter-backend-sdl.c:
	* clutter/win32/clutter-backend-win32.c:
	* clutter/x11/clutter-backend-x11.c: Remove get_display_size()
	implementations.
2008-06-26 21:42:44 +00:00
Emmanuele Bassi
e7a7307b49 2008-06-26 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-overview.xml: Split the overview into its own
	file, so we gtk-doc can linkify all class names.

	* clutter/building-clutter.xml: Split the building instructions
	into its own file, for better maintainability.

	* clutter/clutter-animation.xml:
	* clutter/creating-behaviours.xml:
	* clutter/subclassing-ClutterActor.xml: Rename from SGML to XML;
	these were not SGML files anyway, but templates.

	* clutter/clutter-docs.sgml: Use XInclude instead of the ugly
	entities hack.

	* clutter/Makefile.am: Update the build.
2008-06-26 09:02:58 +00:00
Emmanuele Bassi
299528a794 2008-06-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-sections.txt: Add missing symbols.
2008-06-25 16:49:41 +00:00
Emmanuele Bassi
995bf13a7b 2008-06-25 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-sections.txt: Add
	clutter_backend_get_display_size() to the documented symbols.
2008-06-25 15:00:51 +00:00
Emmanuele Bassi
5521867989 2008-06-24 Emmanuele Bassi <ebassi@openedhand.com>
Bug 989 - Add a search path for clutter script assets

	* clutter/clutter-script.h:
	* clutter/clutter-script.c:
	(clutter_script_finalize),
	(clutter_script_add_search_paths),
	(clutter_script_lookup_filename): Add the ability to define multiple
	search paths inside ClutterScript and to look up a specific filename
	inside those search paths. This is useful to define a set of
	directories where the assets for a UI definition are and still
	reference those assets by their name instead of the full path. (989,
	based on a patch by Matthew Allum)

	* clutter/clutter-texture.c:
	(clutter_texture_set_custom_property): Use the newly added
	clutter_script_lookup_filename() function.
2008-06-24 16:47:43 +00:00
Emmanuele Bassi
3c57d82649 2008-06-24 Emmanuele Bassi <ebassi@openedhand.com>
* doc/clutter-actor-invariants.txt: Fix grammar and spelling,
	document the ::parent-set signal emission.
2008-06-24 10:42:36 +00:00
Matthew Allum
be3c2ce965 2008-06-24 Matthew Allum <mallum@openedhand.com>
* cogl/Makefile.am:
        * cogl/cogl-docs.sgml:
        * cogl/version.xml.in
* clutter/version.xml.in
        Add full version (including minor) to docs.
        Add version to COGL docs
2008-06-24 10:38:18 +00:00
Emmanuele Bassi
71e7423ef2 2008-06-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-sections.txt: Remove clutter_actor_get_paint_area()
	and add clutter_actor_allocate_preferred_size().
2008-06-23 16:54:43 +00:00
Emmanuele Bassi
6fa156ad0f 2008-06-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/subclassing-ClutterActor.sgml: Remove mention of the
	get_paint_area() function and virtual function.
2008-06-23 15:56:30 +00:00
Øyvind Kolås
763d48e0f3 * clutter/subclassing-ClutterActor.sgml: added missing call to
cogl_push_matrix ()
2008-06-23 12:22:16 +00:00
Matthew Allum
2dbbee28d5 2008-06-17 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-actor.c:
        * clutter/clutter-actor.h:
        Clean up of parenting code (see #972)
        Doc updates to section intro.
        Add clutter_actor_allocate_preferred_size () utility call

        * clutter/clutter-group.c: (clutter_fixed_layout_allocate):
        Use clutter_actor_allocate_preferred_size ()

        * doc/clutter-actor-invariants.txt:
        Add some more notes
2008-06-17 13:49:40 +00:00
Emmanuele Bassi
431564dfbe 2008-06-17 Emmanuele Bassi <ebassi@openedhand.com>
* doc/clutter-actor-invariants.txt: Document the flags, the
	invariants, the state changes and the minimum requirements for
	actor implementations. Needs to be tweaked and fleshed out
	before 0.8.0, and we obviously need to enforce the invariants.
2008-06-17 10:47:37 +00:00
Matthew Allum
813b22a22e 2008-06-16 Matthew Allum <mallum@openedhand.com>
* cogl/cogl-docs.sgml:
        Add an intro.
2008-06-16 16:31:08 +00:00
Øyvind Kolås
778d421c11 * clutter/event-flow.png: fixed typo.
* clutter/event-flow.dia: added source for event-flow.png, this file
is not referred to in Makefile.am and thus not distributed in
tarballs.
2008-06-13 10:37:33 +00:00
Emmanuele Bassi
a4c4e3464d 2008-06-12 Emmanuele Bassi <ebassi@openedhand.com>
* doc/reference/cogl/Makefile.am: Ignore cogl/gl and cogl/gles
	when building the documentation.

	* clutter/cogl/cogl.h.in: Add sections in the header file.
2008-06-12 17:21:16 +00:00
Emmanuele Bassi
a617fc4cdf 2008-06-12 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-docs.sgml: Clean up.

	* clutter/clutter-sections.txt: Add missing new symbols.

	* clutter/clutter.types: Add ClutterChildMeta type.
2008-06-12 11:41:03 +00:00
Emmanuele Bassi
6b1a9fd52b 2008-06-11 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/subclassing-ClutterActor.sgml: Add more notes and
	remind to relayout when adding children to an actor.
2008-06-11 17:33:30 +00:00
Emmanuele Bassi
d93c7d1f85 2008-06-10 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-sections.txt: Update with the new API.

	* clutter/subclassing-ClutterActor.sgml: Update with the new
	size negotiation API.
2008-06-10 17:12:48 +00:00
Chris Lord
f91fb2e701 * cogl/cogl-sections.txt:
Add missing cogl_path_arc
2008-06-09 16:38:19 +00:00
Emmanuele Bassi
7b7e76ba27 2008-06-06 Emmanuele Bassi <ebassi@openedhand.com>
Bug #927 - Created ports for clutter, clutter-cairo in macports

	* clutter/clutter-docs.sgml: Update the OSX build instructions
	and mention that the preferred way to build Clutter for developing
	applications is via MacPorts. (#927, Idan Gazit)
2008-06-06 15:20:04 +00:00
Emmanuele Bassi
a0747e8c2d 2008-05-28 Emmanuele Bassi <ebassi@openedhand.com>
Bug 882 - Allow child properties for containers implementing the
	          ClutterContainer interface (Øyvind Kolås)

	* clutter/clutter-child-meta.[ch]: Base class for the metadata
	of a ClutterActor inside a ClutterContainer; the ChildMeta
	object implements a wrapper for storing data that is attached
	to a ClutterActor only when it's part of a ClutterContainer.
	The ChildMeta object is used to store the child properties
	accessible through the ClutterContainer API.

	* clutter/clutter-container.[ch]: Creates the ChildMeta for
	each actor, in case the Container specifies the ChildMeta
	type to use.

	* clutter/Makefile.am: Add clutter-child-meta.[ch] to the build.

	* clutter/clutter-marshal.list: Add the marshaller for the
	ClutterContainer::child-notify signal.

	* clutter/clutter-types.h: Declare ClutterContainer and
	ClutterChildMeta to avoid recursive inclusion.
2008-05-28 13:48:11 +00:00
Emmanuele Bassi
80087abf6c 2008-05-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-sections.txt: Update with new symbols.
2008-05-15 14:40:44 +00:00
Neil Roberts
9144b3902e * clutter/clutter-frame-source.c (clutter_frame_source_add)
(clutter_frame_source_add_full): Add gtk-doc and rename the
	'function' parameter to 'func'.

	* clutter/clutter-frame-source.h: Rename the 'function' parameters
	to 'func'.

	* clutter/Makefile.am (source_h): Make clutter-frame-source.h a
	public header.

	* clutter/clutter-main.c (clutter_threads_add_frame_source_full):
	Improve gtk-doc

	* doc/reference/clutter/clutter-sections.txt: Added
	clutter_threads_add_frame_source,
	clutter_threads_add_frame_source_full,
	clutter_frame_source_add and clutter_frame_source_add_full.
2008-05-09 16:27:06 +00:00
Neil Roberts
19058afe82 Removed COGLhandle and changed shader and program functions to be
wrapped in reference-counted CoglHandles instead.

	* clutter/cogl/gl/cogl-shader.c: 
	* clutter/cogl/gl/cogl-shader.h: 
	* clutter/cogl/gl/cogl-program.c: 
	* clutter/cogl/gl/cogl-program.h: 
	New files to hold the shader and program functions.

	* clutter/cogl/gl/cogl.c: Removed shader and program functions.

	* clutter/cogl/common/cogl-handle.h: New header to define
	COGL_HANDLE_DEFINE which helps build functions to create
	reference-counted handles. This reduces the amount of duplicated
	code.

	* clutter/cogl/gl/cogl-texture.c: 
	* clutter/cogl/gles/cogl-texture.c: 
	* clutter/cogl/gl/cogl-fbo.c: Converted to use COGL_HANDLE_DEFINE
	from cogl-handle.h to avoid duplicating some of the common code.

	* clutter/cogl/gles/cogl-defines.h.in: 
	* clutter/cogl/gl/cogl-defines.h.in: Removed COGLhandle

	* clutter/cogl/gl/cogl-context.h: Added handle arrays for programs
	and shaders.

	* clutter/cogl/gl/cogl-context.c (cogl_create_context): Added
	initialisers for shader_handles and program_handles.
	(cogl_destroy_context): Added calls to g_array_free for all handle
	arrays.

	* clutter/cogl/gl/Makefile.am (libclutter_cogl_la_SOURCES): Added
	cogl-{program,shader}.{c,h}

	* clutter/cogl/common/Makefile.am
	(libclutter_cogl_common_la_SOURCES): Added cogl-handle.h

	* clutter/cogl/gles/cogl.c:
	* clutter/cogl/cogl.h.in: Programs and shaders are now wrapped in
	CoglHandles instead of COGLhandles. cogl_program_destroy and
	cogl_shader_destroy is now replaced with cogl_program_unref and
	cogl_shader_unref. cogl_program_ref and cogl_shader_ref are also
	added.

	* clutter/clutter-shader.c: Converted to use CoglHandles for the
	programs and shaders instead of COGLhandles.

	* cogl/cogl-sections.txt: Added cogl_shader_ref,
	cogl_shader_unref, cogl_is_shader, cogl_program_ref,
	cogl_program_unref, cogl_is_program and cogl_is_offscreen.
2008-04-29 16:10:37 +00:00
Øyvind Kolås
b30935170e * cogl/cogl-sections.txt: updated after cogl primitives api rename
session.
2008-04-29 15:58:32 +00:00
Emmanuele Bassi
12bb974949 2008-04-28 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-docs.sgml: Add index for the 0.8 symbols.

	* clutter/Makefile.am:
	* cogl/Makefile.am: Revert back, as EXTRA_DIST has been defined
	by gtk-doc.make and automake-1.9 complains loudly about a
	redefinition of EXTRA_DIST.
2008-04-28 15:22:54 +00:00
Neil Roberts
6409b1adeb Merged clutter-ivan branch into trunk.
svn merge \
 https://svn.o-hand.com/repos/clutter/trunk/clutter@2509 \
 https://svn.o-hand.com/repos/clutter/branches/clutter-ivan@HEAD
2008-04-25 13:37:36 +00:00
Emmanuele Bassi
6d73c5e452 2008-04-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-units.h:
	* clutter/clutter-fixed.h: Add boundaries for fixed point
	and units values.

	* doc/reference/clutter-sections.txt: Update the documentation.
2008-04-17 11:09:27 +00:00
Emmanuele Bassi
0ecfa9701f 2008-04-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-fixed.[ch]: Add a ClutterFixed fundamental
	type, and wrappers for storing it into GValues; also add a
	GParamSpec subclass for defining parameters holding
	ClutterFixed values. This allows creating GObject properties
	using fixed point values.

	* doc/reference/clutter-sections.txt: Document the newly
	added API.
2008-04-17 10:08:17 +00:00
Emmanuele Bassi
d1ba07d0e7 2008-04-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/Makefile.am: Add clutter-units.c

	* clutter/clutter-units.[ch]: Add a ClutterUnit fundamental
	type, and wrappers for storing it into GValues; also add a
	GParamSpec subclass for defining parameters holding ClutterUnit
	values. This allows creating GObject properties using units.

	* doc/reference/clutter-sections.txt: Document the newly
	added API.
2008-04-17 09:13:12 +00:00
Neil Roberts
1a263dca5c 2008-03-30 Neil Roberts <neil@o-hand.com>
* clutter/win32/clutter-win32.h: 
	* clutter/win32/clutter-stage-win32.h: 
	* clutter/win32/clutter-stage-win32.c: 
	* clutter/win32/clutter-event-win32.c: 
	* clutter/win32/clutter-backend-win32.h: 
	* clutter/win32/clutter-backend-win32.c:
	Upgraded for multi-stage support.

	* clutter/win32/clutter-stage-win32.c
	(clutter_stage_win32_request_coords): Fixed so that it doesn't set
	the position or size if it hasn't changed. This was causing
	problems when the window was resized using the top left corner. In
	that case the window receives resize and move messages separately
	which caused the window to flash at a different size or position
	while one message was handled before the other.
	(clutter_stage_win32_realize): Added PFD_GENERIC_ACCELERATED to
	the list of pixel format flags to force it to use hardware
	acceleration.

2008-03-30  Neil Roberts  <neil@o-hand.com>

	* clutter-sections.txt: Added clutter_win32_get_stage_from_window
2008-03-30 16:51:01 +00:00
Neil Roberts
dd7ff3e829 2008-03-26 Neil Roberts <neil@o-hand.com>
* clutter/win32/clutter-win32.h: Added gtk-doc documentation for
	the Win32 backend section.

	* clutter/win32/clutter-stage-win32.c
	(clutter_win32_get_stage_window): Fixed punctuation in the
	documentation.

	* README: Added notes about the Win32 backend.

2008-03-26  Neil Roberts  <neil@o-hand.com>

	* clutter-sections.txt: Added a section for the Win32 specific
	API.

	* clutter-docs.sgml: Added comments about the Win32 backend.

	* Makefile.am: Added bits to ignore the headers for the Win32
	backend.
2008-03-26 22:22:32 +00:00
Emmanuele Bassi
477db755b7 2008-03-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-score.[ch]: Remove all the API changes, and
	just add a clutter_score_append_at_marker(); the implementation
	remains the same, but the marker must be explicitly created by
	the developer. The ids are no longer used to create implicit
	markers, so they can return to be unsigned integers.

	* clutter/clutter-timeline.[ch]:
	(clutter_timeline_has_marker): Add a function to query a timeline
	for a marker being set.

	* tests/test-score.c (main): Update with the API changes.

	* clutter.symbols: Update exported symbols.
2008-03-18 22:07:17 +00:00
Emmanuele Bassi
6846235793 2008-03-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-section.txt: Add new score API.
2008-03-18 17:55:33 +00:00
Emmanuele Bassi
43d9d579b4 2008-03-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-section.txt: Add timeline-marker API.
2008-03-18 17:51:08 +00:00
Øyvind Kolås
f72930f35e * Makefile.am: Ignore clutter-id-pool.h to avoid picking up private symbols. 2008-03-07 17:37:43 +00:00
Emmanuele Bassi
383add1ab2 2008-02-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-docs.sgml: Add building instructions for OSX
2008-02-18 11:06:23 +00:00
Emmanuele Bassi
5da2cf7b1a 2008-02-18 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-animation.sgml: Fix warning

	* creating-your-own-behaviours.sgml: Add a paragraph about
	setting an initial state on the actors.
2008-02-18 09:40:52 +00:00
Matthew Allum
eec9c8526c 2008-02-15 Matthew Allum <mallum@openedhand.com>
* clutter-docs.sgml:
        Minor tweakery.
2008-02-15 17:47:07 +00:00