cogl: Implement retained clip stacks
authorNeil Roberts <neil@linux.intel.com>
Thu, 15 Apr 2010 09:58:28 +0000 (10:58 +0100)
committerNeil Roberts <neil@linux.intel.com>
Thu, 15 Apr 2010 13:51:01 +0000 (14:51 +0100)
commit708bbc72e1121022e577c25a799489e193ca535a
treed47b4398706e5de14843f77de2559e8a6685c484
parent3a58bc440b2e5dd0af15c65849e2baed170835f8
cogl: Implement retained clip stacks

This adds three new internal API functions which can be used to retain
the clip stack state and restore it later:

 _cogl_get_clip_stack
 _cogl_set_clip_stack
 _cogl_clip_stack_copy

The functions are currently internal and not yet used but we may want
to make them public in future to replace the cogl_clip_stack_save()
and cogl_clip_stack_restore() APIs.

The get function just returns the handle to the clip stack at the top
of the stack of stacks and the set function just replaces it.

The copy function makes a cheap copy of an existing stack by taking a
reference to the top stack entry. This ends up working like a deep
copy because there is no way to modify entries of a stack but it
doesn't actually copy the data.
clutter/cogl/cogl/cogl-clip-stack.c
clutter/cogl/cogl/cogl-clip-stack.h
clutter/cogl/cogl/cogl-clip-state.c
clutter/cogl/cogl/cogl-clip-state.h