profile/ivi/clutter.git
14 years agoAdd Makevars
Emmanuele Bassi [Wed, 8 Sep 2010 10:50:09 +0000 (11:50 +0100)]
Add Makevars

14 years agobuild: Use upstream gettext instead the glib one
Javier Jardón [Tue, 7 Sep 2010 22:35:06 +0000 (00:35 +0200)]
build: Use upstream gettext instead the glib one

Fixes http://bugzilla.clutter-project.org/show_bug.cgi?id=2300

14 years agointrospection: Fix annotation for clutter_container_get_children()
Owen W. Taylor [Tue, 7 Sep 2010 23:56:42 +0000 (19:56 -0400)]
introspection: Fix annotation for clutter_container_get_children()

(element-type) should have a full name like Clutter.Actor rather than
a non-namespaced name like Actor. gobject-introspection has become
more strict about this with the recent scanner rewrite.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2301

14 years agobuild: Update introspection.m4
Emmanuele Bassi [Tue, 7 Sep 2010 20:10:40 +0000 (21:10 +0100)]
build: Update introspection.m4

14 years agobuild: Add escaping in AS_IF()
Emmanuele Bassi [Tue, 7 Sep 2010 15:17:51 +0000 (16:17 +0100)]
build: Add escaping in AS_IF()

Based on a patch by: Owen W. Taylor <otaylor@fishsoup.net>

14 years agoMakefile.am.enums: Forgot an AM_V_GEN
Emmanuele Bassi [Tue, 7 Sep 2010 14:23:35 +0000 (15:23 +0100)]
Makefile.am.enums: Forgot an AM_V_GEN

14 years agobuild: Fix up rules for enums and marshallers
Emmanuele Bassi [Tue, 7 Sep 2010 13:47:59 +0000 (14:47 +0100)]
build: Fix up rules for enums and marshallers

• Use addprefix instead of manually concatenating $(srcdir)
• Use AM_V_GEN instead of QUIET_GEN, to avoid inter-dependencies
• Do basic checks on GLIB_MKENUMS and GLIB_GENMARSHAL being defined
• Do checks on the required variables being defined

14 years agobuild: Make the generated glib-mkenums c file depend on the headers
Damien Lespiau [Tue, 7 Sep 2010 13:17:18 +0000 (14:17 +0100)]
build: Make the generated glib-mkenums c file depend on the headers

What happens now if you rename an enum inside a header:

  • glib-mkenums generates the header file
  • a comparison is made with the previous version of the heade is made
    and no difference is found as you don't remove or create enums
  • the compilation of the generated mkenums c file fails because it has
    not been regenerated with the new, renamed, enum.

That's why the generated clutter-enum-types.c needs to depend on the
headers too.

Of course such scenario should not happen in stable releases as enums
are part of the API, but renaming enums happens in the development cycle
and create compilation errors (very annoying when doing git bissects for
instance).

14 years agodrag-action: Added x-drag-threshold and y-drag-threshold properties
Henrik Hedberg [Fri, 3 Sep 2010 17:00:40 +0000 (20:00 +0300)]
drag-action: Added x-drag-threshold and y-drag-threshold properties

                *** This is an API change ***

Replaced the original drag-threshold property with two separate
horizontal (x-drag-threshold) and vertical (y-drag-threshold)
thresholds.

It is some times necessary to have different drag thresholds for the
horizontal and vertical axes. For example, when a draggable actor is
inside a horizontal scrolling area, only vertical movement must begin
dragging. That can be achieved by setting the x-drag-threshold to
G_MAXUINT while y-drag-threshold is something usual, say, 20 pixels.

This is different than drag axis, because after the threshold
has been cleared by the pointer, the draggable actor can be dragged
along both axes (if allowed by the drag-axis property).

http://bugzilla.clutter-project.org/show_bug.cgi?id=2291

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years agotexture: Move the material unref() in ::dispose
Emmanuele Bassi [Mon, 6 Sep 2010 17:08:44 +0000 (18:08 +0100)]
texture: Move the material unref() in ::dispose

14 years agotexture: Do some more validation in get_cogl_texture()
Emmanuele Bassi [Mon, 6 Sep 2010 16:50:57 +0000 (17:50 +0100)]
texture: Do some more validation in get_cogl_texture()

Check the layer type, even though right now we only have one type
available.

14 years agotexture: Use a base material for all instances
Emmanuele Bassi [Thu, 2 Sep 2010 13:48:30 +0000 (14:48 +0100)]
texture: Use a base material for all instances

Creating new materials for every Texture instance results in a lot of
ARBfp programs being generated/compiled. Since most textures will just
be similar we should create a template material for all of them, and
then copy it in every instance. Cogl will try to optimize the generation
of the program and, hopefully, will reuse the same program most of the
time.

With this change, a simple test shows that loading 48 textures will
result in just two programs being compiled - with and without batching
enabled.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2295

14 years agomaterial: Check before unreferencing a texture
Emmanuele Bassi [Mon, 6 Sep 2010 17:07:07 +0000 (18:07 +0100)]
material: Check before unreferencing a texture

When disposing a material layer of type 'texture' we should check that
the texture handle is still valid before calling cogl_handle_unref().
This avoids an assertion failure when disposing a ClutterTexture.

14 years agoAdd some more introspection annotations
Emmanuele Bassi [Mon, 6 Sep 2010 15:11:46 +0000 (16:11 +0100)]
Add some more introspection annotations

14 years agodocs: Fix up the Cogl API reference build
Emmanuele Bassi [Fri, 3 Sep 2010 16:15:22 +0000 (17:15 +0100)]
docs: Fix up the Cogl API reference build

14 years agocogl-shader: Add deprecation guards for cogl_program_uniform_*
Emmanuele Bassi [Fri, 3 Sep 2010 15:56:12 +0000 (16:56 +0100)]
cogl-shader: Add deprecation guards for cogl_program_uniform_*

14 years agoReplace cogl_color_set_from_* with cogl_color_init_from_*
Emmanuele Bassi [Fri, 3 Sep 2010 15:55:12 +0000 (16:55 +0100)]
Replace cogl_color_set_from_* with cogl_color_init_from_*

The former is not yet "officially" deprecated by the latter, but it's
confusing to have them both in the code base.

14 years agodocs: Add annotation glossary to the Cogl API reference
Emmanuele Bassi [Fri, 3 Sep 2010 15:52:06 +0000 (16:52 +0100)]
docs: Add annotation glossary to the Cogl API reference

It's the only way to let gtk-doc know that we're using annotations in
the comments.

14 years agodocs: Fixes for gtk-doc
Emmanuele Bassi [Fri, 3 Sep 2010 15:10:44 +0000 (16:10 +0100)]
docs: Fixes for gtk-doc

14 years agodocs: Update NEWS
Emmanuele Bassi [Fri, 3 Sep 2010 14:53:52 +0000 (15:53 +0100)]
docs: Update NEWS

14 years agocookbook: Add a short introduction for the Text chapter
Emmanuele Bassi [Fri, 3 Sep 2010 14:44:03 +0000 (15:44 +0100)]
cookbook: Add a short introduction for the Text chapter

14 years agocookbook: Added recipe for complex animation
Elliot Smith [Fri, 3 Sep 2010 13:31:44 +0000 (14:31 +0100)]
cookbook: Added recipe for complex animation

Uses ClutterAnimator to implement a reasonably complex
animation of a single actor (movement along a path with
simultaneous scaling).

Provides a metaphor for thinking about ClutterAnimator
animations (stage directions) and explains keys and key
frames in some depth. Also compares ClutterAnimator
with other possible approaches to this type of animation
(implicit animations, ClutterState).

14 years agocookbook: Added a second example to show "overlapping" transitions
Elliot Smith [Fri, 3 Sep 2010 10:56:33 +0000 (11:56 +0100)]
cookbook: Added a second example to show "overlapping" transitions

Added another JSON example to show how transitions can
be easily overlapped when using ClutterAnimator (two
sequences of 5 transitions, simultaneous with two
sequences of 1 transition).

Modified the C JSON loader program so it can be used with
this example as well.

14 years agocookbook: Added complex animations example
Elliot Smith [Wed, 1 Sep 2010 17:02:07 +0000 (18:02 +0100)]
cookbook: Added complex animations example

To support recipe about using ClutterAnimator to create
complex animations.

14 years agodocs: Update NEWS
Emmanuele Bassi [Fri, 3 Sep 2010 13:05:20 +0000 (14:05 +0100)]
docs: Update NEWS

14 years agobuild: Allow disabling linking with -Bsymbolic
Emmanuele Bassi [Fri, 3 Sep 2010 12:55:07 +0000 (13:55 +0100)]
build: Allow disabling linking with -Bsymbolic

Some debugging tools might require full visibility for the Clutter
symbols; for this reason, and to match what the Clutter dependencies
already allow, we should provide a configure switch to disable linking
with the -Bsymbolic flag.

14 years agointrospection: Add annotations
Emmanuele Bassi [Fri, 3 Sep 2010 11:14:50 +0000 (12:14 +0100)]
introspection: Add annotations

Reduce the amount of warnings coming from g-ir-scanner.

14 years agodocs: Update the dependencies
Emmanuele Bassi [Fri, 3 Sep 2010 10:33:20 +0000 (11:33 +0100)]
docs: Update the dependencies

We depend on G-I 0.9.5 after the latest slew of changes.

We also depend on UProf 0.3.

14 years agobuild: Use Makefile.introspection
Emmanuele Bassi [Fri, 3 Sep 2010 10:09:57 +0000 (11:09 +0100)]
build: Use Makefile.introspection

Whenever possible, instead of writing our own rules for generating GIR
files and typelibs.

14 years agointrospection: Build fixes
Colin Walters [Thu, 2 Sep 2010 15:45:42 +0000 (11:45 -0400)]
introspection: Build fixes

This patch merges in substantial work from
Emmanuele Bassi <ebassi@linux.intel.com>

* Use new introspection --include-uninstalled API since we don't want
  to try to find the clutter-1.0.pc file before it's installed.
* Use --pkg-export for Clutter-1.0.gir, since we want the .gir file to
  contain the associated pkg-config file.
* Drop the use of --pkg for dependencies; those come from the associated
  .gir files.  (Actually, --pkg is almost never needed)
* Add --quiet

http://bugzilla.clutter-project.org/show_bug.cgi?id=2292

14 years agocex100: Remove C99-ism
Damien Lespiau [Thu, 2 Sep 2010 15:22:45 +0000 (16:22 +0100)]
cex100: Remove C99-ism

We were declaring a variable in the middle of the code. Blasphemy, for
non-c99 compilers.

14 years agocex100: Use % not # to document constants
Damien Lespiau [Thu, 2 Sep 2010 15:20:10 +0000 (16:20 +0100)]
cex100: Use % not # to document constants

gtk-doc contants should be prefixed by %, not # (types).

14 years agocex100: Add an API to configure the buffering mode of the GDL plane
Damien Lespiau [Sat, 28 Aug 2010 11:06:11 +0000 (12:06 +0100)]
cex100: Add an API to configure the buffering mode of the GDL plane

GDL planes can be double or triple buffered. Let the user choose between
the two modes befored initalizing Clutter.

14 years agocex100: Add an API to configure the GDL plane to use
Damien Lespiau [Sat, 28 Aug 2010 09:43:39 +0000 (10:43 +0100)]
cex100: Add an API to configure the GDL plane to use

Intel CE3100 and CE4100 have several planes (framebuffers) and a
hardware blender to blend the planes togeteher to produce the final
image.

clutter_cex100_set_plane() lets you configure which framebuffer clutter
will use for its rendering.

14 years agoegl: Fix the installed headers
Damien Lespiau [Fri, 27 Aug 2010 15:19:00 +0000 (16:19 +0100)]
egl: Fix the installed headers

 • Use the public COGL_HAS_GLES[12] define instead of the HAVE_COGL_*
   ones which are private and defined in config.h,
 • Install clutter-egl-headers.h which is needed by clutter-egl.h,
 • Remove clutter-stage.h as it's uneeded and does not work since the
   single clutter.h include policy,
 • Install the egl headers into their own egl directory as the x11 and
   glx backends do. The include should then be <clutter/egl/clutter-egl.h>,
   so document it. It does not really break anything as nobody could
   have used those broken headers.

14 years agocex100: Add a Clutter EGL backend for CE3100/CE4100 SoCs
Damien Lespiau [Thu, 12 Aug 2010 13:25:17 +0000 (09:25 -0400)]
cex100: Add a Clutter EGL backend for CE3100/CE4100 SoCs

Intel CE3100 and CE4100 SoCs are designed for TVs. They have separate
framebuffers that are blended together by a piece of hardware to make
the final output. The library that allows you to initialize and
configure those planes is called GDL. A EGL GDL winsys can then be
use with those planes as NativeWindowType to select which plane to use.

This patch adds a new ClutterBackendCex100 backend that can be
selected at compile time with the new --with-flavour=cex100 option.

14 years agoegl: Fix compilation for EGL native
Damien Lespiau [Thu, 12 Aug 2010 13:05:01 +0000 (09:05 -0400)]
egl: Fix compilation for EGL native

Some minor fixes here and there: missing include, wrongly placed #endif,
unused variable warning fixes, missing #ifdef.

Make ClutterStageEGL a subclass of either ClutterStageX11 or GObject
depending if you compile with X11 support (EGLX) or not (native).

14 years agooffscreen-effect: Rename create_target to create_buffer
Emmanuele Bassi [Wed, 1 Sep 2010 16:56:15 +0000 (17:56 +0100)]
offscreen-effect: Rename create_target to create_buffer

                *** This is an API change ***

The create_target() virtual function should return a CoglHandle to a
texture; clutter_offscreen_effect_get_target(), instead, returns a
CoglMaterial to be painted in the implementation of the paint_target()
virtual function.

Instead of equating textures with materials, and confusing the user of
the API, we should mark the difference more prominently.

First of all, we should return a CoglMaterial* (now that we have that
as a public type) in get_target(); having handles all over the place
does not make it easier to distinguish the semantics of the virtual
functions.

Then we should rename create_target() to create_texture(), to make it
clear that what should be returned is a texture that is used as the
backing for the offscreen framebuffer.

14 years agocookbook: Added recipe for signal handling in ClutterScript
Elliot Smith [Tue, 31 Aug 2010 13:39:03 +0000 (14:39 +0100)]
cookbook: Added recipe for signal handling in ClutterScript

Added a recipe explaining how to connect signals to handlers
in the JSON definition used by ClutterScript; also shows
how to connect the signals in code once the JSON has been
loaded.

Includes guidelines on writing handlers (i.e. need to use
-export-dynamic and non-static functions) and example
which connects a handler for motion events on a rectangle.

14 years agocookbook: Added example of connecting signals in ClutterScript
Elliot Smith [Fri, 27 Aug 2010 15:31:00 +0000 (16:31 +0100)]
cookbook: Added example of connecting signals in ClutterScript

To support recipe about connecting signals in script.

14 years agodocs: Pass -DCOGL_ENABLE_EXPERIMENTAL_API when scanning
Emmanuele Bassi [Sat, 28 Aug 2010 20:21:08 +0000 (21:21 +0100)]
docs: Pass -DCOGL_ENABLE_EXPERIMENTAL_API when scanning

14 years agodocs: Split x11-texture-pixmap in its own section
Emmanuele Bassi [Sat, 28 Aug 2010 20:18:12 +0000 (21:18 +0100)]
docs: Split x11-texture-pixmap in its own section

14 years agodocs: Fix up the main index of the Clutter API reference
Emmanuele Bassi [Sat, 28 Aug 2010 20:17:52 +0000 (21:17 +0100)]
docs: Fix up the main index of the Clutter API reference

14 years agodocs: Add @Title to the X11TexturePixmap gtk-doc section
Emmanuele Bassi [Sat, 28 Aug 2010 20:17:23 +0000 (21:17 +0100)]
docs: Add @Title to the X11TexturePixmap gtk-doc section

14 years agocookbook: Use nicknames for enumeration values
Elliot Smith [Fri, 27 Aug 2010 14:29:09 +0000 (15:29 +0100)]
cookbook: Use nicknames for enumeration values

GEnum nicknames can be used to set properties in JSON
definitions, so added a callout to the JSON example explaining
this, and showing how to derive the nickname for an enumeration
value.

Modified the example code to use nicknames as well.

14 years agocookbook: Don't use the default stage
Elliot Smith [Fri, 27 Aug 2010 14:13:28 +0000 (15:13 +0100)]
cookbook: Don't use the default stage

It's not necessary to use the default stage, so
don't encourage this in the JSON example.

14 years agocookbook: Mention nick names as possible values for enums
Elliot Smith [Fri, 27 Aug 2010 14:10:17 +0000 (15:10 +0100)]
cookbook: Mention nick names as possible values for enums

As JSON can make use of nicknames for GEnum properties,
mentioned this in the table mapping C property values
to their JSON equivalents (as the nick name is a much
shorter and cleaner way of setting a property in JSON).

14 years agocookbook: Added introduction to and recipe on ClutterScript
Elliot Smith [Fri, 27 Aug 2010 10:20:29 +0000 (11:20 +0100)]
cookbook: Added introduction to and recipe on ClutterScript

Wrote an introduction to using ClutterScript with JSON. Focus
is on explaining why you might want to use it, basic principles
of operation (with annotated JSON sample), and how to map
data types from C to JSON.

Written simultaneously with a short recipe (uses the same sample
code) showing how to load a JSON file and retrieve objects
from it in code.

14 years agocookbook: Added comments to script example
Elliot Smith [Thu, 26 Aug 2010 16:07:21 +0000 (17:07 +0100)]
cookbook: Added comments to script example

Commented the ClutterScript example so it can be used
inline as part of the recipe, rather than as an
example in the appendix (it's too simple to warrant
a separate appendix).

14 years agocookbook: Added first draft of script introduction
Elliot Smith [Thu, 26 Aug 2010 11:51:33 +0000 (12:51 +0100)]
cookbook: Added first draft of script introduction

New script chapter needs an introduction.

While writing the introduction, also slightly changed the
emphasis of the recipe (towards refactoring an existing
application to use ClutterScript) and incorporated example
code into documentation.

14 years agocookbook: Use text for callouts in documentation
Elliot Smith [Thu, 26 Aug 2010 11:49:59 +0000 (12:49 +0100)]
cookbook: Use text for callouts in documentation

Set a parameter on the XSLT transform so that callout elements
are rendered as text rather than graphics (removes the need
to add callout graphics to the build).

14 years agocookbook: Added skeleton for script chapter of cookbook
Elliot Smith [Thu, 26 Aug 2010 10:07:54 +0000 (11:07 +0100)]
cookbook: Added skeleton for script chapter of cookbook

14 years agocookbook: Simplified ClutterScript example
Elliot Smith [Thu, 26 Aug 2010 09:52:12 +0000 (10:52 +0100)]
cookbook: Simplified ClutterScript example

There was too much in the example code to cover in a single
recipe, so I trimmed it down to demonstrate simple
UI building (no constraints, effects, animations, or signals).

14 years agocookbook: Added ClutterScript example
Elliot Smith [Wed, 25 Aug 2010 16:53:46 +0000 (17:53 +0100)]
cookbook: Added ClutterScript example

Added a simple script and program to load it, to support
recipe on ClutterScript for UI definitions.

Also amended the Makefile (following the pattern of
the tests/interactive Makefile) to enable signal
connection from ClutterScript by passing -export-dynamic
to linker.

14 years agotest-actors: Name all the actors
Emmanuele Bassi [Thu, 26 Aug 2010 16:31:32 +0000 (17:31 +0100)]
test-actors: Name all the actors

Makes it easier to debug events.

14 years agoclick-action: Add get_button()
Emmanuele Bassi [Thu, 26 Aug 2010 15:36:59 +0000 (16:36 +0100)]
click-action: Add get_button()

Allow retrieving the pointer button that caused the ::clicked signal to
be emitted.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2287

14 years agoclick-action: Fix the release() method name
Emmanuele Bassi [Thu, 26 Aug 2010 15:36:06 +0000 (16:36 +0100)]
click-action: Fix the release() method name

Documented and declared as release(), it's implemented as
force_release().

http://bugzilla.clutter-project.org/show_bug.cgi?id=2286

14 years agotest-script-parser: Add a second child to the container
Bastian Winkler [Tue, 24 Aug 2010 10:13:30 +0000 (12:13 +0200)]
test-script-parser: Add a second child to the container

The script parser won't apply child and layout properties correctly with
more than one children.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2285

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years agoscript-parser: Apply child and layout properties to the right actor
Bastian Winkler [Tue, 24 Aug 2010 10:16:50 +0000 (12:16 +0200)]
script-parser: Apply child and layout properties to the right actor

http://bugzilla.clutter-project.org/show_bug.cgi?id=2285

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years agowin32: Fix the check for the 'IN_DESTRUCTION' flag
Neil Roberts [Tue, 24 Aug 2010 19:00:04 +0000 (20:00 +0100)]
win32: Fix the check for the 'IN_DESTRUCTION' flag

Commit eae45619299 tried to clean how it checks for the private actor
flags. However the check for the 'IN_DESTRUCTION' flag in the Win32
backend got inverted so it would always clear the current
context. This was causing _cogl_check_driver_valid to fail later and
then the realize would get stuck in a infinite loop.

14 years agostate: clutter_state_remove_key_internal fix memory corruption
Øyvind Kolås [Tue, 17 Aug 2010 12:22:08 +0000 (13:22 +0100)]
state: clutter_state_remove_key_internal fix memory corruption

When we free a state because there are no more keys with it as a target use a
goto to re-initialize temporary variables that have become invalid.

Fixing bug #2273

14 years agoInvert the check for whether to clip the pick
Neil Roberts [Mon, 23 Aug 2010 10:36:33 +0000 (11:36 +0100)]
Invert the check for whether to clip the pick

In 965907deb3f9e the picking was changed to render the full stage
instead of a single pixel whenever picking is performed more than once
between paints. However the condition in the if-statement was
backwards so it would end up always doing a full stage render.

14 years agoAdd some debugging notes for picking
Neil Roberts [Mon, 23 Aug 2010 10:33:22 +0000 (11:33 +0100)]
Add some debugging notes for picking

This adds a new CLUTTER_DEBUG option for picking. Currently this just
reports the position for each pick and whether it is clipped or not.

14 years agoHide internal glx and egl(x) backend symbols.
Alexandros Frantzis [Fri, 13 Aug 2010 14:48:30 +0000 (17:48 +0300)]
Hide internal glx and egl(x) backend symbols.

The glx and egl(x) backends export some internal symbols. Hide these
symbols (using '_' prefix) to reduce ABI differentiation between the
glx and eglx flavours.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2267

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years agobox-layout: Use the correct name for the arguments
Emmanuele Bassi [Fri, 20 Aug 2010 16:03:06 +0000 (17:03 +0100)]
box-layout: Use the correct name for the arguments

Since we're getting the preferred height for a given width, the width
argument should be named "for_width" and not "for_height".

14 years agoMerge remote branch 'elliot/cookbook-textures-crossfade'
Emmanuele Bassi [Fri, 20 Aug 2010 14:24:42 +0000 (15:24 +0100)]
Merge remote branch 'elliot/cookbook-textures-crossfade'

* elliot/cookbook-textures-crossfade:
  cookbook: Use GdkPixbuf instead of getting data from a texture
  cookbook: Added a recipe for cross-fading between two images
  cookbook: Modified COGL example for consistency
  cookbook: Added video of two texture cross-fade
  cookbook: Removed unused constant
  cookbook: Renamed front/back to top/bottom in cross-fade example
  cookbook: Don't need to set keep-aspect-ratio for simple example
  cookbook: Modified ordering of statements in cross-fade example
  cookbook: Added a longer slideshow example
  cookbook: Made code examples more consistent
  cookbook: Added example code for texture cross-fading
  Post-release version bump to 1.3.13
  Release Clutter 1.3.12 (developers snapshot)

Conflicts:
doc/cookbook/examples/Makefile.am

14 years agocookbook: Added recipe for handling pointer events on an actor
Elliot Smith [Fri, 20 Aug 2010 12:54:04 +0000 (13:54 +0100)]
cookbook: Added recipe for handling pointer events on an actor

Added a recipe about handling enter, leave, and motion events
on an actor.

Gives some pointers to data available from motion events,
explains a bit about stage-relative and actor-relative coords,
and covers how overlapping actors and reactivity of actors
can affect events occurring.

Examples include a simple scribble app showing how to integrate
pointer events into a more useful context.

14 years agocookbook: Added example to show how stacking affects pointer events
Elliot Smith [Fri, 20 Aug 2010 11:38:35 +0000 (12:38 +0100)]
cookbook: Added example to show how stacking affects pointer events

Added another example (used for a screenshot) to demonstrate
how pointer events pass through non-reactive actors and how
depth ordering affects whether an actor will emit a pointer
motion signal.

14 years agocookbook: Use get_coords rather than struct members
Elliot Smith [Fri, 20 Aug 2010 10:25:40 +0000 (11:25 +0100)]
cookbook: Use get_coords rather than struct members

Use clutter_event_get_coords() to get x and y position,
rather than casting to the right event type then directly
accessing members of the event struct.

14 years agocookbook: Made callback names more consistent
Elliot Smith [Thu, 19 Aug 2010 16:50:25 +0000 (17:50 +0100)]
cookbook: Made callback names more consistent

Changed callback function names so they are more consistent
within this recipe and with other callback names used
in other recipes.

14 years agocookbook: Added simple pointer motion example
Elliot Smith [Thu, 19 Aug 2010 16:17:58 +0000 (17:17 +0100)]
cookbook: Added simple pointer motion example

Added a simple pointer motion example which just reports on
the stage and actor-relative coordinates of the pointer
as it moves.

14 years agocookbook: Added scribble example for pointer motion recipe
Elliot Smith [Thu, 19 Aug 2010 15:53:27 +0000 (16:53 +0100)]
cookbook: Added scribble example for pointer motion recipe

Simple scribbler application which demonstrates tracking
mouse enter and motion events on a texture, drawing with
COGL and ClutterPath as they occur.

14 years agocookbook: Renamed example for pointer crossing
Elliot Smith [Thu, 19 Aug 2010 15:48:59 +0000 (16:48 +0100)]
cookbook: Renamed example for pointer crossing

Decided might be better to cover crossing and motion under
a broader "pointer motion" recipe, so renamed the example
(which only shows pointer crossing event handling).

14 years agocookbook: Added example for pointer cross recipe
Elliot Smith [Thu, 19 Aug 2010 09:32:28 +0000 (10:32 +0100)]
cookbook: Added example for pointer cross recipe

Code example demonstrates detecting pointers entering/leaving
an actor by implementing a (very) simple button with hover
effect.

14 years agodebug: Add a macro for checking debug flags
Emmanuele Bassi [Thu, 19 Aug 2010 12:57:10 +0000 (13:57 +0100)]
debug: Add a macro for checking debug flags

14 years agoclick-action: Add a method to force a release
Emmanuele Bassi [Thu, 19 Aug 2010 11:10:43 +0000 (12:10 +0100)]
click-action: Add a method to force a release

It can be useful to be able to forcibly break the grab set up by the
ClickAction. The newly added release() method provides a mechanism to
release the grab and unset the :held state of the ClickAction.

14 years agoclick-action: Add attribution
Emmanuele Bassi [Thu, 19 Aug 2010 10:26:51 +0000 (11:26 +0100)]
click-action: Add attribution

The ClickAction semantics were inspired by the StClickable widget in the
GNOME Shell Toolkit (St).

14 years agodocs: Clarifies that queue_redraw also applies to picking
Robert Bragg [Wed, 18 Aug 2010 17:06:35 +0000 (18:06 +0100)]
docs: Clarifies that queue_redraw also applies to picking

This clarifies the documentation for clutter_actor_queue_redraw to
explain that custom actors should call this whenever some private state
changes that affects painting *or* picking.

14 years agoclutter-texture: queue redraw when changing pick_with_alpha
Robert Bragg [Wed, 18 Aug 2010 17:05:15 +0000 (18:05 +0100)]
clutter-texture: queue redraw when changing pick_with_alpha

The expectation is that actors should call clutter_actor_queue_redraw
when ever some private state changes that affects painting *or* picking.
ClutterTexture was not doing this for pick_with_alpha property changes.

14 years agoCache a full pick render if we have a static stage
Robert Bragg [Wed, 18 Aug 2010 15:48:55 +0000 (16:48 +0100)]
Cache a full pick render if we have a static stage

The idea is that if we see multiple picks per frame then that implies
the visible scene has become static. In this case we can promote the
next pick render to be unclipped so we have valid pick values for the
entire stage. Now we can continue to read from this cached buffer until
the stage contents do visibly change.

Thanks to Luca Bruno on #clutter for this idea!

14 years agoactor: Ignore paint() on actors being destroyed
Emmanuele Bassi [Wed, 18 Aug 2010 17:20:16 +0000 (18:20 +0100)]
actor: Ignore paint() on actors being destroyed

OBVIOUS OPTIMIZATION IS OBVIOUS

14 years agodocs: Improve paint() documentation
Emmanuele Bassi [Wed, 18 Aug 2010 17:20:04 +0000 (18:20 +0100)]
docs: Improve paint() documentation

14 years agocookbook: Use GdkPixbuf instead of getting data from a texture
Elliot Smith [Wed, 18 Aug 2010 15:02:51 +0000 (16:02 +0100)]
cookbook: Use GdkPixbuf instead of getting data from a texture

Rewrote example for single texture + COGL to use
a GdkPixbuf to load images, rather than reading data
out of another CoglTexture.

The data is then loaded from the pixbuf to a region of
the CoglTexture (as before).

14 years agocookbook: Added a recipe for cross-fading between two images
Elliot Smith [Wed, 18 Aug 2010 10:41:10 +0000 (11:41 +0100)]
cookbook: Added a recipe for cross-fading between two images

The recipe covers a two texture approach (using the Clutter API)
and a single texture approach (using COGL).

It also discusses issues with cross-fading between images of
different sizes with the COGL API, and gives a longer
example of cycling through multiple images in a slideshow
application.

14 years agocookbook: Modified COGL example for consistency
Elliot Smith [Tue, 17 Aug 2010 14:47:59 +0000 (15:47 +0100)]
cookbook: Modified COGL example for consistency

Changed the stage size so the COGL API example for cross-fade
has a stage the same size as the two texture example.

14 years agocookbook: Added video of two texture cross-fade
Elliot Smith [Tue, 17 Aug 2010 14:46:48 +0000 (15:46 +0100)]
cookbook: Added video of two texture cross-fade

Added a video showing the two texture cross-fade.

Modified the example code to animate on key press, so
this video could be captured.

Also altered the stage size to minimise the video size.

14 years agocookbook: Removed unused constant
Elliot Smith [Tue, 17 Aug 2010 13:54:32 +0000 (14:54 +0100)]
cookbook: Removed unused constant

14 years agocookbook: Renamed front/back to top/bottom in cross-fade example
Elliot Smith [Tue, 17 Aug 2010 10:51:33 +0000 (11:51 +0100)]
cookbook: Renamed front/back to top/bottom in cross-fade example

Front/back seems like the wrong terminology when discussing
actors arranged in layers. Top/bottom fits better with Clutter
API function names and other recipes, so renamed variables.

14 years agocookbook: Don't need to set keep-aspect-ratio for simple example
Elliot Smith [Tue, 17 Aug 2010 10:20:20 +0000 (11:20 +0100)]
cookbook: Don't need to set keep-aspect-ratio for simple example

14 years agocookbook: Modified ordering of statements in cross-fade example
Elliot Smith [Tue, 17 Aug 2010 09:56:06 +0000 (10:56 +0100)]
cookbook: Modified ordering of statements in cross-fade example

Changed the order of statements in the sample code to match
the order they will be explained in the walk-through in the recipe.

14 years agocookbook: Added a longer slideshow example
Elliot Smith [Mon, 16 Aug 2010 15:39:13 +0000 (16:39 +0100)]
cookbook: Added a longer slideshow example

Cross-fading between two images is straightforward,
but cycling between more than two is more efficient
if done by copying COGL textures between the
two textures, rather than trying to reposition the
textures.

The example demonstrates how to reuse a pair of
textures to cycle through multiple images.

14 years agocookbook: Made code examples more consistent
Elliot Smith [Mon, 16 Aug 2010 15:16:07 +0000 (16:16 +0100)]
cookbook: Made code examples more consistent

Modified the code example for the Clutter API version
of the cross-fade to use the same command line
as the COGL version.

This also simplifies the explanation in the recipe.

Also made the COGL code sample more consistent with
the Clutter API code sample.

14 years agocookbook: Added example code for texture cross-fading
Elliot Smith [Thu, 12 Aug 2010 16:39:59 +0000 (17:39 +0100)]
cookbook: Added example code for texture cross-fading

Added simple image viewer which loads image file names
from a directory, displays the first one, then displays
the next in the list with each key press. Uses the
primitive fade front in/fade back out approach.

Also adapted Emmanuele's example code which uses Cogl
to produce a similar effect, but within a single texture.
This code loads two images specified on the command
line and cross-fades between them.

14 years agoPost-release version bump to 1.3.13
Emmanuele Bassi [Mon, 16 Aug 2010 12:37:57 +0000 (13:37 +0100)]
Post-release version bump to 1.3.13

14 years agoRelease Clutter 1.3.12 (developers snapshot)
Emmanuele Bassi [Mon, 16 Aug 2010 12:23:43 +0000 (13:23 +0100)]
Release Clutter 1.3.12 (developers snapshot)

14 years agodocs: Fixes to avoid gtk-doc warnings
Emmanuele Bassi [Tue, 17 Aug 2010 13:54:20 +0000 (14:54 +0100)]
docs: Fixes to avoid gtk-doc warnings

14 years agobuild: Remove dolt remnants
Emmanuele Bassi [Tue, 17 Aug 2010 10:34:35 +0000 (11:34 +0100)]
build: Remove dolt remnants

We don't use Dolt any more, since we depend on libtool 2.2.

14 years agodocs: Add :keep-aspect-ratio behaviour to the notes
Emmanuele Bassi [Mon, 16 Aug 2010 15:33:32 +0000 (16:33 +0100)]
docs: Add :keep-aspect-ratio behaviour to the notes

14 years agotexture: Default square textures to height-for-width
Emmanuele Bassi [Mon, 16 Aug 2010 14:56:49 +0000 (15:56 +0100)]
texture: Default square textures to height-for-width

Square textures should have a preferred geometry request set to
height-for-width, as it is the default for Clutter itself.

14 years agoPost-release version bump to 1.3.13
Emmanuele Bassi [Mon, 16 Aug 2010 12:37:57 +0000 (13:37 +0100)]
Post-release version bump to 1.3.13