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