=== Pycairo 1.8.6 === 2009-06-25 Steven Chaplin * cairo/cairomodule.c: * configure.ac: * doc/conf.py: * README: * setup.py: Update version to 1.8.6 2009-06-21 Steven Chaplin * doc/reference/surfaces.rst: update create_for_data 2009-06-21 Steven Chaplin * cairo/pycairo-private.h: remove __PyBaseString_AsUTF8 line. 2009-06-21 Steven Chaplin * doc/reference/context.rst: * doc/reference/text.rst: * cairo/pycairo-context.c (pycairo_select_font_face): (pycairo_show_text, pycairo_text_extents, pycairo_text_path): * cairo/pycairo-font.c (scaled_font_text_extents): Unroll __PyBaseString_AsUTF8 into its calling functions and delete. Because: 1. It calls Py_DECREF on the UTF8String too early - a bug. 2. In Python 3.x it will not be needed (as non-unicode str is replaced by unicode str). * cairo/pycairo-font.c (toy_font_face_new): Allow family to be unicode as well as str. 2009-06-20 Steven Chaplin * cairo/cairomodule.c : remove FORMAT_RGB16_565 * cairo/pycairo-context.c: delete a comment. * doc/Makefile.am: * doc/pycairo_c_api.rst: renamed from c-api.rst * doc/reference/constants.rst: renamed from mattributes.rst * doc/faq.rst: * doc/overview.rst: * doc/pycairo_c_api.rst: * doc/reference/constants.rst: * doc/reference/context.rst: * doc/reference/exceptions.rst: * doc/reference/index.rst: * doc/reference/matrix.rst: * doc/reference/paths.rst: * doc/reference/patterns.rst: * doc/reference/surfaces.rst: * doc/reference/text.rst: Completed documentation. 2009-06-13 Steven Chaplin * cairo/pycairo-matrix.c (matrix_operator_multiply): * doc/reference/matrix.rst: Undo 'cairo.Matrix * cairo.Matrix' change from 2008-12-27. Fixes #19221, again. 2009-03-25 Steven Chaplin * doc/reference/surfaces.rst: update docs 2009-03-24 Steven Chaplin * cairo/cairomodule.c: fix error in PycairoToyFontFace_Type.tp_base 2009-03-21 Steven Chaplin * cairo/pycairo-surface.c (_read_func): Rearrange order of function calls to address possible bugs: - DECREF pystr after (not before) str has been used in memcpy. - check the length of the string returned by 'read'. 2009-03-19 Steven Chaplin * cairo/cairomodule.c: * configure.ac: * setup.py: Increment version to 1.8.5 === Pycairo 1.8.4 === 2009-03-19 Steven Chaplin * cairo/cairomodule.c: * configure.ac: * doc/conf.py: * NEWS: * setup.py: Update for 1.8.4 release. 2009-03-19 Steven Chaplin * doc/reference/surfaces.rst: update documentation. 2009-03-16 Steven Chaplin * cairo/pycairo-pattern.c : * doc/reference/patterns.rst: Move SurfacePattern.{get_extend,set_extend} up into the Pattern class so Gradient Patterns can use the methods also. Fixes #20674. 2009-03-03 Steven Chaplin * configure.ac: * setup.py: * README: Require Python 2.6, cairo 1.8.4 * cairo/pycairo-surface.c: tidy up. * doc/reference/mattributes.rst: * doc/reference/surfaces.rst: Update docs. 2009-02-16 Steven Chaplin * cairo/pycairo-surface.c: Reenable threading for all cairo stream functions and wrap PyGILState_Ensure/PyGILState_Release around the calls to PyObject_CallMethod. This should fix bug #19287. Patch from Torsten Marek. 2009-02-12 Steven Chaplin * doc/reference/patterns.rst: * doc/reference/surfaces.rst: use '.. versionadded::' markup * cairo/cairomodule.c: * cairo/pycairo-font.c: * cairo/pycairo.h: * cairo/pycairo-private.h: * doc/reference/mattributes.rst: * doc/reference/text.rst: Add patch by Torsten Marek to support ToyFontFace. * cairo/pycairo.h : update Pattern_FromPattern prototype * cairo/pycairo-pattern.c (surface_pattern_new): remove unused variable. 2009-01-15 Steven Chaplin * configure.ac: * cairo/cairomodule.c: * setup.py: increment version to 1.8.3 === Pycairo 1.8.2 === 2009-01-15 Steven Chaplin * NEWS: update news for 1.8.2 release * configure.ac: * cairo/cairomodule.c: * README: * setup.py: Increase pycairo version to 1.8.2, require cairo 1.8.2 * doc/reference/surfaces.rst: update docs 2009-01-09 Steven Chaplin * AUTHORS: * ChangeLog: correct misspelling of my email address. 2009-01-07 Steven Chaplin * doc/reference/context.rst: add line for Context.set_scaled_font() * cairo/pycairo-context.c (pycairo_set_scaled_font): add new wrapper for Context.set_scaled_font() 2009-01-01 Steven Chaplin * cairo/pycairo-surface.c (svg_surface_new): Remove ALLOW_THREADS from all cairo stream functions. #19287. * INSTALL: remove reference to the method ImageSurface.create_for_array() - it no longer exists. * doc/README: update with web address of pycairo docs * doc/conf.py: update docs to version 1.8.1 * doc/c-api.rst: * doc/reference/context.rst: * doc/reference/index.rst: * doc/reference/surfaces.rst: modify titles 2008-12-27 Steven Chaplin * doc/reference/matrix.rst: update matrix multiply docs. * cairo/pycairo-matrix.c (matrix_multiply): Change 'cairo.Matrix * cairo.Matrix' to be consistent with standard matrix multiplication. Add cairo.Matrix.multiply() to wrap cairo_matrix_multiply() Fixes #19221, patch by Pietro Battiston 2008-12-15 Steven Chaplin * configure.ac: * cairo/cairomodule.c: * setup.py: increment version to 1.8.1 === Pycairo 1.8.0 === 2008-12-15 Steven Chaplin * configure.ac: * cairo/cairomodule.c: * setup.py: update version number to 1.8.0 * NEWS: update for the 1.8.0 release 2008-12-15 Steven Chaplin * cairo/pycairo-pattern.c (surface_pattern_get_surface): return the PycairoSurface used to create the PycairoSurfacePattern, instead of creating a new PycairoSurface. 2008-12-10 Steven Chaplin * cairo/pycairo-private.h: * cairo/pycairo.h (struct): add 'base' field for PycairoPattern * cairo/pycairo-pattern.c (PycairoPattern_FromPattern): add a new 'base' argument - this is a C API change to fix #18947. * cairo/pycairo-context.c: * cairo/pycairo-pattern.c: Update all calls to PycairoPattern_FromPattern to new API. * cairo/pycairo-surface.c: update PycairoSurface_FromSurface comment. 2008-12-10 Steven Chaplin * RELEASING: add doc generating notes * configure.ac: add 'doc/Makefile' to AC_CONFIG_FILES. Require automake 1.9.6 * Makefile.am: add 'doc' to SUBDIRS * configure.ac: * README : * setup.py : Require cairo 1.8.0 * cairo/cairomodule.c: add cairo.EXTEND_PAD * cairo/pycairo-font.c: update comments in the method section * cairo/pycairo-matrix.c: add comment in method list * cairo/pycairo-surface.c (surface_mark_dirty): API change, it no longer accepts keyword arguments with default values - the default values used are not documented in the cairo manual so were effectively magic numbers. (surface_mark_dirty_rectangle): (surface_set_fallback_resolution): add new bindings * doc/FAQ: * doc/NOTES: remove files - the info has been merged into the other docs. * doc/c-api.rst: * doc/conf.py: * doc/faq.rst: * doc/index.rst: * doc/Makefile.am: * doc/overview.rst: * doc/README: * doc/reference/context.rst: * doc/reference/exceptions.rst: * doc/reference/index.rst: * doc/reference/matrix.rst: * doc/reference/mattributes.rst: * doc/reference/paths.rst: * doc/reference/patterns.rst: * doc/reference/surfaces.rst: * doc/reference/text.rst: Create Sphinx documentation files * examples/cairo_snippets/snippets_gtk.py: update so it can be run from outside its directory 2008-11-25 Steven Chaplin * cairo/pycairo-context.c: * cairo/pycairo-surface.c: Improve support for threads by using Py_BEGIN_ALLOW_THREADS Py_END_ALLOW_THREADS around any blocking or possibly long-running cairo calls. Addresses bug #18101 * cairo/cairomodule.c: add cairo.HAS_IMAGE_SURFACE add cairo.HAS_USER_FONT * cairo/pycairo-font.c: wrap cairo_scaled_font_get_scale_matrix * cairo/pycairo-surface.c: use CAIRO_HAS_IMAGE_SURFACE 2008-09-09 Steven Chaplin * NEWS: fix pycairo version number error 2008-09-01 Steven Chaplin * setup.py (pycairo_version): * cairo/cairomodule.c: * configure.ac: Increment pycairo version to 1.6.5 * cairo/pycairo-pattern.c (PycairoPattern_FromPattern): * cairo/pycairo-surface.c (PycairoSurface_FromSurface): Allow unknown cairo Pattern/Surface types to use the pycairo base Pattern/Surface type, patch by Owen Taylor. === Pycairo 1.6.4 === 2008-07-17 Steven Chaplin * NEWS: update for 1.6.4 release * setup.py : * cairo/cairomodule.c: * configure.ac: update pycairo version to 1.6.4 2008-07-17 Steven Chaplin * examples/cairo_snippets/snippets/ellipse.py (path_ellipse): Update so line-width is a constant width in device-space not user-space * doc/FAQ : Add new FAQs * test/Makefile.am (EXTRA_DIST) * test/pygame-test1.py, test/pygame-test2.py : Add new tests 2008-07-17 Steven Chaplin * setup.py (pkg_config_version_check): apply patch (modified) from Kirill Smelkov to fix #16112. 2008-05-12 Steven Chaplin * test/isurface_create_for_data1.py: * test/isurface_create_for_data2.py: update tests * cairo/pycairo-surface.c (pycairo_format_stride_for_width) (ps_surface_ps_level_to_string): Add ImageSurface.format_stride_for_width and PSSurface.ps_level_to_string static methods. (image_surface_create_for_data): Use the new function cairo_format_stride_for_width() to calculate the stride. * cairo/pycairo-context.c (pycairo_has_current_point) (pycairo_path_extents): * cairo/pycairo-surface.c (surface_copy_page, surface_show_page): Add new bindings * configure.ac: * README : * setup.py : Require cairo 1.6.4 and Python 2.5 * cairo/pycairo-private.h: remove code used for Python < 2.5 2008-05-08 Steven Chaplin * cairo/cairomodule.c: add new constants cairo.PS_LEVEL_2 and cairo.PS_LEVEL_3 * cairo/pycairo-surface.c (ps_surface_get_eps, ps_surface_set_eps) (ps_surface_restrict_to_level): Add some new cairo 1.6.4 API - apply patch (with some changes) from Tom Hughes to fix #15618. 2007-12-13 Steven Chaplin * setup.py (pycairo_version): * cairo/cairomodule.c: * configure.ac: Increment pycairo version to 1.4.13 === Pycairo 1.4.12 === 2007-12-13 Steven Chaplin * NEWS: update for version 1.4.12 * cairo/cairomodule.c: * configure.ac: * setup.py (pycairo_version): Increase pycairo version to 1.4.12 * doc: create new directory for documentation * Makefile.am (EXTRA_DIST): add doc/FAQ and doc/NOTES * configure.ac: * README: * setup.py (pycairo_version): Require cairo 1.4.12 2007-12-12 Steven Chaplin * FAQ: new file * configure.ac: Require Python 2.4 * cairo/pycairo-private.h: Remove macros required for Python < 2.4 * test/test.py (_test): Remove line checking for Python < 2.4 2007-12-11 Steven Chaplin * cairo/pycairo-context.c (pycairo_dealloc): * cairo/pycairo-pattern.c (pattern_dealloc): * cairo/pycairo-surface.c (surface_dealloc): * cairo/pycairo-font.c (font_face_dealloc, scaled_font_dealloc) (font_options_dealloc): Remove the DEBUG statements - they are no longer used. * cairo/pycairo-context.c (pycairo_new): Pass 'type' as second arg to PycairoContext_FromContext(). This fixes the problem where Python subclasses of cairo.Context were not working properly. (PycairoContext_FromContext): Remove the support for arg #2 to be NULL, - its not a good 'default' since it caused the subclassing problem fixed above. 2007-12-02 Steven Chaplin * acinclude.m4 : Fix #13460 by applying the patch from Sebastien Bacher, and rearranging a couple of lines. 2007-11-20 Steven Chaplin * setup.py: update to use subprocess, and require Python 2.4 * cairo/pycairo-matrix.c (matrix_as_number): fix a compiler warning. 2007-04-06 Steve Chaplin * configure.ac (AC_PROG_LIBTOOL): Add version number required (as a comment) for use by autogen.sh * autogen.sh: Synchronize with the new cairo autogen.sh - to update version checking for automake. Fixes #10006 2007-03-14 Steve Chaplin * configure.ac: * cairo/cairomodule.c: * setup.py: increase pycairo version to 1.4.1 === Pycairo 1.4.0 === 2007-03-14 Steve Chaplin * README: * NEWS: update for version 1.4.0 2007-03-14 Steve Chaplin * configure.ac: * setup.py: * cairo/cairomodule.c: Set pycairo version to 1.4.0, require cairo 1.4.0 * cairo/pycairo-context.c (pycairo_get_scaled_font): new binding 2007-01-21 Steve Chaplin * cairo/pycairo-context.c (pycairo_get_dash) (pycairo_copy_clip_rectangles, pycairo_get_dash_count): update to new API * configure.ac: * setup.py: Set pycairo version to 1.3.11, require cairo 1.3.12 2007-01-17 Steve Chaplin * README: * NOTES: * configure.ac: * cairo/pycairo-surface.c: Remove Numeric Python support, since Numeric has been made obsolete by numpy, and numpy data can be read using ImageSurface.create_for_data. * test/isurface_create_for_array.py: delete file * test/Makefile.am (EXTRA_DIST): remove isurface_create_for_array.py 2007-01-16 Steve Chaplin * cairo/cairomodule.c: * cairo/pycairo-context.c: * cairo/pycairo-font.c: * cairo/pycairo-matrix.c: * cairo/pycairo-path.c: * cairo/pycairo-pattern.c: * cairo/pycairo-private.h: * cairo/pycairo-surface.c: Add support for Py_ssize_t from Python 2.5 2007-01-14 Steve Chaplin * cairo/pycairo-context.c (_PyGlyphs_AsGlyphs): new utility function used by the pycairo_glyph_extents, pycairo_glyph_path and pycairo_show_glyphs. 2007-01-13 Steve Chaplin * cairo/pycairo-context.c (pycairo_show_glyphs, pycairo_glyph_path) (pycairo_glyph_extents): new bindings. * examples/cairo_snippets/snippets/show_glyphs.py: * examples/cairo_snippets/snippets/glyph_path.py: new examples * examples/Makefile.am : add glyph_path.py, show_glyphs.py 2007-01-08 Steve Chaplin * cairo/pycairo-private.h add RETURN_NULL_IF_CAIRO_SCALED_FONT_ERROR and RETURN_NULL_IF_CAIRO_FONT_OPTIONS_ERROR * cairo/pycairo-font.c (scaled_font_extents, scaled_font_text_extents): use RETURN_NULL_IF_CAIRO_SCALED_FONT_ERROR (font_options_set_antialias, font_options_set_hint_metrics) (font_options_set_hint_style, font_options_set_subpixel_order): use RETURN_NULL_IF_CAIRO_FONT_OPTIONS_ERROR (scaled_font_new): usePycairoScaledFont_FromScaledFont (font_options_new): use PycairoFontOptions_FromFontOptions * cairo/pycairo-matrix.c (PycairoMatrix_FromMatrix): update comment * cairo/pycairo-context.c (pycairo_copy_clip_rectangles): tidy up the loop. 2006-12-28 Steve Chaplin * cairo/pycairo-context.c: * cairo/pycairo-private.h: Move RETURN_NULL_IF_*_STATUS_ERROR macros to from pycairo-context.c to pycairo-private.h and rename to RETURN_NULL_IF_CAIRO_*_ERROR * cairo/pycairo-private.h: add RETURN_NULL_IF_CAIRO_PATTERN_ERROR, and RETURN_NULL_IF_CAIRO_SURFACE_ERROR * cairo/pycairo-pattern.c (gradient_add_color_stop_rgb) (gradient_add_color_stop_rgb): use RETURN_NULL_IF_CAIRO_PATTERN_ERROR * cairo/pycairo-surface.c use RETURN_NULL_IF_CAIRO_SURFACE_ERROR * cairo/pycairo-context.c (pycairo_copy_clip_rectangles): new binding (pycairo_new): use PycairoContext_FromContext 2006-12-28 Steve Chaplin * cairo/pycairo-context.c (pycairo_get_dash): Add new bindings. (pycairo_set_dash): update to be consistent with pycairo_get_dash 2006-12-28 Steve Chaplin * cairo/cairomodule.c: increment pycairo version to 1.3.1 2006-12-28 Steve Chaplin * cairo/pycairo-pattern.c (surface_pattern_get_surface) (linear_gradient_get_linear_points) (radial_gradient_get_radial_circles): Add new bindings. 2006-12-28 Steve Chaplin * cairo/pycairo-surface.c (PycairoSurface_FromSurface): update the comment to list all surfaces supported. * cairo/pycairo-pattern.c: use PycairoPattern_FromPattern in all the '*_new' constructors. (solid_pattern_get_rgba): Add new bindings. 2006-12-27 Steve Chaplin * configure.ac: * setup.py (pycairo_version): increase pycairo version to 1.3.1 and require cairo 1.3.2 * cairo/pycairo-context.c (pycairo_clip_extents) (pycairo_get_dash_count): Add new bindings 2006-12-21 Steve Chaplin * cairo/cairogtkmodule.c: remove file Remove the cairo.gtk module (pygtk 2.7.0 onwards has cairo support built in). * configure.ac: * INSTALL: * NOTES: * README: * cairo/Makefile.am: Update files to note the cairo.gtk module no longer exists. * examples/gtk/cairo-demo.py: * examples/gtk/cairo-knockout.py: * examples/gtk/hangman.py: * examples/gtk/lsystem.py: * examples/gtk/png_view.py: * examples/gtk/text.py: * examples/cairo_snippets/snippets_gtk.py: Update examples to run without using the cairo.gtk module 2006-12-21 Steve Chaplin * cairo/pycairo-surface.c: remove unused #include * cairo/pycairo-surface.c: * cairo/pycairo-font.c (scaled_font_new): Make declarations at top of the block - changes to downgrade from C99 to ANSI/ISO standard C, patch from Akihiko Hayashi, fixes bug #8910. 2006-11-27 Steve Chaplin * configure.ac: * cairo/cairomodule.c: * setup.py (pycairo_version): increment pycairo version to 1.2.7 === Pycairo 1.2.6 === 2006-11-27 Steve Chaplin * configure.ac : * cairo/cairomodule.c : * setup.py : * README : increment pycairo and cairo versions to 1.2.6 * NEWS: list changes for 1.2.6 2006-11-27 Steve Chaplin * configure.ac: replace AC_HELP_STRING with AS_HELP_STRING * test/isurface_get_data.py : update to use numpy to write to the surface. 2006-11-20 Steve Chaplin * cairo/pycairo-surface.c (image_surface_get_data_as_rgba): Delete method (at request of Carl Worth) since language bindings should not have functions which are not provided by the C cairo library. * test/isurface_get_data_as_rgba.py: delete test script * test/Makefile.am (EXTRA_DIST): remove isurface_get_data_as_rgba.py 2006-11-20 Steve Chaplin * cairo/pycairo-surface.c (image_surface_buffer_getreadbuf) (image_surface_buffer_getwritebuf, image_surface_buffer_getsegcount): Add writable buffer interface support to ImageSurface. (image_surface_get_data): new binding which returns a Python writable buffer object. * test/isurface_get_data.py: new test * test/Makefile.am (EXTRA_DIST): add isurface_get_data.py 2006-09-22 Cedric Gustin * setup.py: Fixes for win32. Install pycairo.pc and pycairo.h as data_files. 2006-09-21 Cedric Gustin * cairo/pycairo-path.c: Initialize PycairoPathiter_Type.tp_iter in init_cairo (cairomodule.c) to avoid "non-const initializer" errors on win32 (mingw32). Remove static declaration for PycairoPathiter_Type as it has to be used in cairomodule.c. * cairo/pycairo-private.h: Export PycairoPathiter_Type. * cairo/cairomodule.c (init_cairo): Initialize PycairoPathiter_Type.tp_iter. 2006-08-21 Steve Chaplin * RELEASING: update step 8. * configure.ac: * cairo/cairomodule.c: * setup.py: increment version to 1.2.3 === Pycairo 1.2.2 === 2006-08-21 Steve Chaplin * cairo/Makefile.am (pycairoexec_PYTHON): remove 'nodist_' from __init__.py * README : note cairo 1.2.2 is required * cairo/cairomodule.c: increment pycairo version to 1.2.2 * configure.ac: increment pycairo to 1.2.2, and require cairo 1.2.2. 2006-08-19 Steve Chaplin * INSTALL: add notes for new install method. * setup.py : install pycairo.h and pycairo.pc files. 2006-08-17 Steve Chaplin * setup.py: update so 'python setup.py install' can be used as an alternative install method. 2006-08-16 Steve Chaplin * cairo/__init__.py: add new file * cairo/__init__.py.in: remove file * configure.ac: * RELEASING: * cairo/cairomodule.c: move version and version_info module attributes from __init__.py to cairomodule.c 2006-08-14 Steve Chaplin * NOTES : update to note surface creation supports file-like objects. * INSTALL: update 2006-08-07 Steve Chaplin * examples/Makefile.am: * examples/cairo_snippets/snippets/gradient_mask.py: Add new snippet copied from Michael Urman's cairo tutorial. 2006-08-04 Steve Chaplin Remove the cairo.svg module because 1) Cairo does not include SVG parsing, so this module does not belong in pycairo. 2) libsvg-cairo (the underlying C library) is unmaintained. Modified files: * cairo/Makefile.am * configure.ac * examples/cairo_snippets/snippets/__init__.py * examples/cairo_snippets/snippets_gtk.py * examples/cairo_snippets/snippets_pdf.py * examples/cairo_snippets/snippets_png.py * examples/cairo_snippets/snippets_ps.py * examples/cairo_snippets/snippets_svg.py * examples/Makefile.am * INSTALL * README Deleted files: * cairo/cairosvgmodule.c * cairo/pycairosvg.h * cairo/pycairosvg-private.h * examples/cairo_snippets/data/freedesktop.svg * examples/cairo_snippets/data/home.svg * examples/cairo_snippets/snippets/libsvg.py * examples/cairo_snippets/snippets/operator_add.py * examples/cairo_snippets/snippets/operator_atop.py * examples/cairo_snippets/snippets/operator_atop_reverse.py * examples/cairo_snippets/snippets/operator_in.py * examples/cairo_snippets/snippets/operator_in_reverse.py * examples/cairo_snippets/snippets/operator_out.py * examples/cairo_snippets/snippets/operator_out_reverse.py * examples/cairo_snippets/snippets/operator_over.py * examples/cairo_snippets/snippets/operator_over_reverse.py * examples/cairo_snippets/snippets/operator_saturate.py * examples/cairo_snippets/snippets/operator_xor.py * examples/svg/svgconvert.py * examples/svg/svgview.py 2006-07-19 Steve Chaplin * README : Update to match info at http://www.cairographics.org/pycairo 2006-07-03 Steve Chaplin * configure.ac: increment to version 1.2.1 === Pycairo 1.2.0 === 2006-07-03 Steve Chaplin * configure.ac: * NEWS: * README: * setup.py: update for pycairo 1.2.0 * cairo/pycairo-surface.c (image_surface_to_rgba): rename to image_surface_get_data_as_rgba 2006-07-01 Steve Chaplin * configure.ac : fix problem where Numeric was not being detected. require cairo 1.2.0 * cairo/cairomodule.c : add cairo.FORMAT_RGB16_565 * cairo/pycairo-surface.c (image_surface_create_for_data): add support for CAIRO_FORMAT_RGB16_565 (xlib_surface_get_height, xlib_surface_get_width): new bindings 2006-06-26 Steve Chaplin * INSTALL: Remove obsolete notes about RGBA patch * configure.ac : remove the check for the cairo_image_surface_get_data() patch. * cairo/pycairo-surface.c: remove "#ifdef HAVE_GETDATA" which is no longer needed now that we have the new functions cairo_image_surface_get_date/height/stride. 2006-06-25 Steve Chaplin * configure.ac: increase required cairo version to 1.1.8 * cairo/pycairo-surface.c (surface_get_content) (image_surface_get_format, image_surface_get_stride): Add new bindings. (image_surface_get_height, image_surface_get_width) (xlib_surface_get_depth): use PyInt_FromLong instead of Py_BuildValue. 2006-06-22 Steve Chaplin * cairo/pycairo-surface.c (image_surface_create_from_png): rewrite to be consistent with the method used for surface_write_to_png. 2006-06-11 Steve Chaplin * cairo/pycairo-surface.c (pdf_surface_set_dpi, ps_surface_set_dpi) (svg_surface_set_dpi): delete and replace with the new function surface_set_fallback_resolution, fixes #7180. * cairo/pycairo-surface.c (image_surface_create_for_data): * cairo/pycairo-pattern.c (PycairoPattern_FromPattern): use PyErr_SetString instead of ASSERT_NOT_REACHED. * cairo/pycairo-private.h: delete ASSERT_NOT_REACHED as its no longer used === Pycairo 1.1.6 === 2006-05-29 Steve Chaplin * cairo/pycairo-pattern.c (PycairoPattern_FromPattern): fix a compiler warning. * NEWS: update for 1.1.6 * configure.ac: * setup.py : increase pycairo version to 1.1.6 * README : increase required cairo version to 1.1.6 * autogen.sh : update by using a (slightly modified) copy of the cairo autogen.sh, fixes #7048. 2006-05-28 Steve Chaplin * examples/cairo_snippets/snippets_pdf.py (do_snippet): * examples/cairo_snippets/snippets_ps.py (do_snippet): * examples/cairo_snippets/snippets_svg.py (do_snippet): add a call to surface.finish() * cairo/cairomodule.c (Pycairo_Check_Status): check if a Python exception has already occurred. * cairo/pycairo-surface.c (image_surface_new, pdf_surface_new) (ps_surface_new, svg_surface_new, win32_surface_new): simplify by using PycairoSurface_FromSurface * cairo/pycairo-surface.c (ps_surface_new, pdf_surface_new) (svg_surface_new): update to support file and file-like objects. 2006-05-26 Steve Chaplin * cairo/pycairo-surface.c (surface_write_to_png): For a filename argument use cairo_surface_write_to_png instead of cairo_surface_write_to_png_stream. Combine the two sections of code which handle a file object and a file-like object. 2006-05-17 Steve Chaplin * cairo/pycairo-surface.c: add new binding for cairo_pdf_surface_set_size 2006-05-16 Steve Chaplin * cairo/pycairo-surface.c: add new bindings for cairo_surface_get_device_offset cairo_xlib_surface_get_depth * cairo/pycairo-context.c: add new binding for cairo_get_group_target 2006-05-15 Steve Chaplin * configure.ac: require cairo 1.1.6 * cairo/pycairo-context.c: new bindings for cairo_push_group cairo_push_group_with_content cairo_pop_group cairo_pop_group_to_source * examples/cairo_snippets/snippets/group.py: new snippet * examples/Makefile.am (EXTRA_DIST): add group.py 2006-05-13 Steve Chaplin * cairo/pycairo-surface.c : add new bindings for cairo_ps_surface_dsc_begin_page_setup cairo_ps_surface_dsc_begin_setup 2006-05-07 Steve Chaplin * configure.ac: require cairo 1.1.4 * cairo/pycairo-surface.c : add new bindings for cairo_ps_surface_set_size cairo_ps_surface_dsc_comment * NOTES: Add XlibSurface 2006-05-01 Steve Chaplin * cairo/cairomodule.c: * cairo/pycairo-private.h: * cairo/pycairo.h: add XlibSurface * cairo/cairomodule.c: remove 'static' from CairoError * cairo/pycairo-private.h: Add CairoError extern declaration * cairo/pycairo-surface.c (PycairoSurface_FromSurface): Raise exception for unsupported surfaces. Add support for XlibSurface. 2006-04-30 Steve Chaplin * cairo/pycairo-context.c (pycairo_get_source, pycairo_get_target): rearrange functions. (RETURN_NULL_IF_CONTEXT_STATUS_ERROR): new macro to handle error checking and replace the existing error checking code which is identical for every function. Change code to make 1 function call when there is no error, whereas the old code made 2 function calls. 2006-04-29 Steve Chaplin * examples/Makefile.am (EXTRA_DIST): add cairo_snippets/snippets/ellipse.py * configure.ac: require automake 1.9 and autoconf 2.59 2006-04-29 Steve Chaplin * cairo/pycairo-context.c (__PyBaseString_AsUTF8): Remove 'static' so function can be used from other files. (pycairo_new_sub_path): new wrapper for cairo_new_sub_path. * cairo/pycairo-private.h: Add __PyBaseString_AsUTF8 prototype * cairo/pycairo-font.c: add new wrapper for cairo_scaled_font_text_extents 2006-04-29 Steve Chaplin * cairo/pycairo-font.c: add new wrapper for cairo_scaled_font_get_font_face * cairo/pycairo-font.c: * cairo/pycairo-pattern.c: * cairo/pycairo-surface.c: Add comments noting that the new cairo functions cairo_surface_get_type cairo_pattern_get_type cairo_font_face_get_type cairo_scaled_font_get_type do not need to be exposed in a language binding. 2006-04-29 Steve Chaplin * examples/cairo_snippets/snippets/ellipse.py: add new snippet * README : Note that cairo 1.1.2 is required. Add notes deprecating the cairo.gtk and cairo.svg modules. * configure.ac: require cairo 1.1.2 2006-04-25 Steve Chaplin * cairo/pycairo-surface.c (PycairoSurface_FromSurface): remove type argument and use cairo_surface_get_type() instead. * cairo/pycairo-context.c (pycairo_get_target): * cairo/pycairo-private.h: * cairo/pycairo.h: update to use the modified PycairoSurface_FromSurface(). * cairo/pycairo-private.h (ASSERT_NOT_REACHED): add new macro * cairo/pycairo-pattern.c (PycairoPattern_FromPattern): * cairo/pycairo-surface.c (PycairoSurface_FromSurface): use ASSERT_NOT_REACHED 2006-03-04 Steve Chaplin * cairo/pycairo-pattern.c (PycairoPattern_FromPattern): remove type argument and use cairo_pattern_get_type() instead. * cairo/pycairo-context.c (pycairo_get_source): * cairo/pycairo-private.h: * cairo/pycairo.h: update to use the modified PycairoPattern_FromPattern(). 2006-03-04 Steve Chaplin * cairo/pycairo-font.c: * cairo/pycairo-pattern.c: make the boolean comparisons explicit. 2006-03-04 Steve Chaplin * AUTHORS: change my email address 2006-01-23 Steve Chaplin * cairo/pycairo.h: add missing SVGSurface_Type to Pycairo_CAPI_t * cairo/cairomodule.c (init_cairo): Add cairo.SUBPIXEL_ORDER_*, cairo.HINT_STYLE_*, cairo.HINT_METRICS_* constants. * cairo/pycairo-font.c (font_options_get_antialias) (font_options_get_hint_metrics, font_options_get_hint_style) (font_options_get_subpixel_order, font_options_set_antialias) (font_options_set_hint_metrics, font_options_set_hint_style) (font_options_set_subpixel_order): new bindings, applied patch from raulir, with some changes, fixes #5689. 2006-01-22 Steve Chaplin * cairo/pycairo-context.c (__PyBaseString_AsUTF8): new function. (pycairo_select_font_face, pycairo_show_text, pycairo_text_extents) (pycairo_text_path): allow the string argument to be a unicode or string object, and convert to UTF-8 encoding, fixes #5654. 2006-01-20 Steve Chaplin * examples/cairo_snippets/snippets_gtk.py (Window.put_in_frame): delete unused self._bg_rgb * examples/hering.py : * examples/spiral.py : * examples/gtk/hangman.py (expose_event): use ctx.paint() to set the background colour. * examples/gtk/cairo-demo.py (expose): remove unused da.allocation * examples/gtk/cairo-knockout.py (expose): simplify 2006-01-20 Steve Chaplin * examples/cairo_snippets/snippets/__init__.py: whitespace changes * examples/cairo_snippets/snippets_gtk.py: remove code to draw a rectangular background - its not needed. 2006-01-17 Steve Chaplin * cairo/pycairo-surface.c (image_surface_create_for_data): for CAIRO_FORMAT_RGB24 set stride = width * 4 (not 3), fixes #5633 2005-12-16 Steve Chaplin * cairo/pycairo-surface.c (image_surface_create_from_png): update ImageSurface.create_from_png(f) so that 'f' can be a file-like object (as well as a filename or a file object). * NOTES : update notes for ImageSurface.create_from_png() 2005-12-14 Steve Chaplin * cairo/cairomodule.c : * cairo/pycairo.h: * cairo/pycairo-private.h: * cairo/pycairo-surface.c: add support for SVG surface * examples/cairo_snippets/snippets_svg.py: new example * examples/Makefile.am (EXTRA_DIST): add snippets_svg.py * NOTES : update cairo.Surface section to show that SVGSurface is now supported 2005-12-12 Steve Chaplin * examples/svg/svgconvert.py : New file - convert SVG files to PDF, PNG or PS, uses patch from Aldo Nicolas Bruno. * examples/svg/svg2png.py: remove * examples/Makefile.am (EXTRA_DIST): add svgconvert.py, delete svg2png.py 2005-11-10 Steve Chaplin * configure.ac: change AC_INIT to point to pycairo (not cairo) bugzilla. Remove the redundant automake conditional HAVE_NUMPY. 2005-10-17 Steve Chaplin * INSTALL: add notes for installing get_data patch * configure.ac: Add check for get_data patch * patch.cairo.h * patch.cairo-image-surface.c: new files, patch cairo to enable 'surface.to_rgba()' * test/to_rgba.py : new file, test surface.to_rgba() * cairo/pycairo-surface.c (image_surface_to_rgba): new function 2005-10-12 Steve Chaplin * cairo/pycairo-surface.c (surface_write_to_png): add support for StringIO and cStringIO objects. * NOTES : update notes for surface.write_to_png() 2005-10-11 Steve Chaplin * RELEASING: update step 4 - check for uncommitted changes. 2005-10-11 Steve Chaplin * configure.ac: Increment pycairo version to 1.0.3 === Pycairo 1.0.2 === 2005-10-11 Steve Chaplin * NEWS: update for 1.0.2 * setup.py: * README : * configure.ac: Increment pycairo version to 1.0.2, require cairo 1.0.2 2005-10-03 Steve Chaplin * cairo/pycairo-matrix.c (matrix_get_xx, matrix_get_yx, matrix_get_xy) (matrix_get_yy, matrix_get_x0, matrix_get_y0, matrix_get_value): delete (matrix_item): new function to allow matrix to be used as a sequence by providing Matrix.__get_item__() * NOTES : update cairo.Matrix notes 2005-09-28 Steve Chaplin * NOTES : add note for cairo.ImageSurface.create_for_data() * cairo/pycairo-surface.c (pycairo_read_func, pycairo_write_func): rename to _read_func and _write_func 2005-09-22 Steve Chaplin * test/cairo_image_surface_create_for_data.py : rename to test/for_data1.py: * test/for_data2.py: add new test using Numeric * test/for_data3.py: add new test using numarray * test/Makefile.am (EXTRA_DIST): add/update filenames 2005-09-22 Steve Chaplin * test/cairo_image_surface_create_for_data.py : update * cairo/pycairo-surface.c: (image_surface_create_for_data): new wrapper. (pycairo_write_func): add 'const' to 'unsigned char *data' to fix compiler warning. 2005-09-11 Steve Chaplin * INSTALL: explain that cairo.gtk is not built if pygtk >= 2.7.0 is detected. 2005-09-05 Steve Chaplin * README : note that libsvg-cairo, Numeric, and PyGTK are NOT required, but are supported if detected. 2005-09-05 Steve Chaplin * NOTES : * cairo/pycairo-context.c (pycairo_set_source_rgba): Let alpha be a default argument, ctx.set_source_rgba (r, g, b, a=1.0) 2005-09-01 Steve Chaplin * configure.ac: inrcease pycairo version to 1.0.1 === Pycairo 1.0.0 === 2005-08-30 Steve Chaplin * configure.ac: * Makefile.am : fix errors introduced by previous commit 2005-08-30 Steve Chaplin * Makefile.am : update to follow (some of) the new cairo release procedures * README : increase cairo dependency to 1.0.0 * setup.py : * configure.ac: increase pycairo version to 1.0.0 * NEWS: update for 1.0.0 release * RELEASING: updated procedure 2005-08-29 Steve Chaplin * examples/gradient.py : * examples/warpedtext.py: * examples/cairo_snippets/snippets/gradient.py : * examples/cairo_snippets/snippets/imagepattern.py: update examples to use the updated Patterns * NOTES : list new Pattern hierarchy * cairo/cairomodule.c: * cairo/pycairo-context.c : * cairo/pycairo.h : * cairo/pycairo-private.h: * cairo/pycairo-pattern.c : rewrite as a hierarchy of Pattern types 2005-08-29 Steve Chaplin * examples/svg/svgview.py : update to work with pygtk >= 2.7.0, create an SVG Widget 2005-08-29 Steve Chaplin * examples/cairo_snippets/snippets_pdf.py : * examples/cairo_snippets/snippets_ps.py: cleanup whitespace * examples/cairo_snippets/snippets_gtk.py : * examples/gtk/cairo-demo.py : * examples/gtk/cairo-knockout.py : * examples/gtk/hangman.py : * examples/gtk/lsystem.py : * examples/gtk/png_view.py : * examples/gtk/text.py : update to work with pygtk >= 2.7.0 2005-08-25 Steve Chaplin * configure.ac: require cairo 1.0.0 * cairo/pycairo-surface.c (surface_write_to_png): update to accept filename or file object * NOTES : add note listing surface.write_to_png (file_object) 2005-08-22 Steve Chaplin * configure.ac: require cairo 0.9.3 * cairo/cairomodule.c (pycairo_cairo_version_string): (pycairo_cairo_version): new wrappers * cairo/pycairo-surface.c (ps_surface_set_dpi): new wrapper * NOTES: update to show the cairo_version() functions 2005-08-19 Steve Chaplin * cairo/cairomodule.c (init_cairo): * cairo/cairosvgmodule.c: * cairo/pycairo-context.c: * cairo/pycairo-font.c: * cairo/pycairo-matrix.c: * cairo/pycairo-path.c: * cairo/pycairo-pattern.c: * cairo/pycairo-surface.c: move &PyBaseObject_Type and &PycairoSurface_Type out of the _Type structures and initialise the .tp_base field at runtime - fixes problems reported by some compilers. 2005-08-18 Steve Chaplin * cairo/cairosvgmodule.c: * cairo/pycairo-context.c: * cairo/pycairo-font.c: * cairo/pycairo-matrix.c: * cairo/pycairo-path.c: * cairo/pycairo-pattern.c: * cairo/pycairo-surface.c: change PyObject_HEAD_INIT(&PyType_Type) to PyObject_HEAD_INIT(NULL) to fix problems reported by some compilers 2005-08-12 Steve Chaplin * cairo/cairogtkmodule.c (gdk_cairo_create): rename to _gdk_cairo_create and remove the "#ifndef HAVE_GTK28" check * configure.ac : delete HAVE_GTK28 check. If pygtk > 2.7 do not compile cairo.gtk (use pygtk instead) 2005-08-12 Steve Chaplin * RELEASING: add new step #9 - post message to python-announce-list 2005-08-11 Steve Chaplin * NOTES: update the cairo.gtk note === Pycairo 0.9.0 === 2005-08-10 Steve Chaplin * configure.ac: increment pycairo and cairo to 0.9.0 * README : increment required cairo version to 0.9.0 * NEWS: update for 0.9.0 release * setup.py : increment pycairo version to 0.9.0 2005-08-10 Steve Chaplin * cairo/cairogtkmodule.c (surface_create_for_pixbuf): delete function - its not much use since cairo's and gdk's image formats are different. 2005-08-09 Steve Chaplin * examples/gtk/cairo-demo.py : * examples/gtk/cairo-knockout.py : * examples/gtk/lsystem.py : * examples/gtk/png_view.py : * examples/gtk/text.py : * examples/cairo_snippets/snippets_gtk.py : enable double buffering 2005-08-09 Bertram Felgenhauer * cairo/cairogtkmodule.c (gdk_cairo_create): Query windows for backbuffers to make double buffering work. 2005-08-09 Steve Chaplin * cairo/pycairo-context.c (pycairo_set_antialias) (pycairo_get_antialias): new wrappers * cairo/cairomodule.c (init_cairo): add the four cairo.ANTIALIAS_* constants * NOTES : list surface.mark_dirty (x=0, y=0, width=-1, height=-1) showing default arguments * cairo/pycairo-surface.c (surface_mark_dirty, surface_flush): new wrappers 2005-08-08 Steve Chaplin * NEWS : change titles to "Overview of changes from pycairo x.x.x to pycairo y.y.y" and remove my email address. * cairo/pycairo-context.c (pycairo_get_font_face): update since cairo_get_font_face no longer returns NULL on error. 2005-08-08 Steve Chaplin * README : Add link to pycairo home page 2005-08-02 Steve Chaplin * NEWS: updated for 0.6.0 === Pycairo 0.6.0 === 2005-08-01 Steve Chaplin * configure.ac: increment pycairo and cairo to 0.6.0 * README : increment required cairo version to 0.6.0 * setup.py : increment pycairo version to 0.6.0 2005-08-01 Steve Chaplin * cairo/pycairo-context.c (pycairo_get_font_options) (pycairo_set_font_options): new wrappers (pycairo_get_target): use new error checking code * cairo/pycairo-surface.c (image_surface_create_from_png): improve error message for case when fopen() fails, fix a compiler warning. (surface_get_font_options): new wrapper * cairo/cairomodule.c (Pycairo_Check_Status): map CAIRO_STATUS_READ_ERROR and CAIRO_STATUS_WRITE_ERROR onto IOError 2005-08-01 Steve Chaplin * cairo/cairogtkmodule.c (surface_create_for_pixbuf): * cairo/pycairo-font.c: * cairo/pycairo-surface.c: update to use new font and surface error objects 2005-07-29 Dave Beckett * cairo/pycairo-surface.c (surface_finish): Do not use the cairo_surface_finish() return value to check for error status, instead use cairo_surface_status(). * cairo/pycairo-font.c (scaled_font_extents): Do not use the cairo_scaled_font_extents() return value to check for error status, instead use cairo_scaled_font_status(). * configure.ac: Really add test/Makefile to AC_CONFIG_FILES> 2005-07-25 Steve Chaplin * cairo/pycairo-surface.c (image_surface_create_from_png): update to accept a file object. (it requires a cairo version which fixes #3863) * NOTES : Add note showing cairo.ImageSurface.create_from_png() accepting a file object argument. 2005-07-24 Steve Chaplin * examples/gtk/cairo-knockout.py (draw): update create_similar() to use cairo.CONTENT_ args 2005-07-24 Steve Chaplin Update so the tests get added to each snapshot * configure.ac : add test/Makefile to AC_CONFIG_FILES * Makefile.am (SUBDIRS): add test * test/.cvsignore: add new file * test/Makefile.am : add new file 2005-07-23 Steve Chaplin * NOTES : * cairo/cairomodule.c: * cairo/pycairo.h: * cairo/pycairo-private.h: * cairo/pycairo-font.c : add support for cairo_font_options_t by creating cairo.FontOptions class (overwrites previous commit) 2005-07-22 Carl Worth * cairo/pycairo-font.c: (scaled_font_new): Add new cairo_font_options argument now needed in call to cairo_scaled_font_create. 2005-07-22 Steve Chaplin * cairo/cairogtkmodule.c : update/delete a few comments * configure.ac: optionally require GTK+ >= 2.2.0, PyGTK >= 2.2.0 since gdk_drawable_get_screen() is a GTK+ 2.2 function * README : note that optional PyGTK support requires PyGTK >= 2.2.0 2005-07-21 Malcolm Tredinnick * cairo/cairogtkmodule.c: track recent changes in cairo -- specifically, cairo_xlib_surface_create_for_bitmap -- in the case where gtk-2.7/2.8 is not available. 2005-07-12 Steve Chaplin * cairo/pycairo-surface.c (surface_create_similar): track cairo change - change cairo_format_t to cairo_content_t * cairo/cairomodule.c (init_cairo): add the constants cairo.CONTENT_COLOR/ALPHA/COLOR_ALPHA 2005-07-01 Steve Chaplin * examples/cairo_snippets/snippets_gtk.py : update to use the 'shadow-type' property to draw a border round the ScrolledWindows 2005-06-24 Steve Chaplin * Makefile.am (EXTRA_DIST): add setup.py 2005-06-23 Steve Chaplin * cairo/Makefile.am: install __init__.py to $prefix/lib64/site-packages/cairo on 64-bit systems. Fixes #3587 2005-06-22 Steve Chaplin * README : update to note new versions of cairo, libsvg-cairo required * RELEASING: note to increment version numbers in README === Pycairo 0.5.1 === 2005-06-22 Steve Chaplin * RELEASING: add note about setup.py version * setup.py : increment pycairo version * configure.ac: increment pycairo version and required cairo version to 0.5.1 * NOTES : add Win32Surface 2005-06-22 Steve Chaplin * examples/gtk/text.py : * examples/gtk/cairo-demo.py : don't set window title (use the default) * examples/gtk/hangman.py : * examples/gtk/lsystem.py : change Cairo to cairo * examples/cairo_snippets/snippets_pdf.py: * examples/cairo_snippets/snippets_png.py: * examples/cairo_snippets/snippets_ps.py: use cairo.HAS_PDF_SURFACE, cairo.HAS_PNG_FUNCTIONS, cairo.HAS_PS_SURFACE to check cairo supports the required surfaces. 2005-06-20 Steve Chaplin Fixes for compiler warnings: * cairo/pycairo-surface.c (image_surface_create_for_array): cast array->data to (unsigned char *) * cairo/cairosvgmodule.c (pycairosvg_get_size): change int to unsigned int width, height 2005-06-20 Steve Chaplin * examples/cairo_snippets/snippets_gtk.py: move select_path() to below append_column() to fix problem with initial path not being set. 2005-06-20 Steve Chaplin * cairo/pycairo-private.h: remove unnecessary 'extern PyObject *CairoError;' 2005-06-16 Steve Chaplin * configure.ac: increase optional libsvg-cairo version from 0.1.5 to 0.1.6 2005-06-15 Steve Chaplin * examples/cairo_snippets/snippets_ps.py: * examples/cairo_snippets/snippets_pdf.py: change width, height to width_in_points, height_in_points 2005-06-14 Steve Chaplin * cairo/pycairo-context.c (PycairoContext_FromContext, pycairo_new): * cairo/cairogtkmodule.c (pygdk_cairo_create): update to use cairo_t error objects 2005-06-14 Steve Chaplin * cairo/pycairo-pattern.c: * cairo/pycairo-context.c (pycairo_get_source): update to use cairo_pattern_t error objects * cairo/pycairo-path.c (PycairoPath_FromPath): * cairo/pycairo-context.c (pycairo_copy_path, pycairo_copy_path_flat): update to use cairo_path_t error objects 2005-06-06 Steve Chaplin * cairo/pycairo.h (PycairoContext_GET): add new macro. Fixes #3469 2005-06-02 Steve Chaplin * cairo/cairomodule.c (Pycairo_Check_Status): use cairo_status_to_string to simplify this function 2005-06-01 Steve Chaplin * cairo/pycairo-surface.c (PycairoSurface_FromSurface): add type argument, like PycairoContext_FromContext * cairo/cairomodule.c: * cairo/cairogtkmodule.c: * cairo/pycairo.h: * cairo/pycairo-private.h: update to new PycairoSurface_FromSurface API * cairo/pycairo-surface.c : Update to new PycairoSurface_FromSurface API. Delete PycairoImageSurface_FromImageSurface, PycairoPDFSurface_FromPDFSurface, PycairoPSSurface_FromPSSurface, PycairoWin32Surface_FromWin32Surface which are replaced by the new PycairoSurface_FromSurface 2005-06-01 Gustavo J. A. M. Carneiro * cairo/cairogtkmodule.c (pygdk_cairo_create): Update to new PycairoContext_FromContext API. * cairo/pycairo-private.h, cairo/pycairo.h, cairo/pycairo-context.c (PycairoContext_FromContext): Add a third parameter that allows instantiation of a subclass of cairo.Context. 2005-05-31 Steve Chaplin * cairo/cairomodule.c (init_cairo): correct CAIRO_HAS_PNG_SURFACE to CAIRO_HAS_PNG_FUNCTIONS 2005-05-30 Steve Chaplin * cairo/cairomodule.c : add cairo features cairo.HAS_WIN32_SURFACE, cairo.HAS_PS_SURFACE etc * cairo/pycairo-private.h: * cairo/pycairo.h: add more PS/PDF/WIN32 preprocessor checks 2005-05-29 Steve Chaplin * cairo/Makefile.am : change svg target to use LIBSVG_CAIRO (not CAIRO) LIBS and CFLAGS * configure.ac : only compile the cairo.gtk module if cairo-xlib is enabled. Change module configuration report from "true/false" to "yes/no" * cairo/cairomodule.c (Pycairo_Check_Status): remove CAIRO_STATUS_BAD_NESTING to track changes in cairo * README : update to mention the pycairo product in bugzilla 2005-05-29 Steve Chaplin * cairo/cairomodule.c: * cairo/pycairo.h: * cairo/pycairo-private.h: * cairo/pycairo-surface.c: add Win32Surface, conditionally compile all PS/PDF code, contributed by Niki Spahiev. Change the C API struct back to (type, constructor) pairs to make preprocessor macros simpler. 2005-05-27 Gustavo J. A. M. Carneiro * cairo/cairogtkmodule.c (gdk_cairo_create): Don't define gdk_cairo_create if compiling against gtk+ 2.8 API. * configure.ac : Define HAVE_GTK28 if gtk+ > 2.7 is found. 2005-05-26 Steve Chaplin * cairo/Makefile.am (AM_CPPFLAGS): Delete AM_CPPFLAGS (it uses unnecessary GTK flags to compile the cairo module) and use module specific _CPPFLAGS instead 2005-05-25 Steve Chaplin * setup.py: new file, contributed by Niki Spahiev 2005-05-25 Steve Chaplin * cairo/pycairo-context.c: update method table to hold the correct values for cairo_mask, cairo_mask_surface and cairo_stroke_preserve 2005-05-24 Steve Chaplin * cairo/pycairo.h : fix mismatch with Check_Status (reported by Owen Taylor). Add Path and PSSurface C API functions and macros. === Pycairo 0.5.0 === 2005-05-20 Steve Chaplin Pycairo 0.5.0 release changes: * README : update required cairo version * configure.ac: increase cairo_required_version * RELEASING: update * NEWS: update to describe new version * examples/svg/svgview.py : update exception handling * examples/cairo_snippets/snippets/libsvg.py: * examples/cairo_snippets/snippets/__init__.py (snippet_set_bg_svg): update svg_cr.size to svg_cr.get_size() 2005-05-20 Steve Chaplin * examples/svg/svg2png.py: * examples/svg/svgview.py : update to new API * cairo/cairomodule.c (init_cairo): * cairo/pycairo.h : rename cairo.pycairo_CAPI to cairo.CAPI * cairo/cairosvgmodule.c : add cairo.svg.Error exception. change .size attribute to .get_size() method * examples/Makefile.am (EXTRA_DIST): list new examples * configure.ac: increase version to 0.5.0 * cairo/pycairo-font.c (scaled_font_extents): change from an attribute to a method to be consistent to C API * cairo/pycairo-matrix.c : tidy up * cairo/pycairo-pattern.c : (pattern_add_color_stop_rgb): fix error with number of arguments * examples/cairo_snippets/snippets_ps.py: new file * examples/cairo_snippets/snippets_gtk.py : update to new API * cairo/cairomodule.c: * cairo/pycairo.h: * cairo/pycairo-private.h: * cairo/pycairo-surface.c: Restore support for PSSurface * cairo/pycairo-font.c : * cairo/pycairo-surface.c: move object construction from __init__ to __new__. * NOTES: update 2005-05-19 Steve Chaplin * cairo/cairogtkmodule.c (_gdk_cairo_create): update for new xlib_surface API * examples/gtk/png_view.py : * examples/gtk/cairo-knockout.py : * examples/cairo_snippets/snippets/clip_image.py : * examples/cairo_snippets/snippets/image.py: * examples/cairo_snippets/snippets/imagepattern.py: update to new API * cairo/pycairo-private.h: * cairo/cairomodule.c: add cairo.Error - a module specific Exception * cairo/pycairo-surface.c: * cairo/pycairo-context.c: Change implementation for functions listed below from attributes to methods in order to correspond directly with the C API. cairo_fill_extents, cairo_font_extents, cairo_get_current_point, cairo_stroke_extents, cairo_get_target. cairo_image_surface_get_width, cairo_image_surface_get_height * cairo/pycairo-context.c: move __init__ code into __new__ * cairo/pycairo-surface.c: * cairo/pycairo-private.h: * cairo/pycairo-pattern.c: * cairo/pycairo-matrix.c: * cairo/pycairo.h: * cairo/pycairo-font.c: * cairo/cairomodule.c: * cairo/pycairo-context.c: rename Pycairo_check_status to Pycairo_Check_Status (as suggested by PEP-7 Style Guide) * examples/context-subclass.py: * examples/Makefile.am: delete context-subclass.py since there are problems subclassing cairo types (see cairo docs Appendix A) 2005-05-18 Steve Chaplin * examples/cairo_snippets/snippets_pdf.py (do_snippet): update * cairo/pycairo-font.c (PycairoScaledFont_FromScaledFont): add destroy call if object creation fails (scaled_font_new): move __init__ code into __new__, delete __init__ (font_face_init): new function that warns FontFace cannot be instantiated 2005-05-17 Steve Chaplin * cairo/Makefile.am : * cairo/pycairo-misc.h: * cairo/pycairo-private.h: * cairo/pycairosvg-private.h: move contents of pycairo-misc.h into pycairo-private.h and pycairosvg-private.h, delete pycairo-misc.h * cairo/pycairo-surface.c: * cairo/pycairo.h: * cairo/pycairo-font.c: * cairo/pycairo-context.c: * cairo/cairosvgmodule.c: * cairo/cairogtkmodule.c: reformat code to be a max of 80 columns wide * cairo/pycairo-surface.c (pdf_surface_init): update for cairo_pdf_surface_create() taking a filename not a file object. (pdf_surface_set_dpi): new wrapper * examples/cairo_snippets/snippets_pdf.py : update to new API 2005-05-17 Steve Chaplin * cairo/cairogtkmodule.c (gdk_cairo_create, surface_create_for_pixbuf): * cairo/pycairo-context.c (PycairoContext_FromContext): * cairo/pycairo-font.c (PycairoFontFace_FromFontFace): * cairo/pycairo-matrix.c (PycairoMatrix_FromMatrix): * cairo/pycairo-path.c (PycairoPath_FromPath): * cairo/pycairo-pattern.c (PycairoPattern_FromPattern): * cairo/pycairo-surface.c (PycairoSurface_FromSurface): Change Pycairo_From functions so they unref arg1 if Python object creation fails 2005-05-16 Steve Chaplin * cairo/Makefile.am (_cairo_la_SOURCES): add pycairosvg.h and pycairosvg-private.h * configure.ac : use [...] for AC_CONFIG_FILES * autogen.sh : change PyCairo to Pycairo * cairo/cairogtkmodule.c: update to use new cairo-xlib functions * examples/gtk/cairo-demo.py (expose): * examples/gtk/cairo-knockout.py (expose): * examples/gtk/hangman.py (expose_event): * examples/gtk/lsystem.py (lindenmayer.expose): * examples/gtk/png_view.py (expose_event): * examples/gtk/text.py (expose_event): update to use cairo.gtk.gdk_cairo_create() * examples/cairo_snippets/snippets/curve_rectangle.py: * examples/cairo_snippets/snippets/fill_and_stroke.py: * examples/cairo_snippets/snippets/fill_and_stroke2.py: * examples/cairo_snippets/snippets/text.py: update to use fill_preserve() * examples/cairo_snippets/snippets/clip_image.py: * examples/cairo_snippets/snippets/image.py: * examples/cairo_snippets/snippets/imagepattern.py: new snippets * examples/cairo_snippets/snippets/clip.py: remove new_path() since clip() no longer consumes the path * examples/cairo_snippets/snippets_gtk.py (Window.put_in_frame): set focus to snippet list * examples/cairo_snippets/snippets_pdf.py: * cairo/pycairo-surface.c (pdf_surface_init): update for new cairo_pdf_surface_create definition * cairo/cairosvgmodule.c (_status_error): rename to Pycairosvg_check_status 2005-05-14 Steve Chaplin * cairo/cairomodule.c: * cairo/pycairo-font.c: * cairo/pycairo-matrix.c: * cairo/pycairo-pattern.c: * cairo/pycairo-surface.c: #include Python.h, as first include * cairo/cairogtkmodule.c: give error if cairo-xlib.h not found 2005-05-14 Steve Chaplin * cairo/pycairosvg-private.h: * cairo/pycairo-private.h: * cairo/pycairo-misc.h: * cairo/pycairo.h: ensure Python.h is always the first include * examples/cairo_snippets/snippets/operator_atop_reverse.py: * examples/cairo_snippets/snippets/operator_in_reverse.py: * examples/cairo_snippets/snippets/operator_out_reverse.py: * examples/cairo_snippets/snippets/operator_over_reverse.py: change operator names to match recent cairo changes * cairo/Makefile.am (svg_la_SOURCES): remove pycairosvg-context.c * cairo/pycairosvg-context.c: move contents into cairosvgmodule.c and delete file * cairo/pycairosvg.h: new file * cairo/cairosvgmodule.c: * examples/svg/svgview.py: * examples/svg/svg2png.py: update to new API * cairo/pycairo-path.c: retabify type struct * cairo/pycairo-context.c: add comments for cairo_status() and cairo_status_string() 2005-05-12 Steve Chaplin * cairo/pycairo-context.c: * cairo/pycairo-surface.c: * cairo/pycairo-pattern.c: * cairo/pycairo-matrix.c: * cairo/pycairo-font.c: Tidy up the getset and method structures. Change attribute access for read/write attributes from ./set_() to get_()/set_() * examples/warpedtext.py: update to new API 2005-05-11 Steve Chaplin * examples/gtk/cairo-knockout.py : update to new API * cairo/pycairo-context.c (pycairo_get_font_matrix): update to match new prototype 2005-05-10 Steve Chaplin * cairo/cairomodule.c: * cairo/pycairo.h: * cairo/pycairo-font.c: * cairo/pycairo-private.h: add new type PycairoScaledFont * cairo/pycairo-path.c: delete PyPath_Check macro and use PyObject_TypeCheck instead * cairo/pycairo-context.c (pycairo_set_font_face): allow None as set_font_face arg * cairo/pycairo-matrix.c: add comment describing matrix constructors which are not needed in a Python binding (matrix_init_rotate): new wrapper 2005-05-10 Steve Chaplin * cairo/pycairo-surface.c: * cairo/pycairo-private.h: * cairo/pycairo-pattern.c: * cairo/pycairo.h: * cairo/pycairo-context.c: * cairo/cairomodule.c: rename pycairo_check_status to Pycairo_check_status - public functions should start with 'Py' * configure.ac : change the deprecated '-std=c9x' flag to '-std=c99' * cairo/pycairo.h: * cairo/pycairo-private.h: * cairo/cairomodule.c: add PycairoImageSurface_Type support * cairo/cairogtkmodule.c (surface_create_for_pixbuf): change call to PycairoSurface_FromSurface() to PycairoImageSurface_FromImageSurface() * cairo/cairomodule.c (init_cairo): do not add the Path object since its not accessed directly * cairo/pycairo-path.c: add PyCairoPath.__str__ method * cairo/pycairo-context.c (pycairo_append_path) (pycairo_copy_path_flat): new wrappers 2005-05-09 Steve Chaplin * examples/warpedtext.py : updated to use copy_path() * cairo/pycairo-path.c : new file to implement PyCairoPath * cairo/Makefile.am: * cairo/cairomodule.c: * cairo/pycairo-private.h: * cairo/pycairo.h: add support for PycairoPath * cairo/pycairo-context.c (pycairo_copy_path): new wrapper * AUTHORS: * NEWS: * pycairo.pc.in : * cairo/cairogtkmodule.c: * cairo/cairomodule.c: * cairo/cairosvgmodule.c: * cairo/pycairo-context.c: * cairo/pycairo-font.c: * cairo/pycairo.h: * cairo/pycairo-matrix.c: * cairo/pycairo-misc.h: * cairo/pycairo-pattern.c: * cairo/pycairo-private.h: * cairo/pycairo-surface.c: * cairo/pycairosvg-context.c: * cairo/pycairosvg-private.h: rename Cairo to cairo, and PyCairo to Pycairo move Contributors from *.c into AUTHORS * cairo/cairogtkmodule.c (_gdk_drawable_create_cairo_context): simplify * examples/gtk/cairo-knockout.py: started updating to new API * NOTES: update to match current Pycairo features 2005-05-09 Steve Chaplin * cairo/pycairo-private.h: * cairo/pycairo.h: add 'base' field to PyCairoContext add 'base' arg to PyCairoContext_FromContext * cairo/cairomodule.c: remove cairo_functions (it was empty) (init_cairo): add CAIRO_PATH_* constants * cairo/cairogtkmodule.c (initgtk): check mod return value Delete: surface_create_for_drawable surface_create_for_pixmap surface_create_for_pixmap_with_visual surface_create_for_window_with_visual Add _gdk_drawable_create_cairo_context create_cairo_context * cairo/pycairo-pattern.c: * cairo/pycairo-matrix.c: disable subclassing, due to problem mentioned in the 'Memory Management' section of Appendix A. * cairo/pycairo-context.c (pycairo_get_target): new wrapper (pycairo_get_rgb_color): remove * cairo/pycairo-context.c: * cairo/pycairo-surface.c: * cairo/pycairo-pattern.c: * cairo/pycairo-font.c: add comments about destroy/reference methods not being wrapped * configure.ac : change message to report 'build Numeric support' and not 'build cairo.numpy' * examples/cairo_snippets/snippets_png.py: * examples/cairo_snippets/snippets_pdf.py: update to new cairo API * examples/gtk/cairo-demo.py (expose): * examples/gtk/cairo-knockout.py (expose): * examples/gtk/hangman.py (expose_event): * examples/gtk/lsystem.py (lindenmayer.expose): * examples/gtk/png_view.py (expose_event): * examples/gtk/text.py (expose_event): * examples/cairo_snippets/snippets_gtk.py : update to new cairo API update to use cairo.gtk.create_cairo_context() 2005-05-07 Steve Chaplin * examples/context-subclass.py : * examples/gradient.py : * examples/hering.py : * examples/spiral.py : * examples/warpedtext.py : update to use new API (warpedtext needs a replacement for get_path) * cairo/pycairo-context.c: * cairo/pycairo-surface.c: Eliminate deprecated functions cairo_copy cairo_get_path cairo_get_path_flat cairo_surface_set_repeat cairo_surface_set_matrix cairo_surface_get_matrix cairo_surface_set_filter cairo_surface_get_filter * cairo/cairomodule.c (init_cairo): update OPERATOR_* to match cairo changes Port to use new cairo_create interface. * cairo/pycairo-context.c (pycairo_init): update cairo_create() to take a cairo_surface_t * cairo/cairogtkmodule.c (set_target_drawable): delete * cairo/pycairo-context.c (pycairo_set_target_pdf): (pycairo_set_target_surface, pycairo_get_target_surface): delete * cairo/pycairo-context.c (pycairo_paint_with_alpha): new wrapper 2005-05-06 Steve Chaplin * cairo/pycairosvg-context.c: * cairo/pycairo-surface.c: * cairo/pycairo-pattern.c: * cairo/pycairo-matrix.c: * cairo/pycairo-font.c: * cairo/pycairo-context.c: * cairo/cairogtkmodule.c: remove 'include "pycairo-misc.h"' * cairo/pycairo-private.h: * cairo/pycairosvg-private.h: include "pycairo-misc.h" * cairo/cairomodule.c (init_cairo): Py_INCREF each type * cairo/cairogtkmodule.c: * cairo/cairosvgmodule.c: remove init_pycairo() and add PyCairo_IMPORT * cairo/pycairo.h renamed _PyCairo_FunctionStruct function names to match the real names. Use C API export method copied from the datetime module (new in Python 2.3) 2005-05-06 Steve Chaplin * cairo/pycairo-context.c (pycairo_get_target_surface): * cairo/pycairo-surface.c (surface_create_similar): add comment about use of PyCairoSurface_FromSurface() * README : spell cairo with lowercase c; add note about bugzilla 2005-05-05 Steve Chaplin * examples/cairo_snippets/snippets_png.py (snippet_do_png): small update - add 'else' to try-except clause * examples/gtk/png_view.py (expose_event): update to new API 2005-05-04 Steve Chaplin * cairo/pycairo-context.c (pycairo_show_surface): remove (pycairo_set_target_ps): remove (pycairo_set_source_surface): new wrapper * cairo/pycairo-matrix.c (PyCairoMatrix_FromMatrix): simplify 2005-05-03 Steve Chaplin * cairo/pycairo-context.c (pycairo_mask, pycairo_mask_surface): new wrappers * cairo/cairomodule.c (pycairo_check_status): add CAIRO_STATUS_BAD_NESTING 2005-05-02 Steve Chaplin * cairo/cairomodule.c (pycairo_check_status): add CAIRO_STATUS_READ_ERROR and CAIRO_STATUS_SURFACE_TYPE_MISMATCH * examples/gtk/cairo-knockout.py : * test/cairo_image_surface_create_for_array.py : update to use new API * test/test.test: use os.path.join * pycairo.pc.in : new file * configure.ac : * Makefile.am : add support for the pkgconfig file pycairo.pc * cairo/Makefile.am : add support for installing pycairo.h * examples/spiral.py : change from generating PS to PNG * cairo/pycairo.h: * cairo/cairomodule.c (pycairo_ps_surface_create): remove support for PS backend - the C API is currently broken 2005-04-29 Steve Chaplin * examples/svg/svg2png.py: * examples/svg/svgview.py : update to use new API * test/test.test: update to check exit value of each script 2005-04-29 Steve Chaplin * examples/cairo_snippets/snippets_pdf.py: change scale factor from 96 to 72 * cairo/pycairo-context.c (pycairo_set_font_size): change 'scale' to 'size' 2005-04-28 Steve Chaplin * examples/gtk/png_view.py : update to new png API * cairo/pycairo-surface.c (image_surface_create_from_png): fix incorrect PyArg_ParseTuple argument * cairo/pycairo-context.c: add missing fill_preserve and clip_preserve items to the methods array. 2005-04-27 Steve Chaplin * cairo/pycairo.h : * cairo/pycairo-private.h: * cairo/pycairo-surface.c : Add definitions for PyCairoPDFSurface * cairo/cairomodule.c (pycairo_pdf_surface_create): delete - it has beed replaced by PDFSurface (a surface type with its own constructor) * examples/cairo_snippets/snippets_png.py: updated * examples/cairo_snippets/snippets_pdf.py: new file * cairo/pycairo-context.c (pycairo_stroke_preserve) (pycairo_fill_preserve, pycairo_clip_preserve): new wrappers 2005-04-27 Steve Chaplin * cairo/pycairo-surface.c (surface_write_png): rename to surface_write_to_png (image_surface_get_height, (image_surface_get_width): new wrappers * examples/context-subclass.py : * examples/gradient.py : * examples/hering.py : * examples/warpedtext.py : * examples/cairo_snippets/snippets_png.py : update to use new png API 2005-04-25 Steve Chaplin * cairo/pycairo.h: remove cairo-png.h include. Add 'ifdef CAIRO_HAS_PDF_SURFACE / CAIRO_HAS_PS_SURFACE' around their respective header file includes * cairo/pycairo-surface.c (image_surface_create_for_png): rename to image_surface_create_from_png to track cairo change (surface_write_png): change arg from file object to filename (image_surface_create_from_png): change args from fileobject, width, height to filename 2005-04-20 Steve Chaplin * examples/cairo_snippets/snippets: finish updating snippets to use the new API 2005-04-20 Steve Chaplin * cairo/pycairo-context.c (pycairo_paint): new wrapper 2005-04-18 Steve Chaplin * cairo/pycairo-matrix.c: add matrix_get_* functions to access cairo_matrix_t data * cairo/pycairo-context.c (pycairo_get_matrix): restore old function (pycairo_get_font_matrix): new wrapper 2005-04-15 Steve Chaplin * examples/cairo_snippets/snippets/curve_rectangle.py: * examples/cairo_snippets/snippets/curve_to.py: * examples/cairo_snippets/snippets/fill_and_stroke.py: * examples/cairo_snippets/snippets/fill_and_stroke2.py: * examples/cairo_snippets/snippets/gradient.py: * examples/cairo_snippets/snippets/set_line_cap.py: * examples/cairo_snippets/snippets/text.py: * examples/cairo_snippets/snippets/text_align_center.py: * examples/cairo_snippets/snippets/text_extents.py: updated to new API 2005-04-15 Steve Chaplin * cairo/pycairo-context.c: rename, add, delete functions to follow recent cairo changes: pycairo_set_pattern -> pycairo_set_source pycairo_get_pattern -> pycairo_get_source pycairo_set_rgb_color -> pycairo_set_source_rgb pycairo_set_source_rgba pycairo_set_alpha -> pycairo_get_alpha -> * cairo/pycairo-pattern.c: rename pycairo_pattern_add_color_stop -> pycairo_pattern_add_color_stop_rgba and add: pycairo_pattern_add_color_stop_rgb * examples/context-subclass.py: * examples/gradient.py: * examples/hering.py: * examples/spiral.py: * examples/warpedtext.py: * examples/cairo_snippets/snippets_gtk.py: * examples/cairo_snippets/snippets/arc.py: * examples/cairo_snippets/snippets/arc_negative.py: * examples/cairo_snippets/snippets/clip.py: * examples/gtk/cairo-demo.py: * examples/gtk/hangman.py: * examples/gtk/lsystem.py: * examples/gtk/text.py: update to work with the above changes 2005-04-14 Steve Chaplin * cairo/pycairo-surface.c (image_surface_create_for_array): new constructor, to replace caironumpymodule.c * cairo/caironumpymodule.c (surface_create_for_array): delete file - its functionality is replaced by change above * cairo/Makefile.am: delete HAVE_NUMPY section 2005-04-14 Steve Chaplin * NOTES: added note about new ImageSurface * cairo/cairomodule.c: * cairo/pycairo.h: * cairo/pycairo-private.h: * cairo/pycairo-surface.c: add new class - ImageSurface * examples/context-subclass.py: * examples/gradient.py: * examples/hering.py: * examples/warpedtext.py: * examples/gtk/png_view.py: * examples/cairo_snippets/snippets_png.py: update to use ImageSurface instead of Surface 2005-04-14 Steve Chaplin * cairo/cairomodule.c: * cairo/pycairo-context.c: * cairo/pycairo-font.c: * cairo/pycairo.h: * cairo/pycairo-private.h: rename pycairo_font_wrap to PyCairoFontFace_FromFontFace, rename PyCairoFont_Type to PyCairoFontface_Type 2005-04-14 Steve Chaplin * cairo/cairomodule.c: * cairo/pycairo.h: * cairo/pycairo-private.h: * cairo/pycairo-context.c : rename pycairo_context_wrap to PyCairoContext_FromContext * cairo/pycairo-surface.c (surface_finish): remove comment about cairo_surface_finish() bug which has now been fixed 2005-04-13 Steve Chaplin * cairo/cairomodule.c: * cairo/pycairo-context.c: * cairo/pycairo-pattern.c: * cairo/pycairo.h: * cairo/pycairo-private.h: rename pycairo_pattern_wrap to PyCairoPattern_FromPattern 2005-04-13 Steve Chaplin * cairo/pycairo-surface.c (surface_create_for_data): disable, since a reference to the buffer needs to be added * cairo/cairogtkmodule.c: * cairo/cairomodule.c : * cairo/caironumpymodule.c : * cairo/pycairo-context.c : * cairo/pycairo.h : * cairo/pycairo-private.h : * cairo/pycairo-surface.c : rename pycairo_surface_wrap to PyCairoSurface_FromSurface * cairo/pycairo-private.h (PyCairoMatrix_FromMatrix): change cairo_matrix_t *matrix to const cairo_matrix_t *matrix * cairo/pycairo-matrix.c (PyCairoMatrix_FromMatrix): simplify method of copying struct data, change cairo_matrix_t *matrix to const cairo_matrix_t *matrix 2005-04-12 Steve Chaplin * cairo/cairomodule.c: * cairo/pycairo.h: * cairo/pycairo-matrix.c : * cairo/pycairo-private.h: * cairo/pycairo-surface.c : rename pycairo_matrix_wrap to PyCairoMatrix_FromMatrix * cairo/pycairo-matrix.c : PyCairoMatrix *self; -> PyCairoMatrix *m; drop 'pycairo_' prefix from all static function names. PyCairoMatrix_Type remove casts for 0 values * cairo/pycairo-surface.c : PyCairoSurface *self; -> PyCairoSurface *s; 2005-04-12 Steve Chaplin * cairo/pycairo-surface.c: drop 'pycairo_' prefix from all static function names. PyCairoSurface_Type remove casts for 0 values * examples/cairo_snippets/snippets/text.py: * examples/cairo_snippets/snippets/text_align_center.py: * examples/cairo_snippets/snippets/text_extents.py: use select_font_face() and set_font_size() 2005-04-10 Steve Chaplin * cairo/pycairo-pattern.c (pycairo_pattern_get_matrix): remove cairo_matrix_create * cairo/pycairo-surface.c (pycairo_surface_wrap): add 'base' arg, remove cairo_surface_destroy(surface) - the calling function must handle reference counts (pycairo_surface_dealloc): add Py_CLEAR(self->base) * cairo/pycairo-private.h: add second arg to pycairo_surface_wrap * cairo/pycairo.h: add second arg to pycairo_surface_wrap, add 'base' field to PyCairoSurface * cairo/pycairo-context.c (pycairo_get_target_surface): * cairo/pycairo-surface.c (pycairo_surface_create_similar): * cairo/cairomodule.c (pycairo_pdf_surface_create): (pycairo_ps_surface_create): * cairo/cairogtkmodule.c (surface_create_for_drawable) (surface_create_for_pixbuf, surface_create_for_pixmap) (surface_create_for_pixmap_with_visual) (surface_create_for_window_with_visual): * cairo/caironumpymodule.c (surface_create_for_array): update to use new pycairo_surface_wrap * cairo/cairomodule.c (pycairo_png_surface_create): delete * cairo/pycairo-surface.c (pycairo_surface_finish): new wrapper 2005-04-09 Steve Chaplin * cairo/pycairo-font.c (pycairo_font_extents): delete - its no longer a cairo_font_t method, its a a cairo_t method, and is already in pycairo-context.c 2005-04-09 Steve Chaplin * cairo/pycairo-pattern.c (pycairo_pattern_set_matrix): change matrix->matrix to &matrix->matrix 2005-04-09 Steve Chaplin * examples/gtk/hangman.py : change scale_font to set_font_size * examples/gtk/text.py : change scale_font to set_font_size, change change select_font to select_font_face 2005-04-09 Steve Chaplin * test/test.py : add python 2.4 check 2005-04-08 Dave Beckett * configure.ac: Remove 'dnl' in middle of PKG_CHECK_MODULES call which causes configure-time errors. 2005-04-08 Steve Chaplin * NOTES: remove notes on the old matrix implementation * cairo/pycairo.h: PyCairoMatrix: change cairo_matrix_t *matrix to cairo_matrix_t matrix * cairo/pycairo-context.c (pycairo_transform, pycairo_set_matrix) (pycairo_set_font_matrix, pycairo_identity_matrix): update matrix references to match change in pycairo.h * cairo/pycairo-matrix.c (pycairo_matrix_repr): (pycairo_matrix_richcmp): remove cairo_matrix_get_affine (pycairo_matrix_multiply): remove cairo_matrix_create (pycairo_matrix_invert): (pycairo_matrix_rotate): (pycairo_matrix_scale): (pycairo_matrix_translate): remove cairo_matrix_create and return Py_NONE, not a matrix * cairo/pycairo-surface.c (pycairo_surface_get_matrix): remove cairo_matrix_create (pycairo_surface_set_matrix): updated matrix reference 2005-04-08 Steve Chaplin * examples/warpedtext.py : change select_font to select_font_face, change scale_font to set_font_size * cairo/pycairo-private.h: * cairo/pycairo.h: change cairo_font_t to cairo_font_face_t * cairo/pycairo-context.c (pycairo_set_font): rename to pycairo_set_font_face (pycairo_get_font): rename to pycairo_get_font_face (pycairo_get_font_extents): rename to pycairo_font_extents, remove matrix arg (pycairo_select_font): rename to pycairo_select_font_face (pycairo_scale_font): rename to pycairo_set_font_size (pycairo_transform_font): rename to pycairo_set_font_matrix (pycairo_get_matrix): removed * cairo/pycairo-font.c (pycairo_font_wrap): change arg from cairo_font_t to cairo_font_face_t * cairo/pycairo-matrix.c : add comments to note deprecated functions (pycairo_matrix_init): replace cairo_matrix_set_affine() with cairo_matrix_init() 2005-04-07 Steve Chaplin * examples/warpedtext.py : call select_font() to fix problem where text_extents width==0 * examples/cairo_snippets/snippets_png.py: add silent mode for testing * examples/cairo_snippets/snippets_gtk.py: add horizontal scrollbar to gtkTextView (if required) * test/test.test: add test to run png snippets * cairo/pycairo-context.c (pycairo_text_extents) (pycairo_show_text, pycairo_text_path): change unsigned char* to char* to match cairo changes 2005-04-07 Steve Chaplin * examples/cairo_snippets/snippets_gtk.py : fix problem with M_PI 2005-04-06 Steve Chaplin * examples/cairo_snippets/snippets_png.py * examples/cairo_snippets/snippets_gtk.py : new examples * examples/cairo_snippets/c_to_python.py : change '.cairo' C snippets to python * examples/cairo_snippets/snippets/* : python snippets * examples/cairo_snippets/data/* : snippet data * cairo/pycairo-surface.c (pycairo_surface_create_for_data): add cast to unsigned char * * cairo/pycairo-context.c (pycairo_default_matrix): delete 2005-04-05 Steve Chaplin * cairo/pycairo-surface.c (pycairo_surface_create_for_png): new constructor * examples/gtk/png_view.py : new example 2005-04-05 Steve Chaplin * test/cairo_image_create_for_data.py : new test 2005-04-04 Steve Chaplin * cairo/pycairo-pattern.c (pycairo_pattern_create_for_surface) (pycairo_pattern_create_linear, pycairo_pattern_create_radial): update to handle case when ParseTuple fails * cairo/cairomodule.c (pycairo_image_surface_create_for_data): remove module function, replace with ... * cairo/pycairo-surface.c (pycairo_surface_create_for_data): add new alternative constructor 2005-04-04 Steve Chaplin * configure.ac : require Python 2.3 so we can use METH_CLASS for classmethods * README : note Python 2.3 is required * cairo/pycairo-pattern.c (pycairo_pattern_create_for_surface) (pycairo_pattern_create_linear, pycairo_pattern_create_radial): new alternative constructors (pycairo_pattern_new, pycairo_pattern_init): delete old constructor * examples/gradient.py * examples/warpedtext.py * examples/gtk/cairo-knockout.py : update to use new pattern constructors 2005-03-30 Steve Chaplin * cairo/pycairo-surface.c (pycairo_surface_write_png): new wrapper * cairo/pycairo-context.c (pycairo_set_target_png): remove * examples/context-subclass.py * examples/gradient.py * examples/hering.py * examples/warpedtext.py: update to use surface.write_png() 2005-03-25 Steve Chaplin * cairo/pycairosvg-context.c: add comments for missing functions 2005-03-22 Steve Chaplin * cairo/pycairo-context.c: Rename functions: cairo_concat_matrix -> cairo_transform cairo_transform_point -> cairo_user_to_device cairo_transform_distance -> cairo_user_to_device_distance cairo_inverse_transform_point -> cairo_device_to_user cairo_inverse_transform_distance-> cairo_device_to_user_distance cairo_init_clip -> cairo_reset_clip 2005-03-20 Steve Chaplin * examples/svg/svgview.py: allow filename to be passed as an argument to the program. 2005-03-20 Steve Chaplin * cairo/pycairo-surface.c (pycairo_surface_init): add Surface.__init__ to wrap cairo_image_surface_create() * examples/svg/svgview.py: scale svg image to fit the window size 2005-03-19 Steve Chaplin * examples/gtk/cairo-knockout.py, examples/gtk/cairo-demo.py, * examples/gtk/lsystem.py, examples/gtk/text.py: fixed expose_event problem by disabling double buffering - gdk double-buffering is enabled by default but does not do what you want when doing non-gdk (cairo) drawing. * examples/gtk/hangman.py: write to a pixmap first (double-buffered) to avoid window flicker when resizing. 2005-03-19 Steve Chaplin * cairo/pycairo-font.c (pycairo_font_extents): fix error where matrix should have been py_matrix->matrix * cairo/cairomodule.c (pycairo_check_status): add CAIRO_STATUS_INVALID_PATH_DATA, CAIRO_STATUS_WRITE_ERROR, CAIRO_STATUS_SURFACE_FINISHED * cairo/cairogtkmodule.c (surface_create_for_pixmap), (surface_create_for_pixmap_with_visual), (surface_create_for_window_with_visual): call cairo_xlib_surface_set_size() for maximum efficiency 2005-03-18 Steve Chaplin * configure.ac (CFLAGS): use -fno-strict-aliasing with gcc, if available 2005-03-18 Steve Chaplin * cairo/cairomodule.c (pycairo_pdf_surface_create), * cairo/pycairo-context.c (pycairo_set_target_pdf): temporary disable - prototype has changed. * cairo/cairogtkmodule.c (set_target_drawable): replace cairo_translate() with cairo_surface_set_device_offset() * cairo/pycairo-surface.c (pycairo_surface_set_device_offset): new wrapper 2005-03-18 Steve Chaplin * cairo/cairogtkmodule.c (surface_create_for_pixmap): auto determine cairo format from pixmap depth * cairo/pycairo-context.c (pycairo_get_pattern): don't check for pattern == NULL, since cairo_t always has a source pattern (pycairo_get_path): correct the function name string 2005-03-16 Steve Chaplin * cairo/cairogtkmodule.c (surface_create_for_pixmap), (surface_create_for_pixmap_with_visual), (surface_create_for_window_with_visual): new wrappers 2005-03-15 Steve Chaplin * cairo/pycairo-surface.c: add comment for missing functions 2005-03-14 Steve Chaplin * cairo/pycairo-context.c: change cairo_current_* to cairo_get_* * examples/warpedtext.py (PathWarp.warpPath): change current_path to get_path 2005-03-12 Steve Chaplin * cairo/cairogtkmodule.c (surface_create_for_pixbuf): rename cairo_surface_create_for_image() to cairo_image_surface_create_for_data() * test/test.py, test/test.test: new files 2005-03-12 Steve Chaplin * cairo/cairomodule.c: remove 'surface_create_for_image' (it was an alias to cairo_image_surface_create_for_data) * cairo/caironumpymodule.c (surface_create_for_array): rename cairo_surface_create_for_image() to cairo_image_surface_create_for_data() * cairo/cairosvgmodule.c (initsvg): rename svg_methods to svg_functions === Pycairo 0.4.0 === 2005-03-10 Steve Chaplin * configure.ac: require cairo >= 0.4.0 increase pycairo version to 0.4.0 * README: note cairo >= 0.4.0 is required 2005-03-10 Steve Chaplin * cairo/cairomodule.c (pycairo_check_status): add CAIRO_STATUS_INVALID_STRING * cairo/pycairo-context.c (pycairo_current_font): if !font display error message * cairo/pycairo-font.c (pycairo_font_set_transform) (pycairo_font_current_transform): remove the (already commented out) functions. (cairo_font_extents): new wrapper 2005-03-08 Steve Chaplin * examples/gtk/hangman.py: new example moved over from cairo-demo/python/, updated to remove DeprecationWarnings. * examples/Makefile.am (EXTRA_DIST): add hangman.py 2005-03-02 Steve Chaplin * cairo/pycairo.h: include cairo-pdf.h 2005-03-02 Steve Chaplin * cairo/pycairo.h: * cairo/cairogtkmodule.c: move '#include ' from pycairo.h to cairogtkmodule.c - the only place where its needed. Remove the '#ifdef CAIRO_HAS_XLIB_SURFACE' since its already in cairo-xlib.h 2005-03-02 Steve Chaplin * configure.ac: increase libsvg_cairo_required_version to 0.1.5 * examples/Makefile.am (EXTRA_DIST): change paths so that svg examples are now in examples/svg/ 2005-02-16 Carl Worth * cairo/pycairo.h: Wrap include of cairo-xlib.h in CAIRO_HAS_XLIB_SURFACE. * autogen.sh: Call all autotool commands through environment variables. Thanks to Rui Lopes. 2005-02-16 Steve Chaplin * configure.ac: add examples/Makefile to AC_CONFIG_FILES (omitted from last commit) * examples: move gtk examples (cairo-demo.py, cairo-knockout.py, lsystem.py, text.py) to their own subdirectory examples/gtk * examples/Makefile.am (EXTRA_DIST): update paths to gtk examples 2005-02-05 Steve Chaplin * INSTALL: new file * README: move install notes to INSTALL; add reference to the mailing list * Makefile.am (SUBDIRS): add examples * examples/Makefile.am: new file with EXTRA_DIST listing examples/*.py * configure.ac: add examples/Makefile to AC_CONFIG_FILES 2005-01-26 Steve Chaplin * configure.ac: require Cairo 0.3.0 * README: mention cairo 0.3.0 is required * cairo/pycairo-font.c (pycairo_font_set_transform): (pycairo_font_current_transform): comment out - they give compile warnings and it looks like the cairo functions are no longer available. 2005-01-20 Carl Worth * cairo/pycairo.h: Track split-up of cairo.h. 2005-01-12 Steve Chaplin * configure.ac: Increment pycairo version to 0.1.4 * Makefile.am (EXTRA_DIST): add examples/svg2png.py and examples/svgview.py * NEWS: add notes for 0.1.4 snapshot * README: add version numbers required for libsvg-cairo and pygtk * RELEASING: move 'make distcheck' (step 2) to after step 5 2005-01-12 Steve Chaplin * cairo/cairomodule.c (pycairo_pdf_surface_create): new wrapper * cairo/pycairo-context.c (pycairo_set_target_pdf): new wrapper * examples/cairo-knockout.py: add comment noting expose event bug * examples/text.py: increase window height so "Hello World" is not clipped 2004-12-28 Steve Chaplin * cairo/Makefile.am: Change HAVE_GTK to WITH_PYGTK * configure.ac: add --without-pygtk option * README: add './configure --without-pygtk' example 2004-12-14 Steve Chaplin * README: added notes to describe compiling and how to avoid PYTHONPATH problems * configure.ac: report the 'prefix' at the end of configure 2004-12-10 Steve Chaplin Add libsvg-cairo support * configure.ac: add checks for libsvg-cairo * cairo/Makefile.am: add libsvg-cairo support New files * cairo/cairosvgmodule.c: * cairo/pycairosvg-context.c: * cairo/pycairo-misc.h: * cairo/pycairosvg-private.h: * examples/svg2png.py: * examples/svgview.py: 2004-12-10 Steve Chaplin * cairo/cairogtkmodule.c: * cairo/cairomodule.c: * cairo/caironumpymodule.c (surface_create_for_array): * cairo/pycairo-font.c: * cairo/pycairo-context.c: * cairo/pycairo.h: * cairo/pycairo-matrix.c: * cairo/pycairo-pattern.c: * cairo/pycairo-private.h: * cairo/pycairo-surface.c: change _new() functions to _wrap() to allow _new() to be used for python __new__ functions. 2004-12-06 Steve Chaplin * cairo/pycairo-pattern.c (pycairo_pattern_init): remove a commented out line * cairo/pycairo-surface.c (pycairo_surface_set_repeat), (pycairo_surface_get_matrix, pycairo_surface_set_filter): add status check 2004-12-05 Steve Chaplin * cairo/pycairo-context.c: remove the "#if 0" section 2004-12-04 Steve Chaplin * cairo/cairomodule.c (pycairo_check_status): Add CAIRO_STATUS_NULL_POINTER 2004-12-01 Steve Chaplin * cairo/pycairo-private.h: define Py_RETURN_NONE, Py_RETURN_TRUE, Py_RETURN_FALSE, Py_CLEAR if using python < 2.4 * cairo/pycairo-matrix.c (pycairo_matrix_richcmp): return Py_NotImplemented instead of Py_None * cairo/pycairo-context.c: * cairo/pycairo-font.c (pycairo_font_set_transform): * cairo/pycairo-pattern.c: * cairo/pycairo-surface.c: change all occurences of "Py_INCREF(Py_None); return Py_None;" to "Py_RETURN_NONE;" 2004-12-01 Steve Chaplin * cairo/cairogtkmodule.c: * cairo/cairomodule.c: * cairo/caironumpymodule.c: * cairo/pycairo-context.c: * cairo/pycairo-font.c: * cairo/pycairo.h: * cairo/pycairo-matrix.c: * cairo/pycairo-pattern.c: * cairo/pycairo-private.h: * cairo/pycairo-surface.c: Added header comments referencing the LGPL and MPL licenses. 2004-11-30 Steve Chaplin * COPYING: Changed to reference LGPL and MPL * COPYING-LGPL-2.1, COPYING-MPL-1.1: new files * Makefile.am (EXTRA_DIST): add COPYING* 2004-11-28 Steve Chaplin * Makefile.am (EXTRA_DIST): add NOTES, examples/context-subclass.py, examples/warpedtext.py * NEWS: remove notes for Snapshot 0.1.2 - the snapshot was not completed and released, 0.1.3 is the first snapshot. * configure.ac: define VERSION_INFO * cairo/__init__.py.in (version_info): use VERSION_INFO from configure.ac 2004-11-24 Carl Worth * Makefile.am (RELEASE_UPLOAD_DIR): Update directory due to filesystem reorganization from server rebuild. * NEWS: Add notes for 0.1.3 snapshot. * configure.ac: Increment pycairo version to 0.1.3. * RELEASING: Some cleanups since copying this file over from cairo, (mostly s/cairo/pycairo/) 2004-11-23 Steve Chaplin * cairo/pycairo-context.c (pycairo_context_new): rename to pycairo_context_wrap to avoid confusion with the Context.__new__ method (pycairo_init): rename to pycairo_new, ignore any args/kwds, add to tp_new slot - to prevent Context.__init__ being overridden and cairo_create() not being called * cairo/pycairo.h (pycairo_context_wrap): rename pycairo_context_new to pycairo_context_wrap * cairo/pycairo-private.h (pycairo_font_new): same * cairo/cairomodule.c: same * acinclude.m4: quote AM_CHECK_PYMOD to silence warning message 2004-11-15 Steve Chaplin * cairo/pycairo-context.c: make Context subclassable (pycairo_current_font_extents): new wrapper (pycairo_fill_extents, pycairo_stroke_extents): remove the unnecessary x1,y1,x2,y2 args and change from a method to an attribute (pycairo_show_text): remove the second check of cairo status * examples/context-subclass.py: new example showing Context subclassing * NOTES: new file describing some features of the bindings 2004-11-15 Steve Chaplin * cairo/pycairo-context.c (pycairo_current_path) (pycairo_current_path_flat): new wrappers * examples/warpedtext.py: new example using cairo_current_path Changes submitted by Maarten Breddels 2004-11-14 Steve Chaplin * cairo/cairomodule.c (pycairo_surface_create_for_image): rename to pycairo_image_surface_create_for_data (pycairo_png_surface_create, pycairo_ps_surface_create): add wrappers (init_cairo): add new constants FILTER_GAUSSIAN, EXTEND_NONE, EXTEND_REPEAT, EXTEND_REFLECT * cairo/pycairo-context.c (pycairo_in_stroke, pycairo_in_fill) (pycairo_stroke_extents, pycairo_fill_extents, pycairo_init_clip) (pycairo_current_pattern, pycairo_text_path): new wrappers * cairo/pycairo-pattern.c (pycairo_pattern_set_matrix) (pycairo_pattern_set_extend, pycairo_pattern_set_filter) (pycairo_pattern_get_matrix, pycairo_pattern_get_extend) (pycairo_pattern_get_filter): new wrappers * cairo/pycairo-surface.c (pycairo_surface_get_matrix): Change from being a method to being an attribute. (pycairo_surface_get_filter): new wrapper * cairo/pycairo.h: additions for pattern Changes submitted by Maarten Breddels 2004-11-14 Steve Chaplin Preparation for making the first snapshot release: * AUTHORS: Add myself * configure.ac: Add automake version check * Makefile.am: Remove automake version check. Add all the examples to EXTRA_DIST. Add release targets, copied from cairo. * NEWS: Added info about the first snapshot * README: Updated * RELEASING: New file, copied from cairo. * cairo/Makefile.am: Rename INCLUDES to AM_CPPFLAGS * cairo/pycairo-pattern.c (pycairo_pattern_init): Add 'return -1' after an error. (pycairo_pattern_wrap): new function * cairo/pycairo-private.h: new declaration pattern_wrap() 2004-11-13 Steve Chaplin * configure.ac: * cairo/__init__.py.in: Add support for version numbers. 2004-11-11 Steve Chaplin * examples/cairo-demo.py: Move the missing 6th row into view. * examples/hering.py: Remove unnecessary fileObject.close() * examples/spiral.py: Simplify - draw to a bounded-box instead of drawing the whole page. 2004-11-09 Steve Chaplin * configure.ac: After configure runs show which modules will be compiled. Raise cairo required version to 0.2.0. Raise autoconf required version to 2.54. 2004-11-04 Carl Worth Fixes for set_pattern from Steve Chaplin : * examples/cairo-knockout.py: Bring up-to-date with latest cairo-knockout.c. Now uses cairo_arc rather than custom arc approximation, and now uses new cairo.set_pattern. * cairo/pycairo.h: Add declaration for struct PyCairoPattern. * cairo/pycairo-context.c (pycairo_set_pattern): Re-enable pycairo_set_pattern now that it uses PyCairoPattern_Type. * cairo/cairomodule.c (init_cairo): Add PyCairoPattern_Type * cairo/pycairo-pattern.c: New file to bind to cairo_pattern_t. 2004-11-02 Carl Worth * examples/spiral.py: * examples/hering.py: New examples from Steve Chaplin to demonstrate PNG and PS output. * cairo/pycairo-context.c (pycairo_set_target_ps) (pycairo_set_target_png): Fixes from Steve Chaplin. (pycairo_set_pattern): Disable set_pattern as this wrapper is currently broken. (pycairo_methods): Fix binding of copy_page. * cairo/Makefile.am (gtk_la_LIBADD): Add CAIRO_LIBS which was mistakenly dropped in a recent change. 2004-11-01 Carl Worth * cairo/pycairo-context.c (pycairo_set_target_ps) (pycairo_set_target_png, pycairo_copy_page, pycairo_show_page): Add missing functions. Thanks to Steve Chaplin . * cairo/Makefile.am (INCLUDES): Add CAIRO_CFLAGS so that things compile even without pygtk. * configure.ac: Don't re-do cairo pkg-config check when checking for gtk. * autogen.sh: If user has not set AUTOMAKE, then just use automake rather than automake-1.7. 2004-08-23 Øyvind Kolås * cairo/gtkcairomodule.c: cairo-xlib.h -> cairo.h 2004-04-29 Carl Worth * examples/text.py (expose_event): Hook up text_extents now that it is working. * cairo/pycairo-context.c (pycairo_text_extents): Hook up the text extents code, (it hadn't been working in cairo some time ago). 2003-11-14 Carl Worth * examples/cairo-demo.py: Add #! magic. * examples/cairo-knockout.py: Add #! magic. * examples/text.py: Fixed to not call cairo.text_extents since cairo_text_extents is not currently working. * cairo/pycairo-surface.c: Removed calls to cairo_surface_create_similar_solid which no longer exists in cairo. * cairo/cairomodule.c (init_cairo): Removed DISJOINT/CONJOINT operators that are no longer in cairo. 2003-10-28 James Henstridge * cairo/pycairo-context.c (pycairo_set_font): wrap function. (pycairo_current_font): add accessor. * cairo/pycairo-font.c: wrapper for Cairo font type. * cairo/pycairo-context.c (pycairo_select_font): update to new signature. (pycairo_transform_font): update to new signature. (pycairo_context_new): release context if wrapper could not be created. 2003-10-09 James Henstridge * cairo/cairogtkmodule.c (surface_create_for_drawable): change to use new function. * cairo/pycairo-context.c (pycairo_copy): change to new cairo_copy() semantics. (pycairo_arc): add wrapper. (pycairo_arc_negative): add wrapper. * cairo/pycairo-surface.c: same here. * cairo/pycairo-matrix.c: same here. * cairo/pycairo-context.c: don't cast to freefunc, as it didn't exist in 2.2. 2003-09-24 James Henstridge * examples/text.py (drawingarea): same here. * examples/cairo-demo.py (expose): same here. * examples/cairo-knockout.py (main): modify to make use of GTK double buffering. * cairo/cairogtkmodule.c (set_target_drawable): new function that sets a context to draw on to a specified GdkDrawable, taking into account the temporary pixmap GTK might be using for double buffering. * cairo/pycairo.h: expose check_status through the public API. 2003-09-23 James Henstridge * examples/cairo-knockout.py: another example. * examples/cairo-demo.py (SIZE): simple conversion of one of the Cairo demos. 2003-09-17 James Henstridge * examples/text.py (expose_event): set line width to 6 rather than 5. This makes the line edges align with the pixel boundaries. * cairo/cairomodule.c (pycairo_surface_create_for_image): add wrapper. * cairo/caironumpymodule.c (surface_from_array): new helper module for creating surfaces from Numeric Python arrays. * configure.in (export_dynamic): define conditionals for presence of GTK and Numeric Python. * cairo/pycairo-context.c (pycairo_current_target_surface): add wrapper.