Commit Graph

165 Commits

Author SHA1 Message Date
Elliot Smith
c9d0f8b26e cookbook: Add recipe for animated scaling of an actor
Recipe explains how to animate scaling a single actor.

Also covers scaling vs. resizing, scale center, and
scaling within layouts and containers.

The first example shows how animations around each scale
gravity look, as well as tracking the transformed position
and size of the actor and displaying those.

The second example is a simple image viewer with zoom in/out
using scaling.
2010-11-24 12:45:12 +00:00
Elliot Smith
ee9a4d02bb cookbook: Add example of scaling a texture
Added a simple application for scaling a
texture while keeping the mouse pointer over
the same coordinates on its surface.
2010-11-24 12:45:12 +00:00
Elliot Smith
c8f112876e cookbook: Added "animated scaling" recipe skeleton 2010-11-24 12:45:12 +00:00
Elliot Smith
b47b2f4749 cookbook: Added animated scaling example
Added an example showing scaling of an actor on
each of the scaling gravity settings (NORTH_WEST, NORTH etc.),
with a mark indicating the center being used.

Displays the transformed size and position, updated
on each paint of the actor.
2010-11-24 12:45:12 +00:00
Emmanuele Bassi
63cef64d17 docs: Fix some wrong function/signal/property names 2010-11-18 15:21:16 +00:00
Emmanuele Bassi
f3295a3f36 Merge remote branch 'elliot/cookbook-opacity-values-fix'
* elliot/cookbook-opacity-values-fix:
  cookbook: Fix opacity examples in recipe
  cookbook: Fix incorrect value for opacity
2010-11-15 15:41:46 +00:00
Emmanuele Bassi
9f2c31547c Merge remote branch 'elliot/cookbook-animations-looping'
* elliot/cookbook-animations-looping:
  cookbook: Recipe for "looping animations"
  cookbook: Clarify how signals are emitted during looped animation
  cookbook: First draft for looping animations recipe
  cookbook: Recipe skeleton for "looping animations"
  cookbook: Looping animation examples
2010-11-15 15:37:42 +00:00
Elliot Smith
8bdfa4ddee cookbook: Recipe for "looping animations"
Added a recipe giving examples of how to loop
animations for each part of the animation API (implicit,
animator, state).

The discussion covers looping a fixed number of times
and inverting a single implicit animation to create
a loop which goes back to its start on each iteration.
2010-11-15 11:23:04 +00:00
Elliot Smith
e205bd0fdc cookbook: Clarify how signals are emitted during looped animation
Added a comment to the example code about how timeline
emits "completed" during looped animation, while the
animation itself doesn't.
2010-11-15 11:23:04 +00:00
Elliot Smith
7eb248b1f0 cookbook: First draft for looping animations recipe
Includes video showing the looped animation and
basic section headings, plus outline of content and notes.
2010-11-15 11:23:04 +00:00
Elliot Smith
071029e373 cookbook: Recipe skeleton for "looping animations" 2010-11-15 11:23:04 +00:00
Elliot Smith
0d8c730558 cookbook: Looping animation examples
Added code examples for creating a looped animation with
each of the animation approaches (implicit, ClutterAnimation,
ClutterState).
2010-11-15 11:23:04 +00:00
Elliot Smith
f9d2310b72 cookbook: Make example code C90 compliant
Modified all cookbook example code to prevent ISO C90 compliance
warnings occurring during compilation.
2010-11-12 10:18:31 +00:00
Elliot Smith
63721c5db1 cookbook: Fix opacity examples in recipe
The recipe had examples where opacity was set using
fractional numbers. Fixed all examples to use
integers only.
2010-11-12 09:59:33 +00:00
Elliot Smith
f135f2e7d5 cookbook: Fix incorrect value for opacity
Opacity is a guint, so don't use floating point numbers
to set its value.
2010-11-12 09:59:33 +00:00
Emmanuele Bassi
6a95457b3f cookbook: Remove unused variable from the animator example 2010-09-30 12:32:08 +01:00
Elliot Smith
cb191ff6f1 cookbook: Add recipe about handling button events
Recipe covers adding handlers for button-press-event and
button-release-event signals on actors, and how to
examine the content of a ClutterButtonEvent via API functions.

The discussion section explains about click count
(the criteria for how clicks get counted, including
distance and time settings); how button numbers are reported;
and how to use ClutterClickAction as an alternative
for press + release in certain scenarios.
2010-09-30 11:12:14 +01:00
Elliot Smith
94439e5526 cookbook: Example of using button press and release events
A longer example of using button press and release events
to draw rectangles with random colors.
2010-09-30 10:48:07 +01:00
Elliot Smith
0cda6c006b cookbook: Example of ClutterClickAction
Example of handling clicks on an actor; part of the recipe on
handling button events.
2010-09-30 10:48:07 +01:00
Elliot Smith
fc9ecdf82e cookbook: Example of simple handling of button events
Added an example showing how to examine the content
of a ClutterButtonEvent in a signal handler.
2010-09-30 10:48:07 +01:00
Elliot Smith
34407c14b0 cookbook: Reduce complexity of sample ClutterAnimator code for recipe
http://bugzilla.clutter-project.org/show_bug.cgi?id=2341

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2010-09-24 14:48:53 +01:00
Emmanuele Bassi
4533edeef0 cookbook: Further clarification of the anchor point
Make sure to add a note on the behaviour of the anchor point. Ideally,
it would be nice to have a recipe about it in the Actor section.
2010-09-23 17:03:17 +01:00
Elliot Smith
ce0bd4e26c cookbook: Recipe for "moving actors"
This recipe explains how to use the three animation
approaches (implicit, State, Animator) to animate movement
of actors.

Includes some guidelines about which approach to use when, with
a full code example for each approach.

The discussion section covers some subtleties around animated
movement; namely: moving actors out of their containers; anchor
points and movement; moving in the depth axis; interactions
between animated movement and constraints.
2010-09-23 16:24:21 +01:00
Elliot Smith
b8d36a364f cookbook: Fixed markup in animations section
Fixed indentation on some mark-up in an unrelated recipe.
2010-09-23 16:24:21 +01:00
Elliot Smith
6307876552 cookbook: Example of animated movement with ClutterAnimator
Added an example showing how to randomly animate the
simultaneous movement on the x axis of three actors,
using ClutterAnimator.
2010-09-23 16:24:21 +01:00
Elliot Smith
f1b2f1e8c5 cookbook: Example of animated movement with ClutterState
Added an example showing how to move two actors between
two states (one minimised, one maximised) using ClutterState
to do the movement. Also shows how movement can be mixed
with other animation (in this case, scaling).
2010-09-23 16:24:21 +01:00
Elliot Smith
5bca30300e cookbook: Example of simple movement animation
Added example showing how to move an actor in one of the
three axes (x,y,z) in response to a button event on the
actor.
2010-09-23 16:24:21 +01:00
Emmanuele Bassi
4037f76a3e build: Update the remote publish path for the cookbook 2010-09-21 12:02:41 +01:00
Elliot Smith
e92b186719 cookbook: Add recipe about sync'ing actor sizes
The recipe covers how to use ClutterBindConstraint
to bind actor sizes together.

It gives some examples of where this approach is appropriate,
as well as explaining an alternative using allocation-changed
or notify::* signals.

Three examples are given:

1. Resizing a texture to the stage.
2. Resizing a rectangle to act as a transparent overlay on
top of a texture (using constraints).
3. Resizing a rectangle to act as a transparent overlay on
top of a texture, but with a size proportional to the texture
(using a handler connected to allocation-changed signals
emitted by the texture).
2010-09-17 15:58:48 +01:00
Elliot Smith
c3cbf1533f cookbook: Example using allocation-changed to sync actor size
An alternative method (not using constraints) to bind
one actor's size and position to another. Used as
an example in the recipe about resizing one actor in
sync with a source actor.
2010-09-17 15:58:48 +01:00
Elliot Smith
8a149521ce cookbook: Simple example to demonstrate bind constraint
A simple example showing how to scale an actor to the stage.

Demonstrates ClutterBindConstraint and ClutterAlignConstraint
in a fashion suitable for a short recipe.
2010-09-17 15:58:48 +01:00
Elliot Smith
a0f63a3153 cookbook: Example of using a bind constraint for an overlay
Example code which loads an image into a texture, and resizes
the image in response to +/- key presses. The overlay is
a transparent rectangle which is bound to the height and
width of the texture; on clicking the texture, the overlay
is made visible by increasing its opacity.

This demonstrates how to use constraints to simplify code
for resizing an actor which is "dependent" on another actor.
2010-09-17 15:58:48 +01:00
Elliot Smith
e8e360eaa7 cookbook: Added a recipe for reusing a complex animation
This recipe explains how to "reuse" the same animation
definition for different actors, by creating a new
instance of a "rig" (empty container) and animation
for the rig each time the animation is required.

An actor is then re-parented to the rig and animated
using it, rather than being animated directly.

JSON is used to define the rig + animator, to make
creating new instances of them simpler. The recipe
also discusses various caveats around using this
approach, rather than directly animating an actor.
2010-09-13 14:31:17 +01:00
Elliot Smith
6548bee56c cookbook: Added id for section in "rotating an actor" recipe
Added an id to a section in the "rotating an actor" recipe,
so that it can be referred to from the "reusing an animation"
recipe.
2010-09-13 12:25:47 +01:00
Elliot Smith
82ab00930b cookbook: Simplified and clarified example code
Modified the "animation reuse" sample code to provide
a simpler example to explain in the recipe.

Also modified variable names to mirror the names used
for the previous "complex animation" example and added
some more comments, to further simplify and support the
recipe.
2010-09-13 12:25:47 +01:00
Elliot Smith
d7a3e35f46 cookbook: Cleaned up the "animations reuse" example
With some help from pippin, moved variable declarations
into more sensible positions within their functions,
changed a function name, and found a better way
to unref a script once its associated actor has
been destroyed.
2010-09-13 12:25:47 +01:00
Elliot Smith
d4190cbf8c cookbook: Refactored reusable animation example
Extracted the animation into its own JSON definition,
then create a new script and get the animation each
time a rectangle is clicked.

Removes the need to reparent onto the background and
copy property values to the rectangle after the animation,
and generally much cleaner.
2010-09-13 12:25:47 +01:00
Elliot Smith
acc28cf60c cookbook: Added example for animation reuse recipe
Added an example showing how to reuse a ClutterAnimator
instance to animate multiple actors at different times
using an animatable rig, combined with reparenting.
2010-09-13 12:25:47 +01:00
Emmanuele Bassi
732eecf5c6 cookbook: Use the new CLUTTER_KEY_* symbol constants
Instead of the deprecated CLUTTER_* ones.
2010-09-10 18:21:45 +01:00
Emmanuele Bassi
f2669df6b5 build: Disable deprecated API when building the cookbook examples
Make sure we always use the latest API.
2010-09-10 18:21:19 +01:00
Emmanuele Bassi
abef73bb58 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.
2010-09-03 16:58:47 +01:00
Emmanuele Bassi
7fee8cf26a cookbook: Add a short introduction for the Text chapter 2010-09-03 15:44:03 +01:00
Elliot Smith
655c60aaa9 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).
2010-09-03 14:31:57 +01:00
Elliot Smith
60ff660d42 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.
2010-09-03 14:19:51 +01:00
Elliot Smith
c0aa72a042 cookbook: Added complex animations example
To support recipe about using ClutterAnimator to create
complex animations.
2010-09-03 14:19:51 +01:00
Elliot Smith
6c40b10083 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.
2010-08-31 14:39:47 +01:00
Elliot Smith
a67111a17c cookbook: Added example of connecting signals in ClutterScript
To support recipe about connecting signals in script.
2010-08-31 10:06:08 +01:00
Elliot Smith
79a4dbb329 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.
2010-08-27 15:29:15 +01:00
Elliot Smith
2c3ca20cdc 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.
2010-08-27 15:13:28 +01:00
Elliot Smith
6db795baf6 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).
2010-08-27 15:10:17 +01:00