================================= Context Managers for CoreGraphics ================================= The CoreGraphics bindings for PyObjC introduce a couple of context manager for use with the ``with`` statement. These are simple wrappers around the basic CoreGraphics/Quartz API's that make using the API more convenient and allow you to write easier to understand code. Note that you'll have to use ``from __future__ import with_statement`` to use the ``with``-statement in Python 2.5. * ``CGSavedGState(context)`` This wraps a block of code between ``CGContextSaveGState`` and ``CGContextRestoreGState``. Usage:: with CGSavedGState(context): # Change context and use changed context pass # Context is restored to before the with-statement at this point. * ``CGTransparencyLayer(context, info, rect=None)`` This wraps a block of code between ``CGContextBeginTransparencyLayer`` (or ``CGContextBeginTransparencyLayerWithRect`` if ``rect`` is not ``None``) and ``CGContextEndTransparencyLayer``. Usage:: with CGTransparancyLayer(context, None): pass Or:: with CGTransparancyLayer(context, None, myRect): pass * ``CGContextPage`` This wraps a block of code between calls to ``CGContextBeginPage`` and ``CGContextEndPage``). Usage:: with CGContextPage(context [, mediaBox]): pass __all__ = ('CGSavedGState', 'CGTransparencyLayer', 'CGContextPage')