mutter/doc
Neil Roberts 701440efd8 clutter-actor: Add a 'has_overlaps' virtual
This adds a virtual to ClutterActor so that an actor subclass can
report whether it has overlapping primitives. ClutterActor uses this
to determine whether it needs to use ClutterFlattenEffect to implement
the opacity property. The default implementation of the virtual
returns TRUE which means that most actors will end up being redirected
offscreen when the opacity != 255. ClutterTexture and ClutterRectangle
override this to return FALSE because they should never need to be
redirected. ClutterClone overrides it to divert to the source.

The values for the ClutterOffscreenRedirect enum have changed to:

AUTOMATIC_FOR_OPACITY

 The actor will only be redirected if has_overlaps returns TRUE and
 the opacity is < 255

ALWAYS_FOR_OPACITY

 The actor will always be redirected if the opacity < 255 regardless
 of the return value of has_overlaps

ALWAYS

 The actor will always be redirected offscreen.

This means that the property can't be used to prevent the actor from
being redirected but only to increase the likelihood that it will be
redirected.

ClutterActor now adds and removes the flatten effect depending on
whether flattening is needed directly in clutter_actor_paint(). There
are new internal versions of add/remove_effect that don't queue a
redraw. This means that ClutterFlattenEffect is now just a no-op
subclass of ClutterOffscreen. It is only needed because
ClutterOffscreen is abstract. Removing the effect also makes it so
that the cached image will be freed as soon as an actor is repainted
without being flattened.
2011-05-13 01:46:32 +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-actor: Add a 'has_overlaps' virtual 2011-05-13 01:46:32 +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