1''' 2Wrappers for the "Quartz" related frameworks on MacOSX. These frameworks 3provide a number of graphics related API's. 4 5The frameworks wrapped by this package are: 6 7 * CoreGraphics - 2D Graphics, based on the PDF model 8 9 * ImageIO - Reading and writing images 10 11 * QuartzComposer - Working with "Quartz Composer" compositions 12 13 * QuartzCore - Image processing and video image manipulation 14 15 * QuarzFilters - Image effects 16 17 * ImageKit - iPhoto-like views 18 19 * PDFKit - Working with PDF files 20 21 * CoreVideo - Managing digital video 22 23All frameworks can be accessed by importing the 'Quartz' module. 24 25These wrappers don't include documentation, please check Apple's documention 26for information on how to use this framework and PyObjC's documentation 27for general tips and tricks regarding the translation between Python 28and (Objective-)C frameworks 29 30NOTE: The actual wrappers are subpackages of ``Quartz``, they are not toplevel 31packages to avoid name clashes with Apple provided wrappers for CoreGraphics. 32 33WARNING: Running the unittests will change your display settings during the 34testrun, which will probably mess up your window layout. 35 36NEWS 37==== 38 392.4 40--- 41 42* Add wrapper for ``CGBitmapContextCreateWithData`` 43 44''' 45 46from pyobjc_setup import setup, Extension 47 48import os 49 50subpackages = [ "Quartz.%s"%(fn,) for fn in os.listdir('Lib/Quartz') if os.path.exists(os.path.join('Lib/Quartz', fn, "__init__.py"))] 51 52 53setup( 54 name='pyobjc-framework-Quartz', 55 version="2.3.2a0", 56 description = "Wrappers for the Quartz frameworks on Mac OS X", 57 packages = [ "Quartz" ] + subpackages, 58 install_requires = [ 59 'pyobjc-core>=2.3.2a0', 60 'pyobjc-framework-Cocoa>=2.3.2a0', 61 ], 62 ext_modules = [ 63 # CoreVideo 64 Extension('Quartz.CoreVideo._CVPixelBuffer', 65 [ 'Modules/_CVPixelBuffer.m' ]), 66 67 # CoreGraphics 68 Extension('Quartz.CoreGraphics._inlines', 69 [ 'Modules/_CoreGraphics_inlines.m' ]), 70 Extension('Quartz.CoreGraphics._callbacks', 71 [ 'Modules/_callbacks.m' ]), 72 Extension('Quartz.CoreGraphics._doubleindirect', 73 [ 'Modules/_doubleindirect.m' ]), 74 Extension('Quartz.CoreGraphics._sortandmap', 75 [ 'Modules/_sortandmap.m' ]), 76 Extension('Quartz.CoreGraphics._coregraphics', 77 [ 'Modules/_coregraphics.m' ]), 78 ], 79) 80