mutter/tests/conform
Havoc Pennington 125bded814 Enforce invariants on mapped, realized, visibility states
Bug 1138 - No trackable "mapped" state

* Add a VISIBLE flag tracking application programmer's
  expected showing-state for the actor, allowing us to
  always ensure we keep what the app wants while tracking
  internal implementation state separately.

* Make MAPPED reflect whether the actor will be painted;
  add notification on a ClutterActor::mapped property.
  Keep MAPPED state updated as the actor is shown,
  ancestors are shown, actor is reparented, etc.

* Require a stage and realized parents to realize; this means
  at realization time the correct window system and GL resources
  are known. But unparented actors can no longer be realized.

* Allow children to be unrealized even if parent is realized.
  Otherwise in effect either all actors or no actors are realized,
  i.e. it becomes a stage-global flag.

* Allow clutter_actor_realize() to "fail" if not inside a toplevel

* Rework clutter_actor_unrealize() so internally we have
  a flavor that does not mess with visibility flag

* Add _clutter_actor_rerealize() to encapsulate a somewhat
  tricky operation we were doing in a couple of places

* Do not realize/unrealize children in ClutterGroup,
  ClutterActor already does it

* Do not realize impl by hand in clutter_stage_show(),
  since showing impl already does that

* Do not unrealize in various dispose() methods, since
  ClutterActor dispose implementation already does it
  and chaining up is mandatory

* ClutterTexture uses COGL while unrealizable (before it's
  added to a stage). Previously this breakage was affecting
  ClutterActor because we had to allow realize outside
  a stage. Move the breakage to ClutterTexture, by making
  ClutterTexture just use COGL while not realized.

* Unrealize before we set parent to NULL in clutter_actor_unparent().
  This means unrealize() implementations can get to the stage.
  Because actors need the stage in order to detach from stage.

* Update clutter-actor-invariants.txt to reflect latest changes

* Remove explicit hide/unrealize from ClutterActor::dispose since
  unparent already forces those
  Instead just assert that unparent() occurred and did the right thing.

* Check whether parent implements unrealize before chaining up
  Needed because ClutterGroup no longer has to implement unrealize.

* Perform unrealize in the default handler for the signal.
  This allows non-containers that have children to work properly,
  and allows containers to override how it's done.

* Add map/unmap virtual methods and set MAPPED flag on self and
  children in there. This allows subclasses to hook map/unmap.
  These are not signals, because notify::mapped is better for
  anything it's legitimate for a non-subclass to do.

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2009-04-24 15:27:19 +01:00
..
ADDING_NEW_TESTS * tests/conform/ADDING_NEW_TESTS 2008-11-10 18:52:50 +00:00
Makefile.am [test-vertex-buffer-contiguous] Improves the texturing test 2009-02-23 16:38:43 +00:00
test-actor-invariants.c Enforce invariants on mapped, realized, visibility states 2009-04-24 15:27:19 +01:00
test-anchors.c [test-anchors] Add tests for the rotation centers 2009-01-23 18:41:41 +00:00
test-backface-culling.c [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
test-binding-pool.c Changes cogl_rectangle to take x1, y1, x2, y2 args not x1, y1, width, height 2009-01-28 17:20:15 +00:00
test-clutter-fixed.c [tests] Test CoglFixed, not ClutterFixed 2009-03-10 12:38:03 +00:00
test-clutter-rectangle.c Bug 1162 - Re-works the tests/ to use the glib-2.16 unit testing 2008-11-07 19:32:28 +00:00
test-clutter-text.c [tests] Add unit for the ClutterText:password-char property 2009-01-06 15:30:31 +00:00
test-conform-common.c * tests/conform/ADDING_NEW_TESTS 2008-11-10 18:52:50 +00:00
test-conform-common.h Bug 1162 - Re-works the tests/ to use the glib-2.16 unit testing 2008-11-07 19:32:28 +00:00
test-conform-main.c Enforce invariants on mapped, realized, visibility states 2009-04-24 15:27:19 +01:00
test-launcher.sh [tests] Ensure that test-launcher.sh is found for out of tree builds 2008-12-21 14:07:22 +00:00
test-model.c [tests] Add conformance tests for ClutterModel 2009-02-14 11:45:27 +00:00
test-npot-texture.c [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
test-paint-opacity.c Update the paint opacity unit test 2008-12-11 12:26:47 +00:00
test-path.c Merge branch 'cairo-texture' 2008-12-19 16:44:40 +00:00
test-pick.c Allow passing the pick mode to get_actor_at_pos() 2009-04-24 15:25:58 +01:00
test-text-cache.c [tests] Disable a subtest of the Text cache unit 2009-04-21 12:13:43 +01:00
test-timeline-dup-frames.c Bug 1162 - Re-works the tests/ to use the glib-2.16 unit testing 2008-11-07 19:32:28 +00:00
test-timeline-interpolate.c Bug 1162 - Re-works the tests/ to use the glib-2.16 unit testing 2008-11-07 19:32:28 +00:00
test-timeline-rewind.c Bug 1162 - Re-works the tests/ to use the glib-2.16 unit testing 2008-11-07 19:32:28 +00:00
test-timeline-smoothness.c Bug 1162 - Re-works the tests/ to use the glib-2.16 unit testing 2008-11-07 19:32:28 +00:00
test-timeline.c Remove usage of the grave accent as quotation mark 2009-03-17 14:13:31 +00:00
test-vertex-buffer-contiguous.c [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
test-vertex-buffer-interleved.c [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
test-vertex-buffer-mutability.c [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00