view release on metacpan or search on metacpan
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
INIT:
int width;
int height;
double width_mm;
double height_mm;
PPCODE:
cdCanvasGetSize(ref2cnv(canvas),&width,&height,&width_mm,&height_mm);
XPUSHs(sv_2mortal(newSViv(width)));
XPUSHs(sv_2mortal(newSViv(height)));
XPUSHs(sv_2mortal(newSVnv(width_mm)));
XPUSHs(sv_2mortal(newSVnv(height_mm)));
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
double mm_dy;
INIT:
int rv;
int dx;
int dy;
PPCODE:
cdCanvasMM2Pixel(ref2cnv(canvas),mm_dx,mm_dy,&dx,&dy);
XPUSHs(sv_2mortal(newSViv(dx)));
XPUSHs(sv_2mortal(newSViv(dy)));
#### Original C function from <.../cd/include/cd.h>
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
int dx;
int dy;
INIT:
double mm_dx;
double mm_dy;
PPCODE:
cdCanvasPixel2MM(ref2cnv(canvas),dx,dy,&mm_dx,&mm_dy);
XPUSHs(sv_2mortal(newSVnv(mm_dx)));
XPUSHs(sv_2mortal(newSVnv(mm_dy)));
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
double mm_dx;
double mm_dy;
INIT:
double dx;
double dy;
PPCODE:
cdfCanvasMM2Pixel(ref2cnv(canvas),mm_dx,mm_dy,&dx,&dy);
XPUSHs(sv_2mortal(newSVnv(dx)));
XPUSHs(sv_2mortal(newSVnv(dy)));
#### Original C function from <.../cd/include/cd.h>
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
double dx;
double dy;
INIT:
double mm_dx;
double mm_dy;
PPCODE:
cdfCanvasPixel2MM(ref2cnv(canvas),dx,dy,&mm_dx,&mm_dy);
XPUSHs(sv_2mortal(newSVnv(mm_dx)));
XPUSHs(sv_2mortal(newSVnv(mm_dy)));
#### Original C function from <.../cd/include/cd.h>
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
cdGetOrigin(canvas)
SV* canvas;
INIT:
int x;
int y;
PPCODE:
cdCanvasGetOrigin(ref2cnv(canvas),&x,&y);
XPUSHs(sv_2mortal(newSViv(x)));
XPUSHs(sv_2mortal(newSViv(y)));
#### Original C function from <.../cd/include/cd.h>
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
cdfGetOrigin(canvas)
SV* canvas;
INIT:
double x;
double y;
PPCODE:
cdfCanvasGetOrigin(ref2cnv(canvas),&x,&y);
XPUSHs(sv_2mortal(newSVnv(x)));
XPUSHs(sv_2mortal(newSVnv(y)));
#### Original C function from <.../cd/include/cd.h>
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
int x;
int y;
INIT:
int tx;
int ty;
PPCODE:
cdCanvasTransformPoint(ref2cnv(canvas),x,y,&tx,&ty);
XPUSHs(sv_2mortal(newSViv(tx)));
XPUSHs(sv_2mortal(newSViv(ty)));
#### Original C function from <.../cd/include/cd.h>
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
double x;
double y;
INIT:
double tx;
double ty;
PPCODE:
cdfCanvasTransformPoint(ref2cnv(canvas),x,y,&tx,&ty);
XPUSHs(sv_2mortal(newSVnv(tx)));
XPUSHs(sv_2mortal(newSVnv(ty)));
#### Original C function from <.../cd/include/cd.h>
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
int xmin;
int xmax;
int ymin;
int ymax;
int status;
PPCODE:
status = cdCanvasGetClipArea(ref2cnv(canvas),&xmin,&xmax,&ymin,&ymax);
XPUSHs(sv_2mortal(newSViv(xmin)));
XPUSHs(sv_2mortal(newSViv(xmax)));
XPUSHs(sv_2mortal(newSViv(ymin)));
XPUSHs(sv_2mortal(newSViv(ymax)));
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
int status;
double xmin;
double xmax;
double ymin;
double ymax;
PPCODE:
status = cdfCanvasGetClipArea(ref2cnv(canvas),&xmin,&xmax,&ymin,&ymax);
XPUSHs(sv_2mortal(newSVnv(xmin)));
XPUSHs(sv_2mortal(newSVnv(xmax)));
XPUSHs(sv_2mortal(newSVnv(ymin)));
XPUSHs(sv_2mortal(newSVnv(ymax)));
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
int status = 4; /* inspired by Lua */
int xmin;
int xmax;
int ymin;
int ymax;
PPCODE:
cdCanvasGetRegionBox(ref2cnv(canvas),&xmin,&xmax,&ymin,&ymax);
XPUSHs(sv_2mortal(newSViv(xmin)));
XPUSHs(sv_2mortal(newSViv(xmax)));
XPUSHs(sv_2mortal(newSViv(ymin)));
XPUSHs(sv_2mortal(newSViv(ymax)));
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
SV* canvas;
INIT:
char type_face[1024]; /* XXX-CHECKLATER (HARDCODED BUFFER SIZE) 1024 taken from cd_private.h */
int style;
int size;
PPCODE:
cdCanvasGetFont(ref2cnv(canvas),type_face,&style,&size);
XPUSHs(sv_2mortal(newSVpv(type_face,0)));
XPUSHs(sv_2mortal(newSViv(style)));
XPUSHs(sv_2mortal(newSViv(size)));
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
cdGetVectorFontSize(canvas)
SV* canvas;
INIT:
double size_x;
double size_y;
PPCODE:
cdCanvasGetVectorFontSize(ref2cnv(canvas),&size_x,&size_y);
XPUSHs(sv_2mortal(newSVnv(size_x)));
XPUSHs(sv_2mortal(newSVnv(size_y)));
#### Original C function from <.../cd/include/cd.h>
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
SV* canvas;
const char* s;
INIT:
int x;
int y;
PPCODE:
cdCanvasGetVectorTextSize(ref2cnv(canvas),s,&x,&y);
XPUSHs(sv_2mortal(newSViv(x)));
XPUSHs(sv_2mortal(newSViv(y)));
#### Original C function from <.../cd/include/cd.h>
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
const char* s;
int x;
int y;
INIT:
int rect[8];
PPCODE:
cdCanvasGetVectorTextBounds(ref2cnv(canvas),s,x,y,rect);
/* XXX-CHECKLATER maybe return an arrayref */
XPUSHs(sv_2mortal(newSViv(rect[0]))); /* x0 */
XPUSHs(sv_2mortal(newSViv(rect[1]))); /* y0 */
XPUSHs(sv_2mortal(newSViv(rect[2]))); /* x1 */
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
INIT:
int xmin;
int xmax;
int ymin;
int ymax;
PPCODE:
cdCanvasGetVectorTextBox(ref2cnv(canvas),x,y,s,&xmin,&xmax,&ymin,&ymax);
XPUSHs(sv_2mortal(newSViv(xmin)));
XPUSHs(sv_2mortal(newSViv(xmax)));
XPUSHs(sv_2mortal(newSViv(ymin)));
XPUSHs(sv_2mortal(newSViv(ymax)));
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
INIT:
int max_width;
int height;
int ascent;
int descent;
PPCODE:
cdCanvasGetFontDim(ref2cnv(canvas),&max_width,&height,&ascent,&descent);
XPUSHs(sv_2mortal(newSViv(max_width)));
XPUSHs(sv_2mortal(newSViv(height)));
XPUSHs(sv_2mortal(newSViv(ascent)));
XPUSHs(sv_2mortal(newSViv(descent)));
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
SV* canvas;
const char* s;
INIT:
int width;
int height;
PPCODE:
cdCanvasGetTextSize(ref2cnv(canvas),s,&width,&height);
XPUSHs(sv_2mortal(newSViv(width)));
XPUSHs(sv_2mortal(newSViv(height)));
#### Original C function from <.../cd/include/cd.h>
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
INIT:
int xmin;
int xmax;
int ymin;
int ymax;
PPCODE:
cdCanvasGetTextBox(ref2cnv(canvas),x,y,s,&xmin,&xmax,&ymin,&ymax);
XPUSHs(sv_2mortal(newSViv(xmin)));
XPUSHs(sv_2mortal(newSViv(xmax)));
XPUSHs(sv_2mortal(newSViv(ymin)));
XPUSHs(sv_2mortal(newSViv(ymax)));
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
int x;
int y;
const char* s;
INIT:
int rect[8];
PPCODE:
cdCanvasGetTextBounds(ref2cnv(canvas),x,y,s,rect);
/* XXX-CHECKLATER maybe return an arrayref */
XPUSHs(sv_2mortal(newSViv(rect[0]))); /* x0 */
XPUSHs(sv_2mortal(newSViv(rect[1]))); /* y0 */
XPUSHs(sv_2mortal(newSViv(rect[2]))); /* x1 */
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
INIT:
double xmin;
double xmax;
double ymin;
double ymax;
PPCODE:
wdCanvasGetWindow(ref2cnv(canvas),&xmin,&xmax,&ymin,&ymax);
XPUSHs(sv_2mortal(newSVnv(xmin)));
XPUSHs(sv_2mortal(newSVnv(xmax)));
XPUSHs(sv_2mortal(newSVnv(ymin)));
XPUSHs(sv_2mortal(newSVnv(ymax)));
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
INIT:
int xmin;
int xmax;
int ymin;
int ymax;
PPCODE:
wdCanvasGetViewport(ref2cnv(canvas),&xmin,&xmax,&ymin,&ymax);
XPUSHs(sv_2mortal(newSViv(xmin)));
XPUSHs(sv_2mortal(newSViv(xmax)));
XPUSHs(sv_2mortal(newSViv(ymin)));
XPUSHs(sv_2mortal(newSViv(ymax)));
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
double xw;
double yw;
INIT:
int xv;
int yv;
PPCODE:
wdCanvasWorld2Canvas(ref2cnv(canvas),xw,yw,&xv,&yv);
XPUSHs(sv_2mortal(newSViv(xv)));
XPUSHs(sv_2mortal(newSViv(yv)));
#### Original C function from <.../cd/include/wd.h>
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
double hw;
double vw;
INIT:
int hv;
int vv;
PPCODE:
wdCanvasWorld2CanvasSize(ref2cnv(canvas),hw,vw,&hv,&vv);
XPUSHs(sv_2mortal(newSViv(hv)));
XPUSHs(sv_2mortal(newSViv(vv)));
#### Original C function from <.../cd/include/wd.h>
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
int xv;
int yv;
INIT:
double xw;
double yw;
PPCODE:
wdCanvasCanvas2World(ref2cnv(canvas),xv,yv,&xw,&yw);
XPUSHs(sv_2mortal(newSVnv(xw)));
XPUSHs(sv_2mortal(newSVnv(yw)));
#### Original C function from <.../cd/include/wd.h>
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
INIT:
double sx;
double sy;
double tx;
double ty;
PPCODE:
wdCanvasGetTransform(ref2cnv(canvas),&sx,&sy,&tx,&ty);
XPUSHs(sv_2mortal(newSVnv(sx)));
XPUSHs(sv_2mortal(newSVnv(sy)));
XPUSHs(sv_2mortal(newSVnv(tx)));
XPUSHs(sv_2mortal(newSVnv(ty)));
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
int status;
double xmin;
double xmax;
double ymin;
double ymax;
PPCODE:
status = wdCanvasGetClipArea(ref2cnv(canvas),&xmin,&xmax,&ymin,&ymax);
XPUSHs(sv_2mortal(newSVnv(xmin)));
XPUSHs(sv_2mortal(newSVnv(xmax)));
XPUSHs(sv_2mortal(newSVnv(ymin)));
XPUSHs(sv_2mortal(newSVnv(ymax)));
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
SV* canvas;
INIT:
char type_face[1024]; /* XXX-CHECKLATER (HARDCODED BUFFER SIZE) 1024 taken from cd_private.h */
int style;
double size;
PPCODE:
wdCanvasGetFont(ref2cnv(canvas),type_face,&style,&size);
XPUSHs(sv_2mortal(newSVpv(type_face,0)));
XPUSHs(sv_2mortal(newSViv(style)));
XPUSHs(sv_2mortal(newSVnv(size)));
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
INIT:
double max_width;
double height;
double ascent;
double descent;
PPCODE:
wdCanvasGetFontDim(ref2cnv(canvas),&max_width,&height,&ascent,&descent);
XPUSHs(sv_2mortal(newSVnv(max_width)));
XPUSHs(sv_2mortal(newSVnv(height)));
XPUSHs(sv_2mortal(newSVnv(ascent)));
XPUSHs(sv_2mortal(newSVnv(descent)));
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
SV* canvas;
const char* s;
INIT:
double width;
double height;
PPCODE:
wdCanvasGetTextSize(ref2cnv(canvas),s,&width,&height);
XPUSHs(sv_2mortal(newSVnv(width)));
XPUSHs(sv_2mortal(newSVnv(height)));
#### Original C function from <.../cd/include/wd.h>
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
INIT:
double xmin;
double xmax;
double ymin;
double ymax;
PPCODE:
wdCanvasGetTextBox(ref2cnv(canvas),x,y,s,&xmin,&xmax,&ymin,&ymax);
XPUSHs(sv_2mortal(newSVnv(xmin)));
XPUSHs(sv_2mortal(newSVnv(xmax)));
XPUSHs(sv_2mortal(newSVnv(ymin)));
XPUSHs(sv_2mortal(newSVnv(ymax)));
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
double x;
double y;
const char* s;
INIT:
double rect[8];
PPCODE:
wdCanvasGetTextBounds(ref2cnv(canvas),x,y,s,rect);
/* XXX-CHECKLATER maybe return an arrayref */
XPUSHs(sv_2mortal(newSVnv(rect[0]))); /* x0 */
XPUSHs(sv_2mortal(newSVnv(rect[1]))); /* y0 */
XPUSHs(sv_2mortal(newSVnv(rect[2]))); /* x1 */
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
SV* canvas;
const char* s;
INIT:
double x;
double y;
PPCODE:
wdCanvasGetVectorTextSize(ref2cnv(canvas),s,&x,&y);
XPUSHs(sv_2mortal(newSVnv(x)));
XPUSHs(sv_2mortal(newSVnv(y)));
#### Original C function from <.../cd/include/wd.h>
lib/IUP/Internal/Canvas.xs.inc view on Meta::CPAN
const char* s;
double x;
double y;
INIT:
double rect[8];
PPCODE:
wdCanvasGetVectorTextBounds(ref2cnv(canvas),s,x,y,rect);
/* XXX-CHECKLATER maybe return an arrayref */
XPUSHs(sv_2mortal(newSVnv(rect[0]))); /* x0 */
XPUSHs(sv_2mortal(newSVnv(rect[1]))); /* y0 */
XPUSHs(sv_2mortal(newSVnv(rect[2]))); /* x1 */
view all matches for this distribution
view release on metacpan or search on metacpan
myccv_detect_faces (filename, training_data)
char * filename
char * training_data
PREINIT:
I32* temp;
PPCODE:
temp = PL_markstack_ptr++;
Inline_Stack_Vars;
Inline_Stack_Reset;
int i;
ccv_enable_default_cache();
void
myccv_keypoints_to_list (keypoints)
ccv_array_t * keypoints
PREINIT:
I32* temp;
PPCODE:
temp = PL_markstack_ptr++;
myccv_keypoints_to_list(keypoints);
if (PL_markstack_ptr != temp) {
/* truly void, because dXSARGS not invoked */
PL_markstack_ptr = temp;
myccv_get_descriptor (file, param)
char * file
ccv_sift_param_t * param
PREINIT:
I32* temp;
PPCODE:
temp = PL_markstack_ptr++;
myccv_get_descriptor(file, param);
if (PL_markstack_ptr != temp) {
/* truly void, because dXSARGS not invoked */
PL_markstack_ptr = temp;
char * object_file
char * scene_file
ccv_sift_param_t * param
PREINIT:
I32* temp;
PPCODE:
temp = PL_markstack_ptr++;
myccv_sift(object_file, scene_file, param);
if (PL_markstack_ptr != temp) {
/* truly void, because dXSARGS not invoked */
PL_markstack_ptr = temp;
view all matches for this distribution
view release on metacpan or search on metacpan
void
_epeg_size_get( img )
Epeg_Image * img;
PREINIT:
int h, w;
PPCODE:
epeg_size_get( img, &w, &h );
XPUSHs( sv_2mortal( newSViv( w ) ) );
XPUSHs( sv_2mortal( newSViv( h ) ) );
void
_epeg_output_size_get( img )
Epeg_Image * img;
PREINIT:
int h, w;
PPCODE:
epeg_output_size_get( img, &w, &h );
XPUSHs( sv_2mortal( newSViv( w ) ) );
XPUSHs( sv_2mortal( newSViv( h ) ) );
Epeg_Image * img;
PREINIT:
unsigned char * pOut = NULL;
int outSize = 0;
int rc;
PPCODE:
epeg_memory_output_set( img, &pOut, &outSize );
rc = epeg_encode( img );
if( !rc )
{
PUSHs(sv_2mortal(newSVpv( (char*)pOut, outSize )));
_epeg_write_file( img, filename )
Epeg_Image * img;
const char * filename;
PREINIT:
int rc;
PPCODE:
epeg_file_output_set( img, filename );
rc = epeg_encode( img );
PUSHs(sv_2mortal( (rc ? &PL_sv_undef : newSViv(1)) ));
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Image/Imlib2.xs view on Meta::CPAN
PROTOTYPE: $$
PREINIT:
Imlib_Color color_return;
PPCODE:
imlib_context_set_image(image);
imlib_image_query_pixel(x, y, &color_return);
XPUSHs(sv_2mortal(newSViv(color_return.red)));
XPUSHs(sv_2mortal(newSViv(color_return.green)));
lib/Image/Imlib2.xs view on Meta::CPAN
int cw, ch;
int x1, y1, x2, y2;
int i;
bool abort;
PPCODE:
imlib_context_set_image(image);
width = imlib_image_get_width();
height = imlib_image_get_height();
cw = width;
ch = height;
lib/Image/Imlib2.xs view on Meta::CPAN
int width, height;
int x = 0;
int y = 0;
bool abort;
PPCODE:
imlib_context_set_image(image);
width = imlib_image_get_width();
height = imlib_image_get_height();
imlib_context_get_color(&r, &g, &b, &a);
// warn("pr = %i, pg = %i, pb = %i", r, g, b);
lib/Image/Imlib2.xs view on Meta::CPAN
AV* coords;
SV* sv;
int length;
bool abort;
PPCODE:
imlib_context_set_image(image);
width = imlib_image_get_width();
height = imlib_image_get_height();
imlib_image_query_pixel(x, y, &c);
lib/Image/Imlib2.xs view on Meta::CPAN
PREINIT:
int text_w;
int text_h;
PPCODE:
imlib_context_set_image(image);
imlib_context_set_direction(direction);
imlib_context_set_angle(angle);
imlib_get_text_size(text, &text_w, &text_h);
view all matches for this distribution
view release on metacpan or search on metacpan
char *filename
INIT:
FILE *f;
JDIMENSION width = 0, height = 0;
int longjmp_reason;
PPCODE:
f = fopen(filename, "rb");
if (!f) {
croak("Can't open %s: %s", filename, strerror(errno));
}
view all matches for this distribution
view release on metacpan or search on metacpan
magick_registry=NewSplayTree((int (*)(const void *,const void *))
NULL,(void *(*)(void *)) NULL,(void *(*)(void *)) NULL);
void
UNLOAD()
PPCODE:
{
if (magick_registry != (SplayTreeInfo *) NULL)
magick_registry=DestroySplayTree(magick_registry);
MagickCoreTerminus();
}
Image::Magick ref=NO_INIT
ALIAS:
AnimateImage = 1
animate = 2
animateimage = 3
PPCODE:
{
ExceptionInfo
*exception;
Image
Image::Magick ref=NO_INIT
ALIAS:
AppendImage = 1
append = 2
appendimage = 3
PPCODE:
{
AV
*av;
char
Image::Magick ref=NO_INIT
ALIAS:
AverageImage = 1
average = 2
averageimage = 3
PPCODE:
{
AV
*av;
char
Image::Magick ref=NO_INIT
ALIAS:
BlobToImage = 1
blobtoimage = 2
blobto = 3
PPCODE:
{
AV
*av;
char
Image::Magick ref=NO_INIT
ALIAS:
ChannelFxImage = 1
channelfx = 2
channelfximage = 3
PPCODE:
{
AV
*av;
char
copyimage = 3
CloneImage = 4
clone = 5
cloneimage = 6
Clone = 7
PPCODE:
{
AV
*av;
ExceptionInfo
Image::Magick ref=NO_INIT
ALIAS:
CoalesceImage = 1
coalesce = 2
coalesceimage = 3
PPCODE:
{
AV
*av;
ExceptionInfo
Image::Magick ref=NO_INIT
ALIAS:
CompareImages = 1
compare = 2
compareimage = 3
PPCODE:
{
AV
*av;
char
ComplexImages(ref)
Image::Magick ref=NO_INIT
ALIAS:
ComplexImages = 1
compleximages = 2
PPCODE:
{
AV
*av;
char
Image::Magick ref=NO_INIT
ALIAS:
CompareImagesLayers = 1
comparelayers = 2
compareimagelayers = 3
PPCODE:
{
AV
*av;
char
#
#
void
DESTROY(ref)
Image::Magick ref=NO_INIT
PPCODE:
{
SV
*reference;
PERL_UNUSED_VAR(ref);
Image::Magick ref=NO_INIT
ALIAS:
DisplayImage = 1
display = 2
displayimage = 3
PPCODE:
{
ExceptionInfo
*exception;
Image
EvaluateImages(ref)
Image::Magick ref=NO_INIT
ALIAS:
EvaluateImages = 1
evaluateimages = 2
PPCODE:
{
AV
*av;
char
Image::Magick ref=NO_INIT
ALIAS:
FeaturesImage = 1
features = 2
featuresimage = 3
PPCODE:
{
#define ChannelFeatures(channel,direction) \
{ \
(void) FormatLocaleString(message,MagickPathExtent,"%.20g", \
channel_features[channel].angular_second_moment[direction]); \
Image::Magick ref=NO_INIT
ALIAS:
FlattenImage = 1
flatten = 2
flattenimage = 3
PPCODE:
{
AV
*av;
char
Image::Magick ref=NO_INIT
ALIAS:
FxImage = 1
fx = 2
fximage = 3
PPCODE:
{
AV
*av;
char
GetAttributes = 1
GetAttribute = 2
get = 3
getattributes = 4
getattribute = 5
PPCODE:
{
char
*attribute,
color[MagickPathExtent];
Image::Magick ref=NO_INIT
ALIAS:
HistogramImage = 1
histogram = 2
histogramimage = 3
PPCODE:
{
AV
*av;
char
GetPixel(ref,...)
Image::Magick ref=NO_INIT
ALIAS:
getpixel = 1
getPixel = 2
PPCODE:
{
AV
*av;
char
GetPixels(ref,...)
Image::Magick ref=NO_INIT
ALIAS:
getpixels = 1
getPixels = 2
PPCODE:
{
AV
*av;
char
ALIAS:
ImageToBlob = 1
imagetoblob = 2
toblob = 3
blob = 4
PPCODE:
{
char
filename[MagickPathExtent];
ExceptionInfo
Layers = 1
layers = 2
OptimizeImageLayers = 3
optimizelayers = 4
optimizeimagelayers = 5
PPCODE:
{
AV
*av;
char
SortPixels = 307
SortPixelsImage = 308
Integral = 309
IntegralImage = 310
MogrifyRegion = 666
PPCODE:
{
AffineMatrix
affine,
current;
Image::Magick ref=NO_INIT
ALIAS:
MontageImage = 1
montage = 2
montageimage = 3
PPCODE:
{
AV
*av;
char
Image::Magick ref=NO_INIT
ALIAS:
MorphImage = 1
morph = 2
morphimage = 3
PPCODE:
{
AV
*av;
char
Image::Magick ref=NO_INIT
ALIAS:
MosaicImage = 1
mosaic = 2
mosaicimage = 3
PPCODE:
{
AV
*av;
ExceptionInfo
Image::Magick ref = NO_INIT
ALIAS:
PerceptualHashImage = 1
perceptualhash = 2
perceptualhashimage = 3
PPCODE:
{
AV
*av;
ChannelPerceptualHash
Image::Magick ref=NO_INIT
ALIAS:
PingImage = 1
ping = 2
pingimage = 3
PPCODE:
{
AV
*av;
char
Image::Magick ref=NO_INIT
ALIAS:
PreviewImage = 1
preview = 2
previewimage = 3
PPCODE:
{
AV
*av;
ExceptionInfo
void
QueryColor(ref,...)
Image::Magick ref=NO_INIT
ALIAS:
querycolor = 1
PPCODE:
{
char
*name;
ExceptionInfo
void
QueryColorname(ref,...)
Image::Magick ref=NO_INIT
ALIAS:
querycolorname = 1
PPCODE:
{
AV
*av;
char
void
QueryFont(ref,...)
Image::Magick ref=NO_INIT
ALIAS:
queryfont = 1
PPCODE:
{
char
*name,
message[MagickPathExtent];
void
QueryFontMetrics(ref,...)
Image::Magick ref=NO_INIT
ALIAS:
queryfontmetrics = 1
PPCODE:
{
AffineMatrix
affine,
current;
void
QueryMultilineFontMetrics(ref,...)
Image::Magick ref=NO_INIT
ALIAS:
querymultilinefontmetrics = 1
PPCODE:
{
AffineMatrix
affine,
current;
void
QueryFormat(ref,...)
Image::Magick ref=NO_INIT
ALIAS:
queryformat = 1
PPCODE:
{
char
*name;
ExceptionInfo
void
QueryOption(ref,...)
Image::Magick ref=NO_INIT
ALIAS:
queryoption = 1
PPCODE:
{
char
**options;
ExceptionInfo
Image::Magick ref=NO_INIT
ALIAS:
ReadImage = 1
read = 2
readimage = 3
PPCODE:
{
AV
*av;
char
Image::Magick ref=NO_INIT
ALIAS:
RemoteCommand = 1
remote = 2
remoteCommand = 3
PPCODE:
{
AV
*av;
ExceptionInfo
SetAttributes = 1
SetAttribute = 2
set = 3
setattributes = 4
setattribute = 5
PPCODE:
{
ExceptionInfo
*exception;
Image
SetPixel(ref,...)
Image::Magick ref=NO_INIT
ALIAS:
setpixel = 1
setPixel = 2
PPCODE:
{
AV
*av;
char
SetPixels(ref,...)
Image::Magick ref=NO_INIT
ALIAS:
setpixels = 1
setPixels = 2
PPCODE:
{
AV
*av;
char
Image::Magick ref=NO_INIT
ALIAS:
SmushImage = 1
smush = 2
smushimage = 3
PPCODE:
{
AV
*av;
char
Image::Magick ref=NO_INIT
ALIAS:
StatisticsImage = 1
statistics = 2
statisticsimage = 3
PPCODE:
{
#define ChannelStatistics(channel) \
{ \
(void) FormatLocaleString(message,MagickPathExtent,"%.20g", \
(double) channel_statistics[channel].depth); \
Image::Magick ref=NO_INIT
ALIAS:
WriteImage = 1
write = 2
writeimage = 3
PPCODE:
{
char
filename[MagickPathExtent];
ExceptionInfo
view all matches for this distribution
view release on metacpan or search on metacpan
PREINIT:
png_structp png;
png_infop info;
SV * png_sv;
SV * info_sv;
PPCODE:
png = Png->png;
info = Png->info;
png_sv = newSViv (PTR2IV (png));
info_sv = newSViv (PTR2IV (info));
XPUSHs(sv_2mortal(png_sv));
view all matches for this distribution
view release on metacpan or search on metacpan
MODULE = Image::PNG::Simple PACKAGE = Image::PNG::Simple
SV
new(...)
PPCODE:
{
char* class_name = SvPV_nolen(ST(0));
ImagePNGSimple* ips = (ImagePNGSimple*)malloc(sizeof(ImagePNGSimple));
XSRETURN(1);
}
SV
DESTORY(...)
PPCODE:
{
SV* ips_obj = ST(0);
SV* ips_sv = SvROK(ips_obj) ? SvRV(ips_obj) : ips_obj;
size_t ips_iv = SvIV(ips_sv);
ImagePNGSimple* ips = INT2PTR(ImagePNGSimple*, ips_iv);
XSRETURN(0);
}
SV
read_bmp_file(...)
PPCODE :
{
SV* ips_obj = ST(0);
SV* ips_sv = SvROK(ips_obj) ? SvRV(ips_obj) : ips_obj;
size_t ips_iv = SvIV(ips_sv);
ImagePNGSimple* ips = INT2PTR(ImagePNGSimple*, ips_iv);
XSRETURN(0);
}
SV
write_bmp_file(...)
PPCODE:
{
SV* ips_obj = ST(0);
SV* ips_sv = SvROK(ips_obj) ? SvRV(ips_obj) : ips_obj;
size_t ips_iv = SvIV(ips_sv);
ImagePNGSimple* ips = INT2PTR(ImagePNGSimple*, ips_iv);
XSRETURN(0);
}
SV
write_png_file(...)
PPCODE:
{
SV* ips_obj = ST(0);
SV* ips_sv = SvROK(ips_obj) ? SvRV(ips_obj) : ips_obj;
size_t ips_iv = SvIV(ips_sv);
ImagePNGSimple* ips = INT2PTR(ImagePNGSimple*, ips_iv);
view all matches for this distribution
view release on metacpan or search on metacpan
fallback/const-xs.inc view on Meta::CPAN
/* NV nv; Uncomment this if you need to return NVs */
/* const char *pv; Uncomment this if you need to return PVs */
INPUT:
SV * sv;
const char * s = SvPV(sv, len);
PPCODE:
/* Change this to constant(aTHX_ s, len, &iv, &nv);
if you need to return both NVs and IVs */
type = constant(aTHX_ s, len, &iv);
/* Return 1 or 2 items. First is error message, or undef if no error.
Second, if present, is found value */
view all matches for this distribution
view release on metacpan or search on metacpan
int height;
PREINIT:
IplImage *img, *small_img;
int inter = 1;
int keep_aspect = 0;
PPCODE:
if (!SvROK(self)) {XSRETURN_UNDEF;}
if (items % 2 == 0)
{
croak("ERROR: resize - called with odd number of option parameters - should be of the form option => value");
view all matches for this distribution
view release on metacpan or search on metacpan
sane__open(name)
SANE_String_Const name
INIT:
SANE_Status status;
SANE_Handle h;
PPCODE:
status = sane_open(name, &h);
SV* sv = get_sv("Image::Sane::DEBUG", FALSE);
if (SvTRUE(sv)) printf("sane_open returned SANE_Handle %p\n", (void *) h);
PUSHMARK(sp);
XPUSHs(sv_2mortal(newSViv(status)));
const SANE_Option_Descriptor * opt;
HV* chv = (HV*) sv_2mortal((SV*) newHV());
AV* cav = (AV*) sv_2mortal((SV*) newAV());
HV* hv = (HV*) sv_2mortal((SV*) newHV());
int i;
PPCODE:
SV* sv = get_sv("Image::Sane::DEBUG", FALSE);
if (SvTRUE(sv)) printf("Getting option description %d from SANE_Handle %p\n", n, (void *) h);
opt = sane_get_option_descriptor (h, n);
if (!opt) croak("Error getting sane_get_option_descriptor");
if (opt->name != NULL) {
SANE_Int n
INIT:
SANE_Status status;
void * value;
const SANE_Option_Descriptor * opt;
PPCODE:
SV* sv = get_sv("Image::Sane::DEBUG", FALSE);
if (SvTRUE(sv)) printf("Getting option %d from SANE_Handle %p\n", n, (void *) h);
opt = sane_get_option_descriptor (h, n);
if (!opt) croak("Error getting sane_get_option_descriptor");
if ( opt->size == 0 ) {
SANE_Handle h
SANE_Int n
INIT:
SANE_Status status;
SANE_Int info = 0;
PPCODE:
SV* sv = get_sv("Image::Sane::DEBUG", FALSE);
if (SvTRUE(sv)) printf("Setting option %d to automatic on SANE_Handle %p\n", n, (void *) h);
status = sane_control_option (h, n, SANE_ACTION_SET_AUTO, 0, &info);
PUSHMARK(sp);
XPUSHs(sv_2mortal(newSViv(status)));
SANE_Fixed fixed;
int i, vector_length = 0;
SV ** svp;
SANE_Word * vector;
char * string;
PPCODE:
SV* sv = get_sv("Image::Sane::DEBUG", FALSE);
if (SvTRUE(sv)) printf("Setting option %d on SANE_Handle %p\n", n, (void *) h);
opt = sane_get_option_descriptor (h, n);
if (!opt) croak("Error getting sane_get_option_descriptor");
switch (opt->type) {
SANE_Handle handle
INIT:
SANE_Status status;
SANE_Parameters params;
HV* hv = (HV*) sv_2mortal((SV*) newHV());
PPCODE:
SV* sv = get_sv("Image::Sane::DEBUG", FALSE);
if (SvTRUE(sv)) printf("Getting parameters for SANE_Handle %p\n", (void *) handle);
status = sane_get_parameters (handle, ¶ms);
PUSHMARK(sp);
XPUSHs(sv_2mortal(newSViv(status)));
SANE_Int max_length
INIT:
SANE_Status status;
SANE_Byte * data;
SANE_Int length;
PPCODE:
data = malloc (max_length);
status = sane_read (handle, data, max_length, &length);
PUSHMARK(sp);
XPUSHs(sv_2mortal(newSViv(status)));
if (!status) {
sane__get_select_fd (handle)
SANE_Handle handle
INIT:
SANE_Status status;
SANE_Int fd;
PPCODE:
SV* sv = get_sv("Image::Sane::DEBUG", FALSE);
if (SvTRUE(sv)) printf("Getting file handle of SANE_Handle %p\n", (void *) handle);
status = sane_get_select_fd (handle, &fd);
PUSHMARK(sp);
XPUSHs(sv_2mortal(newSViv(status)));
void
sane__init ()
INIT:
SANE_Status status;
SANE_Int version_code;
PPCODE:
call_pv("Image::Sane::_exit", G_VOID|G_NOARGS);
SV* sv = get_sv("Image::Sane::DEBUG", FALSE);
if (SvTRUE(sv)) printf("Running sane_init\n");
status = sane_init(&version_code, NULL);
PUSHMARK(sp);
# LEAVE;
void
sane__get_version (version_code)
SANE_Int version_code
PPCODE:
PUSHMARK(sp);
XPUSHs(sv_2mortal(newSViv(SANE_VERSION_MAJOR (version_code))));
XPUSHs(sv_2mortal(newSViv(SANE_VERSION_MINOR (version_code))));
XPUSHs(sv_2mortal(newSViv(SANE_VERSION_BUILD (version_code))));
PUTBACK;
SANE_Bool local
INIT:
SANE_Status status;
int i;
const SANE_Device ** device_list;
PPCODE:
SV* sv = get_sv("Image::Sane::DEBUG", FALSE);
if (SvTRUE(sv)) printf("Running sane_get_devices\n");
status = sane_get_devices (&device_list, local);
PUSHMARK(sp);
XPUSHs(sv_2mortal(newSViv(status)));
view all matches for this distribution
view release on metacpan or search on metacpan
PROTOTYPES: ENABLE
void
__init(HV *self)
PPCODE:
{
SV *pv = NEWSV(0, sizeof(image));
image *im = (image *)SvPVX(pv);
SvPOK_only(pv);
view all matches for this distribution
view release on metacpan or search on metacpan
void
cleardb()
void
results()
PPCODE:
while(!pqResults.empty()) {
curResult = pqResults.top();
pqResults.pop();
EXTEND(SP, 2);
PUSHs(sv_2mortal(newSViv(curResult.id)));
view all matches for this distribution
view release on metacpan or search on metacpan
SubImageFind.xs view on Meta::CPAN
void
SubImageFinder::DESTROY()
void
SubImageFinder::SetMaxDelta(unsigned long maxDelta)
PPCODE:
THIS->setMaxDelta(maxDelta);
unsigned long
SubImageFinder::GetMaxDelta()
CODE:
SubImageFind.xs view on Meta::CPAN
SubImageFinder::GetCoordinates(needleFile = "")
char *needleFile
PREINIT:
size_t x = -1, y = -1;
bool retval = false;
PPCODE:
if (*needleFile) {
THIS->loadNeedle(needleFile);
}
retval = THIS->getCoordinates(x, y);
EXTEND(SP, 3);
view all matches for this distribution
view release on metacpan or search on metacpan
size_t data_size
INIT:
STRLEN actual_size;
const uint8_t *data;
int width = 0, height = 0, res;
PPCODE:
data = (const uint8_t *)SvPVbyte(data_sv, actual_size);
if (data_size > (size_t)actual_size) {
croak("WebP data sizee exceeds the input buffer");
}
res = WebPGetInfo(data, data_size, &width, &height);
INIT:
STRLEN actual_size;
const uint8_t *data;
int res;
WebPBitstreamFeatures features = { 0 };
PPCODE:
data = (const uint8_t *)SvPVbyte(data_sv, actual_size);
if (data_size > (size_t)actual_size) {
croak("WebP data size exceeds the input buffer");
}
res = WebPGetFeatures(data, data_size, &features);
int width = 0, height = 0;
int channels;
size_t output_size;
uint8_t *rgb_data;
SV *decoded;
PPCODE:
data = (const uint8_t *)SvPVbyte(data_sv, actual_size);
if (data_size > (size_t)actual_size) {
croak("WebP data size exceeds the input buffer");
}
switch (format) {
uint8_t *data = NULL;
int channels;
size_t minimum_length;
size_t size = 0;
SV *encoded;
PPCODE:
rgb_data = (const uint8_t *)SvPVbyte(rgb_sv, rgb_length);
if (width <= 0 || height <= 0) {
croak("WebP dimensions must be positive");
}
view all matches for this distribution
view release on metacpan or search on metacpan
fallback/const-xs.inc view on Meta::CPAN
/* NV nv; Uncomment this if you need to return NVs */
/* const char *pv; Uncomment this if you need to return PVs */
INPUT:
SV * sv;
const char * s = SvPV(sv, len);
PPCODE:
type = constant(aTHX_ s, len);
/* Return 1 or 2 items. First is error message, or undef if no error.
Second, if present, is found value */
switch (type) {
case PERL_constant_NOTFOUND:
view all matches for this distribution
view release on metacpan or search on metacpan
Imager::IO ig
PREINIT:
i_img **imgs;
int count;
int i;
PPCODE:
imgs = i_readavif_multi(ig, &count);
if (imgs) {
EXTEND(SP, count);
for (i = 0; i < count; ++i) {
SV *sv = sv_newmortal();
view all matches for this distribution
view release on metacpan or search on metacpan
int colours, q, w;
i_img* rimg;
SV* temp[3];
AV* ct;
SV* r;
PPCODE:
colour_table = NULL;
colours = 0;
if(GIMME_V == G_ARRAY) {
rimg = i_readgif_wiol(ig,&colour_table,&colours);
Imager::IO ig
PREINIT:
i_img **imgs;
int count;
int i;
PPCODE:
imgs = i_readgif_multi_wiol(ig, &count);
if (imgs) {
EXTEND(SP, count);
for (i = 0; i < count; ++i) {
SV *sv = sv_newmortal();
view all matches for this distribution
view release on metacpan or search on metacpan
Imager::IO ig
PREINIT:
i_img **imgs;
int count;
int i;
PPCODE:
imgs = i_readheif_multi(ig, &count, max_threads(aTHX));
if (imgs) {
EXTEND(SP, count);
for (i = 0; i < count; ++i) {
SV *sv = sv_newmortal();
PREINIT:
size_t count;
struct compression_names_t const *names =
i_heif_compression_names(&count);
size_t i;
PPCODE:
EXTEND(SP, count);
/* 0 is "undefined" */
for (i = 1; i < count; ++i)
PUSHs(sv_2mortal(newSVpv(names[i].name, 0)));
int count;
int i;
struct heif_context *ctx = heif_context_alloc();
HV *enc_stash = gv_stashpv("Imager::File::HEIF::Encoder", TRUE);
HV *param_stash = gv_stashpv("Imager::File::HEIF::Encoder::Parameter", TRUE);
PPCODE:
#if LIBHEIF_HAVE_VERSION(1, 15, 0)
count = heif_get_encoder_descriptors(fmt, NULL, descs, MAX_ENCODERS);
#else
count = heif_context_get_encoder_descriptors(ctx, fmt, NULL, descs, MAX_ENCODERS);
#endif
view all matches for this distribution
view release on metacpan or search on metacpan
PREINIT:
char* iptc_itext;
int tlength;
i_img* rimg;
SV* r;
PPCODE:
iptc_itext = NULL;
rimg = i_readjpeg_wiol(ig,-1,&iptc_itext,&tlength);
if (iptc_itext == NULL) {
r = sv_newmortal();
EXTEND(SP,1);
view all matches for this distribution
view release on metacpan or search on metacpan
void
i_png_features(...)
PREINIT:
const char * const *p;
PPCODE:
p = i_png_features();
while (*p) {
EXTEND(SP, 1);
PUSHs(sv_2mortal(newSVpv(*p, 0)));
++p;
view all matches for this distribution
view release on metacpan or search on metacpan
Imager::IO ig
PREINIT:
i_img **imgs;
int count;
int i;
PPCODE:
imgs = i_readqoi_multi(ig, &count);
if (imgs) {
EXTEND(SP, count);
for (i = 0; i < count; ++i) {
SV *sv = sv_newmortal();
view all matches for this distribution
view release on metacpan or search on metacpan
Imager::IO ig
PREINIT:
i_img **imgs;
int count;
int i;
PPCODE:
imgs = i_readtiff_multi_wiol(ig, &count);
if (imgs) {
EXTEND(SP, count);
for (i = 0; i < count; ++i) {
SV *sv = sv_newmortal();
RETVAL = i_tiff_libversion();
OUTPUT: RETVAL
void
i_tiff_codecs(class)
PPCODE:
size_t count;
i_tiff_codec *codecs = i_tiff_get_codecs(&count);
EXTEND(SP, (ssize_t)count);
for (unsigned i = 0; i < count; ++i) {
i_tiff_codec *codec = codecs + i;
view all matches for this distribution
view release on metacpan or search on metacpan
Imager::IO ig
PREINIT:
i_img **imgs;
int count;
int i;
PPCODE:
imgs = i_readwebp_multi(ig, &count);
if (imgs) {
EXTEND(SP, count);
for (i = 0; i < count; ++i) {
SV *sv = sv_newmortal();
view all matches for this distribution
view release on metacpan or search on metacpan
i_img_dim bbox[BOUNDING_BOX_COUNT];
int i;
char *text;
STRLEN text_len;
int rc;
PPCODE:
text = SvPV(text_sv, text_len);
#ifdef SvUTF8
if (SvUTF8(text_sv))
utf8 = 1;
#endif
PREINIT:
i_img_dim bbox[8];
int i;
const char *text;
STRLEN len;
PPCODE:
text = SvPV(text_sv, len);
#ifdef SvUTF8
if (SvUTF8(text_sv))
utf8 = 1;
#endif
i_img_dim x1
i_img_dim x2
i_img_dim x3
PREINIT:
i_img_dim box[4];
PPCODE:
box[0] = x0; box[1] = x1; box[2] = x2; box[3] = x3;
ft2_transform_box(font, box);
EXTEND(SP, 4);
PUSHs(sv_2mortal(newSViv(box[0])));
PUSHs(sv_2mortal(newSViv(box[1])));
char *text;
STRLEN len;
char *work;
size_t count;
size_t i;
PPCODE:
text = SvPV(text_sv, len);
#ifdef SvUTF8
if (SvUTF8(text_sv))
utf8 = 1;
#endif
i_ft2_face_name(handle)
Imager::Font::FT2x handle
PREINIT:
char name[255];
size_t len;
PPCODE:
len = i_ft2_face_name(handle, name, sizeof(name));
if (len) {
EXTEND(SP, 1);
PUSHs(sv_2mortal(newSVpv(name, 0)));
}
PREINIT:
char const *text;
STRLEN work_len;
size_t len;
char name[255];
PPCODE:
i_clear_error();
text = SvPV(text_sv, work_len);
len = work_len;
#ifdef SvUTF8
if (SvUTF8(text_sv))
i_ft2_get_multiple_masters(handle)
Imager::Font::FT2x handle
PREINIT:
i_font_mm mm;
int i;
PPCODE:
if (i_ft2_get_multiple_masters(handle, &mm)) {
EXTEND(SP, 2+mm.num_axis);
PUSHs(sv_2mortal(newSViv(mm.num_axis)));
PUSHs(sv_2mortal(newSViv(mm.num_designs)));
for (i = 0; i < mm.num_axis; ++i) {
view all matches for this distribution
view release on metacpan or search on metacpan
const char *str;
STRLEN len;
i_img_dim cords[BOUNDING_BOX_COUNT];
int i;
int rc;
PPCODE:
str = SvPV(str_sv, len);
#ifdef SvUTF8
if (SvUTF8(str_sv))
utf8 = 1;
#endif
char const *text;
STRLEN len;
char *work;
int count;
int i;
PPCODE:
text = SvPV(text_sv, len);
#ifdef SvUTF8
if (SvUTF8(text_sv))
utf8 = 1;
#endif
i_t1_face_name(font)
Imager::Font::T1xs font
PREINIT:
char name[255];
int len;
PPCODE:
len = i_t1_face_name(font, name, sizeof(name));
if (len) {
EXTEND(SP, 1);
PUSHs(sv_2mortal(newSVpv(name, strlen(name))));
}
char const *text;
STRLEN work_len;
size_t len;
char name[255];
SSize_t count = 0;
PPCODE:
text = SvPV(text_sv, work_len);
#ifdef SvUTF8
if (SvUTF8(text_sv))
utf8 = 1;
#endif
view all matches for this distribution
view release on metacpan or search on metacpan
PREINIT:
i_img_dim cords[BOUNDING_BOX_COUNT];
int rc, i;
char const *text;
STRLEN text_len;
PPCODE:
text = SvPV(text_sv, text_len);
#ifdef SvUTF8
if (SvUTF8(text_sv))
utf8 = 1;
#endif
view all matches for this distribution
view release on metacpan or search on metacpan
bool
ZXingDecoder::setFormats(std_string formats)
void
ZXingDecoder::decode(Imager im) const
PPCODE:
auto results = THIS->decode(im);
EXTEND(SP, results.size());
for (auto &&r : results) {
auto pr = new ZXingDecoderResult(std::move(r));
SV *sv_r = sv_newmortal();
std_string
ZXingDecoder::error() const
static void
ZXingDecoder::availFormats()
PPCODE:
const auto &v = ZXingDecoder::availFormats();
EXTEND(SP, v.size());
for (auto &f : v) {
PUSHs(string_to_SV(f, SVs_TEMP));
}
std_string
ZXingDecoderResult::contentType() const
void
ZXingDecoderResult::position() const
PPCODE:
auto pos = THIS->position();
EXTEND(SP, 8);
for (auto &f : pos) {
PUSHs(sv_2mortal(newSViv(f.x)));
PUSHs(sv_2mortal(newSViv(f.y)));
XSRETURN_EMPTY;
OUTPUT : RETVAL
static void
ZXingEncoder::availFormats()
PPCODE:
const auto &v = ZXingEncoder::availFormats();
EXTEND(SP, v.size());
for (auto &f : v) {
PUSHs(string_to_SV(f, SVs_TEMP));
}
view all matches for this distribution
view release on metacpan or search on metacpan
i_img_dim bbox[BOUNDING_BOX_COUNT];
int i;
char *text;
STRLEN text_len;
int rc;
PPCODE:
text = SvPV(text_sv, text_len);
#ifdef SvUTF8
if (SvUTF8(text_sv))
utf8 = 1;
#endif
PREINIT:
i_img_dim bbox[8];
int i;
const char *text;
STRLEN len;
PPCODE:
text = SvPV(text_sv, len);
#ifdef SvUTF8
if (SvUTF8(text_sv))
utf8 = 1;
#endif
i_img_dim x1
i_img_dim x2
i_img_dim x3
PREINIT:
i_img_dim box[4];
PPCODE:
box[0] = x0; box[1] = x1; box[2] = x2; box[3] = x3;
ft2_transform_box(font, box);
EXTEND(SP, 4);
PUSHs(sv_2mortal(newSViv(box[0])));
PUSHs(sv_2mortal(newSViv(box[1])));
char *text;
STRLEN len;
char *work;
size_t count;
size_t i;
PPCODE:
text = SvPV(text_sv, len);
#ifdef SvUTF8
if (SvUTF8(text_sv))
utf8 = 1;
#endif
i_ft2_face_name(handle)
Imager::Font::FT2x handle
PREINIT:
char name[255];
size_t len;
PPCODE:
len = i_ft2_face_name(handle, name, sizeof(name));
if (len) {
EXTEND(SP, 1);
PUSHs(sv_2mortal(newSVpv(name, 0)));
}
PREINIT:
char const *text;
STRLEN work_len;
size_t len;
char name[255];
PPCODE:
i_clear_error();
text = SvPV(text_sv, work_len);
len = work_len;
#ifdef SvUTF8
if (SvUTF8(text_sv))
i_ft2_get_multiple_masters(handle)
Imager::Font::FT2x handle
PREINIT:
i_font_mm mm;
int i;
PPCODE:
if (i_ft2_get_multiple_masters(handle, &mm)) {
EXTEND(SP, 2+mm.num_axis);
PUSHs(sv_2mortal(newSViv(mm.num_axis)));
PUSHs(sv_2mortal(newSViv(mm.num_designs)));
for (i = 0; i < mm.num_axis; ++i) {
view all matches for this distribution
view release on metacpan or search on metacpan
wrap_infix_plugin(ic_infix_plugin, &ic_next_infix_plugin);
#endif
void
import(...)
PPCODE:
#ifdef IC_HAVE_INFIX
ic_do_import(aTHX_ ax, items);
XSRETURN_EMPTY;
#else
{
}
#endif
void
unimport(...)
PPCODE:
#ifdef IC_HAVE_INFIX
{
I32 i;
if (items <= 1)
ic_del_all_hints(aTHX);
view all matches for this distribution