Cairo
view release on metacpan or search on metacpan
CairoSurface.xs view on Meta::CPAN
#endif
OUTPUT:
RETVAL
#endif
# --------------------------------------------------------------------------- #
#ifdef CAIRO_HAS_PDF_SURFACE
MODULE = Cairo::Surface PACKAGE = Cairo::PdfSurface PREFIX = cairo_pdf_surface_
BOOT:
cairo_perl_set_isa ("Cairo::PdfSurface", "Cairo::Surface");
##cairo_surface_t * cairo_pdf_surface_create (const char *filename, double width_in_points, double height_in_points);
cairo_surface_t_noinc * cairo_pdf_surface_create (class, const char *filename, double width_in_points, double height_in_points)
C_ARGS:
filename, width_in_points, height_in_points
POSTCALL:
#if CAIRO_VERSION < CAIRO_VERSION_ENCODE(1, 2, 0)
cairo_perl_package_table_insert (RETVAL, "Cairo::PdfSurface");
#endif
##cairo_surface_t * cairo_pdf_surface_create_for_stream (cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points);
cairo_surface_t_noinc *
cairo_pdf_surface_create_for_stream (class, SV *func, SV *data, double width_in_points, double height_in_points)
PREINIT:
CairoPerlCallback *callback;
CODE:
callback = cairo_perl_callback_new (func, data);
RETVAL = cairo_pdf_surface_create_for_stream (write_func_marshaller,
callback,
width_in_points,
height_in_points);
cairo_surface_set_user_data (
RETVAL, (const cairo_user_data_key_t *) &callback, callback,
(cairo_destroy_func_t) cairo_perl_callback_free);
#if CAIRO_VERSION < CAIRO_VERSION_ENCODE(1, 2, 0)
cairo_perl_package_table_insert (RETVAL, "Cairo::PdfSurface");
#endif
OUTPUT:
RETVAL
#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 2, 0)
void cairo_pdf_surface_set_size (cairo_surface_t *surface, double width_in_points, double height_in_points);
#endif
#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 10, 0)
void cairo_pdf_surface_restrict_to_version (cairo_surface_t *surface, cairo_pdf_version_t version);
# void cairo_pdf_get_versions (cairo_pdf_version_t const **versions, int *num_versions);
void
cairo_pdf_surface_get_versions (class=NULL)
PREINIT:
cairo_pdf_version_t const *versions = NULL;
int num_versions = 0, i;
PPCODE:
PERL_UNUSED_VAR (ax);
cairo_pdf_get_versions (&versions, &num_versions);
EXTEND (sp, num_versions);
for (i = 0; i < num_versions; i++)
PUSHs (sv_2mortal (newSVCairoPdfVersion (versions[i])));
# const char * cairo_pdf_version_to_string (cairo_pdf_version_t version);
const char *
cairo_pdf_surface_version_to_string (...)
CODE:
if (items == 1) {
RETVAL = cairo_pdf_version_to_string (SvCairoPdfVersion (ST (0)));
} else if (items == 2) {
RETVAL = cairo_pdf_version_to_string (SvCairoPdfVersion (ST (1)));
} else {
RETVAL = NULL;
croak ("Usage: Cairo::PdfSurface::version_to_string (version) or Cairo::PdfSurface->version_to_string (version)");
}
OUTPUT:
RETVAL
#endif
#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 16, 0)
int cairo_pdf_surface_add_outline (cairo_surface_t *surface, int parent_id, const char *utf8, const char *link_attribs, cairo_pdf_outline_flags_t flags);
BOOT:
HV *stashpdfsurface = gv_stashpv("Cairo::PdfSurface", 0);
newCONSTSUB(stashpdfsurface, "OUTLINE_ROOT", newSViv(CAIRO_PDF_OUTLINE_ROOT));
void cairo_pdf_surface_set_metadata (cairo_surface_t *surface, cairo_pdf_metadata_t metadata, const char_utf8 * utf8);
void cairo_pdf_surface_set_page_label (cairo_surface_t *surface, const char *utf8);
void cairo_pdf_surface_set_thumbnail_size (cairo_surface_t *surface, int width, int height);
#endif
#endif
# --------------------------------------------------------------------------- #
#ifdef CAIRO_HAS_PS_SURFACE
MODULE = Cairo::Surface PACKAGE = Cairo::PsSurface PREFIX = cairo_ps_surface_
BOOT:
cairo_perl_set_isa ("Cairo::PsSurface", "Cairo::Surface");
##cairo_surface_t * cairo_ps_surface_create (const char *filename, double width_in_points, double height_in_points);
cairo_surface_t_noinc * cairo_ps_surface_create (class, const char *filename, double width_in_points, double height_in_points)
C_ARGS:
filename, width_in_points, height_in_points
POSTCALL:
#if CAIRO_VERSION < CAIRO_VERSION_ENCODE(1, 2, 0)
cairo_perl_package_table_insert (RETVAL, "Cairo::PsSurface");
#endif
##cairo_surface_t * cairo_ps_surface_create_for_stream (cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points);
cairo_surface_t_noinc *
cairo_ps_surface_create_for_stream (class, SV *func, SV *data, double width_in_points, double height_in_points)
PREINIT:
CairoPerlCallback *callback;
CODE:
callback = cairo_perl_callback_new (func, data);
RETVAL = cairo_ps_surface_create_for_stream (write_func_marshaller,
callback,
width_in_points,
height_in_points);
cairo_surface_set_user_data (
RETVAL, (const cairo_user_data_key_t *) &callback, callback,
(cairo_destroy_func_t) cairo_perl_callback_free);
#if CAIRO_VERSION < CAIRO_VERSION_ENCODE(1, 2, 0)
cairo_perl_package_table_insert (RETVAL, "Cairo::PsSurface");
#endif
OUTPUT:
RETVAL
#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 2, 0)
void cairo_ps_surface_set_size (cairo_surface_t *surface, double width_in_points, double height_in_points);
void cairo_ps_surface_dsc_comment (cairo_surface_t *surface, const char *comment);
void cairo_ps_surface_dsc_begin_setup (cairo_surface_t *surface);
void cairo_ps_surface_dsc_begin_page_setup (cairo_surface_t *surface);
#endif
#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 6, 0)
void cairo_ps_surface_restrict_to_level (cairo_surface_t *surface, cairo_ps_level_t level);
# void cairo_ps_get_levels (cairo_ps_level_t const **levels, int *num_levels);
void
cairo_ps_surface_get_levels (class=NULL)
PREINIT:
cairo_ps_level_t const *levels = NULL;
int num_levels = 0, i;
PPCODE:
PERL_UNUSED_VAR (ax);
cairo_ps_get_levels (&levels, &num_levels);
EXTEND (sp, num_levels);
for (i = 0; i < num_levels; i++)
PUSHs (sv_2mortal (newSVCairoPsLevel (levels[i])));
# const char * cairo_ps_level_to_string (cairo_ps_level_t level);
const char *
cairo_ps_surface_level_to_string (...)
CODE:
if (items == 1) {
RETVAL = cairo_ps_level_to_string (SvCairoPsLevel (ST (0)));
} else if (items == 2) {
RETVAL = cairo_ps_level_to_string (SvCairoPsLevel (ST (1)));
} else {
RETVAL = NULL;
croak ("Usage: Cairo::PsSurface::level_to_string (level) or Cairo::PsSurface->level_to_string (level)");
}
OUTPUT:
RETVAL
void cairo_ps_surface_set_eps (cairo_surface_t *surface, cairo_bool_t eps);
cairo_bool_t cairo_ps_surface_get_eps (cairo_surface_t *surface);
#endif
#endif
# --------------------------------------------------------------------------- #
# The SVG surface doesn't need the special package treatment because it didn't
# exist in cairo 1.0.
#ifdef CAIRO_HAS_SVG_SURFACE
MODULE = Cairo::Surface PACKAGE = Cairo::SvgSurface PREFIX = cairo_svg_surface_
BOOT:
cairo_perl_set_isa ("Cairo::SvgSurface", "Cairo::Surface");
# cairo_surface_t * cairo_svg_surface_create (const char *filename, double width_in_points, double height_in_points);
cairo_surface_t_noinc *
cairo_svg_surface_create (class, const char *filename, double width_in_points, double height_in_points)
C_ARGS:
filename, width_in_points, height_in_points
# cairo_surface_t * cairo_svg_surface_create_for_stream (cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points);
cairo_surface_t_noinc *
cairo_svg_surface_create_for_stream (class, SV *func, SV *data, double width_in_points, double height_in_points)
PREINIT:
CairoPerlCallback *callback;
CODE:
callback = cairo_perl_callback_new (func, data);
RETVAL = cairo_svg_surface_create_for_stream (write_func_marshaller,
callback,
width_in_points,
height_in_points);
cairo_surface_set_user_data (
RETVAL, (const cairo_user_data_key_t *) &callback, callback,
(cairo_destroy_func_t) cairo_perl_callback_free);
OUTPUT:
RETVAL
void cairo_svg_surface_restrict_to_version (cairo_surface_t *surface, cairo_svg_version_t version);
# void cairo_svg_get_versions (cairo_svg_version_t const **versions, int *num_versions);
void
cairo_svg_surface_get_versions (class=NULL)
PREINIT:
cairo_svg_version_t const *versions = NULL;
int num_versions = 0, i;
PPCODE:
PERL_UNUSED_VAR (ax);
cairo_svg_get_versions (&versions, &num_versions);
EXTEND (sp, num_versions);
for (i = 0; i < num_versions; i++)
PUSHs (sv_2mortal (newSVCairoSvgVersion (versions[i])));
# const char * cairo_svg_version_to_string (cairo_svg_version_t version);
const char *
cairo_svg_surface_version_to_string (...)
CODE:
if (items == 1) {
RETVAL = cairo_svg_version_to_string (SvCairoSvgVersion (ST (0)));
} else if (items == 2) {
RETVAL = cairo_svg_version_to_string (SvCairoSvgVersion (ST (1)));
} else {
RETVAL = NULL;
croak ("Usage: Cairo::SvgSurface::version_to_string (version) or Cairo::SvgSurface->version_to_string (version)");
}
OUTPUT:
RETVAL
#endif
# --------------------------------------------------------------------------- #
# The recording surface doesn't need the special package treatment because it
# didn't exist in cairo 1.0.
#ifdef CAIRO_HAS_RECORDING_SURFACE
MODULE = Cairo::Surface PACKAGE = Cairo::RecordingSurface PREFIX = cairo_recording_surface_
BOOT:
cairo_perl_set_isa ("Cairo::RecordingSurface", "Cairo::Surface");
# cairo_surface_t * cairo_recording_surface_create (cairo_content_t, const cairo_rectangle_t *extents);
cairo_surface_t_noinc *
cairo_recording_surface_create (class, cairo_content_t content, cairo_rectangle_t_ornull *extents)
C_ARGS:
content, extents
void cairo_recording_surface_ink_extents (cairo_surface_t *surface, OUTLIST double x0, OUTLIST double y0, OUTLIST double width, OUTLIST double height);
#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 12, 0)
# cairo_bool_t cairo_recording_surface_get_extents (cairo_surface_t *surface, cairo_rectangle_t *extents);
cairo_rectangle_t *
cairo_recording_surface_get_extents (cairo_surface_t *surface)
PREINIT:
cairo_bool_t status;
cairo_rectangle_t rect;
CODE:
status = cairo_recording_surface_get_extents (surface, &rect);
RETVAL = status ? &rect : NULL;
OUTPUT:
RETVAL
#endif
#endif
( run in 1.189 second using v1.01-cache-2.11-cpan-71847e10f99 )