Gnome2-Rsvg

 view release on metacpan or  search on metacpan

xs/Rsvg.xs  view on Meta::CPAN

	LEAVE;
}

/* ------------------------------------------------------------------------- */

#if LIBRSVG_CHECK_VERSION (2, 14, 0)

static SV *
newSVRsvgDimensionData (RsvgDimensionData *data)
{
	HV *hv;

	if (!data)
		return &PL_sv_undef;

	hv = newHV ();
	hv_store (hv, "width", 5, newSViv (data->width), 0);
	hv_store (hv, "height", 6, newSViv (data->height), 0);
	hv_store (hv, "em", 2, newSVnv (data->em), 0);
	hv_store (hv, "ex", 2, newSVnv (data->ex), 0);

	return newRV_noinc ((SV *) hv);
}

#endif

#if LIBRSVG_CHECK_VERSION (2, 22, 0)

static SV *
newSVRsvgPositionData (RsvgPositionData *data)
{
	HV *hv;

	if (!data)
		return &PL_sv_undef;

	hv = newHV ();
	hv_store (hv, "x", 1, newSViv (data->x), 0);
	hv_store (hv, "y", 1, newSVnv (data->y), 0);

	return newRV_noinc ((SV *) hv);
}

#endif

/* ------------------------------------------------------------------------- */


MODULE = Gnome2::Rsvg	PACKAGE = Gnome2::Rsvg	PREFIX = rsvg_

=for object Gnome2::Rsvg::main

=cut

BOOT:
#include "register.xsh"
#include "boot.xsh"

void
GET_VERSION_INFO (class)
    PPCODE:
	EXTEND (SP, 3);
	PUSHs (sv_2mortal (newSViv (LIBRSVG_MAJOR_VERSION)));
	PUSHs (sv_2mortal (newSViv (LIBRSVG_MINOR_VERSION)));
	PUSHs (sv_2mortal (newSViv (LIBRSVG_MICRO_VERSION)));
	PERL_UNUSED_VAR (ax);

bool
CHECK_VERSION (class, major, minor, micro)
	int major
	int minor
	int micro
    CODE:
	RETVAL = LIBRSVG_CHECK_VERSION (major, minor, micro);
    OUTPUT:
	RETVAL

##  GQuark rsvg_error_quark (void) G_GNUC_CONST

=for apidoc __gerror__
=cut
##  GdkPixbuf *rsvg_pixbuf_from_file (const gchar *file_name, GError **error)
GdkPixbuf_noinc *
rsvg_pixbuf_from_file (class, file_name)
	const gchar *file_name
    PREINIT:
        GError *error = NULL;
    CODE:
	RETVAL = rsvg_pixbuf_from_file (file_name, &error);
        if (error)
		gperl_croak_gerror (file_name, error);
    OUTPUT:
	RETVAL

=for apidoc __gerror__
=cut
##  GdkPixbuf *rsvg_pixbuf_from_file_at_zoom (const gchar *file_name, double x_zoom, double y_zoom, GError **error)
GdkPixbuf_noinc *
rsvg_pixbuf_from_file_at_zoom (class, file_name, x_zoom, y_zoom)
	const gchar *file_name
	double x_zoom
	double y_zoom
    PREINIT:
        GError *error = NULL;
    CODE:
	RETVAL = rsvg_pixbuf_from_file_at_zoom (file_name, x_zoom, y_zoom, &error);
        if (error)
		gperl_croak_gerror (file_name, error);
    OUTPUT:
	RETVAL

=for apidoc __gerror__
=cut
##  GdkPixbuf *rsvg_pixbuf_from_file_at_size (const gchar *file_name, gint width, gint height, GError **error)
GdkPixbuf_noinc *
rsvg_pixbuf_from_file_at_size (class, file_name, width, height)
	const gchar *file_name
	gint width
	gint height
    PREINIT:
        GError *error = NULL;



( run in 1.004 second using v1.01-cache-2.11-cpan-5511b514fd6 )