Class

VipsInterpolate

Description [src]

abstract class Vips.Interpolate : Vips.Object
{
  /* No available fields */
}

An abstract base class for the various interpolation functions.

Use vips --list classes to see all the interpolators available.

An interpolator consists of a function to perform the interpolation, plus some extra data fields which tells libvips how to call the function and what data it needs.

Hierarchy

hierarchy this VipsInterpolate ancestor_0 VipsObject ancestor_0--this ancestor_1 GObject ancestor_1--ancestor_0

Ancestors

Constructors

vips_interpolate_new

Look up an interpolator from a nickname and make one. You need to free the result with g_object_unref() when you’re done with it.

Functions

vips_interpolate_bilinear_static

A convenience function that returns a bilinear interpolator you don’t need to free.

vips_interpolate_nearest_static

A convenience function that returns a nearest-neighbour interpolator you don’t need to free.

Instance methods

vips_interpolate

Look up the interpolate method in the class and call it. Use vips_interpolate_get_method() to get a direct pointer to the function and avoid the lookup overhead.

vips_interpolate_get_method

Look up the interpolate method in the class and return it. Use this instead of vips_interpolate() to cache method dispatch.

vips_interpolate_get_window_offset

Look up an interpolators desired window offset.

vips_interpolate_get_window_size

Look up an interpolators desired window size.

Methods inherited from VipsObject (27)

Please see VipsObject for a full list of methods.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

Properties inherited from VipsObject (2)
Vips.Object:description
No description available.

Vips.Object:nickname
No description available.

Signals

Signals inherited from VipsObject (4)
VipsObject::close

The ::close signal is emitted once during object close. The object is dying and may not work.

VipsObject::postbuild

The ::postbuild signal is emitted once just after successful object construction. Return non-zero to cause object construction to fail.

VipsObject::postclose

The ::postclose signal is emitted once after object close. The object pointer is still valid, but nothing else.

VipsObject::preclose

The ::preclose signal is emitted once just before object close starts. The object is still alive.

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct VipsInterpolateClass {
  VipsObjectClass parent_class;
  VipsInterpolateMethod interpolate;
  int (* get_window_size) (
    VipsInterpolate* interpolate
  );
  int window_size;
  int (* get_window_offset) (
    VipsInterpolate* interpolate
  );
  int window_offset;
  
}

window_size is the size of the window that the interpolator needs. For example, a bicubic interpolator needs to see a window of 4x4 pixels to be able to interpolate a value.

You can either have a function in get_window_size which returns the window that a specific interpolator needs, or you can leave get_window_size NULL and set a constant value in window_size.

window_offset is how much to offset the window up and left of (x, y). For example, a bicubic interpolator will want an window_offset of 1.

You can either have a function in get_window_offset which returns the offset that a specific interpolator needs, or you can leave get_window_offset NULL and set a constant value in window_offset.

You also need to set VipsObject:nickname and VipsObject:description in VipsObject.

See also: VipsInterpolateMethod, VipsObject or vips_interpolate_bilinear_static().

Class members
parent_class: VipsObjectClass

No description available.

interpolate: VipsInterpolateMethod

The interpolation method.

get_window_size: int (* get_window_size) ( VipsInterpolate* interpolate )

Return the size of the window needed by this method.

window_size: int

Or just set this for a constant window size.

get_window_offset: int (* get_window_offset) ( VipsInterpolate* interpolate )

Return the window offset for this method.

window_offset: int

Or just set this for a constant window offset.

Virtual methods

Vips.InterpolateClass.get_window_offset

Look up an interpolators desired window offset.

Vips.InterpolateClass.get_window_size

Look up an interpolators desired window size.

Vips.InterpolateClass.interpolate

The interpolation method.