head 1.7; access; symbols rel-1-060:1.6 rel-1-053:1.6 rel-1-052:1.6 rel-1-045:1.6 rel-1-051:1.6 rel-1-044:1.6 stable-1-04:1.6.0.2 stable-1-02:1.4.0.4 rel-1-050:1.6 rel-1-043:1.6 rel-1-042:1.5 rel-1-041:1.5 rel-1-040:1.5 rel-1-023:1.4 rel-1-031:1.5 rel-1-022:1.4 rel-1-030:1.5 rel-1-021:1.4 stable-1-0:1.4.0.2 rel-1-02:1.4 rel-1-01:1.4 rel-1-00:1.4 rel-0-92:1.4 rel-0-91:1.4 rel-0-90:1.3 rel-0-04:1.2; locks; strict; comment @ * @; 1.7 date 2008.10.05.19.59.41; author tsch; state Exp; branches; next 1.6; commitid jap73dqgVgT1Atlt; 1.6 date 2007.09.30.12.54.32; author tsch; state Exp; branches; next 1.5; commitid PfPFbmmBLvIy9Lzs; 1.5 date 2006.11.09.19.43.43; author tsch; state Exp; branches; next 1.4; 1.4 date 2006.08.10.17.34.40; author tsch; state Exp; branches; next 1.3; 1.3 date 2006.07.15.14.41.11; author tsch; state Exp; branches; next 1.2; 1.2 date 2006.05.14.13.43.10; author tsch; state Exp; branches; next 1.1; 1.1 date 2006.05.07.14.17.39; author tsch; state Exp; branches; next ; desc @@ 1.7 log @In preparation of the move to SVN, use the Id keyword in place of Header. @ text @/* * Copyright (c) 2004-2005 by the cairo perl team (see the file README) * * Licensed under the LGPL, see LICENSE file for more information. * * $Id: /cvs/cairo/cairo-perl/cairo-perl-private.h,v 1.6 2007-09-30 12:54:32 tsch Exp $ * */ #ifndef _CAIRO_PERL_PRIVATE_H_ #define _CAIRO_PERL_PRIVATE_H_ #include "ppport.h" void * cairo_perl_alloc_temp (int nbytes); void cairo_perl_set_isa (const char * child_package, const char * parent_package); cairo_matrix_t * cairo_perl_copy_matrix (cairo_matrix_t *matrix); #if CAIRO_VERSION < CAIRO_VERSION_ENCODE(1, 2, 0) void cairo_perl_package_table_insert (void *pointer, const char *package); const char * cairo_perl_package_table_lookup (void *pointer); #endif #define CAIRO_PERL_CHECK_STATUS(status) \ if (CAIRO_STATUS_SUCCESS != status) { \ SV *errsv = get_sv ("@@", TRUE); \ sv_setsv (errsv, newSVCairoStatus (status)); \ croak (Nullch); \ } #endif /* _CAIRO_PERL_PRIVATE_H_ */ @ 1.6 log @ * ppport.h * Cairo.xs * CairoPath.xs * CairoPattern.xs * CairoSurface.xs * MANIFEST * cairo-perl-private.h * cairo-perl.h: Add and use the portability header ppport.h from Devel::PPPort to hopefully fix compilation on older perls. @ text @d6 1 a6 1 * $Header: /cvs/cairo/cairo-perl/cairo-perl-private.h,v 1.5 2006-11-09 19:43:43 tsch Exp $ @ 1.5 log @ * Cairo.xs, cairo-perl-private.h: Export cairo_perl_alloc_temp privately. * Cairo.xs: Remove the DOUBLES_ macros and inline them. They were used only in one place. * Cairo.xs, t/Cairo.t: Wrap cairo_get_dash. * CairoPattern.xs, cairo-perl-private.h, t/CairoPattern.t: Wrap cairo_pattern_get_rgba, cairo_pattern_get_surface, cairo_pattern_get_color_stop_rgba, cairo_pattern_get_points, and cairo_pattern_get_circles. * Makefile.PL: Support new cairo_status_t values. @ text @d6 1 a6 1 * $Header: /cvs/cairo/cairo-perl/cairo-perl-private.h,v 1.4 2006/08/10 17:34:40 tsch Exp $ d13 2 @ 1.4 log @ * Cairo.xs, CairoFont.xs, CairoPattern.xs, CairoSurface.xs, MakeHelper.pm, Makefile.PL, cairo-perl-private.h, t/Cairo.t, t/CairoFont.t, t/CairoPattern.t, t/CairoSurface.t: Make it possible to compile and run the bindings against cairo 1.0.x. Use a package lookup table for patterns and surfaces to work around the lack of type accessors. Add version guards around things that were introduced in 1.2.0. * CairoSurface.xs: Use OUTLIST for cairo_surface_get_device_offset. * CairoPattern.xs, CairoSurface.xs, cairo-perl-private.h: Rename cair_perl_set_isa to cairo_perl_set_isa. Doh! * t/CairoSurface.t: Explicitly clear the image surface on cairo 1.0.x before writing it out since 1.0.x doesn't do it for us. Use lexical surface variables to make sure they get destroyed before execution ends which in turn makes sure all tests inside callbacks are run before Test::More checks if reality matches the test plan. @ text @d6 1 a6 1 * $Header: /cvs/cairo/cairo-perl/cairo-perl-private.h,v 1.3 2006/07/15 14:41:11 tsch Exp $ d13 2 d27 7 @ 1.3 log @ * Cairo.pm, Cairo.xs, CairoPattern.xs, CairoSurface.xs, cairo-perl-private.h: Add cairo_perl_set_isa and use it for surfaces and patterns. * CairoSurface.xs, Makefile.PL, cairo-perl.h, t/CairoSurface.t: Add support for svg surfaces if available. * t/CairoSurface.t: Remove TODO block and revert workaround related to the weird unknown surface types. It's been fixed upstream: https://bugs.freedesktop.org/show_bug.cgi?id=7322 @ text @d6 1 a6 1 * $Header: /cvs/cairo/cairo-perl/cairo-perl-private.h,v 1.2 2006/05/14 13:43:10 tsch Exp $ d13 1 a13 1 void cair_perl_set_isa (const char * child_package, const char * parent_package); d17 8 @ 1.2 log @ * t/CairoSurface.t, CairoSurface.xs: Remove Cairo::Surface::finish; it's memory management related and not needed, as far as I can tell. Scream if you used it. * t/CairoSurface.t, CairoSurface.xs: Bind and test cairo_surface_write_to_png_stream, cairo_image_surface_create_from_png_stream, cairo_pdf_surface_create_for_stream, and cairo_ps_surface_create_for_stream. * CairoSurface.xs: Don't leak cairo_surface_create_similar's return value. * cairo-perl-private.h: Remove CAIRO_PERL_UNUSED. * cairo-perl-private.h, Cairo.xs, CairoFont.xs, CairoMatrix.xs, CairoPattern.xs: Rename pcairo_copy_matrix to cairo_perl_copy_matrix. * TODO: Update. @ text @d6 1 a6 1 * $Header: /cvs/cairo/cairo-perl/cairo-perl-private.h,v 1.1 2006/05/07 14:17:39 tsch Exp $ d13 2 @ 1.1 log @ * .cvsignore, MANIFEST.SKIP: Update. * Cairo.pm: Update copyright notice. * MANIFEST, cairo-perl-private.h: Add a private header file for non-public declarations that are used in more than one place. * MakeHelper.pm: Improve the enum converters to produce more useful error messages. * Makefile.PL: Incorporate a slightly modified patch from Christopher Oezbek to prompt the user if he wants to install EU::Depends and EU::PkgConfig if they can't be found. Require cairo >= 1.1.6. Update and rearrange enums. * cairo-perl.h, Cairo.xs: Move CAIRO_PERL_CALL_BOOT to Cairo.xs. * cairo-perl.h, CairoSurface.xs, CairoPattern.xs, Makefile.PL: Use cairo_surface_get_type and cairo_pattern_get_type to redo the sub-type handling for surfaces and patterns. * cairo-perl-private.h, Cairo.xs, CairoMatrix.xs, CairoPattern.xs: Add pcairo_copy_matrix and use it all over the place to make matrix handling more robust. * Cairo.xs, t/Cairo.t: Wrap cairo_version, cairo_version_string, cairo_push_group, cairo_push_group_with_content, cairo_pop_group, cairo_pop_group_to_source, cairo_new_sub_path, cairo_set_scaled_font, and cairo_get_group_target. * CairoFont.xs, t/CairoFont.t: Wrap cairo_font_face_get_type, cairo_scaled_font_get_type, cairo_scaled_font_text_extents, cairo_scaled_font_get_font_face, cairo_scaled_font_get_font_matrix, cairo_scaled_font_get_ctm, and cairo_scaled_font_get_font_options. * CairoPattern.xs, t/CairoPattern.t: Wrap cairo_pattern_get_type. * CairoSurface.xs, t/CairoSurface.t: Wrap cairo_surface_get_device_offset, cairo_surface_get_type, cairo_pdf_surface_set_size, cairo_ps_surface_set_dpi, cairo_ps_surface_set_size, cairo_ps_surface_dsc_comment, cairo_ps_surface_dsc_begin_setup, and cairo_ps_surface_dsc_begin_setup. @ text @d6 1 a6 1 * $Header: /cvs/cairo/cairo-perl/cairo-perl.h,v 1.8 2006/01/29 19:27:21 tsch Exp $ d13 1 a13 3 #define CAIRO_PERL_UNUSED(var) if (0) { (var) = (var); } cairo_matrix_t * pcairo_copy_matrix (cairo_matrix_t *matrix); @