b54d498aca
1.15.4 - 2017-11-08 ------------------- Fixes: * Fix some enum conversation errors with (unused) large and negative values. :pr:`81` Tests: * Fix a rare test error :pr:`80` (:user:`Sergei Trofimovich <trofi>`) .. _v1.15.3: 1.15.3 - 2017-09-17 ------------------- Fixes: * setup.py: Install pkgconfig file into /usr/share/pkgconfig to work around JHBuild on Fedora not picking it up. * Fix tests on big endian machines. 🐛`75` * Support building with MSVC :pr:`72` (:user:`Chun-wei Fan <fanc999>`) Tests: * Test MSVC builds on appveyor .. _v1.15.2: 1.15.2 - 2017-09-03 ------------------- Fixes: * setup.py: Install pkgconfig file to the same library prefix that Python uses. (/usr/lib64 instead of /usr/lib under Fedora for example) 🐛`70` :pr:`71` (:user:`Sander Sweers <infirit>`) .. _v1.15.1: 1.15.1 - 2017-08-19 ------------------- Fixes: * Improved support for Python filesystem paths including :class:`os.PathLike`. See :class:`pathlike` for details. * Various minor fixes Changes: * Expose :class:`cairo.Path` Tests: * Improved test coverage from ~70% to ~90% .. _v1.15.0: 1.15.0 - 2017-07-24 ------------------- New Features: * Add :meth:`Surface.map_to_image` and :meth:`Surface.unmap_image` 🐛`51` * Add :class:`RasterSourcePattern` 🐛`48` * Add :class:`Glyph` 🐛`53` * Add :class:`Rectangle` 🐛`54` * Add :class:`TextCluster` 🐛`61` * Add :meth:`ScaledFont.text_to_glyphs` and :meth:`ScaledFont.glyph_extents` * Add :meth:`Context.show_text_glyphs` * Add :class:`TextExtents` 🐛`62` Changes: * Pycairo instances wrapping the same underlying cairo object now hash and compare equally e.g. ``context.get_target() == context.get_target()`` * Functions which returned a cairo error with :attr:`Status.NO_MEMORY` no longer raise :exc:`python3:MemoryError`, but a subclass of :exc:`Error` and :exc:`python3:MemoryError`. Similarly errors with :attr:`Status.READ_ERROR` and :attr:`Status.WRITE_ERROR` no longer raise :exc:`python3:IOError`, but a subclass of :exc:`Error` and :exc:`python3:IOError`. 🐛`55` * Some functions which previously returned a tuple now return a tuple subclass like :class:`Rectangle`, :class:`Glyph`, :class:`TextCluster` and :class:`TextExtents` .. _v1.14.1: 1.14.1 - 2017-07-24 ------------------- Fixes: * Fix a crash with :meth:`Surface.get_device` 🐛`57` .. _v1.14.0: 1.14.0 - 2017-07-12 ------------------- General: * Requires at least cairo 1.13.1 (The snapshop in Ubuntu 14.04) Tests: * Optional `Hypothesis <https://hypothesis.readthedocs.io>`__ tests. New Features: * Add :meth:`Surface.set_device_scale` and :meth:`Surface.get_device_scale`. :pr:`44` (:user:`Sander Sweers <infirit>`) * Add :class:`Device` :pr:`45` * Add :meth:`Surface.get_device` :pr:`45` * Add :class:`ScriptDevice` and :class:`ScriptMode` :pr:`46` * Add :class:`ScriptSurface` 🐛`17` * Add :attr:`Status.JBIG2_GLOBAL_MISSING` * Add :meth:`Format.stride_for_width` * Add :class:`TextClusterFlags` and :class:`SurfaceObserverMode` * Add :meth:`Gradient.get_color_stops_rgba` * Add :class:`TeeSurface` * Add :class:`MeshPattern` .. _v1.13.4: 1.13.4 - 2017-07-12 ------------------- Fixes: * Fix a rare crash with :meth:`get_data() <ImageSurface.get_data>` under Python 3 (1.13.3 regression). .. _v1.13.3: 1.13.3 - 2017-06-01 ------------------- Fixes: * Fix ImageSurface leaking in case :meth:`get_data() <ImageSurface.get_data>` is used under Python 3. 🐛`41` Documentation: * Add Pillow to ImageSurface example. :pr:`40` (:user:`Stuart Axon <stuaxo>`) * Describe Freetype-py intergration. 🐛`25` :pr:`43` (:user:`Hin-Tak Leung <HinTak>`) .. _v1.13.2: 1.13.2 - 2017-05-21 ------------------- Fixes: * Fix pip failing to install pycairo in some cases. 🐛`39` Testing: * Added continuous testing for Windows using MSYS2 and appveyor. 🐛`19` .. _v1.13.1: 1.13.1 - 2017-05-07 ------------------- Fixes: * setup.py install: Fix generated pkg-config file if ``--home`` or ``--user`` is specified. 🐛`34` * Fix a build error on macOS Sierra. :pr:`36` (:user:`Nicolas P. Rougier <rougier>`) * examples: Fix snippet examples when .pyc files are present. 🐛`35` Documentation: * Add Pyglet integration example. :pr:`33` (:user:`Stuart Axon <stuaxo>`) .. _v1.13.0: 1.13.0 - 2017-05-03 ------------------- New Features: * The buffer returned by :meth:`ImageSurface.get_data` under Python 2 now implements the character buffer interface to make it work with pygame.image.frombuffer(). :pr:`29` * All C enum types now have their own corresponding Python enum type: :class:`Antialias`, :class:`Content`, :class:`Extend`, :class:`FillRule`, :class:`Filter`, :class:`FontSlant`, :class:`FontWeight`, :class:`Format`, :class:`HintMetrics`, :class:`HintStyle`, :class:`LineCap`, :class:`LineJoin`, :class:`Operator`, :class:`PDFVersion`, :class:`PSLevel`, :class:`PathDataType`, :class:`RegionOverlap`, :class:`SVGVersion`, :class:`Status`, :class:`SubpixelOrder`. 🐛`26` All relevant constants are now an alias to attributes of those types e.g. :data:`ANTIALIAS_DEFAULT` is the same as :attr:`Antialias.DEFAULT`. All functions returning enum values now return instances of the new types e.g. :meth:`Context.get_antialias` returns a :class:`Antialias`. :attr:`Error.status` is now a :class:`Status`. * All included examples now work with Python 2 & 3 * All included examples using GTK+ have been ported to GTK+ 3/PyGObject 3 Fixes: * Fix the signature of the :class:`ImageSurface` buffer interface for Python 2 (int -> Py_ssize_t) * setup.py: Ensure "-fno-strict-aliasing" is used with Python 2. Testing: * Added travis-ci tests for flake8 and sphinx. :pr:`30`, :pr:`32` * The test suite now has optional tests for numpy and pygame integration. .. _v1.12.0: 1.12.0 - 2017-04-18 ------------------- General: * Require cairo 1.12.0 * Use C90 and enforce it on travis-ci. 🐛`5`, :fdobug:`22940` Constants: * Add various new cairo.OPERATOR_*, cairo.ANTIALIAS_* and cairo.FORMAT_* constants. 🐛`1` * Add :data:`HAS_MIME_SURFACE` and cairo.MIME_TYPE_*. 🐛`7`, :fdobug:`58771` * Add cairo.PDF_VERSION_*. :pr:`16` * Add cairo.SVG_VERSION_* :exc:`Error`: * Add a :data:`Error.status` attribute exposing cairo.STATUS_* * Add :exc:`CairoError` alias for :exc:`Error` for cairocffi compatibility :class:`Matrix`: * Expose matrix components as read/write properties. e.g. :data:`Matrix.xx` * Fix type checking of the multiplication operator under Python 3. 🐛`8`, :fdobug:`89162` (Lawrence D'Oliveiro) :class:`Surface`: * Add :meth:`Surface.set_mime_data`. 🐛`7`, :fdobug:`58771` * Add :meth:`Surface.get_mime_data`. 🐛`7`, :fdobug:`58771` * Add :meth:`Surface.supports_mime_type`. 🐛`7`, :fdobug:`58771` * Add :meth:`Surface.create_for_rectangle`. :pr:`13` * Add :meth:`Surface.create_similar_image`. :pr:`15` * Add :meth:`Surface.has_show_text_glyphs` * Fix crash when the surface wrapper gets deallocated before the surface object. 🐛`11` :class:`Context`: * Add :meth:`Context.in_clip`. :pr:`14` :class:`PDFSurface`: * Add :meth:`PDFSurface.restrict_to_version`. :pr:`16` * Add :meth:`PDFSurface.get_versions`. :pr:`16` * Add :meth:`PDFSurface.version_to_string`. :pr:`16` :class:`SVGSurface`: * Add :meth:`SVGSurface.restrict_to_version` * Add :meth:`SVGSurface.get_versions` * Add :meth:`SVGSurface.version_to_string` :class:`XCBSurface`: * Add :meth:`XCBSurface.set_size` :class:`PSSurface`: * Add :meth:`PSSurface.get_levels` * Add :meth:`PSSurface.level_to_string` :class:`Pattern`: * Add :meth:`Pattern.set_filter` * Add :meth:`Pattern.get_filter` :class:`RecordingSurface`: * Add :meth:`RecordingSurface.get_extents` :class:`FontOptions`: * Implement ``__eq__`` and ``__ne__`` * Add :meth:`FontOptions.copy` * Add :meth:`FontOptions.hash` * Add :meth:`FontOptions.equal` * Add :meth:`FontOptions.merge` :class:`ScaledFont`: * Add :meth:`ScaledFont.get_ctm` * Add :meth:`ScaledFont.get_font_matrix` * Add :meth:`ScaledFont.get_font_options` .. _v1.11.1: 1.11.1 - 2017-04-12 ------------------- This release fixes an ABI breakage. I missed that the original pycairo master had already broken ABI compared to 1.10.0. .. _v1.11.0: 1.11.0 - 2017-04-09 ------------------- This version is based on the Python 2 version of pycairo 1.10.0 and is API/ABI compatible with both py2cairo 1.10.0 and py3cairo 1.10.0. General Changes: * Requires cairo 1.10.2+ * Switch to semantic versioning * Switch build system to distutils/setup.py (xpyb integration can be enabled with passing ``--enable-xpyb`` to setup.py build) * Moved to GitHub: https://github.com/pygobject/pycairo New Features: * Python 3 support (API/ABI compatible with py3cairo 1.10.0) including support for :exc:`cairo.Error`, :meth:`cairo.ImageSurface.get_data` and :meth:`cairo.ImageSurface.create_for_data`, which were missing in py3cairo. * :class:`cairo.RecordingSurface` (:fdobug:`36854`, `Torsten Landschoff <t.landschoff@gmx.net>`__) * :class:`cairo.Region`, :class:`cairo.RectangleInt` and cairo.REGION_OVERLAP_* (:fdobug:`44336`, `Bug Fly <mozbugbox@yahoo.com.au>`__) Bug Fixes: * Fix crash when read()/write() methods of file objects passed to pycairo raise exceptions. * Fix possible value truncation of handles passed to Win32Surface and Win32PrintingSurface on 64bit Windows. :fdobug:`57493`
4 lines
263 B
Text
4 lines
263 B
Text
Cairo is a 2D graphics library with support for multiple output
|
|
devices. Currently supported output targets include the X Window
|
|
System, win32, and image buffers. Experimental backends include OpenGL
|
|
(through glitz), Quartz, XCB, PostScript and PDF file output.
|