libvips/man/VipsInterpolate.3

77 lines
1.8 KiB
Groff

.TH VIPS_INTERPOLATE 3 "28 March 2009"
.SH NAME
VipsInterpolate,
vips_interpolate,
vips_interpolate_get_method,
vips_interpolate_get_window_size
\-
base class for VIPS interpolators
.SH SYNOPSIS
#include <vips/vips.h>
typedef void (*VipsInterpolateMethod)( VipsInterpolate *,
.br
PEL *out, REGION *in, double x, double y );
typedef struct _VipsInterpolateClass {
.br
VipsObjectClass parent_class;
VipsInterpolateMethod interpolate;
.br
int (*get_window_size)( VipsInterpolate * );
.br
int window_size;
.br
} VipsInterpolateClass;
void vips_interpolate( VipsInterpolate *interpolate,
.br
PEL *out, REGION *in, double x, double y );
.br
VipsInterpolateMethod vips_interpolate_get_method( VipsInterpolate * );
.br
int vips_interpolate_get_window_size( VipsInterpolate *interpolate );
.SH DESCRIPTION
.B VipsInterpolate
is the base class for VIPS interpolators. It provides a simple framework that
subclasses use to implement the various interpolators that VIPS ships with.
You can add new interpolators by subclassing
.B VipsInterpolated
and implementing an
.B interpolate
method.
You can use any interpolator in your code via the methods of
.B VipsInterpolate.
.B vips_interpolate(3)
looks up the interpolate method for the object and calls it for you.
.B vips_interpolate_get_method(3)
just does the lookup and returns a pointer to the interpolate function. You
can use this to take the lookup out of an inner loop.
.B vips_interpolate_get_window_size(3)
either calls
.B get_window_size()
or if it is NULL, returns
.B window_size.
.SH SUPPORTED INTERPOLATORS
You can list the supported interpolators with
$ vips --list classes
look for subclasses of
.B VipsInterpolate.
.SH RETURN VALUE
Unless otherwise noted, functions return 0 success and -1 on error.
.SH SEE ALSO
VipsObject(3), VipsInterpolate(3),
vips_type_find(3), vips(1).
.SH AUTHOR
John Cupitt