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
andCGContextRestoreGState
.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
(orCGContextBeginTransparencyLayerWithRect
ifrect
is notNone
) andCGContextEndTransparencyLayer
.Usage:
with CGTransparancyLayer(context, None): pass
Or:
with CGTransparancyLayer(context, None, myRect): pass
CGContextPage
This wraps a block of code between calls to
CGContextBeginPage
andCGContextEndPage
).Usage:
with CGContextPage(context [, mediaBox]): pass __all__ = ('CGSavedGState', 'CGTransparencyLayer', 'CGContextPage')