mutter/doc
Neil Roberts c3aa4d24bf clutter-effect: Add a 'run' virtual
This adds a new virtual to ClutterEffect which is intended to be a
more flexible replacement for the pre and post_paint functions. The
implementation of a run virtual would look something like this:

void
effect_run (ClutterEffect *effect,
            ClutterEffectRunFlags flags)
{
  /* Set up state */
  /* ... */

  /* Chain to the next item in the paint sequence */
  clutter_actor_continue_paint (priv->actor);

  /* Clean up state */
  /* ... */
}

ClutterActor now just calls this virtual instead of the pre_paint and
post_paint functions. It keeps track of the next effect in the list so
that it knows what to do when clutter_actor_continue_paint is
called. clutter_actor_continue_paint is a new function added just for
implementing effects.

The default implementation of the run virtual just calls pre_paint and
post_paint so that existing effects will continue to work.

An effect is allowed to conditionally skip calling
clutter_actor_continue_paint(). This is useful to implement effects
that cache the image of an actor. The flags parameter can be used to
determine if the actor is dirty since the last paint. ClutterActor
sets this flag whenever propagated_one_redraw is TRUE which means that
a redraw for this actor or one of its children was queued.
2011-05-13 01:46:31 +01:00
..
common cookbook: Remove bold on emphasis inside programlisting 2010-12-09 13:39:48 +00:00
cookbook docs: Remove checks for whether an effect is disabled 2011-03-17 15:56:55 +00:00
manual build: Distcheck fixes 2010-06-30 12:26:10 +01:00
reference clutter-effect: Add a 'run' virtual 2011-05-13 01:46:31 +01:00
clutter-actor-invariants.txt Try to clean up how we handle actor transformations 2010-09-13 18:18:34 +01:00
CODING_STYLE docs: Update the coding style 2010-10-03 11:02:56 +01:00
HACKING docs: Use "Cogl" not "COGL" in Cogl API reference 2010-09-23 15:53:29 +01:00
HACKING.backends docs: Update the HACKING.backends documentation 2011-02-09 13:29:30 +00:00
Makefile.am docs: Disable manual 2010-06-30 11:56:13 +01:00
RELEASING docs: Update RELEASING 2011-03-16 13:09:41 +00:00