| arithmetic.h | | arithmetic.h | |
| | | | |
| skipping to change at line 40 | | skipping to change at line 40 | |
| | | | |
| */ | | */ | |
| | | | |
| #ifndef IM_ARITHMETIC_H | | #ifndef IM_ARITHMETIC_H | |
| #define IM_ARITHMETIC_H | | #define IM_ARITHMETIC_H | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
|
| /* arithmetic | | /** | |
| | | * VipsOperationMath: | |
| | | * @VIPS_OPERATION_MATH_SIN: sin(), angles in degrees | |
| | | * @VIPS_OPERATION_MATH_COS: cos(), angles in degrees | |
| | | * @VIPS_OPERATION_MATH_TAN: tan(), angles in degrees | |
| | | * @VIPS_OPERATION_MATH_ASIN: asin(), angles in degrees | |
| | | * @VIPS_OPERATION_MATH_ACOS: acos(), angles in degrees | |
| | | * @VIPS_OPERATION_MATH_ATAN: atan(), angles in degrees | |
| | | * @VIPS_OPERATION_MATH_LOG: log base e | |
| | | * @VIPS_OPERATION_MATH_LOG10: log base 10 | |
| | | * @VIPS_OPERATION_MATH_EXP: e to the something | |
| | | * @VIPS_OPERATION_MATH_EXP10: 10 to the something | |
| | | * | |
| | | * See also: vips_math(). | |
| */ | | */ | |
|
| DOUBLEMASK *im_measure_area( VipsImage *im, | | typedef enum { | |
| int left, int top, int width, int height, | | VIPS_OPERATION_MATH_SIN, | |
| int h, int v, | | VIPS_OPERATION_MATH_COS, | |
| int *sel, int nsel, const char *name ); | | VIPS_OPERATION_MATH_TAN, | |
| DOUBLEMASK *im_stats( VipsImage *in ); | | VIPS_OPERATION_MATH_ASIN, | |
| int im_max( VipsImage *in, double *out ); | | VIPS_OPERATION_MATH_ACOS, | |
| int im_min( VipsImage *in, double *out ); | | VIPS_OPERATION_MATH_ATAN, | |
| int im_avg( VipsImage *in, double *out ); | | VIPS_OPERATION_MATH_LOG, | |
| int im_deviate( VipsImage *in, double *out ); | | VIPS_OPERATION_MATH_LOG10, | |
| int im_maxpos( VipsImage *in, int *xpos, int *ypos, double *out ); | | VIPS_OPERATION_MATH_EXP, | |
| int im_minpos( VipsImage *in, int *xpos, int *ypos, double *out ); | | VIPS_OPERATION_MATH_EXP10, | |
| | | VIPS_OPERATION_MATH_LAST | |
| | | } VipsOperationMath; | |
| | | | |
| | | /** | |
| | | * VipsOperationMath2: | |
| | | * @VIPS_OPERATION_MATH2_POW: pow( left, right ) | |
| | | * @VIPS_OPERATION_MATH2_WOP: pow( right, left ) | |
| | | * | |
| | | * See also: vips_math(). | |
| | | */ | |
| | | typedef enum { | |
| | | VIPS_OPERATION_MATH2_POW, | |
| | | VIPS_OPERATION_MATH2_WOP, | |
| | | VIPS_OPERATION_MATH2_LAST | |
| | | } VipsOperationMath2; | |
| | | | |
| | | /** | |
| | | * VipsOperationRound: | |
| | | * @VIPS_OPERATION_ROUND_RINT: round to nearest | |
| | | * @VIPS_OPERATION_ROUND_FLOOR: largest integral value not greater than | |
| | | * @VIPS_OPERATION_ROUND_CEIL: the smallest integral value not less than | |
| | | * | |
| | | * See also: vips_round(). | |
| | | */ | |
| | | typedef enum { | |
| | | VIPS_OPERATION_ROUND_RINT, | |
| | | VIPS_OPERATION_ROUND_CEIL, | |
| | | VIPS_OPERATION_ROUND_FLOOR, | |
| | | VIPS_OPERATION_ROUND_LAST | |
| | | } VipsOperationRound; | |
| | | | |
| | | /** | |
| | | * VipsOperationRelational: | |
| | | * @VIPS_OPERATION_RELATIONAL_EQUAL: == | |
| | | * @VIPS_OPERATION_RELATIONAL_NOTEQUAL: != | |
| | | * @VIPS_OPERATION_RELATIONAL_LESS: < | |
| | | * @VIPS_OPERATION_RELATIONAL_LESSEQ: <= | |
| | | * @VIPS_OPERATION_RELATIONAL_MORE: > | |
| | | * @VIPS_OPERATION_RELATIONAL_MOREEQ: >= | |
| | | * | |
| | | * See also: vips_relational(). | |
| | | */ | |
| | | typedef enum { | |
| | | VIPS_OPERATION_RELATIONAL_EQUAL, | |
| | | VIPS_OPERATION_RELATIONAL_NOTEQUAL, | |
| | | VIPS_OPERATION_RELATIONAL_LESS, | |
| | | VIPS_OPERATION_RELATIONAL_LESSEQ, | |
| | | VIPS_OPERATION_RELATIONAL_MORE, | |
| | | VIPS_OPERATION_RELATIONAL_MOREEQ, | |
| | | VIPS_OPERATION_RELATIONAL_LAST | |
| | | } VipsOperationRelational; | |
| | | | |
| | | /** | |
| | | * VipsOperationBoolean: | |
| | | * @VIPS_OPERATION_BOOLEAN_AND: & | |
| | | * @VIPS_OPERATION_BOOLEAN_OR: | | |
| | | * @VIPS_OPERATION_BOOLEAN_EOR: ^ | |
| | | * | |
| | | * See also: vips_boolean(). | |
| | | */ | |
| | | typedef enum { | |
| | | VIPS_OPERATION_BOOLEAN_AND, | |
| | | VIPS_OPERATION_BOOLEAN_OR, | |
| | | VIPS_OPERATION_BOOLEAN_EOR, | |
| | | VIPS_OPERATION_BOOLEAN_LSHIFT, | |
| | | VIPS_OPERATION_BOOLEAN_RSHIFT, | |
| | | VIPS_OPERATION_BOOLEAN_LAST | |
| | | } VipsOperationBoolean; | |
| | | | |
| | | /** | |
| | | * VipsOperationComplex: | |
| | | * @VIPS_OPERATION_COMPLEX_POLAR: convert to polar coordinates | |
| | | * @VIPS_OPERATION_COMPLEX_RECT: convert to rectangular coordinates | |
| | | * @VIPS_OPERATION_COMPLEX_CONJ: complex conjugate | |
| | | * | |
| | | * See also: vips_complex(). | |
| | | */ | |
| | | typedef enum { | |
| | | VIPS_OPERATION_COMPLEX_POLAR, | |
| | | VIPS_OPERATION_COMPLEX_RECT, | |
| | | VIPS_OPERATION_COMPLEX_CONJ, | |
| | | VIPS_OPERATION_COMPLEX_LAST | |
| | | } VipsOperationComplex; | |
| | | | |
| | | /** | |
| | | * VipsOperationComplexget: | |
| | | * @VIPS_OPERATION_COMPLEXGET_REAL: get real component | |
| | | * @VIPS_OPERATION_COMPLEXGET_IMAG: get imaginary component | |
| | | * | |
| | | * See also: vips_complexget(). | |
| | | */ | |
| | | typedef enum { | |
| | | VIPS_OPERATION_COMPLEXGET_REAL, | |
| | | VIPS_OPERATION_COMPLEXGET_IMAG, | |
| | | VIPS_OPERATION_COMPLEXGET_LAST | |
| | | } VipsOperationComplexget; | |
| | | | |
| | | int vips_add( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_subtract( VipsImage *in1, VipsImage *in2, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_multiply( VipsImage *left, VipsImage *right, VipsImage **out, ... | |
| | | ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_divide( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_linear( VipsImage *in, VipsImage **out, | |
| | | double *a, double *b, int n, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_linear1( VipsImage *in, VipsImage **out, double a, double b, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_remainder( VipsImage *left, VipsImage *right, VipsImage **out, ... | |
| | | ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_remainder_const( VipsImage *in, VipsImage **out, | |
| | | double *c, int n, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_remainder_const1( VipsImage *in, VipsImage **out, | |
| | | double c, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_invert( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_abs( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_sign( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_round( VipsImage *in, VipsImage **out, VipsOperationRound round, . | |
| | | .. ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_floor( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_ceil( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_rint( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| | | int vips_math( VipsImage *in, VipsImage **out, | |
| | | VipsOperationMath math, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_sin( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_cos( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_tan( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_asin( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_acos( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_atan( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_exp( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_exp10( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_log( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_log10( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| | | int vips_complex( VipsImage *in, VipsImage **out, | |
| | | VipsOperationComplex cmplx, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_polar( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_rect( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_conj( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| | | int vips_complexget( VipsImage *in, VipsImage **out, | |
| | | VipsOperationComplexget get, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_real( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_imag( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| | | int vips_complexform( VipsImage *left, VipsImage *right, VipsImage **out, . | |
| | | .. ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| | | int vips_relational( VipsImage *left, VipsImage *right, VipsImage **out, | |
| | | VipsOperationRelational relational, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_equal( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_notequal( VipsImage *left, VipsImage *right, VipsImage **out, ... | |
| | | ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_less( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_lesseq( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_more( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_moreeq( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_relational_const( VipsImage *in, VipsImage **out, | |
| | | VipsOperationRelational relational, double *c, int n, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_equal_const( VipsImage *in, VipsImage **out, double *c, int n, ... | |
| | | ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_notequal_const( VipsImage *in, VipsImage **out, double *c, int n, | |
| | | ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_less_const( VipsImage *in, VipsImage **out, double *c, int n, ... | |
| | | ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_lesseq_const( VipsImage *in, VipsImage **out, double *c, int n, .. | |
| | | . ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_more_const( VipsImage *in, VipsImage **out, double *c, int n, ... | |
| | | ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_moreeq_const( VipsImage *in, VipsImage **out, double *c, int n, .. | |
| | | . ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_relational_const1( VipsImage *in, VipsImage **out, | |
| | | VipsOperationRelational relational, double c, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_equal_const1( VipsImage *in, VipsImage **out, double c, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_notequal_const1( VipsImage *in, VipsImage **out, double c, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_less_const1( VipsImage *in, VipsImage **out, double c, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_lesseq_const1( VipsImage *in, VipsImage **out, double c, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_more_const1( VipsImage *in, VipsImage **out, double c, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_moreeq_const1( VipsImage *in, VipsImage **out, double c, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| | | int vips_boolean( VipsImage *left, VipsImage *right, VipsImage **out, | |
| | | VipsOperationBoolean boolean, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_andimage( VipsImage *left, VipsImage *right, VipsImage **out, ... | |
| | | ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_orimage( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_eorimage( VipsImage *left, VipsImage *right, VipsImage **out, ... | |
| | | ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_lshift( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_rshift( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| | | int vips_boolean_const( VipsImage *in, VipsImage **out, | |
| | | VipsOperationBoolean boolean, double *c, int n, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_andimage_const( VipsImage *in, VipsImage **out, double *c, int n, | |
| | | ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_orimage_const( VipsImage *in, VipsImage **out, double *c, int n, . | |
| | | .. ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_eorimage_const( VipsImage *in, VipsImage **out, double *c, int n, | |
| | | ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_lshift_const( VipsImage *in, VipsImage **out, double *c, int n, .. | |
| | | . ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_rshift_const( VipsImage *in, VipsImage **out, double *c, int n, .. | |
| | | . ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_andimage_const1( VipsImage *in, VipsImage **out, double c, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_orimage_const1( VipsImage *in, VipsImage **out, double c, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_eorimage_const1( VipsImage *in, VipsImage **out, double c, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_lshift_const1( VipsImage *in, VipsImage **out, double c, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_rshift_const1( VipsImage *in, VipsImage **out, double c, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| | | int vips_math2( VipsImage *left, VipsImage *right, VipsImage **out, | |
| | | VipsOperationMath2 math2, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_pow( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_wop( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_math2_const( VipsImage *in, VipsImage **out, | |
| | | VipsOperationMath2 math2, double *c, int n, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_pow_const( VipsImage *in, VipsImage **out, double *c, int n, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_wop_const( VipsImage *in, VipsImage **out, double *c, int n, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_math2_const1( VipsImage *in, VipsImage **out, | |
| | | VipsOperationMath2 math2, double c, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_pow_const1( VipsImage *in, VipsImage **out, double c, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_wop_const1( VipsImage *in, VipsImage **out, double c, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| | | int vips_avg( VipsImage *in, double *out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_deviate( VipsImage *in, double *out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_min( VipsImage *in, double *out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_max( VipsImage *in, double *out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_stats( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_measure( VipsImage *in, VipsImage **out, int h, int v, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| int im_maxpos_avg( VipsImage *im, double *xpos, double *ypos, double *out )
; | | int im_maxpos_avg( VipsImage *im, double *xpos, double *ypos, double *out )
; | |
| int im_maxpos_vec( VipsImage *im, int *xpos, int *ypos, double *maxima, int
n ); | | int im_maxpos_vec( VipsImage *im, int *xpos, int *ypos, double *maxima, int
n ); | |
| int im_minpos_vec( VipsImage *im, int *xpos, int *ypos, double *minima, int
n ); | | int im_minpos_vec( VipsImage *im, int *xpos, int *ypos, double *minima, int
n ); | |
|
| int im_bandmean( VipsImage *in, VipsImage *out ); | | | |
| | | | |
| int im_add( VipsImage *in1, VipsImage *in2, VipsImage *out ); | | | |
| int im_subtract( VipsImage *in1, VipsImage *in2, VipsImage *out ); | | | |
| int im_invert( VipsImage *in, VipsImage *out ); | | | |
| int im_lintra( double a, VipsImage *in, double b, VipsImage *out ); | | | |
| int im_lintra_vec( int n, double *a, VipsImage *in, double *b, VipsImage *o | | | |
| ut ); | | | |
| int im_multiply( VipsImage *in1, VipsImage *in2, VipsImage *out ); | | | |
| int im_divide( VipsImage *in1, VipsImage *in2, VipsImage *out ); | | | |
| int im_remainder( VipsImage *in1, VipsImage *in2, VipsImage *out ); | | | |
| int im_remainder_vec( VipsImage *in, VipsImage *out, int n, double *c ); | | | |
| int im_remainderconst( VipsImage *in, VipsImage *out, double c ); | | | |
| int im_recomb( VipsImage *in, VipsImage *out, DOUBLEMASK *recomb ); | | | |
| | | | |
| int im_sign( VipsImage *in, VipsImage *out ); | | | |
| int im_abs( VipsImage *in, VipsImage *out ); | | | |
| int im_floor( VipsImage *in, VipsImage *out ); | | | |
| int im_rint( VipsImage *in, VipsImage *out ); | | | |
| int im_ceil( VipsImage *in, VipsImage *out ); | | | |
| | | | |
| int im_linreg( VipsImage **ins, VipsImage *out, double *xs ); | | int im_linreg( VipsImage **ins, VipsImage *out, double *xs ); | |
| int im_point( VipsImage *im, VipsInterpolate *interpolate, | | int im_point( VipsImage *im, VipsInterpolate *interpolate, | |
| double x, double y, int band, double *out ); | | double x, double y, int band, double *out ); | |
| int im_point_bilinear( VipsImage *im, | | int im_point_bilinear( VipsImage *im, | |
| double x, double y, int band, double *out ); | | double x, double y, int band, double *out ); | |
| | | | |
|
| int im_powtra( VipsImage *in, VipsImage *out, double e ); | | | |
| int im_powtra_vec( VipsImage *in, VipsImage *out, int n, double *e ); | | | |
| int im_exptra( VipsImage *in, VipsImage *out ); | | | |
| int im_exp10tra( VipsImage *in, VipsImage *out ); | | | |
| int im_expntra( VipsImage *in, VipsImage *out, double e ); | | | |
| int im_expntra_vec( VipsImage *in, VipsImage *out, int n, double *e ); | | | |
| int im_logtra( VipsImage *in, VipsImage *out ); | | | |
| int im_log10tra( VipsImage *in, VipsImage *out ); | | | |
| | | | |
| int im_sintra( VipsImage *in, VipsImage *out ); | | | |
| int im_costra( VipsImage *in, VipsImage *out ); | | | |
| int im_tantra( VipsImage *in, VipsImage *out ); | | | |
| int im_asintra( VipsImage *in, VipsImage *out ); | | | |
| int im_acostra( VipsImage *in, VipsImage *out ); | | | |
| int im_atantra( VipsImage *in, VipsImage *out ); | | | |
| | | | |
| int im_cross_phase( VipsImage *a, VipsImage *b, VipsImage *out ); | | int im_cross_phase( VipsImage *a, VipsImage *b, VipsImage *out ); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
| #endif /*IM_ARITHMETIC_H*/ | | #endif /*IM_ARITHMETIC_H*/ | |
| | | | |
End of changes. 4 change blocks. |
| 48 lines changed or deleted | | 340 lines changed or added | |
|
| conversion.h | | conversion.h | |
| | | | |
| skipping to change at line 33 | | skipping to change at line 33 | |
| Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 U
SA | | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 U
SA | |
| | | | |
| */ | | */ | |
| | | | |
| /* | | /* | |
| | | | |
| These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk | | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk | |
| | | | |
| */ | | */ | |
| | | | |
|
| #ifndef IM_CONVERSION_H | | #ifndef VIPS_CONVERSION_H | |
| #define IM_CONVERSION_H | | #define VIPS_CONVERSION_H | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
|
| DOUBLEMASK *im_vips2mask( VipsImage *in, const char *filename ); | | /** | |
| int im_mask2vips( DOUBLEMASK *in, VipsImage *out ); | | * VipsExtend: | |
| | | * @VIPS_EXTEND_BLACK: extend with black (all 0) pixels | |
| | | * @VIPS_EXTEND_COPY: copy the image edges | |
| | | * @VIPS_EXTEND_REPEAT: repeat the whole image | |
| | | * @VIPS_EXTEND_MIRROR: mirror the whole image | |
| | | * @VIPS_EXTEND_WHITE: extend with white (all bits set) pixels | |
| | | * | |
| | | * See vips_embed(), vips_conv(), vips_affine() and so on. | |
| | | * | |
| | | * When the edges of an image are extended, you can specify | |
| | | * how you want the extension done. | |
| | | * | |
| | | * #VIPS_EXTEND_BLACK --- new pixels are black, ie. all bits are zero. | |
| | | * | |
| | | * #VIPS_EXTEND_COPY --- each new pixel takes the value of the nearest edge | |
| | | * pixel | |
| | | * | |
| | | * #VIPS_EXTEND_REPEAT --- the image is tiled to fill the new area | |
| | | * | |
| | | * #VIPS_EXTEND_MIRROR --- the image is reflected and tiled to reduce hash | |
| | | * edges | |
| | | * | |
| | | * #VIPS_EXTEND_WHITE --- new pixels are white, ie. all bits are set | |
| | | * | |
| | | * We have to specify the exact value of each enum member since we have to | |
| | | * keep these frozen for back compat with vips7. | |
| | | * | |
| | | * See also: vips_embed(). | |
| | | */ | |
| | | typedef enum { | |
| | | VIPS_EXTEND_BLACK = 0, | |
| | | VIPS_EXTEND_COPY = 1, | |
| | | VIPS_EXTEND_REPEAT = 2, | |
| | | VIPS_EXTEND_MIRROR = 3, | |
| | | VIPS_EXTEND_WHITE = 4, | |
| | | VIPS_EXTEND_LAST = 5 | |
| | | } VipsExtend; | |
| | | | |
| | | /** | |
| | | * VipsDirection: | |
| | | * @VIPS_DIRECTION_HORIZONTAL: left-right | |
| | | * @VIPS_DIRECTION_VERTICAL: top-bottom | |
| | | * | |
| | | * See vips_flip(), vips_join() and so on. | |
| | | * | |
| | | * Operations like vips_flip() need to be told whether to flip left-right o | |
| | | r | |
| | | * top-bottom. | |
| | | * | |
| | | * See also: vips_flip(), vips_join(). | |
| | | */ | |
| | | typedef enum { | |
| | | VIPS_DIRECTION_HORIZONTAL, | |
| | | VIPS_DIRECTION_VERTICAL, | |
| | | VIPS_DIRECTION_LAST | |
| | | } VipsDirection; | |
| | | | |
| | | /** | |
| | | * VipsAlign: | |
| | | * @VIPS_ALIGN_LOW: align low coordinate edge | |
| | | * @VIPS_ALIGN_CENTRE: align centre | |
| | | * @VIPS_ALIGN_HIGH: align high coordinate edge | |
| | | * | |
| | | * See vips_join() and so on. | |
| | | * | |
| | | * Operations like vips_join() need to be told whether to align images on t | |
| | | he | |
| | | * low or high coordinate edge, or centre. | |
| | | * | |
| | | * See also: vips_join(). | |
| | | */ | |
| | | typedef enum { | |
| | | VIPS_ALIGN_LOW, | |
| | | VIPS_ALIGN_CENTRE, | |
| | | VIPS_ALIGN_HIGH, | |
| | | VIPS_ALIGN_LAST | |
| | | } VipsAlign; | |
| | | | |
| | | /** | |
| | | * VipsAngle: | |
| | | * @VIPS_ANGLE_0: no rotate | |
| | | * @VIPS_ANGLE_90: 90 degrees anti-clockwise | |
| | | * @VIPS_ANGLE_180: 180 degree rotate | |
| | | * @VIPS_ANGLE_270: 90 degrees clockwise | |
| | | * | |
| | | * See vips_rot() and so on. | |
| | | * | |
| | | * Fixed rotate angles. | |
| | | * | |
| | | * See also: vips_rot(). | |
| | | */ | |
| | | typedef enum { | |
| | | VIPS_ANGLE_0, | |
| | | VIPS_ANGLE_90, | |
| | | VIPS_ANGLE_180, | |
| | | VIPS_ANGLE_270, | |
| | | VIPS_ANGLE_LAST | |
| | | } VipsAngle; | |
| | | | |
| | | /** | |
| | | * VipsCacheStrategy: | |
| | | * @VIPS_CACHE_RANDOM: expect random access | |
| | | * @VIPS_CACHE_SEQUENTIAL: expect sequential access | |
| | | * | |
| | | * See vips_tilecache() and friends. | |
| | | * | |
| | | * Used to hint to caches about the expected access pattern. RANDOM might m | |
| | | ean | |
| | | * LRU eviction, SEQUENTIAL might mean top-most eviction. | |
| | | * | |
| | | * See also: vips_tilecache(). | |
| | | */ | |
| | | typedef enum { | |
| | | VIPS_CACHE_RANDOM, | |
| | | VIPS_CACHE_SEQUENTIAL, | |
| | | VIPS_CACHE_LAST | |
| | | } VipsCacheStrategy; | |
| | | | |
| | | int vips_copy( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_tilecache( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_sequential( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_cache( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| | | int vips_embed( VipsImage *in, VipsImage **out, | |
| | | int x, int y, int width, int height, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_flip( VipsImage *in, VipsImage **out, VipsDirection direction, ... | |
| | | ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_insert( VipsImage *main, VipsImage *sub, VipsImage **out, | |
| | | int x, int y, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_join( VipsImage *main, VipsImage *sub, VipsImage **out, | |
| | | VipsDirection direction, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_extract_area( VipsImage *input, VipsImage **output, | |
| | | int left, int top, int width, int height, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_extract_band( VipsImage *input, VipsImage **output, int band, ... | |
| | | ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_replicate( VipsImage *in, VipsImage **out, int across, int down, . | |
| | | .. ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| | | int vips_cast( VipsImage *in, VipsImage **out, VipsBandFormat format, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_cast_uchar( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_cast_char( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_cast_ushort( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_cast_short( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_cast_uint( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_cast_int( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_cast_float( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_cast_double( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_cast_complex( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_cast_dpcomplex( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| | | int vips_bandjoin( VipsImage **in, VipsImage **out, int n, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_bandjoin2( VipsImage *in1, VipsImage *in2, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_bandmean( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_recomb( VipsImage *in, VipsImage **out, VipsImage *m, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_black( VipsImage **out, int width, int height, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_rot( VipsImage *in, VipsImage **out, VipsAngle angle, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_ifthenelse( VipsImage *cond, VipsImage *in1, VipsImage *in2, | |
| | | VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
|
| int im_copy( VipsImage *in, VipsImage *out ); | | | |
| int im_copy_set( VipsImage *in, VipsImage *out, | | | |
| VipsInterpretation interpretation, | | | |
| float xres, float yres, int xoffset, int yoffset ); | | | |
| int im_copy_set_meta( VipsImage *in, VipsImage *out, | | | |
| const char *field, GValue *value ); | | | |
| int im_copy_morph( VipsImage *in, VipsImage *out, | | | |
| int bands, VipsBandFormat format, VipsCoding coding ); | | | |
| int im_copy_swap( VipsImage *in, VipsImage *out ); | | | |
| int im_copy_native( VipsImage *in, VipsImage *out, gboolean is_msb_first ); | | | |
| int im_copy_file( VipsImage *in, VipsImage *out ); | | int im_copy_file( VipsImage *in, VipsImage *out ); | |
| | | | |
|
| int im_clip2fmt( VipsImage *in, VipsImage *out, VipsBandFormat fmt ); | | | |
| int im_scale( VipsImage *in, VipsImage *out ); | | int im_scale( VipsImage *in, VipsImage *out ); | |
| int im_msb( VipsImage *in, VipsImage *out ); | | int im_msb( VipsImage *in, VipsImage *out ); | |
| int im_msb_band( VipsImage *in, VipsImage *out, int band ); | | int im_msb_band( VipsImage *in, VipsImage *out, int band ); | |
| | | | |
|
| int im_c2amph( VipsImage *in, VipsImage *out ); | | | |
| int im_c2rect( VipsImage *in, VipsImage *out ); | | | |
| int im_ri2c( VipsImage *in1, VipsImage *in2, VipsImage *out ); | | | |
| int im_c2imag( VipsImage *in, VipsImage *out ); | | | |
| int im_c2real( VipsImage *in, VipsImage *out ); | | | |
| int im_scaleps( VipsImage *in, VipsImage *out ); | | int im_scaleps( VipsImage *in, VipsImage *out ); | |
| | | | |
| int im_falsecolour( VipsImage *in, VipsImage *out ); | | int im_falsecolour( VipsImage *in, VipsImage *out ); | |
| int im_gaussnoise( VipsImage *out, int x, int y, double mean, double sigma
); | | int im_gaussnoise( VipsImage *out, int x, int y, double mean, double sigma
); | |
| | | | |
|
| int im_black( VipsImage *out, int x, int y, int bands ); | | | |
| int im_text( VipsImage *out, const char *text, const char *font, | | int im_text( VipsImage *out, const char *text, const char *font, | |
| int width, int alignment, int dpi ); | | int width, int alignment, int dpi ); | |
| | | | |
|
| int im_extract_band( VipsImage *in, VipsImage *out, int band ); | | | |
| int im_extract_bands( VipsImage *in, VipsImage *out, int band, int nbands ) | | | |
| ; | | | |
| int im_extract_area( VipsImage *in, VipsImage *out, | | | |
| int left, int top, int width, int height ); | | | |
| int im_extract_areabands( VipsImage *in, VipsImage *out, | | | |
| int left, int top, int width, int height, int band, int nbands ); | | | |
| int im_embed( VipsImage *in, VipsImage *out, | | | |
| int type, int x, int y, int width, int height ); | | | |
| int im_bandjoin( VipsImage *in1, VipsImage *in2, VipsImage *out ); | | | |
| int im_gbandjoin( VipsImage **in, VipsImage *out, int n ); | | | |
| int im_insert( VipsImage *main, VipsImage *sub, VipsImage *out, int x, int | | | |
| y ); | | | |
| int im_insert_noexpand( VipsImage *main, VipsImage *sub, VipsImage *out, in | | | |
| t x, int y ); | | | |
| int im_insertset( VipsImage *main, VipsImage *sub, VipsImage *out, int n, i
nt *x, int *y ); | | int im_insertset( VipsImage *main, VipsImage *sub, VipsImage *out, int n, i
nt *x, int *y ); | |
|
| int im_lrjoin( VipsImage *left, VipsImage *right, VipsImage *out ); | | | |
| int im_tbjoin( VipsImage *top, VipsImage *bottom, VipsImage *out ); | | | |
| int im_replicate( VipsImage *in, VipsImage *out, int across, int down ); | | | |
| int im_grid( VipsImage *in, VipsImage *out, int tile_height, int across, in
t down ); | | int im_grid( VipsImage *in, VipsImage *out, int tile_height, int across, in
t down ); | |
| int im_wrap( VipsImage *in, VipsImage *out, int x, int y ); | | int im_wrap( VipsImage *in, VipsImage *out, int x, int y ); | |
| | | | |
|
| int im_fliphor( VipsImage *in, VipsImage *out ); | | | |
| int im_flipver( VipsImage *in, VipsImage *out ); | | | |
| int im_rot90( VipsImage *in, VipsImage *out ); | | | |
| int im_rot180( VipsImage *in, VipsImage *out ); | | | |
| int im_rot270( VipsImage *in, VipsImage *out ); | | | |
| | | | |
| int im_subsample( VipsImage *in, VipsImage *out, int xshrink, int yshrink )
; | | int im_subsample( VipsImage *in, VipsImage *out, int xshrink, int yshrink )
; | |
| int im_zoom( VipsImage *in, VipsImage *out, int xfac, int yfac ); | | int im_zoom( VipsImage *in, VipsImage *out, int xfac, int yfac ); | |
| | | | |
| int im_system( VipsImage *im, const char *cmd, char **out ); | | int im_system( VipsImage *im, const char *cmd, char **out ); | |
| VipsImage *im_system_image( VipsImage *im, | | VipsImage *im_system_image( VipsImage *im, | |
| const char *in_format, const char *out_format, const char *cmd_forma
t, | | const char *in_format, const char *out_format, const char *cmd_forma
t, | |
| char **log ); | | char **log ); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
|
| #endif /*IM_CONVERSION_H*/ | | #endif /*VIPS_CONVERSION_H*/ | |
| | | | |
End of changes. 10 change blocks. |
| 45 lines changed or deleted | | 190 lines changed or added | |
|
| image.h | | image.h | |
| | | | |
| skipping to change at line 65 | | skipping to change at line 65 | |
| * | | * | |
| * See vips_demand_hint(). Operations can hint to the VIPS image IO system
about | | * See vips_demand_hint(). Operations can hint to the VIPS image IO system
about | |
| * the kind of demand geometry they prefer. | | * the kind of demand geometry they prefer. | |
| * | | * | |
| * These demand styles are given below in order of increasing | | * These demand styles are given below in order of increasing | |
| * restrictiveness. When demanding output from a pipeline, | | * restrictiveness. When demanding output from a pipeline, | |
| * vips_image_generate() | | * vips_image_generate() | |
| * will use the most restrictive of the styles requested by the operations | | * will use the most restrictive of the styles requested by the operations | |
| * in the pipeline. | | * in the pipeline. | |
| * | | * | |
|
| * VIPS_DEMAND_STYLE_THINSTRIP --- This operation would like to output stri
ps | | * #VIPS_DEMAND_STYLE_THINSTRIP --- This operation would like to output str
ips | |
| * the width of the image and a few pels high. This is option suitable for | | * the width of the image and a few pels high. This is option suitable for | |
| * point-to-point operations, such as those in the arithmetic package. | | * point-to-point operations, such as those in the arithmetic package. | |
| * | | * | |
| * This option is only efficient for cases where each output pel depends | | * This option is only efficient for cases where each output pel depends | |
| * upon the pel in the corresponding position in the input image. | | * upon the pel in the corresponding position in the input image. | |
| * | | * | |
|
| * VIPS_DEMAND_STYLE_FATSTRIP --- This operation would like to output strip
s | | * #VIPS_DEMAND_STYLE_FATSTRIP --- This operation would like to output stri
ps | |
| * the width of the image and as high as possible. This option is suitable | | * the width of the image and as high as possible. This option is suitable | |
| * for area operations which do not violently transform coordinates, such | | * for area operations which do not violently transform coordinates, such | |
| * as im_conv(). | | * as im_conv(). | |
| * | | * | |
|
| * VIPS_DEMAND_STYLE_SMALLTILE --- This is the most general demand format. | | * #VIPS_DEMAND_STYLE_SMALLTILE --- This is the most general demand format. | |
| * Output is demanded in small (around 100x100 pel) sections. This style wo
rks | | * Output is demanded in small (around 100x100 pel) sections. This style wo
rks | |
| * reasonably efficiently, even for bizzare operations like 45 degree rotat
e. | | * reasonably efficiently, even for bizzare operations like 45 degree rotat
e. | |
| * | | * | |
|
| * VIPS_DEMAND_STYLE_ANY --- This image is not being demand-read from a dis
c | | * #VIPS_DEMAND_STYLE_ANY --- This image is not being demand-read from a di
sc | |
| * file (even indirectly) so any demand style is OK. It's used for things l
ike | | * file (even indirectly) so any demand style is OK. It's used for things l
ike | |
| * im_black() where the pixels are calculated. | | * im_black() where the pixels are calculated. | |
| * | | * | |
| * See also: vips_demand_hint(). | | * See also: vips_demand_hint(). | |
| */ | | */ | |
| typedef enum { | | typedef enum { | |
|
| | | VIPS_DEMAND_STYLE_ERROR = -1, | |
| VIPS_DEMAND_STYLE_SMALLTILE, | | VIPS_DEMAND_STYLE_SMALLTILE, | |
| VIPS_DEMAND_STYLE_FATSTRIP, | | VIPS_DEMAND_STYLE_FATSTRIP, | |
| VIPS_DEMAND_STYLE_THINSTRIP, | | VIPS_DEMAND_STYLE_THINSTRIP, | |
| VIPS_DEMAND_STYLE_ANY | | VIPS_DEMAND_STYLE_ANY | |
| } VipsDemandStyle; | | } VipsDemandStyle; | |
| | | | |
| /* Types of image descriptor we may have. The type field is advisory only:
it | | /* Types of image descriptor we may have. The type field is advisory only:
it | |
| * does not imply that any fields in IMAGE have valid data. | | * does not imply that any fields in IMAGE have valid data. | |
| */ | | */ | |
| typedef enum { | | typedef enum { | |
|
| | | VIPS_IMAGE_ERROR = -1, | |
| VIPS_IMAGE_NONE, /* no type set */ | | VIPS_IMAGE_NONE, /* no type set */ | |
| VIPS_IMAGE_SETBUF, /* malloced memory array */ | | VIPS_IMAGE_SETBUF, /* malloced memory array */ | |
| VIPS_IMAGE_SETBUF_FOREIGN, /* memory array, don't free on close
*/ | | VIPS_IMAGE_SETBUF_FOREIGN, /* memory array, don't free on close
*/ | |
| VIPS_IMAGE_OPENIN, /* input from fd with a window */ | | VIPS_IMAGE_OPENIN, /* input from fd with a window */ | |
| VIPS_IMAGE_MMAPIN, /* memory mapped input file */ | | VIPS_IMAGE_MMAPIN, /* memory mapped input file */ | |
| VIPS_IMAGE_MMAPINRW, /* memory mapped read/write file */ | | VIPS_IMAGE_MMAPINRW, /* memory mapped read/write file */ | |
| VIPS_IMAGE_OPENOUT, /* output to fd */ | | VIPS_IMAGE_OPENOUT, /* output to fd */ | |
| VIPS_IMAGE_PARTIAL /* partial image */ | | VIPS_IMAGE_PARTIAL /* partial image */ | |
| } VipsImageType; | | } VipsImageType; | |
| | | | |
| /** | | /** | |
| * VipsInterpretation: | | * VipsInterpretation: | |
|
| * @VIPS_TYPE_MULTIBAND: generic many-band image | | * @VIPS_INTERPREATION_MULTIBAND: generic many-band image | |
| * @VIPS_TYPE_B_W: some kind of single-band image | | * @VIPS_INTERPREATION_B_W: some kind of single-band image | |
| * @VIPS_TYPE_HISTOGRAM: a 1D image such as a histogram or lookup table | | * @VIPS_INTERPREATION_HISTOGRAM: a 1D image such as a histogram or lookup | |
| * @VIPS_TYPE_FOURIER: image is in fourier space | | table | |
| * @VIPS_TYPE_XYZ: the first three bands are colours in CIE XYZ colourspace | | * @VIPS_INTERPREATION_FOURIER: image is in fourier space | |
| * @VIPS_TYPE_LAB: pixels are in CIE Lab space | | * @VIPS_INTERPREATION_XYZ: the first three bands are CIE XYZ | |
| * @VIPS_TYPE_CMYK: the first four bands are in CMYK space | | * @VIPS_INTERPREATION_LAB: pixels are in CIE Lab space | |
| * @VIPS_TYPE_LABQ: implies #VIPS_CODING_LABQ | | * @VIPS_INTERPREATION_CMYK: the first four bands are in CMYK space | |
| * @VIPS_TYPE_RGB: generic RGB space | | * @VIPS_INTERPREATION_LABQ: implies #VIPS_CODING_LABQ | |
| * @VIPS_TYPE_UCS: a uniform colourspace based on CMC | | * @VIPS_INTERPREATION_RGB: generic RGB space | |
| * @VIPS_TYPE_LCH: pixels are in CIE LCh space | | * @VIPS_INTERPREATION_UCS: a uniform colourspace based on CMC | |
| * @VIPS_TYPE_LABS: pixels are CIE LAB coded as three signed 16-bit values | | * @VIPS_INTERPREATION_LCH: pixels are in CIE LCh space | |
| * @VIPS_TYPE_sRGB: pixels are sRGB | | * @VIPS_INTERPREATION_LABS: CIE LAB coded as three signed 16-bit values | |
| * @VIPS_TYPE_YXY: pixels are CIE Yxy | | * @VIPS_INTERPREATION_sRGB: pixels are sRGB | |
| * @VIPS_TYPE_RGB16: generic 16-bit RGB | | * @VIPS_INTERPREATION_YXY: pixels are CIE Yxy | |
| * @VIPS_TYPE_GREY16: generic 16-bit mono | | * @VIPS_INTERPREATION_RGB16: generic 16-bit RGB | |
| | | * @VIPS_INTERPREATION_GREY16: generic 16-bit mono | |
| | | * @VIPS_INTERPREATION_ARRAY: an array | |
| * | | * | |
| * How the values in an image should be interpreted. For example, a | | * How the values in an image should be interpreted. For example, a | |
|
| * three-band float image of type #VIPS_TYPE_LAB should have its pixels | | * three-band float image of type #VIPS_INTERPREATION_LAB should have its p
ixels | |
| * interpreted as coordinates in CIE Lab space. | | * interpreted as coordinates in CIE Lab space. | |
| * | | * | |
| * These values are set by operations as hints to user-interfaces built on
top | | * These values are set by operations as hints to user-interfaces built on
top | |
| * of VIPS to help them show images to the user in a meaningful way. | | * of VIPS to help them show images to the user in a meaningful way. | |
| * Operations do not use these values to decide their action. | | * Operations do not use these values to decide their action. | |
| * | | * | |
| * The gaps in the numbering are historical and must be maintained. Allocat
e | | * The gaps in the numbering are historical and must be maintained. Allocat
e | |
| * new numbers from the end. | | * new numbers from the end. | |
| */ | | */ | |
| typedef enum { | | typedef enum { | |
|
| | | VIPS_INTERPRETATION_ERROR = -1, | |
| VIPS_INTERPRETATION_MULTIBAND = 0, | | VIPS_INTERPRETATION_MULTIBAND = 0, | |
| VIPS_INTERPRETATION_B_W = 1, | | VIPS_INTERPRETATION_B_W = 1, | |
| VIPS_INTERPRETATION_HISTOGRAM = 10, | | VIPS_INTERPRETATION_HISTOGRAM = 10, | |
| VIPS_INTERPRETATION_FOURIER = 24, | | VIPS_INTERPRETATION_FOURIER = 24, | |
| VIPS_INTERPRETATION_XYZ = 12, | | VIPS_INTERPRETATION_XYZ = 12, | |
| VIPS_INTERPRETATION_LAB = 13, | | VIPS_INTERPRETATION_LAB = 13, | |
| VIPS_INTERPRETATION_CMYK = 15, | | VIPS_INTERPRETATION_CMYK = 15, | |
| VIPS_INTERPRETATION_LABQ = 16, | | VIPS_INTERPRETATION_LABQ = 16, | |
| VIPS_INTERPRETATION_RGB = 17, | | VIPS_INTERPRETATION_RGB = 17, | |
| VIPS_INTERPRETATION_UCS = 18, | | VIPS_INTERPRETATION_UCS = 18, | |
| VIPS_INTERPRETATION_LCH = 19, | | VIPS_INTERPRETATION_LCH = 19, | |
| VIPS_INTERPRETATION_LABS = 21, | | VIPS_INTERPRETATION_LABS = 21, | |
| VIPS_INTERPRETATION_sRGB = 22, | | VIPS_INTERPRETATION_sRGB = 22, | |
| VIPS_INTERPRETATION_YXY = 23, | | VIPS_INTERPRETATION_YXY = 23, | |
| VIPS_INTERPRETATION_RGB16 = 25, | | VIPS_INTERPRETATION_RGB16 = 25, | |
|
| VIPS_INTERPRETATION_GREY16 = 26 | | VIPS_INTERPRETATION_GREY16 = 26, | |
| | | VIPS_INTERPRETATION_ARRAY = 27 | |
| } VipsInterpretation; | | } VipsInterpretation; | |
| | | | |
| /** | | /** | |
| * VipsBandFormat: | | * VipsBandFormat: | |
| * @VIPS_FORMAT_NOTSET: invalid setting | | * @VIPS_FORMAT_NOTSET: invalid setting | |
| * @VIPS_FORMAT_UCHAR: unsigned char format | | * @VIPS_FORMAT_UCHAR: unsigned char format | |
| * @VIPS_FORMAT_CHAR: char format | | * @VIPS_FORMAT_CHAR: char format | |
| * @VIPS_FORMAT_USHORT: unsigned short format | | * @VIPS_FORMAT_USHORT: unsigned short format | |
| * @VIPS_FORMAT_SHORT: short format | | * @VIPS_FORMAT_SHORT: short format | |
| * @VIPS_FORMAT_UINT: unsigned int format | | * @VIPS_FORMAT_UINT: unsigned int format | |
| | | | |
| skipping to change at line 207 | | skipping to change at line 212 | |
| * How pixels are coded. | | * How pixels are coded. | |
| * | | * | |
| * Normally, pixels are uncoded and can be manipulated as you would expect. | | * Normally, pixels are uncoded and can be manipulated as you would expect. | |
| * However some file formats code pixels for compression, and sometimes it'
s | | * However some file formats code pixels for compression, and sometimes it'
s | |
| * useful to be able to manipulate images in the coded format. | | * useful to be able to manipulate images in the coded format. | |
| * | | * | |
| * The gaps in the numbering are historical and must be maintained. Allocat
e | | * The gaps in the numbering are historical and must be maintained. Allocat
e | |
| * new numbers from the end. | | * new numbers from the end. | |
| */ | | */ | |
| typedef enum { | | typedef enum { | |
|
| | | VIPS_CODING_ERROR = -1, | |
| VIPS_CODING_NONE = 0, | | VIPS_CODING_NONE = 0, | |
| VIPS_CODING_LABQ = 2, | | VIPS_CODING_LABQ = 2, | |
|
| VIPS_CODING_RAD = 6 | | VIPS_CODING_RAD = 6, | |
| | | VIPS_CODING_LAST = 7 | |
| } VipsCoding; | | } VipsCoding; | |
| | | | |
| /* Struct we keep a record of execution time in. Passed to eval signal so | | /* Struct we keep a record of execution time in. Passed to eval signal so | |
| * it can assess progress. | | * it can assess progress. | |
| */ | | */ | |
|
| typedef struct { | | typedef struct _VipsProgress { | |
| /*< private >*/ | | /*< private >*/ | |
| struct _VipsImage *im; /* Image we are part of */ | | struct _VipsImage *im; /* Image we are part of */ | |
| | | | |
| /*< public >*/ | | /*< public >*/ | |
| int run; /* Time we have been running */ | | int run; /* Time we have been running */ | |
| int eta; /* Estimated seconds of computation left */ | | int eta; /* Estimated seconds of computation left */ | |
| gint64 tpels; /* Number of pels we expect to calculate */ | | gint64 tpels; /* Number of pels we expect to calculate */ | |
| gint64 npels; /* Number of pels calculated so far */ | | gint64 npels; /* Number of pels calculated so far */ | |
| int percent; /* Percent complete */ | | int percent; /* Percent complete */ | |
| GTimer *start; /* Start time */ | | GTimer *start; /* Start time */ | |
| | | | |
| skipping to change at line 259 | | skipping to change at line 266 | |
| * Don't use them though, use vips_image_get_width() and friends. | | * Don't use them though, use vips_image_get_width() and friends. | |
| */ | | */ | |
| | | | |
| int Xsize; /* image width, in pixels */ | | int Xsize; /* image width, in pixels */ | |
| int Ysize; /* image height, in pixels */ | | int Ysize; /* image height, in pixels */ | |
| int Bands; /* number of image bands */ | | int Bands; /* number of image bands */ | |
| | | | |
| VipsBandFormat BandFmt; /* pixel format */ | | VipsBandFormat BandFmt; /* pixel format */ | |
| VipsCoding Coding; /* pixel coding */ | | VipsCoding Coding; /* pixel coding */ | |
| VipsInterpretation Type;/* pixel interpretation */ | | VipsInterpretation Type;/* pixel interpretation */ | |
|
| float Xres; /* horizontal pixels per millimetre */ | | double Xres; /* horizontal pixels per millimetre */ | |
| float Yres; /* vertical pixels per millimetre */ | | double Yres; /* vertical pixels per millimetre */ | |
| | | | |
| int Xoffset; /* image origin hint */ | | int Xoffset; /* image origin hint */ | |
| int Yoffset; /* image origin hint */ | | int Yoffset; /* image origin hint */ | |
| | | | |
| /* No longer used, the names are here for compat with very, very old | | /* No longer used, the names are here for compat with very, very old | |
| * code. | | * code. | |
| */ | | */ | |
| int Length; | | int Length; | |
| short Compression; | | short Compression; | |
| short Level; | | short Level; | |
| | | | |
| skipping to change at line 283 | | skipping to change at line 290 | |
| /* Old code expects to see this member, newer code has a param on | | /* Old code expects to see this member, newer code has a param on | |
| * eval(). | | * eval(). | |
| */ | | */ | |
| VipsProgress *time; | | VipsProgress *time; | |
| | | | |
| /* Derived fields that some code can fiddle with. New code should us
e | | /* Derived fields that some code can fiddle with. New code should us
e | |
| * vips_image_get_history() and friends. | | * vips_image_get_history() and friends. | |
| */ | | */ | |
| char *Hist; /* don't use, see vips_image_get_history() *
/ | | char *Hist; /* don't use, see vips_image_get_history() *
/ | |
| char *filename; /* pointer to copy of filename */ | | char *filename; /* pointer to copy of filename */ | |
|
| char *data; /* start of image data for WIO */ | | VipsPel *data; /* start of image data for WIO */ | |
| int kill; /* set to non-zero to block eval */ | | int kill; /* set to non-zero to block eval */ | |
| | | | |
| /* Everything below this private and only used internally by | | /* Everything below this private and only used internally by | |
| * VipsImage. | | * VipsImage. | |
| */ | | */ | |
| | | | |
|
| | | /* During vips image read and write we need temporary float-sized | |
| | | * fields in the struct for staging xres/yres. Don't use these any | |
| | | * other time. | |
| | | */ | |
| | | float Xres_float; | |
| | | float Yres_float; | |
| | | | |
| char *mode; /* mode string passed to _new() */ | | char *mode; /* mode string passed to _new() */ | |
| VipsImageType dtype; /* descriptor type */ | | VipsImageType dtype; /* descriptor type */ | |
| int fd; /* file descriptor */ | | int fd; /* file descriptor */ | |
|
| char *baseaddr; /* pointer to the start of an mmap file */ | | void *baseaddr; /* pointer to the start of an mmap file */ | |
| size_t length; /* size of mmap area */ | | size_t length; /* size of mmap area */ | |
| guint32 magic; /* magic from header, endian-ness of image *
/ | | guint32 magic; /* magic from header, endian-ness of image *
/ | |
| | | | |
| /* Partial image stuff. All these fields are initialised | | /* Partial image stuff. All these fields are initialised | |
| * to NULL and ignored unless set by vips_image_generate() etc. | | * to NULL and ignored unless set by vips_image_generate() etc. | |
| */ | | */ | |
|
| void *(*start)(); /* user-supplied start function */ | | void *(*start_fn)(); /* user-supplied start function */ | |
| int (*generate)(); /* user-supplied generate function */ | | int (*generate_fn)(); /* user-supplied generate function */ | |
| int (*stop)(); /* user-supplied stop function */ | | int (*stop_fn)(); /* user-supplied stop function */ | |
| void *client1; /* user arguments */ | | void *client1; /* user arguments */ | |
| void *client2; | | void *client2; | |
| GMutex *sslock; /* start-stop lock */ | | GMutex *sslock; /* start-stop lock */ | |
| GSList *regions; /* list of regions current for this image */ | | GSList *regions; /* list of regions current for this image */ | |
| VipsDemandStyle dhint; /* demand style hint */ | | VipsDemandStyle dhint; /* demand style hint */ | |
| | | | |
| /* Extra user-defined fields ... see vips_image_get() etc. | | /* Extra user-defined fields ... see vips_image_get() etc. | |
| */ | | */ | |
| GHashTable *meta; /* GhashTable of GValue */ | | GHashTable *meta; /* GhashTable of GValue */ | |
| GSList *meta_traverse; /* traverse order for Meta */ | | GSList *meta_traverse; /* traverse order for Meta */ | |
| | | | |
| /* Part of mmap() read ... the sizeof() the header we skip from the | | /* Part of mmap() read ... the sizeof() the header we skip from the | |
| * file start. Usually VIPS_SIZEOF_HEADER, but can be something else | | * file start. Usually VIPS_SIZEOF_HEADER, but can be something else | |
| * for binary file read. | | * for binary file read. | |
|
| | | * | |
| | | * gint64 so that we can guarantee to work even on systems with | |
| | | * strange ideas about large files. | |
| */ | | */ | |
|
| int sizeof_header; | | guint64 sizeof_header; | |
| | | | |
| /* If this is a large disc image, don't map the whole thing, instead | | /* If this is a large disc image, don't map the whole thing, instead | |
| * have a set of windows shared between the regions active on the | | * have a set of windows shared between the regions active on the | |
| * image. List of VipsWindow. | | * image. List of VipsWindow. | |
| */ | | */ | |
| GSList *windows; | | GSList *windows; | |
| | | | |
| /* Upstream/downstream relationships, built from args to | | /* Upstream/downstream relationships, built from args to | |
| * vips_demand_hint(). | | * vips_demand_hint(). | |
| * | | * | |
| | | | |
| skipping to change at line 373 | | skipping to change at line 390 | |
| | | | |
| /* Delete-on-close is hard to do with signals and callbacks since we | | /* Delete-on-close is hard to do with signals and callbacks since we | |
| * really need to do this in finalize after the fd has been closed, | | * really need to do this in finalize after the fd has been closed, | |
| * but you can't emit signals then. | | * but you can't emit signals then. | |
| * | | * | |
| * Also keep a private copy of the filename string to be deleted, | | * Also keep a private copy of the filename string to be deleted, | |
| * since image->filename will be freed in _dispose(). | | * since image->filename will be freed in _dispose(). | |
| */ | | */ | |
| gboolean delete_on_close; | | gboolean delete_on_close; | |
| char *delete_on_close_filename; | | char *delete_on_close_filename; | |
|
| | | | |
| } VipsImage; | | } VipsImage; | |
| | | | |
| typedef struct _VipsImageClass { | | typedef struct _VipsImageClass { | |
| VipsObjectClass parent_class; | | VipsObjectClass parent_class; | |
| | | | |
| /* Signals we emit. | | /* Signals we emit. | |
| */ | | */ | |
| | | | |
| /* Evaluation is starting. | | /* Evaluation is starting. | |
| */ | | */ | |
| | | | |
| skipping to change at line 410 | | skipping to change at line 426 | |
| | | | |
| /* An image has been modified in some way and all caches | | /* An image has been modified in some way and all caches | |
| * need dropping. | | * need dropping. | |
| */ | | */ | |
| void (*invalidate)( VipsImage *image ); | | void (*invalidate)( VipsImage *image ); | |
| | | | |
| } VipsImageClass; | | } VipsImageClass; | |
| | | | |
| GType vips_image_get_type( void ); | | GType vips_image_get_type( void ); | |
| | | | |
|
| | | /* Has to be guint64 and not size_t/off_t since we have to be able to addre | |
| | | ss | |
| | | * huge images on platforms with 32-bit files. | |
| | | */ | |
| extern const guint64 vips__image_sizeof_bandformat[]; | | extern const guint64 vips__image_sizeof_bandformat[]; | |
| | | | |
| /* Pixel address calculation macros. | | /* Pixel address calculation macros. | |
| */ | | */ | |
| #define VIPS_IMAGE_SIZEOF_ELEMENT( I ) \ | | #define VIPS_IMAGE_SIZEOF_ELEMENT( I ) \ | |
| (vips__image_sizeof_bandformat[(I)->BandFmt]) | | (vips__image_sizeof_bandformat[(I)->BandFmt]) | |
| #define VIPS_IMAGE_SIZEOF_PEL( I ) \ | | #define VIPS_IMAGE_SIZEOF_PEL( I ) \ | |
| (VIPS_IMAGE_SIZEOF_ELEMENT( I ) * (I)->Bands) | | (VIPS_IMAGE_SIZEOF_ELEMENT( I ) * (I)->Bands) | |
| #define VIPS_IMAGE_SIZEOF_LINE( I ) \ | | #define VIPS_IMAGE_SIZEOF_LINE( I ) \ | |
| (VIPS_IMAGE_SIZEOF_PEL( I ) * (I)->Xsize) | | (VIPS_IMAGE_SIZEOF_PEL( I ) * (I)->Xsize) | |
| #define VIPS_IMAGE_SIZEOF_IMAGE( I ) \ | | #define VIPS_IMAGE_SIZEOF_IMAGE( I ) \ | |
| (VIPS_IMAGE_SIZEOF_LINE( I ) * (I)->Ysize) | | (VIPS_IMAGE_SIZEOF_LINE( I ) * (I)->Ysize) | |
| #define VIPS_IMAGE_N_ELEMENTS( I ) \ | | #define VIPS_IMAGE_N_ELEMENTS( I ) \ | |
| ((I)->Bands * (I)->Xsize) | | ((I)->Bands * (I)->Xsize) | |
|
| | | #define VIPS_IMAGE_N_PELS( I ) \ | |
| | | ((guint64) (I)->Xsize * (I)->Ysize) | |
| | | | |
| /* If VIPS_DEBUG is defined, add bounds checking. | | /* If VIPS_DEBUG is defined, add bounds checking. | |
| */ | | */ | |
| #ifdef VIPS_DEBUG | | #ifdef VIPS_DEBUG | |
| #define VIPS_IMAGE_ADDR( I, X, Y ) \ | | #define VIPS_IMAGE_ADDR( I, X, Y ) \ | |
| ( ((X) >= 0 && (X) < (I)->Xsize && \ | | ( ((X) >= 0 && (X) < (I)->Xsize && \ | |
| (Y) >= 0 && (Y) < (I)->Ysize) ? \ | | (Y) >= 0 && (Y) < (I)->Ysize) ? \ | |
| ((I)->data + \ | | ((I)->data + \ | |
| (Y) * VIPS_IMAGE_SIZEOF_LINE( I ) + \ | | (Y) * VIPS_IMAGE_SIZEOF_LINE( I ) + \ | |
| (X) * VIPS_IMAGE_SIZEOF_PEL( I )) : \ | | (X) * VIPS_IMAGE_SIZEOF_PEL( I )) : \ | |
| (fprintf( stderr, \ | | (fprintf( stderr, \ | |
| "VIPS_IMAGE_ADDR: point out of bounds, " \ | | "VIPS_IMAGE_ADDR: point out of bounds, " \ | |
| "file \"%s\", line %d\n" \ | | "file \"%s\", line %d\n" \ | |
| "(point x=%d, y=%d\n" \ | | "(point x=%d, y=%d\n" \ | |
| " should have been within VipsRect left=%d, top=%d, " \ | | " should have been within VipsRect left=%d, top=%d, " \ | |
| "width=%d, height=%d)\n", \ | | "width=%d, height=%d)\n", \ | |
| __FILE__, __LINE__, \ | | __FILE__, __LINE__, \ | |
| (X), (Y), \ | | (X), (Y), \ | |
| 0, 0, \ | | 0, 0, \ | |
| (I)->Xsize, \ | | (I)->Xsize, \ | |
|
| (I)->Ysize ), abort(), (char *) NULL) \ | | (I)->Ysize ), abort(), (VipsPel *) NULL) \ | |
| ) | | ) | |
| #else /*!VIPS_DEBUG*/ | | #else /*!VIPS_DEBUG*/ | |
| #define VIPS_IMAGE_ADDR( I, X, Y ) \ | | #define VIPS_IMAGE_ADDR( I, X, Y ) \ | |
| ((I)->data + \ | | ((I)->data + \ | |
| (Y) * VIPS_IMAGE_SIZEOF_LINE( I ) + \ | | (Y) * VIPS_IMAGE_SIZEOF_LINE( I ) + \ | |
| (X) * VIPS_IMAGE_SIZEOF_PEL( I )) | | (X) * VIPS_IMAGE_SIZEOF_PEL( I )) | |
| #endif /*VIPS_DEBUG*/ | | #endif /*VIPS_DEBUG*/ | |
| | | | |
| int vips_image_written( VipsImage *image ); | | int vips_image_written( VipsImage *image ); | |
| | | | |
| | | | |
| skipping to change at line 466 | | skipping to change at line 487 | |
| | | | |
| void vips_image_preeval( VipsImage *image ); | | void vips_image_preeval( VipsImage *image ); | |
| void vips_image_eval( VipsImage *image, int w, int h ); | | void vips_image_eval( VipsImage *image, int w, int h ); | |
| void vips_image_posteval( VipsImage *image ); | | void vips_image_posteval( VipsImage *image ); | |
| void vips_image_set_progress( VipsImage *image, gboolean progress ); | | void vips_image_set_progress( VipsImage *image, gboolean progress ); | |
| | | | |
| gboolean vips_image_get_kill( VipsImage *image ); | | gboolean vips_image_get_kill( VipsImage *image ); | |
| void vips_image_set_kill( VipsImage *image, gboolean kill ); | | void vips_image_set_kill( VipsImage *image, gboolean kill ); | |
| | | | |
| VipsImage *vips_image_new( void ); | | VipsImage *vips_image_new( void ); | |
|
| int vips_image_new_array( VipsObject *parent, VipsImage **images, int n ); | | | |
| VipsImage *vips_image_new_mode( const char *filename, const char *mode ); | | VipsImage *vips_image_new_mode( const char *filename, const char *mode ); | |
|
| | | VipsImage *vips_image_new_buffer( void ); | |
| VipsImage *vips_image_new_from_file( const char *filename ); | | VipsImage *vips_image_new_from_file( const char *filename ); | |
| VipsImage *vips_image_new_from_file_raw( const char *filename, | | VipsImage *vips_image_new_from_file_raw( const char *filename, | |
|
| int xsize, int ysize, int bands, int offset ); | | int xsize, int ysize, int bands, guint64 offset ); | |
| VipsImage *vips_image_new_from_memory( void *buffer, | | VipsImage *vips_image_new_from_memory( void *buffer, | |
| int xsize, int ysize, int bands, VipsBandFormat bandfmt ); | | int xsize, int ysize, int bands, VipsBandFormat bandfmt ); | |
|
| | | VipsImage *vips_image_new_array( int xsize, int ysize ); | |
| void vips_image_set_delete_on_close( VipsImage *image, | | void vips_image_set_delete_on_close( VipsImage *image, | |
| gboolean delete_on_close ); | | gboolean delete_on_close ); | |
| VipsImage *vips_image_new_disc_temp( const char *format ); | | VipsImage *vips_image_new_disc_temp( const char *format ); | |
|
| int vips_image_write( VipsImage *image, const char *filename ); | | int vips_image_write( VipsImage *image, VipsImage *out ); | |
| | | int vips_image_write_to_file( VipsImage *image, const char *filename ); | |
| | | | |
| gboolean vips_image_isMSBfirst( VipsImage *image ); | | gboolean vips_image_isMSBfirst( VipsImage *image ); | |
| gboolean vips_image_isfile( VipsImage *image ); | | gboolean vips_image_isfile( VipsImage *image ); | |
| gboolean vips_image_ispartial( VipsImage *image ); | | gboolean vips_image_ispartial( VipsImage *image ); | |
| | | | |
|
| int vips_image_write_line( VipsImage *image, int ypos, PEL *linebuffer ); | | | |
| | | | |
| int vips_image_wio_input( VipsImage *image ); | | int vips_image_wio_input( VipsImage *image ); | |
|
| int vips_image_wio_output( VipsImage *image ); | | | |
| int vips_image_inplace( VipsImage *image ); | | | |
| int vips_image_pio_input( VipsImage *image ); | | int vips_image_pio_input( VipsImage *image ); | |
|
| int vips_image_pio_output( VipsImage *image ); | | int vips_image_inplace( VipsImage *image ); | |
| | | int vips_image_write_prepare( VipsImage *image ); | |
| | | | |
| | | int vips_image_write_line( VipsImage *image, int ypos, VipsPel *linebuffer | |
| | | ); | |
| | | | |
| gboolean vips_band_format_isint( VipsBandFormat format ); | | gboolean vips_band_format_isint( VipsBandFormat format ); | |
| gboolean vips_band_format_isuint( VipsBandFormat format ); | | gboolean vips_band_format_isuint( VipsBandFormat format ); | |
| gboolean vips_band_format_isfloat( VipsBandFormat format ); | | gboolean vips_band_format_isfloat( VipsBandFormat format ); | |
| gboolean vips_band_format_iscomplex( VipsBandFormat format ); | | gboolean vips_band_format_iscomplex( VipsBandFormat format ); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
| | | | |
End of changes. 32 change blocks. |
| 42 lines changed or deleted | | 67 lines changed or added | |
|
| object.h | | object.h | |
| | | | |
| skipping to change at line 53 | | skipping to change at line 53 | |
| | | | |
| /* Track extra stuff for arguments to objects | | /* Track extra stuff for arguments to objects | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * VipsArgumentFlags: | | * VipsArgumentFlags: | |
| * @VIPS_ARGUMENT_NONE: no flags | | * @VIPS_ARGUMENT_NONE: no flags | |
| * @VIPS_ARGUMENT_REQUIRED: must be set in the constructor | | * @VIPS_ARGUMENT_REQUIRED: must be set in the constructor | |
| * @VIPS_ARGUMENT_CONSTRUCT: can only be set in the constructor | | * @VIPS_ARGUMENT_CONSTRUCT: can only be set in the constructor | |
| * @VIPS_ARGUMENT_SET_ONCE: can only be set once | | * @VIPS_ARGUMENT_SET_ONCE: can only be set once | |
|
| | | * @VIPS_ARGUMENT_SET_ALWAYS: don't do use-before-set checks | |
| * @VIPS_ARGUMENT_INPUT: is an input argument (one we depend on) | | * @VIPS_ARGUMENT_INPUT: is an input argument (one we depend on) | |
| * @VIPS_ARGUMENT_OUTPUT: is an output argument (depends on us) | | * @VIPS_ARGUMENT_OUTPUT: is an output argument (depends on us) | |
| * | | * | |
| * Flags we associate with each object argument. | | * Flags we associate with each object argument. | |
| * | | * | |
| * Have separate input & output flags. Both set is an error; neither set is
OK. | | * Have separate input & output flags. Both set is an error; neither set is
OK. | |
| * | | * | |
| * Input gobjects are automatically reffed, output gobjects automatically r
ef | | * Input gobjects are automatically reffed, output gobjects automatically r
ef | |
| * us. We also automatically watch for "destroy" and unlink. | | * us. We also automatically watch for "destroy" and unlink. | |
|
| | | * | |
| | | * @VIPS_ARGUMENT_SET_ALWAYS is handy for arguments which are set from C. F | |
| | | or | |
| | | * example, VipsImage::width is a property that gives access to the Xsize | |
| | | * member of struct _VipsImage. We default its 'assigned' to TRUE | |
| | | * since the field is always set directly by C. | |
| */ | | */ | |
|
| typedef enum { | | typedef enum /*< flags >*/ { | |
| VIPS_ARGUMENT_NONE = 0, | | VIPS_ARGUMENT_NONE = 0, | |
| VIPS_ARGUMENT_REQUIRED = 1, | | VIPS_ARGUMENT_REQUIRED = 1, | |
| VIPS_ARGUMENT_CONSTRUCT = 2, | | VIPS_ARGUMENT_CONSTRUCT = 2, | |
| VIPS_ARGUMENT_SET_ONCE = 4, | | VIPS_ARGUMENT_SET_ONCE = 4, | |
|
| VIPS_ARGUMENT_INPUT = 8, | | VIPS_ARGUMENT_SET_ALWAYS = 8, | |
| VIPS_ARGUMENT_OUTPUT = 16 | | VIPS_ARGUMENT_INPUT = 16, | |
| | | VIPS_ARGUMENT_OUTPUT = 32 | |
| } VipsArgumentFlags; | | } VipsArgumentFlags; | |
| | | | |
| /* Useful flag combinations. User-visible ones are: | | /* Useful flag combinations. User-visible ones are: | |
| | | | |
| VIPS_ARGUMENT_REQUIRED_INPUT Eg. the "left" argument for an add operation | | VIPS_ARGUMENT_REQUIRED_INPUT Eg. the "left" argument for an add operation | |
| | | | |
| VIPS_ARGUMENT_OPTIONAL_INPUT Eg. the "caption" for an object | | VIPS_ARGUMENT_OPTIONAL_INPUT Eg. the "caption" for an object | |
| | | | |
|
| VIPS_ARGUMENT_OUTPUT Eg. the "result" of an add operation | | VIPS_ARGUMENT_REQUIRED_OUTPUT Eg. the "result" of an add operation | |
| | | | |
| | | VIPS_ARGUMENT_OPTIONAL_OUTPUT Eg. the x pos of the image minimum | |
| | | | |
| Other combinations are used internally, eg. supplying the cast-table for
an | | Other combinations are used internally, eg. supplying the cast-table for
an | |
| arithmetic operation | | arithmetic operation | |
| | | | |
| */ | | */ | |
| | | | |
| #define VIPS_ARGUMENT_REQUIRED_INPUT \ | | #define VIPS_ARGUMENT_REQUIRED_INPUT \ | |
| (VIPS_ARGUMENT_INPUT | \ | | (VIPS_ARGUMENT_INPUT | \ | |
| VIPS_ARGUMENT_REQUIRED | \ | | VIPS_ARGUMENT_REQUIRED | \ | |
|
| VIPS_ARGUMENT_CONSTRUCT | \ | | VIPS_ARGUMENT_CONSTRUCT) | |
| VIPS_ARGUMENT_SET_ONCE) | | | |
| | | | |
| #define VIPS_ARGUMENT_OPTIONAL_INPUT \ | | #define VIPS_ARGUMENT_OPTIONAL_INPUT \ | |
| (VIPS_ARGUMENT_INPUT | \ | | (VIPS_ARGUMENT_INPUT | \ | |
|
| VIPS_ARGUMENT_CONSTRUCT | \ | | VIPS_ARGUMENT_CONSTRUCT) | |
| VIPS_ARGUMENT_SET_ONCE) | | | |
| | | | |
| #define VIPS_ARGUMENT_REQUIRED_OUTPUT \ | | #define VIPS_ARGUMENT_REQUIRED_OUTPUT \ | |
| (VIPS_ARGUMENT_OUTPUT | \ | | (VIPS_ARGUMENT_OUTPUT | \ | |
| VIPS_ARGUMENT_REQUIRED | \ | | VIPS_ARGUMENT_REQUIRED | \ | |
|
| VIPS_ARGUMENT_CONSTRUCT | \ | | VIPS_ARGUMENT_CONSTRUCT) | |
| VIPS_ARGUMENT_SET_ONCE) | | | |
| | | #define VIPS_ARGUMENT_OPTIONAL_OUTPUT \ | |
| | | (VIPS_ARGUMENT_OUTPUT | \ | |
| | | VIPS_ARGUMENT_CONSTRUCT) | |
| | | | |
| | | extern int _vips__argument_id; | |
| | | | |
| | | #define VIPS_ARG_IMAGE( CLASS, NAME, PRIORITY, LONG, DESC, FLAGS, OFFSET ) | |
| | | { \ | |
| | | GParamSpec *pspec; \ | |
| | | \ | |
| | | pspec = g_param_spec_object( (NAME), (LONG), (DESC), \ | |
| | | VIPS_TYPE_IMAGE, \ | |
| | | G_PARAM_READWRITE ); \ | |
| | | g_object_class_install_property( G_OBJECT_CLASS( CLASS ), \ | |
| | | _vips__argument_id++, pspec ); \ | |
| | | vips_object_class_install_argument( VIPS_OBJECT_CLASS( CLASS ), \ | |
| | | pspec, (FLAGS), (PRIORITY), (OFFSET) ); \ | |
| | | } | |
| | | | |
| | | #define VIPS_ARG_BOOL( CLASS, NAME, PRIORITY, LONG, DESC, \ | |
| | | FLAGS, OFFSET, VALUE ) { \ | |
| | | GParamSpec *pspec; \ | |
| | | \ | |
| | | pspec = g_param_spec_boolean( (NAME), (LONG), (DESC), \ | |
| | | (VALUE), \ | |
| | | G_PARAM_READWRITE ); \ | |
| | | g_object_class_install_property( G_OBJECT_CLASS( CLASS ), \ | |
| | | _vips__argument_id++, pspec ); \ | |
| | | vips_object_class_install_argument( VIPS_OBJECT_CLASS( CLASS ), \ | |
| | | pspec, (FLAGS), (PRIORITY), (OFFSET) ); \ | |
| | | } | |
| | | | |
| | | #define VIPS_ARG_DOUBLE( CLASS, NAME, PRIORITY, LONG, DESC, \ | |
| | | FLAGS, OFFSET, MIN, MAX, VALUE ) { \ | |
| | | GParamSpec *pspec; \ | |
| | | \ | |
| | | pspec = g_param_spec_double( (NAME), (LONG), (DESC), \ | |
| | | (MIN), (MAX), (VALUE), \ | |
| | | G_PARAM_READWRITE );\ | |
| | | g_object_class_install_property( G_OBJECT_CLASS( CLASS ), \ | |
| | | _vips__argument_id++, pspec ); \ | |
| | | vips_object_class_install_argument( VIPS_OBJECT_CLASS( CLASS ), \ | |
| | | pspec, (FLAGS), (PRIORITY), (OFFSET) ); \ | |
| | | } | |
| | | | |
| | | #define VIPS_ARG_BOXED( CLASS, NAME, PRIORITY, LONG, DESC, \ | |
| | | FLAGS, OFFSET, TYPE ) { \ | |
| | | GParamSpec *pspec; \ | |
| | | \ | |
| | | pspec = g_param_spec_boxed( (NAME), (LONG), (DESC), \ | |
| | | (TYPE), \ | |
| | | G_PARAM_READWRITE );\ | |
| | | g_object_class_install_property( G_OBJECT_CLASS( CLASS ), \ | |
| | | _vips__argument_id++, pspec ); \ | |
| | | vips_object_class_install_argument( VIPS_OBJECT_CLASS( CLASS ), \ | |
| | | pspec, (FLAGS), (PRIORITY), (OFFSET) ); \ | |
| | | } | |
| | | | |
| | | #define VIPS_ARG_INT( CLASS, NAME, PRIORITY, LONG, DESC, \ | |
| | | FLAGS, OFFSET, MIN, MAX, VALUE ) { \ | |
| | | GParamSpec *pspec; \ | |
| | | \ | |
| | | pspec = g_param_spec_int( (NAME), (LONG), (DESC), \ | |
| | | (MIN), (MAX), (VALUE), \ | |
| | | G_PARAM_READWRITE );\ | |
| | | g_object_class_install_property( G_OBJECT_CLASS( CLASS ), \ | |
| | | _vips__argument_id++, pspec ); \ | |
| | | vips_object_class_install_argument( VIPS_OBJECT_CLASS( CLASS ), \ | |
| | | pspec, (FLAGS), (PRIORITY), (OFFSET) ); \ | |
| | | } | |
| | | | |
| | | #define VIPS_ARG_UINT64( CLASS, NAME, PRIORITY, LONG, DESC, \ | |
| | | FLAGS, OFFSET, MIN, MAX, VALUE ) { \ | |
| | | GParamSpec *pspec; \ | |
| | | \ | |
| | | pspec = g_param_spec_uint64( (NAME), (LONG), (DESC), \ | |
| | | (MIN), (MAX), (VALUE), \ | |
| | | G_PARAM_READWRITE );\ | |
| | | g_object_class_install_property( G_OBJECT_CLASS( CLASS ), \ | |
| | | _vips__argument_id++, pspec ); \ | |
| | | vips_object_class_install_argument( VIPS_OBJECT_CLASS( CLASS ), \ | |
| | | pspec, (FLAGS), (PRIORITY), (OFFSET) ); \ | |
| | | } | |
| | | | |
| | | #define VIPS_ARG_ENUM( CLASS, NAME, PRIORITY, LONG, DESC, \ | |
| | | FLAGS, OFFSET, TYPE, VALUE ) { \ | |
| | | GParamSpec *pspec; \ | |
| | | \ | |
| | | pspec = g_param_spec_enum( (NAME), (LONG), (DESC), \ | |
| | | (TYPE), (VALUE), \ | |
| | | G_PARAM_READWRITE );\ | |
| | | g_object_class_install_property( G_OBJECT_CLASS( CLASS ), \ | |
| | | _vips__argument_id++, pspec ); \ | |
| | | vips_object_class_install_argument( VIPS_OBJECT_CLASS( CLASS ), \ | |
| | | pspec, (FLAGS), (PRIORITY), (OFFSET) ); \ | |
| | | } | |
| | | | |
| | | #define VIPS_ARG_FLAGS( CLASS, NAME, PRIORITY, LONG, DESC, \ | |
| | | FLAGS, OFFSET, TYPE, VALUE ) { \ | |
| | | GParamSpec *pspec; \ | |
| | | \ | |
| | | pspec = g_param_spec_flags( (NAME), (LONG), (DESC), \ | |
| | | (TYPE), (VALUE), \ | |
| | | G_PARAM_READWRITE );\ | |
| | | g_object_class_install_property( G_OBJECT_CLASS( CLASS ), \ | |
| | | _vips__argument_id++, pspec ); \ | |
| | | vips_object_class_install_argument( VIPS_OBJECT_CLASS( CLASS ), \ | |
| | | pspec, (FLAGS), (PRIORITY), (OFFSET) ); \ | |
| | | } | |
| | | | |
| | | #define VIPS_ARG_STRING( CLASS, NAME, PRIORITY, LONG, DESC, FLAGS, OFFSET, | |
| | | \ | |
| | | VALUE ) { \ | |
| | | GParamSpec *pspec; \ | |
| | | \ | |
| | | pspec = g_param_spec_string( (NAME), (LONG), (DESC), \ | |
| | | (VALUE), \ | |
| | | G_PARAM_READWRITE ); \ | |
| | | g_object_class_install_property( G_OBJECT_CLASS( CLASS ), \ | |
| | | _vips__argument_id++, pspec ); \ | |
| | | vips_object_class_install_argument( VIPS_OBJECT_CLASS( CLASS ), \ | |
| | | pspec, (FLAGS), (PRIORITY), (OFFSET) ); \ | |
| | | } | |
| | | | |
| | | #define VIPS_ARG_POINTER( CLASS, NAME, PRIORITY, LONG, DESC, FLAGS, OFFSET | |
| | | ) { \ | |
| | | GParamSpec *pspec; \ | |
| | | \ | |
| | | pspec = g_param_spec_pointer( (NAME), (LONG), (DESC), \ | |
| | | G_PARAM_READWRITE ); \ | |
| | | g_object_class_install_property( gobject_class, \ | |
| | | _vips__argument_id++, pspec ); \ | |
| | | vips_object_class_install_argument( VIPS_OBJECT_CLASS( CLASS ), \ | |
| | | pspec, (FLAGS), (PRIORITY), (OFFSET) ); \ | |
| | | } | |
| | | | |
| /* Keep one of these for every argument. | | /* Keep one of these for every argument. | |
| */ | | */ | |
| typedef struct _VipsArgument { | | typedef struct _VipsArgument { | |
| GParamSpec *pspec; /* pspec for this argument */ | | GParamSpec *pspec; /* pspec for this argument */ | |
| | | | |
| /* More stuff, see below */ | | /* More stuff, see below */ | |
| } VipsArgument; | | } VipsArgument; | |
| | | | |
| /* Keep one of these in the class struct for every argument. | | /* Keep one of these in the class struct for every argument. | |
| */ | | */ | |
| typedef struct _VipsArgumentClass { | | typedef struct _VipsArgumentClass { | |
| VipsArgument parent; | | VipsArgument parent; | |
| | | | |
| /* The class of the object we are an arg for. | | /* The class of the object we are an arg for. | |
| */ | | */ | |
| VipsObjectClass *object_class; | | VipsObjectClass *object_class; | |
| | | | |
| VipsArgumentFlags flags; | | VipsArgumentFlags flags; | |
|
| | | int priority; /* Order args by this */ | |
| guint offset; /* G_STRUCT_OFFSET of member in object */ | | guint offset; /* G_STRUCT_OFFSET of member in object */ | |
| } VipsArgumentClass; | | } VipsArgumentClass; | |
| | | | |
| /* Keep one of these in the object struct for every argument instance. | | /* Keep one of these in the object struct for every argument instance. | |
| */ | | */ | |
| typedef struct _VipsArgumentInstance { | | typedef struct _VipsArgumentInstance { | |
| VipsArgument parent; | | VipsArgument parent; | |
| | | | |
|
| | | /* The class we are part of. | |
| | | */ | |
| | | VipsArgumentClass *argument_class; | |
| | | | |
| /* The object we are attached to. | | /* The object we are attached to. | |
| */ | | */ | |
| VipsObject *object; | | VipsObject *object; | |
| | | | |
| /* Has been set. | | /* Has been set. | |
| */ | | */ | |
| gboolean assigned; | | gboolean assigned; | |
| | | | |
| /* If this is an output argument, keep the id of our "close" handler | | /* If this is an output argument, keep the id of our "close" handler | |
| * here. | | * here. | |
| */ | | */ | |
| gulong close_id; | | gulong close_id; | |
| } VipsArgumentInstance; | | } VipsArgumentInstance; | |
| | | | |
| /* Need to look up our VipsArgument structs from a pspec. Just hash the | | /* Need to look up our VipsArgument structs from a pspec. Just hash the | |
| * pointer (ie. we assume pspecs are never shared, is this correct?) | | * pointer (ie. we assume pspecs are never shared, is this correct?) | |
| */ | | */ | |
| typedef GHashTable VipsArgumentTable; | | typedef GHashTable VipsArgumentTable; | |
| | | | |
| VipsArgumentInstance *vips__argument_get_instance( VipsArgumentClass *, | | VipsArgumentInstance *vips__argument_get_instance( VipsArgumentClass *, | |
|
| VipsObject *); | | VipsObject * ); | |
| VipsArgument *vips__argument_table_lookup( VipsArgumentTable *, | | VipsArgument *vips__argument_table_lookup( VipsArgumentTable *, | |
|
| GParamSpec *); | | GParamSpec * ); | |
| void vips__object_set_member( VipsObject *object, GParamSpec *pspec, | | void vips__object_set_member( VipsObject *object, GParamSpec *pspec, | |
| GObject **member, GObject *argument ); | | GObject **member, GObject *argument ); | |
| typedef void *(*VipsArgumentMapFn)( VipsObject *, GParamSpec *, | | typedef void *(*VipsArgumentMapFn)( VipsObject *, GParamSpec *, | |
| VipsArgumentClass *, VipsArgumentInstance *, void *a, void *b ); | | VipsArgumentClass *, VipsArgumentInstance *, void *a, void *b ); | |
| void *vips_argument_map( VipsObject *object, | | void *vips_argument_map( VipsObject *object, | |
| VipsArgumentMapFn fn, void *a, void *b ); | | VipsArgumentMapFn fn, void *a, void *b ); | |
|
| void vips_argument_dispose_all( VipsObject *object ); | | typedef void *(*VipsArgumentClassMapFn)( VipsObjectClass *, GParamSpec *, | |
| | | VipsArgumentClass *, void *a, void *b ); | |
| | | void *vips_argument_class_map( VipsObjectClass *object_class, | |
| | | VipsArgumentClassMapFn fn, void *a, void *b ); | |
| | | int vips_object_get_argument( VipsObject *object, const char *name, | |
| | | GParamSpec **pspec, | |
| | | VipsArgumentClass **argument_class, | |
| | | VipsArgumentInstance **argument_instance ); | |
| | | gboolean vips_object_get_argument_assigned( VipsObject *object, | |
| | | const char *name ); | |
| | | VipsArgumentFlags vips_object_get_argument_flags( VipsObject *object, | |
| | | const char *name ); | |
| | | int vips_object_get_argument_priority( VipsObject *object, const char *name | |
| | | ); | |
| | | | |
| /* We have to loop over an objects args in several places, and we can't alw
ays | | /* We have to loop over an objects args in several places, and we can't alw
ays | |
| * use vips_argument_map(), the preferred looper. Have the loop code as a | | * use vips_argument_map(), the preferred looper. Have the loop code as a | |
| * macro as well for these odd cases. | | * macro as well for these odd cases. | |
| */ | | */ | |
| #define VIPS_ARGUMENT_FOR_ALL( OBJECT, PSPEC, ARG_CLASS, ARG_INSTANCE ) { \ | | #define VIPS_ARGUMENT_FOR_ALL( OBJECT, PSPEC, ARG_CLASS, ARG_INSTANCE ) { \ | |
| VipsObjectClass *object_class = VIPS_OBJECT_GET_CLASS( OBJECT ); \ | | VipsObjectClass *object_class = VIPS_OBJECT_GET_CLASS( OBJECT ); \ | |
| GSList *p; \ | | GSList *p; \ | |
| \ | | \ | |
| for( p = object_class->argument_table_traverse; p; p = p->next ) { \ | | for( p = object_class->argument_table_traverse; p; p = p->next ) { \ | |
| | | | |
| skipping to change at line 185 | | skipping to change at line 341 | |
| \ | | \ | |
| /* We have many props on the arg table ... filter out the \ | | /* We have many props on the arg table ... filter out the \ | |
| * ones for this class. \ | | * ones for this class. \ | |
| */ \ | | */ \ | |
| if( g_object_class_find_property( \ | | if( g_object_class_find_property( \ | |
| G_OBJECT_CLASS( object_class ), \ | | G_OBJECT_CLASS( object_class ), \ | |
| g_param_spec_get_name( PSPEC ) ) == PSPEC ) { | | g_param_spec_get_name( PSPEC ) ) == PSPEC ) { | |
| | | | |
| #define VIPS_ARGUMENT_FOR_ALL_END } } } | | #define VIPS_ARGUMENT_FOR_ALL_END } } } | |
| | | | |
|
| | | /* And some macros to collect args from a va list. | |
| | | */ | |
| | | #define VIPS_ARGUMENT_COLLECT_SET( PSPEC, ARG_CLASS, AP ) \ | |
| | | if( (ARG_CLASS->flags & VIPS_ARGUMENT_INPUT) ) { \ | |
| | | GValue value = { 0, }; \ | |
| | | gchar *error = NULL; \ | |
| | | \ | |
| | | /* Input args are given inline, eg. ("factor", 12.0) \ | |
| | | * and must be collected. \ | |
| | | */ \ | |
| | | g_value_init( &value, G_PARAM_SPEC_VALUE_TYPE( PSPEC ) ); \ | |
| | | G_VALUE_COLLECT( &value, AP, 0, &error ); \ | |
| | | \ | |
| | | /* Don't bother with the error message. \ | |
| | | */ \ | |
| | | if( error ) { \ | |
| | | VIPS_DEBUG_MSG( "VIPS_OBJECT_COLLECT_SET: err\n" ); | |
| | | \ | |
| | | g_free( error ); \ | |
| | | } | |
| | | | |
| | | #define VIPS_ARGUMENT_COLLECT_GET( PSPEC, ARG_CLASS, AP ) \ | |
| | | g_value_unset( &value ); \ | |
| | | } \ | |
| | | else if( (ARG_CLASS->flags & VIPS_ARGUMENT_OUTPUT) ) { \ | |
| | | void **arg __attribute__ ((unused)); \ | |
| | | \ | |
| | | /* Output args are a pointer to where to send the \ | |
| | | * result. \ | |
| | | */ \ | |
| | | arg = va_arg( AP, void ** ); | |
| | | | |
| | | #define VIPS_ARGUMENT_COLLECT_END \ | |
| | | } | |
| | | | |
| #define VIPS_TYPE_OBJECT (vips_object_get_type()) | | #define VIPS_TYPE_OBJECT (vips_object_get_type()) | |
| #define VIPS_OBJECT( obj ) \ | | #define VIPS_OBJECT( obj ) \ | |
| (G_TYPE_CHECK_INSTANCE_CAST( (obj), VIPS_TYPE_OBJECT, VipsObject )) | | (G_TYPE_CHECK_INSTANCE_CAST( (obj), VIPS_TYPE_OBJECT, VipsObject )) | |
| #define VIPS_OBJECT_CLASS( klass ) \ | | #define VIPS_OBJECT_CLASS( klass ) \ | |
| (G_TYPE_CHECK_CLASS_CAST( (klass), VIPS_TYPE_OBJECT, VipsObjectClass
)) | | (G_TYPE_CHECK_CLASS_CAST( (klass), VIPS_TYPE_OBJECT, VipsObjectClass
)) | |
| #define VIPS_IS_OBJECT( obj ) \ | | #define VIPS_IS_OBJECT( obj ) \ | |
| (G_TYPE_CHECK_INSTANCE_TYPE( (obj), VIPS_TYPE_OBJECT )) | | (G_TYPE_CHECK_INSTANCE_TYPE( (obj), VIPS_TYPE_OBJECT )) | |
| #define VIPS_IS_OBJECT_CLASS( klass ) \ | | #define VIPS_IS_OBJECT_CLASS( klass ) \ | |
| (G_TYPE_CHECK_CLASS_TYPE( (klass), VIPS_TYPE_OBJECT )) | | (G_TYPE_CHECK_CLASS_TYPE( (klass), VIPS_TYPE_OBJECT )) | |
| #define VIPS_OBJECT_GET_CLASS( obj ) \ | | #define VIPS_OBJECT_GET_CLASS( obj ) \ | |
| (G_TYPE_INSTANCE_GET_CLASS( (obj), VIPS_TYPE_OBJECT, VipsObjectClass
)) | | (G_TYPE_INSTANCE_GET_CLASS( (obj), VIPS_TYPE_OBJECT, VipsObjectClass
)) | |
| | | | |
| struct _VipsObject { | | struct _VipsObject { | |
| GObject parent_object; | | GObject parent_object; | |
| | | | |
|
| gboolean constructed; /* Construct done and checked */ | | /* Set after ->build() has run succesfully: construct is fully done | |
| | | * and checked. | |
| | | */ | |
| | | gboolean constructed; | |
| | | | |
| | | /* Set for static objects which are allocated at startup and never | |
| | | * freed. These objects are ommitted from leak reports. | |
| | | */ | |
| | | gboolean static_object; | |
| | | | |
| /* Table of argument instances for this class and any derived classe
s. | | /* Table of argument instances for this class and any derived classe
s. | |
| */ | | */ | |
| VipsArgumentTable *argument_table; | | VipsArgumentTable *argument_table; | |
| | | | |
| /* Class properties (see below), duplicated in the instance so we ca
n | | /* Class properties (see below), duplicated in the instance so we ca
n | |
| * get at them easily via the property system. | | * get at them easily via the property system. | |
| */ | | */ | |
| char *nickname; | | char *nickname; | |
| char *description; | | char *description; | |
| | | | |
| skipping to change at line 228 | | skipping to change at line 426 | |
| | | | |
| struct _VipsObjectClass { | | struct _VipsObjectClass { | |
| GObjectClass parent_class; | | GObjectClass parent_class; | |
| | | | |
| /* Build the object ... all argument properties have been set, | | /* Build the object ... all argument properties have been set, | |
| * now build the thing. | | * now build the thing. | |
| */ | | */ | |
| int (*build)( VipsObject *object ); | | int (*build)( VipsObject *object ); | |
| | | | |
| /* Try to print something about the class, handy for help displays. | | /* Try to print something about the class, handy for help displays. | |
|
| | | * Keep to one line. | |
| */ | | */ | |
|
| void (*print_class)( struct _VipsObjectClass *, VipsBuf * ); | | void (*summary_class)( struct _VipsObjectClass *, VipsBuf * ); | |
| | | | |
|
| /* Try to print something about the object, handy for debugging. | | /* Try to print a one-line summary for the object, handy for debuggi
ng. | |
| */ | | */ | |
|
| void (*print)( VipsObject *, VipsBuf * ); | | void (*summary)( VipsObject *, VipsBuf * ); | |
| | | | |
| | | /* Try to print everything about the object, handy for debugging. | |
| | | */ | |
| | | void (*dump)( VipsObject *, VipsBuf * ); | |
| | | | |
| /* Sanity-check the object. Print messages and stuff. | | /* Sanity-check the object. Print messages and stuff. | |
| * Handy for debugging. | | * Handy for debugging. | |
| */ | | */ | |
| void (*sanity)( VipsObject *, VipsBuf * ); | | void (*sanity)( VipsObject *, VipsBuf * ); | |
| | | | |
| /* Rewind. Save and restore any stuff that needs to survive a | | /* Rewind. Save and restore any stuff that needs to survive a | |
| * dispose(). | | * dispose(). | |
| */ | | */ | |
| void (*rewind)( VipsObject * ); | | void (*rewind)( VipsObject * ); | |
| | | | |
| skipping to change at line 303 | | skipping to change at line 506 | |
| | | | |
| /* Table of arguments for this class and any derived classes. Order | | /* Table of arguments for this class and any derived classes. Order | |
| * is important, so keep a traverse list too. We can't rely on the | | * is important, so keep a traverse list too. We can't rely on the | |
| * ordering given by g_object_class_list_properties() since it comes | | * ordering given by g_object_class_list_properties() since it comes | |
| * from a hash :-( | | * from a hash :-( | |
| */ | | */ | |
| VipsArgumentTable *argument_table; | | VipsArgumentTable *argument_table; | |
| GSList *argument_table_traverse; | | GSList *argument_table_traverse; | |
| }; | | }; | |
| | | | |
|
| gboolean vips_pspec_value_is_null( GParamSpec *pspec, const GValue *value )
; | | gboolean vips_value_is_null( GParamSpec *psoec, const GValue *value ); | |
| void vips_object_set_property( GObject *gobject, | | void vips_object_set_property( GObject *gobject, | |
| guint property_id, const GValue *value, GParamSpec *pspec ); | | guint property_id, const GValue *value, GParamSpec *pspec ); | |
| void vips_object_get_property( GObject *gobject, | | void vips_object_get_property( GObject *gobject, | |
| guint property_id, GValue *value, GParamSpec *pspec ); | | guint property_id, GValue *value, GParamSpec *pspec ); | |
| | | | |
| void vips_object_preclose( VipsObject *object ); | | void vips_object_preclose( VipsObject *object ); | |
| int vips_object_build( VipsObject *object ); | | int vips_object_build( VipsObject *object ); | |
|
| void vips_object_print_class( VipsObjectClass *klass ); | | | |
| void vips_object_print( VipsObject *object ); | | void vips_object_summary_class( VipsObjectClass *klass, VipsBuf *buf ); | |
| | | void vips_object_summary( VipsObject *object, VipsBuf *buf ); | |
| | | void vips_object_dump( VipsObject *object, VipsBuf *buf ); | |
| | | | |
| | | void vips_object_print_summary_class( VipsObjectClass *klass ); | |
| | | void vips_object_print_summary( VipsObject *object ); | |
| | | void vips_object_print_dump( VipsObject *object ); | |
| void vips_object_print_name( VipsObject *object ); | | void vips_object_print_name( VipsObject *object ); | |
|
| | | | |
| gboolean vips_object_sanity( VipsObject *object ); | | gboolean vips_object_sanity( VipsObject *object ); | |
| | | | |
| GType vips_object_get_type( void ); | | GType vips_object_get_type( void ); | |
| | | | |
|
| void vips_object_class_install_argument( VipsObjectClass *, | | void vips_object_class_install_argument( VipsObjectClass *, GParamSpec *psp | |
| GParamSpec *pspec, VipsArgumentFlags flags, guint offset ); | | ec, | |
| | | VipsArgumentFlags flags, int priority, guint offset ); | |
| int vips_object_set_argument_from_string( VipsObject *object, | | int vips_object_set_argument_from_string( VipsObject *object, | |
| const char *name, const char *value ); | | const char *name, const char *value ); | |
| gboolean vips_object_get_argument_needs_string( VipsObject *object, | | gboolean vips_object_get_argument_needs_string( VipsObject *object, | |
| const char *name ); | | const char *name ); | |
| int vips_object_get_argument_to_string( VipsObject *object, | | int vips_object_get_argument_to_string( VipsObject *object, | |
| const char *name, const char *arg ); | | const char *name, const char *arg ); | |
| int vips_object_set_required( VipsObject *object, const char *value ); | | int vips_object_set_required( VipsObject *object, const char *value ); | |
| | | | |
| typedef void *(*VipsObjectSetArguments)( VipsObject *, void *, void * ); | | typedef void *(*VipsObjectSetArguments)( VipsObject *, void *, void * ); | |
| VipsObject *vips_object_new( GType type, | | VipsObject *vips_object_new( GType type, | |
| VipsObjectSetArguments set, void *a, void *b ); | | VipsObjectSetArguments set, void *a, void *b ); | |
| | | | |
| VipsObject *vips_object_new_from_string( VipsObjectClass *object_class, | | VipsObject *vips_object_new_from_string( VipsObjectClass *object_class, | |
| const char *p ); | | const char *p ); | |
| void vips_object_to_string( VipsObject *object, VipsBuf *buf ); | | void vips_object_to_string( VipsObject *object, VipsBuf *buf ); | |
| | | | |
| void *vips_object_map( VipsSListMap2Fn fn, void *a, void *b ); | | void *vips_object_map( VipsSListMap2Fn fn, void *a, void *b ); | |
| | | | |
|
| typedef void *(*VipsTypeMap)( GType, void * ); | | typedef void *(*VipsTypeMapFn)( GType, void * ); | |
| typedef void *(*VipsTypeMap2)( GType, void *, void * ); | | typedef void *(*VipsTypeMap2Fn)( GType, void *, void * ); | |
| typedef void *(*VipsClassMap)( VipsObjectClass *, void * ); | | typedef void *(*VipsClassMapFn)( VipsObjectClass *, void * ); | |
| void *vips_type_map( GType base, VipsTypeMap2 fn, void *a, void *b ); | | void *vips_type_map( GType base, VipsTypeMap2Fn fn, void *a, void *b ); | |
| void *vips_type_map_all( GType base, VipsTypeMap fn, void *a ); | | void *vips_type_map_all( GType base, VipsTypeMapFn fn, void *a ); | |
| void *vips_class_map_all( GType base, VipsClassMap fn, void *a ); | | int vips_type_depth( GType type ); | |
| int vips_class_depth( VipsObjectClass *klass ); | | | |
| VipsObjectClass *vips_class_find( const char *basename, const char *nicknam | | | |
| e ); | | | |
| GType vips_type_find( const char *basename, const char *nickname ); | | GType vips_type_find( const char *basename, const char *nickname ); | |
| | | | |
|
| | | void *vips_class_map_all( GType base, VipsClassMapFn fn, void *a ); | |
| | | VipsObjectClass *vips_class_find( const char *basename, const char *nicknam | |
| | | e ); | |
| | | | |
| | | VipsObject **vips_object_local_array( VipsObject *parent, int n ); | |
| | | | |
| void vips_object_local_cb( VipsObject *vobject, GObject *gobject ); | | void vips_object_local_cb( VipsObject *vobject, GObject *gobject ); | |
| #define vips_object_local( V, G ) \ | | #define vips_object_local( V, G ) \ | |
| (g_signal_connect( V, "close", \ | | (g_signal_connect( V, "close", \ | |
| G_CALLBACK( vips_object_local_cb ), G ), 0) | | G_CALLBACK( vips_object_local_cb ), G ), 0) | |
| | | | |
|
| | | void vips_object_set_static( VipsObject *object, gboolean static_object ); | |
| void vips_object_print_all( void ); | | void vips_object_print_all( void ); | |
| void vips_object_sanity_all( void ); | | void vips_object_sanity_all( void ); | |
| | | | |
| void vips_object_rewind( VipsObject *object ); | | void vips_object_rewind( VipsObject *object ); | |
| | | | |
|
| | | void vips_object_unref_outputs( VipsObject *object ); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
| #endif /*VIPS_OBJECT_H*/ | | #endif /*VIPS_OBJECT_H*/ | |
| | | | |
End of changes. 27 change blocks. |
| 31 lines changed or deleted | | 254 lines changed or added | |
|
| vips7compat.h | | vips7compat.h | |
| | | | |
| skipping to change at line 43 | | skipping to change at line 43 | |
| #ifndef VIPS_VIPS7COMPAT_H | | #ifndef VIPS_VIPS7COMPAT_H | |
| #define VIPS_VIP7COMPATS_H | | #define VIPS_VIP7COMPATS_H | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
| /* Renamed types. | | /* Renamed types. | |
| */ | | */ | |
| | | | |
|
| | | #define PEL VipsPel | |
| | | | |
| #define IM_BANDFMT_NOTSET VIPS_FORMAT_NOTSET | | #define IM_BANDFMT_NOTSET VIPS_FORMAT_NOTSET | |
| #define IM_BANDFMT_UCHAR VIPS_FORMAT_UCHAR | | #define IM_BANDFMT_UCHAR VIPS_FORMAT_UCHAR | |
| #define IM_BANDFMT_CHAR VIPS_FORMAT_CHAR | | #define IM_BANDFMT_CHAR VIPS_FORMAT_CHAR | |
| #define IM_BANDFMT_USHORT VIPS_FORMAT_USHORT | | #define IM_BANDFMT_USHORT VIPS_FORMAT_USHORT | |
| #define IM_BANDFMT_SHORT VIPS_FORMAT_SHORT | | #define IM_BANDFMT_SHORT VIPS_FORMAT_SHORT | |
| #define IM_BANDFMT_UINT VIPS_FORMAT_UINT | | #define IM_BANDFMT_UINT VIPS_FORMAT_UINT | |
| #define IM_BANDFMT_INT VIPS_FORMAT_INT | | #define IM_BANDFMT_INT VIPS_FORMAT_INT | |
| #define IM_BANDFMT_FLOAT VIPS_FORMAT_FLOAT | | #define IM_BANDFMT_FLOAT VIPS_FORMAT_FLOAT | |
| #define IM_BANDFMT_COMPLEX VIPS_FORMAT_COMPLEX | | #define IM_BANDFMT_COMPLEX VIPS_FORMAT_COMPLEX | |
| #define IM_BANDFMT_DOUBLE VIPS_FORMAT_DOUBLE | | #define IM_BANDFMT_DOUBLE VIPS_FORMAT_DOUBLE | |
| | | | |
| skipping to change at line 96 | | skipping to change at line 98 | |
| | | | |
| /* Renamed macros. | | /* Renamed macros. | |
| */ | | */ | |
| | | | |
| #define IM_MAX VIPS_MAX | | #define IM_MAX VIPS_MAX | |
| #define IM_MIN VIPS_MIN | | #define IM_MIN VIPS_MIN | |
| #define IM_RAD VIPS_RAD | | #define IM_RAD VIPS_RAD | |
| #define IM_DEG VIPS_DEG | | #define IM_DEG VIPS_DEG | |
| #define IM_PI VIPS_PI | | #define IM_PI VIPS_PI | |
| #define IM_RINT VIPS_RINT | | #define IM_RINT VIPS_RINT | |
|
| #define IM_NEW VIPS_NEW | | | |
| #define IM_ARRAY VIPS_ARRAY | | | |
| #define IM_SETSTR VIPS_SETSTR | | | |
| #define IM_ABS VIPS_ABS | | #define IM_ABS VIPS_ABS | |
|
| #define IM_FREE VIPS_FREE | | | |
| #define IM_FREEF VIPS_FREEF | | | |
| #define IM_NUMBER VIPS_NUMBER | | #define IM_NUMBER VIPS_NUMBER | |
| #define IM_CLIP VIPS_CLIP | | #define IM_CLIP VIPS_CLIP | |
| #define IM_CLIP_UCHAR VIPS_CLIP_UCHAR | | #define IM_CLIP_UCHAR VIPS_CLIP_UCHAR | |
| #define IM_CLIP_CHAR VIPS_CLIP_CHAR | | #define IM_CLIP_CHAR VIPS_CLIP_CHAR | |
| #define IM_CLIP_USHORT VIPS_CLIP_USHORT | | #define IM_CLIP_USHORT VIPS_CLIP_USHORT | |
| #define IM_CLIP_SHORT VIPS_CLIP_SHORT | | #define IM_CLIP_SHORT VIPS_CLIP_SHORT | |
| #define IM_CLIP_NONE VIPS_CLIP_NONE | | #define IM_CLIP_NONE VIPS_CLIP_NONE | |
| #define IM_UNROLL VIPS_UNROLL | | #define IM_UNROLL VIPS_UNROLL | |
| #define IM_SWAP VIPS_SWAP | | #define IM_SWAP VIPS_SWAP | |
| | | | |
| | | | |
| skipping to change at line 166 | | skipping to change at line 163 | |
| #define im_image vips_image_new_from_memory | | #define im_image vips_image_new_from_memory | |
| #define im_binfile vips_image_new_from_file_raw | | #define im_binfile vips_image_new_from_file_raw | |
| #define im__open_temp vips_image_new_disc_temp | | #define im__open_temp vips_image_new_disc_temp | |
| #define im__test_kill( I ) (vips_image_get_kill( I )) | | #define im__test_kill( I ) (vips_image_get_kill( I )) | |
| #define im__start_eval( I ) (vips_image_preeval( I ), vips_image_get_kill(
I )) | | #define im__start_eval( I ) (vips_image_preeval( I ), vips_image_get_kill(
I )) | |
| #define im__handle_eval( I, W, H ) \ | | #define im__handle_eval( I, W, H ) \ | |
| (vips_image_eval( I, W, H ), vips_image_get_kill( I )) | | (vips_image_eval( I, W, H ), vips_image_get_kill( I )) | |
| #define im__end_eval vips_image_posteval | | #define im__end_eval vips_image_posteval | |
| #define im_invalidate vips_image_invalidate_all | | #define im_invalidate vips_image_invalidate_all | |
| #define im_isfile vips_image_isfile | | #define im_isfile vips_image_isfile | |
|
| #define im_printdesc( I ) vips_object_print( VIPS_OBJECT( I ) ) | | #define im_printdesc( I ) vips_object_print_dump( VIPS_OBJECT( I ) ) | |
| #define im_openout( F ) vips_image_new_mode( F, "w" ) | | #define im_openout( F ) vips_image_new_mode( F, "w" ) | |
| #define im_setbuf( F ) vips_image_new( "t" ) | | #define im_setbuf( F ) vips_image_new( "t" ) | |
| | | | |
| #define im_initdesc( image, \ | | #define im_initdesc( image, \ | |
| xsize, ysize, bands, bandbits, bandfmt, coding, \ | | xsize, ysize, bands, bandbits, bandfmt, coding, \ | |
| type, xres, yres, xo, yo ) \ | | type, xres, yres, xo, yo ) \ | |
| vips_image_init_fields( image, \ | | vips_image_init_fields( image, \ | |
| xsize, ysize, bands, bandfmt, coding, \ | | xsize, ysize, bands, bandfmt, coding, \ | |
| type, xres, yres ) | | type, xres, yres ) | |
| | | | |
| #define im__open_image_file vips__open_image_read | | #define im__open_image_file vips__open_image_read | |
|
| #define im_setupout( I ) vips__image_write_prepare( I ) | | #define im_setupout vips_image_write_prepare | |
| #define im_writeline( Y, IM, P ) vips_image_write_line( IM, Y, P ) | | #define im_writeline( Y, IM, P ) vips_image_write_line( IM, Y, P ) | |
| | | | |
| #define im_prepare vips_region_prepare | | #define im_prepare vips_region_prepare | |
| #define im_prepare_to vips_region_prepare_to | | #define im_prepare_to vips_region_prepare_to | |
| #define im_region_create vips_region_new | | #define im_region_create vips_region_new | |
| #define im_region_free g_object_unref | | #define im_region_free g_object_unref | |
| #define im_region_region vips_region_region | | #define im_region_region vips_region_region | |
| #define im_region_buffer vips_region_buffer | | #define im_region_buffer vips_region_buffer | |
| #define im_region_black vips_region_black | | #define im_region_black vips_region_black | |
| #define im_region_paint vips_region_paint | | #define im_region_paint vips_region_paint | |
| | | | |
| skipping to change at line 269 | | skipping to change at line 266 | |
| #define im_rect_marginadjust vips_rect_marginadjust | | #define im_rect_marginadjust vips_rect_marginadjust | |
| #define im_rect_includespoint vips_rect_includespoint | | #define im_rect_includespoint vips_rect_includespoint | |
| #define im_rect_includesrect vips_rect_includesrect | | #define im_rect_includesrect vips_rect_includesrect | |
| #define im_rect_intersectrect vips_rect_intersectrect | | #define im_rect_intersectrect vips_rect_intersectrect | |
| #define im_rect_isempty vips_rect_isempty | | #define im_rect_isempty vips_rect_isempty | |
| #define im_rect_unionrect vips_rect_unionrect | | #define im_rect_unionrect vips_rect_unionrect | |
| #define im_rect_equalsrect vips_rect_equalsrect | | #define im_rect_equalsrect vips_rect_equalsrect | |
| #define im_rect_dup vips_rect_dup | | #define im_rect_dup vips_rect_dup | |
| #define im_rect_normalise vips_rect_normalise | | #define im_rect_normalise vips_rect_normalise | |
| | | | |
|
| #define im_demand_hint vips_demand_hint | | int im_demand_hint (IMAGE * im, VipsDemandStyle hint, ...); | |
| #define im_demand_hint_array vips_demand_hint_array | | #define im_demand_hint_array( A, B, C ) (vips_demand_hint_array( A, B, C ), | |
| | | 0) | |
| | | | |
| #define im_start_one vips_start_one | | #define im_start_one vips_start_one | |
| #define im_stop_one vips_stop_one | | #define im_stop_one vips_stop_one | |
| #define im_start_many vips_start_many | | #define im_start_many vips_start_many | |
| #define im_stop_many vips_stop_many | | #define im_stop_many vips_stop_many | |
| #define im_allocate_input_array vips_allocate_input_array | | #define im_allocate_input_array vips_allocate_input_array | |
| #define im_start_fn VipsStartFn | | #define im_start_fn VipsStartFn | |
|
| #define im_generate_fn VipsGenerateFn | | typedef int (*im_generate_fn)( VipsRegion *out, void *seq, void *a, void *b
); | |
| #define im_stop_fn VipsStopFn | | #define im_stop_fn VipsStopFn | |
|
| #define im_generate vips_image_generate | | int im_generate( VipsImage *im, | |
| | | im_start_fn start, im_generate_fn generate, im_stop_fn stop, | |
| | | void *a, void *b ); | |
| | | | |
| #define im__mmap vips__mmap | | #define im__mmap vips__mmap | |
| #define im__munmap vips__munmap | | #define im__munmap vips__munmap | |
| #define im_mapfile vips_mapfile | | #define im_mapfile vips_mapfile | |
| #define im_mapfilerw vips_mapfilerw | | #define im_mapfilerw vips_mapfilerw | |
| #define im_remapfilerw vips_remapfilerw | | #define im_remapfilerw vips_remapfilerw | |
| | | | |
| #define im__print_renders vips__print_renders | | #define im__print_renders vips__print_renders | |
|
| #define im_cache vips_image_cache | | | |
| | | | |
|
| #define im_malloc vips_malloc | | int im_cache( IMAGE *in, IMAGE *out, int width, int height, int max ); | |
| | | | |
| | | #define IM_FREEF( F, S ) \ | |
| | | G_STMT_START { \ | |
| | | if( S ) { \ | |
| | | (void) F( (S) ); \ | |
| | | (S) = 0; \ | |
| | | } \ | |
| | | } G_STMT_END | |
| | | | |
| | | /* Can't just use VIPS_FREEF(), we want the extra cast to void on the argum | |
| | | ent | |
| | | * to vips_free() to make sure we can work for "const char *" variables. | |
| | | */ | |
| | | #define IM_FREE( S ) \ | |
| | | G_STMT_START { \ | |
| | | if( S ) { \ | |
| | | (void) im_free( (void *) (S) ); \ | |
| | | (S) = 0; \ | |
| | | } \ | |
| | | } G_STMT_END | |
| | | | |
| | | #define IM_SETSTR( S, V ) \ | |
| | | G_STMT_START { \ | |
| | | const char *sst = (V); \ | |
| | | \ | |
| | | if( (S) != sst ) { \ | |
| | | if( !(S) || !sst || strcmp( (S), sst ) != 0 ) { \ | |
| | | IM_FREE( S ); \ | |
| | | if( sst ) \ | |
| | | (S) = im_strdup( NULL, sst ); \ | |
| | | } \ | |
| | | } \ | |
| | | } G_STMT_END | |
| | | | |
| | | #define im_malloc( IM, SZ ) \ | |
| | | (vips_malloc( VIPS_OBJECT( IM ), (SZ) )) | |
| #define im_free vips_free | | #define im_free vips_free | |
|
| #define im_strdup vips_strdup | | #define im_strdup( IM, STR ) \ | |
| | | (vips_strdup( VIPS_OBJECT( IM ), (STR) )) | |
| | | #define IM_NEW( IM, T ) ((T *) im_malloc( (IM), sizeof( T ))) | |
| | | #define IM_ARRAY( IM, N, T ) ((T *) im_malloc( (IM), (N) * sizeof( T ))) | |
| | | | |
| #define im_incheck vips_image_wio_input | | #define im_incheck vips_image_wio_input | |
|
| #define im_outcheck vips_image_wio_output | | #define im_outcheck( I ) (0) | |
| #define im_rwcheck vips_image_inplace | | #define im_rwcheck vips_image_inplace | |
| #define im_pincheck vips_image_pio_input | | #define im_pincheck vips_image_pio_input | |
|
| #define im_poutcheck vips_image_pio_output | | #define im_poutcheck( I ) (0) | |
| | | | |
|
| #define im_iocheck( I, O ) (im_incheck( I ) || im_outcheck( O )) | | #define im_iocheck( I, O ) im_incheck( I ) | |
| #define im_piocheck( I, O ) (im_pincheck( I ) || im_poutcheck( O )) | | #define im_piocheck( I, O ) im_pincheck( I ) | |
| | | | |
| #define im_check_uncoded vips_check_uncoded | | #define im_check_uncoded vips_check_uncoded | |
| #define im_check_coding_known vips_check_coding_known | | #define im_check_coding_known vips_check_coding_known | |
| #define im_check_coding_labq vips_check_coding_labq | | #define im_check_coding_labq vips_check_coding_labq | |
| #define im_check_coding_rad vips_check_coding_rad | | #define im_check_coding_rad vips_check_coding_rad | |
| #define im_check_coding_noneorlabq vips_check_coding_noneorlabq | | #define im_check_coding_noneorlabq vips_check_coding_noneorlabq | |
| #define im_check_coding_same vips_check_coding_same | | #define im_check_coding_same vips_check_coding_same | |
| #define im_check_mono vips_check_mono | | #define im_check_mono vips_check_mono | |
| #define im_check_bands_1or3 vips_check_bands_1or3 | | #define im_check_bands_1or3 vips_check_bands_1or3 | |
| #define im_check_bands vips_check_bands | | #define im_check_bands vips_check_bands | |
| | | | |
| skipping to change at line 380 | | skipping to change at line 416 | |
| #define im_header_double vips_image_get_double | | #define im_header_double vips_image_get_double | |
| #define im_header_string vips_image_get_string | | #define im_header_string vips_image_get_string | |
| #define im_header_as_string vips_image_get_as_string | | #define im_header_as_string vips_image_get_as_string | |
| #define im_header_get_typeof vips_image_get_typeof | | #define im_header_get_typeof vips_image_get_typeof | |
| #define im_header_get vips_image_get | | #define im_header_get vips_image_get | |
| | | | |
| #define im_histlin vips_image_history_printf | | #define im_histlin vips_image_history_printf | |
| #define im_updatehist vips_image_history_args | | #define im_updatehist vips_image_history_args | |
| #define im_history_get vips_image_get_history | | #define im_history_get vips_image_get_history | |
| | | | |
|
| #define im_save_string_get vips_save_string_get | | #define im_save_string_get vips_value_get_save_string | |
| #define im_save_string_set vips_save_string_set | | #define im_save_string_set vips_value_set_save_string | |
| #define im_save_string_setf vips_save_string_setf | | #define im_save_string_setf vips_value_set_save_stringf | |
| | | | |
| #define im_ref_string_set vips_ref_string_set | | #define im_ref_string_set vips_value_set_ref_string | |
| #define im_ref_string_get vips_ref_string_get | | #define im_ref_string_get( V ) vips_value_get_ref_string( V, NULL ) | |
| #define im_ref_string_get_length vips_ref_string_get_length | | size_t im_ref_string_get_length( const GValue *value ); | |
| | | | |
|
| #define im_blob_get vips_blob_get | | #define im_blob_get vips_value_get_blob | |
| #define im_blob_set vips_blob_set | | #define im_blob_set vips_value_set_blob | |
| | | | |
|
| #define im_meta_set vips_image_set | | #define im_meta_set( A, B, C ) (vips_image_set( A, B, C ), 0) | |
| #define im_meta_remove vips_image_remove | | #define im_meta_remove vips_image_remove | |
| #define im_meta_get vips_image_get | | #define im_meta_get vips_image_get | |
| #define im_meta_get_typeof vips_image_get_typeof | | #define im_meta_get_typeof vips_image_get_typeof | |
| | | | |
|
| #define im_meta_set_int vips_image_set_int | | #define im_meta_set_int( A, B, C ) (vips_image_set_int( A, B, C ), 0) | |
| #define im_meta_get_int vips_image_get_int | | #define im_meta_get_int vips_image_get_int | |
|
| #define im_meta_set_double vips_image_set_double | | #define im_meta_set_double( A, B, C ) (vips_image_set_double( A, B, C ), 0) | |
| #define im_meta_get_double vips_image_get_double | | #define im_meta_get_double vips_image_get_double | |
|
| #define im_meta_set_area vips_image_set_area | | #define im_meta_set_area( A, B, C, D ) (vips_image_set_area( A, B, C, D ),
0) | |
| #define im_meta_get_area vips_image_get_area | | #define im_meta_get_area vips_image_get_area | |
|
| #define im_meta_set_string vips_image_set_string | | #define im_meta_set_string( A, B, C ) (vips_image_set_string( A, B, C ), 0) | |
| #define im_meta_get_string vips_image_get_string | | #define im_meta_get_string vips_image_get_string | |
|
| #define im_meta_set_blob vips_image_set_blob | | #define im_meta_set_blob( A, B, C, D, E ) \ | |
| | | (vips_image_set_blob( A, B, C, D, E ), 0) | |
| #define im_meta_get_blob vips_image_get_blob | | #define im_meta_get_blob vips_image_get_blob | |
| | | | |
| #define im_semaphore_t VipsSemaphore | | #define im_semaphore_t VipsSemaphore | |
| | | | |
| #define im_semaphore_up vips_semaphore_up | | #define im_semaphore_up vips_semaphore_up | |
| #define im_semaphore_down vips_semaphore_down | | #define im_semaphore_down vips_semaphore_down | |
| #define im_semaphore_upn vips_semaphore_upn | | #define im_semaphore_upn vips_semaphore_upn | |
| #define im_semaphore_downn vips_semaphore_downn | | #define im_semaphore_downn vips_semaphore_downn | |
| #define im_semaphore_destroy vips_semaphore_destroy | | #define im_semaphore_destroy vips_semaphore_destroy | |
| #define im_semaphore_init vips_semaphore_init | | #define im_semaphore_init vips_semaphore_init | |
| | | | |
| #define im__open_image_read vips__open_image_read | | #define im__open_image_read vips__open_image_read | |
| #define im_image_open_input vips_image_open_input | | #define im_image_open_input vips_image_open_input | |
| #define im_image_open_output vips_image_open_output | | #define im_image_open_output vips_image_open_output | |
|
| #define im__read_4byte vips__read_4byte | | | |
| #define im__read_2byte vips__read_2byte | | | |
| #define im__write_4byte vips__write_4byte | | | |
| #define im__write_2byte vips__write_2byte | | | |
| #define im__has_extension_block vips__has_extension_block | | #define im__has_extension_block vips__has_extension_block | |
| #define im__read_extension_block vips__read_extension_block | | #define im__read_extension_block vips__read_extension_block | |
| #define im__write_extension_block vips__write_extension_block | | #define im__write_extension_block vips__write_extension_block | |
| #define im__writehist vips__writehist | | #define im__writehist vips__writehist | |
| #define im__read_header_bytes vips__read_header_bytes | | #define im__read_header_bytes vips__read_header_bytes | |
| #define im__write_header_bytes vips__write_header_bytes | | #define im__write_header_bytes vips__write_header_bytes | |
| | | | |
| #define VSListMap2Fn VipsSListMap2Fn | | #define VSListMap2Fn VipsSListMap2Fn | |
| #define VSListMap4Fn VipsSListMap4Fn | | #define VSListMap4Fn VipsSListMap4Fn | |
| #define VSListFold2Fn VipsSListFold2Fn | | #define VSListFold2Fn VipsSListFold2Fn | |
| | | | |
| skipping to change at line 489 | | skipping to change at line 522 | |
| #define IM_MINOR_VERSION VIPS_MINOR_VERSION | | #define IM_MINOR_VERSION VIPS_MINOR_VERSION | |
| #define IM_MICRO_VERSION VIPS_MICRO_VERSION | | #define IM_MICRO_VERSION VIPS_MICRO_VERSION | |
| | | | |
| #define IM_EXEEXT VIPS_EXEEXT | | #define IM_EXEEXT VIPS_EXEEXT | |
| | | | |
| #define IM_SIZEOF_HEADER VIPS_SIZEOF_HEADER | | #define IM_SIZEOF_HEADER VIPS_SIZEOF_HEADER | |
| | | | |
| #define im_concurrency_set vips_concurrency_set | | #define im_concurrency_set vips_concurrency_set | |
| #define im_concurrency_get vips_concurrency_get | | #define im_concurrency_get vips_concurrency_get | |
| | | | |
|
| | | int im_add( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | int im_subtract( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | int im_multiply( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | int im_divide( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | int im_min( VipsImage *in, double *out ); | |
| | | int im_minpos( VipsImage *in, int *xpos, int *ypos, double *out ); | |
| | | int im_max( VipsImage *in, double *out ); | |
| | | int im_maxpos( VipsImage *in, int *xpos, int *ypos, double *out ); | |
| | | int im_avg( VipsImage *in, double *out ); | |
| | | int im_deviate( VipsImage *in, double *out ); | |
| | | int im_invert( VipsImage *in, VipsImage *out ); | |
| | | int im_lintra( double a, VipsImage *in, double b, VipsImage *out ); | |
| | | int im_lintra_vec( int n, double *a, VipsImage *in, double *b, VipsImage *o | |
| | | ut ); | |
| | | int im_abs( VipsImage *in, VipsImage *out ); | |
| | | int im_sign( VipsImage *in, VipsImage *out ); | |
| | | DOUBLEMASK *im_stats( VipsImage *in ); | |
| | | DOUBLEMASK *im_measure_area( VipsImage *im, | |
| | | int left, int top, int width, int height, | |
| | | int h, int v, | |
| | | int *sel, int nsel, const char *name ); | |
| | | | |
| | | int im_sintra( VipsImage *in, VipsImage *out ); | |
| | | int im_costra( VipsImage *in, VipsImage *out ); | |
| | | int im_tantra( VipsImage *in, VipsImage *out ); | |
| | | int im_asintra( VipsImage *in, VipsImage *out ); | |
| | | int im_acostra( VipsImage *in, VipsImage *out ); | |
| | | int im_atantra( VipsImage *in, VipsImage *out ); | |
| | | int im_logtra( VipsImage *in, VipsImage *out ); | |
| | | int im_log10tra( VipsImage *in, VipsImage *out ); | |
| | | int im_exptra( VipsImage *in, VipsImage *out ); | |
| | | int im_exp10tra( VipsImage *in, VipsImage *out ); | |
| | | | |
| | | int im_floor( VipsImage *in, VipsImage *out ); | |
| | | int im_rint( VipsImage *in, VipsImage *out ); | |
| | | int im_ceil( VipsImage *in, VipsImage *out ); | |
| | | | |
| | | int im_equal( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | int im_notequal( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | int im_less( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | int im_lesseq( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | int im_more( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | int im_moreeq( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | | |
| | | int im_andimage( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | int im_orimage( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | int im_eorimage( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | int im_andimage_vec( VipsImage *in, VipsImage *out, int n, double *c ); | |
| | | int im_orimage_vec( VipsImage *in, VipsImage *out, int n, double *c ); | |
| | | int im_eorimage_vec( VipsImage *in, VipsImage *out, int n, double *c ); | |
| | | int im_andimageconst( VipsImage *in, VipsImage *out, double c ); | |
| | | int im_orimageconst( VipsImage *in, VipsImage *out, double c ); | |
| | | int im_eorimageconst( VipsImage *in, VipsImage *out, double c ); | |
| | | | |
| | | int im_shiftleft_vec( VipsImage *in, VipsImage *out, int n, double *c ); | |
| | | int im_shiftleft( VipsImage *in, VipsImage *out, int n ); | |
| | | int im_shiftright_vec( VipsImage *in, VipsImage *out, int n, double *c ); | |
| | | int im_shiftright( VipsImage *in, VipsImage *out, int n ); | |
| | | | |
| | | int im_remainder( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | int im_remainder_vec( VipsImage *in, VipsImage *out, int n, double *c ); | |
| | | int im_remainderconst( VipsImage *in, VipsImage *out, double c ); | |
| | | | |
| | | int im_powtra( VipsImage *in, VipsImage *out, double e ); | |
| | | int im_powtra_vec( VipsImage *in, VipsImage *out, int n, double *e ); | |
| | | int im_expntra( VipsImage *in, VipsImage *out, double e ); | |
| | | int im_expntra_vec( VipsImage *in, VipsImage *out, int n, double *e ); | |
| | | | |
| | | int im_equal_vec( VipsImage *in, VipsImage *out, int n, double *c ); | |
| | | int im_notequal_vec( VipsImage *in, VipsImage *out, int n, double *c ); | |
| | | int im_less_vec( VipsImage *in, VipsImage *out, int n, double *c ); | |
| | | int im_lesseq_vec( VipsImage *in, VipsImage *out, int n, double *c ); | |
| | | int im_more_vec( VipsImage *in, VipsImage *out, int n, double *c ); | |
| | | int im_moreeq_vec( VipsImage *in, VipsImage *out, int n, double *c ); | |
| | | int im_equalconst( VipsImage *in, VipsImage *out, double c ); | |
| | | int im_notequalconst( VipsImage *in, VipsImage *out, double c ); | |
| | | int im_lessconst( VipsImage *in, VipsImage *out, double c ); | |
| | | int im_lesseqconst( VipsImage *in, VipsImage *out, double c ); | |
| | | int im_moreconst( VipsImage *in, VipsImage *out, double c ); | |
| | | int im_moreeqconst( VipsImage *in, VipsImage *out, double c ); | |
| | | | |
| | | int im_copy( VipsImage *in, VipsImage *out ); | |
| | | int im_copy_set( VipsImage *in, VipsImage *out, | |
| | | VipsInterpretation interpretation, | |
| | | float xres, float yres, int xoffset, int yoffset ); | |
| | | int im_copy_set_meta( VipsImage *in, VipsImage *out, | |
| | | const char *field, GValue *value ); | |
| | | int im_copy_morph( VipsImage *in, VipsImage *out, | |
| | | int bands, VipsBandFormat format, VipsCoding coding ); | |
| | | int im_copy_swap( VipsImage *in, VipsImage *out ); | |
| | | int im_copy_native( VipsImage *in, VipsImage *out, gboolean is_msb_first ); | |
| | | int im_embed( VipsImage *in, VipsImage *out, | |
| | | int type, int x, int y, int width, int height ); | |
| | | int im_fliphor( VipsImage *in, VipsImage *out ); | |
| | | int im_flipver( VipsImage *in, VipsImage *out ); | |
| | | int im_insert( VipsImage *main, VipsImage *sub, VipsImage *out, int x, int | |
| | | y ); | |
| | | int im_insert_noexpand( VipsImage *main, VipsImage *sub, VipsImage *out, in | |
| | | t x, int y ); | |
| | | int im_lrjoin( VipsImage *left, VipsImage *right, VipsImage *out ); | |
| | | int im_tbjoin( VipsImage *top, VipsImage *bottom, VipsImage *out ); | |
| | | int im_extract_area( VipsImage *in, VipsImage *out, | |
| | | int left, int top, int width, int height ); | |
| | | int im_extract_band( VipsImage *in, VipsImage *out, int band ); | |
| | | int im_extract_bands( VipsImage *in, VipsImage *out, int band, int nbands ) | |
| | | ; | |
| | | int im_extract_areabands( VipsImage *in, VipsImage *out, | |
| | | int left, int top, int width, int height, int band, int nbands ); | |
| | | int im_replicate( VipsImage *in, VipsImage *out, int across, int down ); | |
| | | int im_clip2fmt( VipsImage *in, VipsImage *out, VipsBandFormat fmt ); | |
| | | int im_bandjoin( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | int im_gbandjoin( VipsImage **in, VipsImage *out, int n ); | |
| | | int im_black( VipsImage *out, int x, int y, int bands ); | |
| | | | |
| | | int im_c2amph( VipsImage *in, VipsImage *out ); | |
| | | int im_c2rect( VipsImage *in, VipsImage *out ); | |
| | | int im_c2imag( VipsImage *in, VipsImage *out ); | |
| | | int im_c2real( VipsImage *in, VipsImage *out ); | |
| | | int im_ri2c( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | | |
| | | int im_rot90( VipsImage *in, VipsImage *out ); | |
| | | int im_rot180( VipsImage *in, VipsImage *out ); | |
| | | int im_rot270( VipsImage *in, VipsImage *out ); | |
| | | | |
| | | int im_ifthenelse( VipsImage *c, VipsImage *a, VipsImage *b, VipsImage *out | |
| | | ); | |
| | | int im_blend( VipsImage *c, VipsImage *a, VipsImage *b, VipsImage *out ); | |
| | | | |
| | | DOUBLEMASK *im_vips2mask( VipsImage *in, const char *filename ); | |
| | | int im_mask2vips( DOUBLEMASK *in, VipsImage *out ); | |
| | | | |
| | | int im_bandmean( VipsImage *in, VipsImage *out ); | |
| | | int im_recomb( VipsImage *in, VipsImage *out, DOUBLEMASK *recomb ); | |
| | | | |
| /* ruby-vips uses this | | /* ruby-vips uses this | |
| */ | | */ | |
| #define vips_class_map_concrete_all vips_class_map_all | | #define vips_class_map_concrete_all vips_class_map_all | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
| #endif /*VIPS_VIPS7COMPAT_H*/ | | #endif /*VIPS_VIPS7COMPAT_H*/ | |
| | | | |
End of changes. 24 change blocks. |
| 37 lines changed or deleted | | 206 lines changed or added | |
|
| vipsc++.h | | vipsc++.h | |
| | | | |
| // headers for package arithmetic | | // headers for package arithmetic | |
| // this file automatically generated from | | // this file automatically generated from | |
|
| // VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 | | // VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 | |
| VImage abs() throw( VError ); | | VImage abs() throw( VError ); | |
| VImage acos() throw( VError ); | | VImage acos() throw( VError ); | |
|
| VImage add( VImage ) throw( VError ); | | VImage add( VImage add_in2 ) throw( VError ); | |
| VImage asin() throw( VError ); | | VImage asin() throw( VError ); | |
| VImage atan() throw( VError ); | | VImage atan() throw( VError ); | |
| double avg() throw( VError ); | | double avg() throw( VError ); | |
|
| double point_bilinear( double, double, int ) throw( VError ); | | double point_bilinear( double point_bilinear_x, double point_bilinear_y, in
t point_bilinear_band ) throw( VError ); | |
| VImage bandmean() throw( VError ); | | VImage bandmean() throw( VError ); | |
| VImage ceil() throw( VError ); | | VImage ceil() throw( VError ); | |
| VImage cos() throw( VError ); | | VImage cos() throw( VError ); | |
|
| VImage cross_phase( VImage ) throw( VError ); | | VImage cross_phase( VImage cross_phase_in2 ) throw( VError ); | |
| double deviate() throw( VError ); | | double deviate() throw( VError ); | |
|
| VImage divide( VImage ) throw( VError ); | | VImage divide( VImage divide_in2 ) throw( VError ); | |
| VImage exp10() throw( VError ); | | VImage exp10() throw( VError ); | |
|
| VImage expn( double ) throw( VError ); | | VImage expn( double expn_x ) throw( VError ); | |
| VImage expn( std::vector<double> ) throw( VError ); | | VImage expn( std::vector<double> expn_v ) throw( VError ); | |
| VImage exp() throw( VError ); | | VImage exp() throw( VError ); | |
| VImage floor() throw( VError ); | | VImage floor() throw( VError ); | |
| VImage invert() throw( VError ); | | VImage invert() throw( VError ); | |
|
| VImage lin( double, double ) throw( VError ); | | VImage lin( double lin_a, double lin_b ) throw( VError ); | |
| static VImage linreg( std::vector<VImage>, std::vector<double> ) throw( VEr | | static VImage linreg( std::vector<VImage> linreg_ins, std::vector<double> l | |
| ror ); | | inreg_xs ) throw( VError ); | |
| VImage lin( std::vector<double>, std::vector<double> ) throw( VError ); | | VImage lin( std::vector<double> lin_a, std::vector<double> lin_b ) throw( V | |
| | | Error ); | |
| VImage log10() throw( VError ); | | VImage log10() throw( VError ); | |
| VImage log() throw( VError ); | | VImage log() throw( VError ); | |
| double max() throw( VError ); | | double max() throw( VError ); | |
| std::complex<double> maxpos() throw( VError ); | | std::complex<double> maxpos() throw( VError ); | |
|
| double maxpos_avg( double&, double& ) throw( VError ); | | double maxpos_avg( double& maxpos_avg_y, double& maxpos_avg_out ) throw( VE | |
| VDMask measure( int, int, int, int, int, int ) throw( VError ); | | rror ); | |
| | | VDMask measure( int measure_x, int measure_y, int measure_w, int measure_h, | |
| | | int measure_h_patches, int measure_v_patches ) throw( VError ); | |
| double min() throw( VError ); | | double min() throw( VError ); | |
| std::complex<double> minpos() throw( VError ); | | std::complex<double> minpos() throw( VError ); | |
|
| VImage multiply( VImage ) throw( VError ); | | VImage multiply( VImage multiply_in2 ) throw( VError ); | |
| VImage pow( double ) throw( VError ); | | VImage pow( double pow_x ) throw( VError ); | |
| VImage pow( std::vector<double> ) throw( VError ); | | VImage pow( std::vector<double> pow_v ) throw( VError ); | |
| VImage recomb( VDMask ) throw( VError ); | | VImage recomb( VDMask recomb_matrix ) throw( VError ); | |
| VImage remainder( VImage ) throw( VError ); | | VImage remainder( VImage remainder_in2 ) throw( VError ); | |
| VImage remainder( double ) throw( VError ); | | VImage remainder( double remainder_x ) throw( VError ); | |
| VImage remainder( std::vector<double> ) throw( VError ); | | VImage remainder( std::vector<double> remainder_x ) throw( VError ); | |
| VImage rint() throw( VError ); | | VImage rint() throw( VError ); | |
| VImage sign() throw( VError ); | | VImage sign() throw( VError ); | |
| VImage sin() throw( VError ); | | VImage sin() throw( VError ); | |
| VDMask stats() throw( VError ); | | VDMask stats() throw( VError ); | |
|
| VImage subtract( VImage ) throw( VError ); | | VImage subtract( VImage subtract_in2 ) throw( VError ); | |
| VImage tan() throw( VError ); | | VImage tan() throw( VError ); | |
| | | | |
|
| // headers for package boolean | | | |
| // this file automatically generated from | | | |
| // VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 | | | |
| VImage andimage( VImage ) throw( VError ); | | | |
| VImage andimage( int ) throw( VError ); | | | |
| VImage andimage( std::vector<double> ) throw( VError ); | | | |
| VImage orimage( VImage ) throw( VError ); | | | |
| VImage orimage( int ) throw( VError ); | | | |
| VImage orimage( std::vector<double> ) throw( VError ); | | | |
| VImage eorimage( VImage ) throw( VError ); | | | |
| VImage eorimage( int ) throw( VError ); | | | |
| VImage eorimage( std::vector<double> ) throw( VError ); | | | |
| VImage shiftleft( std::vector<double> ) throw( VError ); | | | |
| VImage shiftleft( int ) throw( VError ); | | | |
| VImage shiftright( std::vector<double> ) throw( VError ); | | | |
| VImage shiftright( int ) throw( VError ); | | | |
| | | | |
| // headers for package cimg | | // headers for package cimg | |
| // this file automatically generated from | | // this file automatically generated from | |
|
| // VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 | | // VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 | |
| VImage greyc( int, double, double, double, double, double, double, double, | | VImage greyc( int greyc_iterations, double greyc_amplitude, double greyc_sh | |
| double, int, int ) throw( VError ); | | arpness, double greyc_anisotropy, double greyc_alpha, double greyc_sigma, d | |
| VImage greyc_mask( VImage, int, double, double, double, double, double, dou | | ouble greyc_dl, double greyc_da, double greyc_gauss_prec, int greyc_interpo | |
| ble, double, double, int, int ) throw( VError ); | | lation, int greyc_fast_approx ) throw( VError ); | |
| | | VImage greyc_mask( VImage greyc_mask_mask, int greyc_mask_iterations, doubl | |
| | | e greyc_mask_amplitude, double greyc_mask_sharpness, double greyc_mask_anis | |
| | | otropy, double greyc_mask_alpha, double greyc_mask_sigma, double greyc_mask | |
| | | _dl, double greyc_mask_da, double greyc_mask_gauss_prec, int greyc_mask_int | |
| | | erpolation, int greyc_mask_fast_approx ) throw( VError ); | |
| | | | |
| // headers for package colour | | // headers for package colour | |
| // this file automatically generated from | | // this file automatically generated from | |
|
| // VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 | | // VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 | |
| VImage LCh2Lab() throw( VError ); | | VImage LCh2Lab() throw( VError ); | |
| VImage LCh2UCS() throw( VError ); | | VImage LCh2UCS() throw( VError ); | |
| VImage Lab2LCh() throw( VError ); | | VImage Lab2LCh() throw( VError ); | |
| VImage Lab2LabQ() throw( VError ); | | VImage Lab2LabQ() throw( VError ); | |
| VImage Lab2LabS() throw( VError ); | | VImage Lab2LabS() throw( VError ); | |
| VImage Lab2UCS() throw( VError ); | | VImage Lab2UCS() throw( VError ); | |
| VImage Lab2XYZ() throw( VError ); | | VImage Lab2XYZ() throw( VError ); | |
|
| VImage Lab2XYZ_temp( double, double, double ) throw( VError ); | | VImage Lab2XYZ_temp( double Lab2XYZ_temp_X0, double Lab2XYZ_temp_Y0, double | |
| VImage Lab2disp( VDisplay ) throw( VError ); | | Lab2XYZ_temp_Z0 ) throw( VError ); | |
| | | VImage Lab2disp( VDisplay Lab2disp_disp ) throw( VError ); | |
| VImage LabQ2LabS() throw( VError ); | | VImage LabQ2LabS() throw( VError ); | |
| VImage LabQ2Lab() throw( VError ); | | VImage LabQ2Lab() throw( VError ); | |
| VImage LabQ2XYZ() throw( VError ); | | VImage LabQ2XYZ() throw( VError ); | |
|
| VImage LabQ2disp( VDisplay ) throw( VError ); | | VImage LabQ2disp( VDisplay LabQ2disp_disp ) throw( VError ); | |
| VImage LabS2LabQ() throw( VError ); | | VImage LabS2LabQ() throw( VError ); | |
| VImage LabS2Lab() throw( VError ); | | VImage LabS2Lab() throw( VError ); | |
| VImage UCS2LCh() throw( VError ); | | VImage UCS2LCh() throw( VError ); | |
| VImage UCS2Lab() throw( VError ); | | VImage UCS2Lab() throw( VError ); | |
| VImage UCS2XYZ() throw( VError ); | | VImage UCS2XYZ() throw( VError ); | |
| VImage XYZ2Lab() throw( VError ); | | VImage XYZ2Lab() throw( VError ); | |
|
| VImage XYZ2Lab_temp( double, double, double ) throw( VError ); | | VImage XYZ2Lab_temp( double XYZ2Lab_temp_X0, double XYZ2Lab_temp_Y0, double
XYZ2Lab_temp_Z0 ) throw( VError ); | |
| VImage XYZ2UCS() throw( VError ); | | VImage XYZ2UCS() throw( VError ); | |
| VImage XYZ2Yxy() throw( VError ); | | VImage XYZ2Yxy() throw( VError ); | |
|
| VImage XYZ2disp( VDisplay ) throw( VError ); | | VImage XYZ2disp( VDisplay XYZ2disp_disp ) throw( VError ); | |
| VImage XYZ2sRGB() throw( VError ); | | VImage XYZ2sRGB() throw( VError ); | |
| VImage Yxy2XYZ() throw( VError ); | | VImage Yxy2XYZ() throw( VError ); | |
|
| VImage dE00_fromLab( VImage ) throw( VError ); | | VImage dE00_fromLab( VImage dE00_fromLab_in2 ) throw( VError ); | |
| VImage dECMC_fromLab( VImage ) throw( VError ); | | VImage dECMC_fromLab( VImage dECMC_fromLab_in2 ) throw( VError ); | |
| VImage dECMC_fromdisp( VImage, VDisplay ) throw( VError ); | | VImage dECMC_fromdisp( VImage dECMC_fromdisp_in2, VDisplay dECMC_fromdisp_d | |
| VImage dE_fromLab( VImage ) throw( VError ); | | isp ) throw( VError ); | |
| VImage dE_fromXYZ( VImage ) throw( VError ); | | VImage dE_fromLab( VImage dE_fromLab_in2 ) throw( VError ); | |
| VImage dE_fromdisp( VImage, VDisplay ) throw( VError ); | | VImage dE_fromXYZ( VImage dE_fromXYZ_in2 ) throw( VError ); | |
| VImage disp2Lab( VDisplay ) throw( VError ); | | VImage dE_fromdisp( VImage dE_fromdisp_in2, VDisplay dE_fromdisp_disp ) thr | |
| VImage disp2XYZ( VDisplay ) throw( VError ); | | ow( VError ); | |
| | | VImage disp2Lab( VDisplay disp2Lab_disp ) throw( VError ); | |
| | | VImage disp2XYZ( VDisplay disp2XYZ_disp ) throw( VError ); | |
| VImage float2rad() throw( VError ); | | VImage float2rad() throw( VError ); | |
|
| VImage icc_ac2rc( char* ) throw( VError ); | | VImage argb2rgba() throw( VError ); | |
| VImage icc_export_depth( int, char*, int ) throw( VError ); | | VImage icc_ac2rc( char* icc_ac2rc_profile ) throw( VError ); | |
| VImage icc_import( char*, int ) throw( VError ); | | VImage icc_export_depth( int icc_export_depth_depth, char* icc_export_depth | |
| VImage icc_import_embedded( int ) throw( VError ); | | _output_profile, int icc_export_depth_intent ) throw( VError ); | |
| VImage icc_transform( char*, char*, int ) throw( VError ); | | VImage icc_import( char* icc_import_input_profile, int icc_import_intent ) | |
| VImage lab_morph( VDMask, double, double, double, double ) throw( VError ); | | throw( VError ); | |
| | | VImage icc_import_embedded( int icc_import_embedded_intent ) throw( VError | |
| | | ); | |
| | | VImage icc_transform( char* icc_transform_input_profile, char* icc_transfor | |
| | | m_output_profile, int icc_transform_intent ) throw( VError ); | |
| | | VImage lab_morph( VDMask lab_morph_greyscale, double lab_morph_L_offset, do | |
| | | uble lab_morph_L_scale, double lab_morph_a_scale, double lab_morph_b_scale | |
| | | ) throw( VError ); | |
| VImage rad2float() throw( VError ); | | VImage rad2float() throw( VError ); | |
| VImage sRGB2XYZ() throw( VError ); | | VImage sRGB2XYZ() throw( VError ); | |
| | | | |
| // headers for package conversion | | // headers for package conversion | |
| // this file automatically generated from | | // this file automatically generated from | |
|
| // VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 | | // VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 | |
| static VImage gaussnoise( int, int, double, double ) throw( VError ); | | static VImage gaussnoise( int gaussnoise_xsize, int gaussnoise_ysize, doubl | |
| VImage bandjoin( VImage ) throw( VError ); | | e gaussnoise_mean, double gaussnoise_sigma ) throw( VError ); | |
| static VImage black( int, int, int ) throw( VError ); | | VImage bandjoin( VImage bandjoin_in2 ) throw( VError ); | |
| | | static VImage black( int black_x_size, int black_y_size, int black_bands ) | |
| | | throw( VError ); | |
| VImage c2amph() throw( VError ); | | VImage c2amph() throw( VError ); | |
| VImage c2imag() throw( VError ); | | VImage c2imag() throw( VError ); | |
| VImage c2real() throw( VError ); | | VImage c2real() throw( VError ); | |
| VImage c2rect() throw( VError ); | | VImage c2rect() throw( VError ); | |
|
| VImage clip2fmt( int ) throw( VError ); | | VImage clip2fmt( int clip2fmt_ofmt ) throw( VError ); | |
| VImage copy() throw( VError ); | | VImage copy() throw( VError ); | |
| VImage copy_file() throw( VError ); | | VImage copy_file() throw( VError ); | |
|
| VImage copy_morph( int, int, int ) throw( VError ); | | VImage copy_morph( int copy_morph_Bands, int copy_morph_BandFmt, int copy_m
orph_Coding ) throw( VError ); | |
| VImage copy_swap() throw( VError ); | | VImage copy_swap() throw( VError ); | |
|
| VImage copy_set( int, double, double, int, int ) throw( VError ); | | VImage copy_set( int copy_set_Type, double copy_set_Xres, double copy_set_Y | |
| VImage extract_area( int, int, int, int ) throw( VError ); | | res, int copy_set_Xoffset, int copy_set_Yoffset ) throw( VError ); | |
| VImage extract_areabands( int, int, int, int, int, int ) throw( VError ); | | VImage extract_area( int extract_area_left, int extract_area_top, int extra | |
| VImage extract_band( int ) throw( VError ); | | ct_area_width, int extract_area_height ) throw( VError ); | |
| VImage extract_bands( int, int ) throw( VError ); | | VImage extract_areabands( int extract_areabands_left, int extract_areabands | |
| VImage extract( int, int, int, int, int ) throw( VError ); | | _top, int extract_areabands_width, int extract_areabands_height, int extrac | |
| | | t_areabands_band, int extract_areabands_nbands ) throw( VError ); | |
| | | VImage extract_band( int extract_band_band ) throw( VError ); | |
| | | VImage extract_bands( int extract_bands_band, int extract_bands_nbands ) th | |
| | | row( VError ); | |
| | | VImage extract( int extract_left, int extract_top, int extract_width, int e | |
| | | xtract_height, int extract_band ) throw( VError ); | |
| VImage falsecolour() throw( VError ); | | VImage falsecolour() throw( VError ); | |
| VImage fliphor() throw( VError ); | | VImage fliphor() throw( VError ); | |
| VImage flipver() throw( VError ); | | VImage flipver() throw( VError ); | |
|
| static VImage gbandjoin( std::vector<VImage> ) throw( VError ); | | static VImage gbandjoin( std::vector<VImage> gbandjoin_in ) throw( VError ) | |
| VImage grid( int, int, int ) throw( VError ); | | ; | |
| VImage insert( VImage, int, int ) throw( VError ); | | VImage grid( int grid_tile_height, int grid_across, int grid_down ) throw( | |
| VImage insert( VImage, std::vector<int>, std::vector<int> ) throw( VError ) | | VError ); | |
| ; | | VImage insert( VImage insert_sub, int insert_x, int insert_y ) throw( VErro | |
| VImage insert_noexpand( VImage, int, int ) throw( VError ); | | r ); | |
| VImage embed( int, int, int, int, int ) throw( VError ); | | VImage insert( VImage insert_sub, std::vector<int> insert_x, std::vector<in | |
| VImage lrjoin( VImage ) throw( VError ); | | t> insert_y ) throw( VError ); | |
| static VImage mask2vips( VDMask ) throw( VError ); | | VImage insert_noexpand( VImage insert_noexpand_sub, int insert_noexpand_x, | |
| | | int insert_noexpand_y ) throw( VError ); | |
| | | VImage embed( int embed_type, int embed_x, int embed_y, int embed_width, in | |
| | | t embed_height ) throw( VError ); | |
| | | VImage lrjoin( VImage lrjoin_in2 ) throw( VError ); | |
| VImage msb() throw( VError ); | | VImage msb() throw( VError ); | |
|
| VImage msb_band( int ) throw( VError ); | | VImage msb_band( int msb_band_band ) throw( VError ); | |
| VImage replicate( int, int ) throw( VError ); | | VImage replicate( int replicate_across, int replicate_down ) throw( VError | |
| VImage ri2c( VImage ) throw( VError ); | | ); | |
| | | VImage ri2c( VImage ri2c_in2 ) throw( VError ); | |
| VImage rot180() throw( VError ); | | VImage rot180() throw( VError ); | |
| VImage rot270() throw( VError ); | | VImage rot270() throw( VError ); | |
| VImage rot90() throw( VError ); | | VImage rot90() throw( VError ); | |
| VImage scale() throw( VError ); | | VImage scale() throw( VError ); | |
| VImage scaleps() throw( VError ); | | VImage scaleps() throw( VError ); | |
|
| VImage subsample( int, int ) throw( VError ); | | VImage subsample( int subsample_xshrink, int subsample_yshrink ) throw( VEr | |
| char* system( char* ) throw( VError ); | | ror ); | |
| VImage system_image( char*, char*, char*, char*& ) throw( VError ); | | char* system( char* system_command ) throw( VError ); | |
| VImage tbjoin( VImage ) throw( VError ); | | VImage system_image( char* system_image_in_format, char* system_image_out_f | |
| static VImage text( char*, char*, int, int, int ) throw( VError ); | | ormat, char* system_image_command, char*& system_image_log ) throw( VError | |
| VDMask vips2mask() throw( VError ); | | ); | |
| VImage wrap( int, int ) throw( VError ); | | VImage tbjoin( VImage tbjoin_in2 ) throw( VError ); | |
| VImage zoom( int, int ) throw( VError ); | | static VImage text( char* text_text, char* text_font, int text_width, int t | |
| | | ext_alignment, int text_dpi ) throw( VError ); | |
| | | VImage wrap( int wrap_x, int wrap_y ) throw( VError ); | |
| | | VImage zoom( int zoom_xfac, int zoom_yfac ) throw( VError ); | |
| | | | |
| // headers for package convolution | | // headers for package convolution | |
| // this file automatically generated from | | // this file automatically generated from | |
|
| // VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 | | // VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 | |
| VImage addgnoise( double ) throw( VError ); | | VImage aconvsep( VDMask aconvsep_matrix, int aconvsep_n_layers ) throw( VEr | |
| VImage compass( VIMask ) throw( VError ); | | ror ); | |
| VImage contrast_surface( int, int ) throw( VError ); | | VImage aconv( VDMask aconv_matrix, int aconv_n_layers, int aconv_cluster ) | |
| VImage conv( VIMask ) throw( VError ); | | throw( VError ); | |
| VImage conv( VDMask ) throw( VError ); | | VImage addgnoise( double addgnoise_sigma ) throw( VError ); | |
| VImage convsep( VIMask ) throw( VError ); | | VImage compass( VIMask compass_matrix ) throw( VError ); | |
| VImage convsep( VDMask ) throw( VError ); | | VImage contrast_surface( int contrast_surface_half_win_size, int contrast_s | |
| VImage fastcor( VImage ) throw( VError ); | | urface_spacing ) throw( VError ); | |
| VImage gradcor( VImage ) throw( VError ); | | VImage conv( VIMask conv_matrix ) throw( VError ); | |
| VImage gradient( VIMask ) throw( VError ); | | VImage conv( VDMask conv_matrix ) throw( VError ); | |
| | | VImage convsep( VIMask convsep_matrix ) throw( VError ); | |
| | | VImage convsep( VDMask convsep_matrix ) throw( VError ); | |
| | | VImage fastcor( VImage fastcor_in2 ) throw( VError ); | |
| | | VImage gradcor( VImage gradcor_in2 ) throw( VError ); | |
| | | VImage gradient( VIMask gradient_matrix ) throw( VError ); | |
| VImage grad_x() throw( VError ); | | VImage grad_x() throw( VError ); | |
| VImage grad_y() throw( VError ); | | VImage grad_y() throw( VError ); | |
|
| VImage lindetect( VIMask ) throw( VError ); | | VImage lindetect( VIMask lindetect_matrix ) throw( VError ); | |
| VImage sharpen( int, double, double, double, double, double ) throw( VError | | VImage sharpen( int sharpen_mask_size, double sharpen_x1, double sharpen_y2 | |
| ); | | , double sharpen_y3, double sharpen_m1, double sharpen_m2 ) throw( VError ) | |
| VImage spcor( VImage ) throw( VError ); | | ; | |
| | | VImage spcor( VImage spcor_in2 ) throw( VError ); | |
| | | | |
| // headers for package deprecated | | // headers for package deprecated | |
| // this file automatically generated from | | // this file automatically generated from | |
|
| // VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 | | // VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 | |
| VImage flood_copy( int, int, std::vector<double> ) throw( VError ); | | VImage flood_copy( int flood_copy_start_x, int flood_copy_start_y, std::vec | |
| VImage flood_blob_copy( int, int, std::vector<double> ) throw( VError ); | | tor<double> flood_copy_ink ) throw( VError ); | |
| VImage flood_other_copy( VImage, int, int, int ) throw( VError ); | | VImage flood_blob_copy( int flood_blob_copy_start_x, int flood_blob_copy_st | |
| | | art_y, std::vector<double> flood_blob_copy_ink ) throw( VError ); | |
| | | VImage flood_other_copy( VImage flood_other_copy_mark, int flood_other_copy | |
| | | _start_x, int flood_other_copy_start_y, int flood_other_copy_serial ) throw | |
| | | ( VError ); | |
| VImage clip() throw( VError ); | | VImage clip() throw( VError ); | |
| VImage c2ps() throw( VError ); | | VImage c2ps() throw( VError ); | |
|
| VImage resize_linear( int, int ) throw( VError ); | | VImage resize_linear( int resize_linear_X, int resize_linear_Y ) throw( VEr | |
| VImage cmulnorm( VImage ) throw( VError ); | | ror ); | |
| VImage fav4( VImage, VImage, VImage ) throw( VError ); | | VImage cmulnorm( VImage cmulnorm_in2 ) throw( VError ); | |
| VImage gadd( double, double, VImage, double ) throw( VError ); | | VImage fav4( VImage fav4_in2, VImage fav4_in3, VImage fav4_in4 ) throw( VEr | |
| VImage icc_export( char*, int ) throw( VError ); | | ror ); | |
| VImage litecor( VImage, int, double ) throw( VError ); | | VImage gadd( double gadd_a, double gadd_b, VImage gadd_in2, double gadd_c ) | |
| VImage affine( double, double, double, double, double, double, int, int, in | | throw( VError ); | |
| t, int ) throw( VError ); | | VImage icc_export( char* icc_export_output_profile, int icc_export_intent ) | |
| | | throw( VError ); | |
| | | VImage litecor( VImage litecor_white, int litecor_clip, double litecor_fact | |
| | | or ) throw( VError ); | |
| | | VImage affine( double affine_a, double affine_b, double affine_c, double af | |
| | | fine_d, double affine_dx, double affine_dy, int affine_x, int affine_y, int | |
| | | affine_w, int affine_h ) throw( VError ); | |
| VImage clip2c() throw( VError ); | | VImage clip2c() throw( VError ); | |
| VImage clip2cm() throw( VError ); | | VImage clip2cm() throw( VError ); | |
| VImage clip2d() throw( VError ); | | VImage clip2d() throw( VError ); | |
| VImage clip2dcm() throw( VError ); | | VImage clip2dcm() throw( VError ); | |
| VImage clip2f() throw( VError ); | | VImage clip2f() throw( VError ); | |
| VImage clip2i() throw( VError ); | | VImage clip2i() throw( VError ); | |
|
| VImage convsub( VIMask, int, int ) throw( VError ); | | VImage convsub( VIMask convsub_matrix, int convsub_xskip, int convsub_yskip | |
| VImage convf( VDMask ) throw( VError ); | | ) throw( VError ); | |
| VImage convsepf( VDMask ) throw( VError ); | | VImage convf( VDMask convf_matrix ) throw( VError ); | |
| | | VImage convsepf( VDMask convsepf_matrix ) throw( VError ); | |
| VImage clip2s() throw( VError ); | | VImage clip2s() throw( VError ); | |
| VImage clip2ui() throw( VError ); | | VImage clip2ui() throw( VError ); | |
|
| VImage insertplace( VImage, std::vector<int>, std::vector<int> ) throw( VEr
ror ); | | VImage insertplace( VImage insertplace_sub, std::vector<int> insertplace_x,
std::vector<int> insertplace_y ) throw( VError ); | |
| VImage clip2us() throw( VError ); | | VImage clip2us() throw( VError ); | |
|
| VImage slice( double, double ) throw( VError ); | | VImage slice( double slice_thresh1, double slice_thresh2 ) throw( VError ); | |
| VImage segment( int& ) throw( VError ); | | VImage segment( int& segment_segments ) throw( VError ); | |
| void line( int, int, int, int, int ) throw( VError ); | | void line( int line_x1, int line_y1, int line_x2, int line_y2, int line_pel | |
| VImage thresh( double ) throw( VError ); | | val ) throw( VError ); | |
| VImage convf_raw( VDMask ) throw( VError ); | | VImage thresh( double thresh_threshold ) throw( VError ); | |
| VImage conv_raw( VIMask ) throw( VError ); | | VImage convf_raw( VDMask convf_raw_matrix ) throw( VError ); | |
| VImage contrast_surface_raw( int, int ) throw( VError ); | | VImage conv_raw( VIMask conv_raw_matrix ) throw( VError ); | |
| VImage convsepf_raw( VDMask ) throw( VError ); | | VImage contrast_surface_raw( int contrast_surface_raw_half_win_size, int co | |
| VImage convsep_raw( VIMask ) throw( VError ); | | ntrast_surface_raw_spacing ) throw( VError ); | |
| VImage fastcor_raw( VImage ) throw( VError ); | | VImage convsepf_raw( VDMask convsepf_raw_matrix ) throw( VError ); | |
| VImage gradcor_raw( VImage ) throw( VError ); | | VImage convsep_raw( VIMask convsep_raw_matrix ) throw( VError ); | |
| VImage spcor_raw( VImage ) throw( VError ); | | VImage fastcor_raw( VImage fastcor_raw_in2 ) throw( VError ); | |
| VImage lhisteq_raw( int, int ) throw( VError ); | | VImage gradcor_raw( VImage gradcor_raw_in2 ) throw( VError ); | |
| VImage stdif_raw( double, double, double, double, int, int ) throw( VError | | VImage spcor_raw( VImage spcor_raw_in2 ) throw( VError ); | |
| ); | | VImage lhisteq_raw( int lhisteq_raw_width, int lhisteq_raw_height ) throw( | |
| VImage rank_raw( int, int, int ) throw( VError ); | | VError ); | |
| VImage dilate_raw( VIMask ) throw( VError ); | | VImage stdif_raw( double stdif_raw_a, double stdif_raw_m0, double stdif_raw | |
| VImage erode_raw( VIMask ) throw( VError ); | | _b, double stdif_raw_s0, int stdif_raw_xw, int stdif_raw_yw ) throw( VError | |
| VImage similarity_area( double, double, double, double, int, int, int, int | | ); | |
| ) throw( VError ); | | VImage rank_raw( int rank_raw_xsize, int rank_raw_ysize, int rank_raw_n ) t | |
| VImage similarity( double, double, double, double ) throw( VError ); | | hrow( VError ); | |
| void insertplace( VImage, int, int ) throw( VError ); | | VImage dilate_raw( VIMask dilate_raw_mask ) throw( VError ); | |
| void circle( int, int, int, int ) throw( VError ); | | VImage erode_raw( VIMask erode_raw_mask ) throw( VError ); | |
| | | VImage similarity_area( double similarity_area_a, double similarity_area_b, | |
| | | double similarity_area_dx, double similarity_area_dy, int similarity_area_ | |
| | | x, int similarity_area_y, int similarity_area_w, int similarity_area_h ) th | |
| | | row( VError ); | |
| | | VImage similarity( double similarity_a, double similarity_b, double similar | |
| | | ity_dx, double similarity_dy ) throw( VError ); | |
| | | static VImage mask2vips( VDMask mask2vips_input ) throw( VError ); | |
| | | VDMask vips2mask() throw( VError ); | |
| | | void insertplace( VImage insertplace_sub, int insertplace_x, int insertplac | |
| | | e_y ) throw( VError ); | |
| | | void circle( int circle_cx, int circle_cy, int circle_radius, int circle_in | |
| | | tensity ) throw( VError ); | |
| | | VImage andimage( VImage andimage_in2 ) throw( VError ); | |
| | | VImage andimage( int andimage_c ) throw( VError ); | |
| | | VImage andimage( std::vector<double> andimage_vec ) throw( VError ); | |
| | | VImage orimage( VImage orimage_in2 ) throw( VError ); | |
| | | VImage orimage( int orimage_c ) throw( VError ); | |
| | | VImage orimage( std::vector<double> orimage_vec ) throw( VError ); | |
| | | VImage eorimage( VImage eorimage_in2 ) throw( VError ); | |
| | | VImage eorimage( int eorimage_c ) throw( VError ); | |
| | | VImage eorimage( std::vector<double> eorimage_vec ) throw( VError ); | |
| | | VImage shiftleft( std::vector<double> shiftleft_vec ) throw( VError ); | |
| | | VImage shiftleft( int shiftleft_c ) throw( VError ); | |
| | | VImage shiftright( std::vector<double> shiftright_vec ) throw( VError ); | |
| | | VImage shiftright( int shiftright_c ) throw( VError ); | |
| | | VImage blend( VImage blend_in1, VImage blend_in2 ) throw( VError ); | |
| | | VImage equal( VImage equal_in2 ) throw( VError ); | |
| | | VImage equal( std::vector<double> equal_vec ) throw( VError ); | |
| | | VImage equal( double equal_c ) throw( VError ); | |
| | | VImage ifthenelse( VImage ifthenelse_in1, VImage ifthenelse_in2 ) throw( VE | |
| | | rror ); | |
| | | VImage less( VImage less_in2 ) throw( VError ); | |
| | | VImage less( std::vector<double> less_vec ) throw( VError ); | |
| | | VImage less( double less_c ) throw( VError ); | |
| | | VImage lesseq( VImage lesseq_in2 ) throw( VError ); | |
| | | VImage lesseq( std::vector<double> lesseq_vec ) throw( VError ); | |
| | | VImage lesseq( double lesseq_c ) throw( VError ); | |
| | | VImage more( VImage more_in2 ) throw( VError ); | |
| | | VImage more( std::vector<double> more_vec ) throw( VError ); | |
| | | VImage more( double more_c ) throw( VError ); | |
| | | VImage moreeq( VImage moreeq_in2 ) throw( VError ); | |
| | | VImage moreeq( std::vector<double> moreeq_vec ) throw( VError ); | |
| | | VImage moreeq( double moreeq_c ) throw( VError ); | |
| | | VImage notequal( VImage notequal_in2 ) throw( VError ); | |
| | | VImage notequal( std::vector<double> notequal_vec ) throw( VError ); | |
| | | VImage notequal( double notequal_c ) throw( VError ); | |
| | | | |
| // headers for package format | | // headers for package format | |
| // this file automatically generated from | | // this file automatically generated from | |
|
| // VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 | | // VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 | |
| static VImage csv2vips( char* ) throw( VError ); | | static VImage csv2vips( char* csv2vips_filename ) throw( VError ); | |
| static VImage jpeg2vips( char* ) throw( VError ); | | static VImage fits2vips( char* fits2vips_in ) throw( VError ); | |
| static VImage magick2vips( char* ) throw( VError ); | | static VImage jpeg2vips( char* jpeg2vips_in ) throw( VError ); | |
| static VImage png2vips( char* ) throw( VError ); | | static VImage magick2vips( char* magick2vips_in ) throw( VError ); | |
| static VImage exr2vips( char* ) throw( VError ); | | static VImage png2vips( char* png2vips_in ) throw( VError ); | |
| static VImage ppm2vips( char* ) throw( VError ); | | static VImage exr2vips( char* exr2vips_in ) throw( VError ); | |
| static VImage analyze2vips( char* ) throw( VError ); | | static VImage ppm2vips( char* ppm2vips_filename ) throw( VError ); | |
| static VImage tiff2vips( char* ) throw( VError ); | | static VImage analyze2vips( char* analyze2vips_filename ) throw( VError ); | |
| void vips2csv( char* ) throw( VError ); | | static VImage tiff2vips( char* tiff2vips_in ) throw( VError ); | |
| void vips2jpeg( char* ) throw( VError ); | | void vips2csv( char* vips2csv_filename ) throw( VError ); | |
| void vips2mimejpeg( int ) throw( VError ); | | void vips2jpeg( char* vips2jpeg_out ) throw( VError ); | |
| void vips2png( char* ) throw( VError ); | | void vips2mimejpeg( int vips2mimejpeg_qfac ) throw( VError ); | |
| void vips2ppm( char* ) throw( VError ); | | void vips2png( char* vips2png_out ) throw( VError ); | |
| void vips2tiff( char* ) throw( VError ); | | void vips2ppm( char* vips2ppm_filename ) throw( VError ); | |
| | | void vips2tiff( char* vips2tiff_out ) throw( VError ); | |
| | | | |
| // headers for package freq_filt | | // headers for package freq_filt | |
| // this file automatically generated from | | // this file automatically generated from | |
|
| // VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 | | // VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 | |
| static VImage create_fmask( int, int, int, double, double, double, double, | | static VImage create_fmask( int create_fmask_width, int create_fmask_height | |
| double ) throw( VError ); | | , int create_fmask_type, double create_fmask_p1, double create_fmask_p2, do | |
| | | uble create_fmask_p3, double create_fmask_p4, double create_fmask_p5 ) thro | |
| | | w( VError ); | |
| VImage disp_ps() throw( VError ); | | VImage disp_ps() throw( VError ); | |
|
| VImage flt_image_freq( int, double, double, double, double, double ) throw( | | VImage flt_image_freq( int flt_image_freq_type, double flt_image_freq_p1, d | |
| VError ); | | ouble flt_image_freq_p2, double flt_image_freq_p3, double flt_image_freq_p4 | |
| static VImage fractsurf( int, double ) throw( VError ); | | , double flt_image_freq_p5 ) throw( VError ); | |
| VImage freqflt( VImage ) throw( VError ); | | static VImage fractsurf( int fractsurf_size, double fractsurf_dimension ) t | |
| | | hrow( VError ); | |
| | | VImage freqflt( VImage freqflt_mask ) throw( VError ); | |
| VImage fwfft() throw( VError ); | | VImage fwfft() throw( VError ); | |
| VImage rotquad() throw( VError ); | | VImage rotquad() throw( VError ); | |
| VImage invfft() throw( VError ); | | VImage invfft() throw( VError ); | |
|
| VImage phasecor_fft( VImage ) throw( VError ); | | VImage phasecor_fft( VImage phasecor_fft_in2 ) throw( VError ); | |
| VImage invfftr() throw( VError ); | | VImage invfftr() throw( VError ); | |
| | | | |
| // headers for package histograms_lut | | // headers for package histograms_lut | |
| // this file automatically generated from | | // this file automatically generated from | |
|
| // VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 | | // VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 | |
| VImage gammacorrect( double ) throw( VError ); | | VImage gammacorrect( double gammacorrect_exponent ) throw( VError ); | |
| VImage heq( int ) throw( VError ); | | VImage heq( int heq_band_number ) throw( VError ); | |
| VImage hist( int ) throw( VError ); | | VImage hist( int hist_band_number ) throw( VError ); | |
| VImage histcum() throw( VError ); | | VImage histcum() throw( VError ); | |
| VImage histeq() throw( VError ); | | VImage histeq() throw( VError ); | |
|
| VImage hist_indexed( VImage ) throw( VError ); | | VImage hist_indexed( VImage hist_indexed_value ) throw( VError ); | |
| VImage histgr( int ) throw( VError ); | | VImage histgr( int histgr_band_number ) throw( VError ); | |
| VImage histnD( int ) throw( VError ); | | VImage histnD( int histnD_bins ) throw( VError ); | |
| VImage histnorm() throw( VError ); | | VImage histnorm() throw( VError ); | |
| VImage histplot() throw( VError ); | | VImage histplot() throw( VError ); | |
|
| VImage histspec( VImage ) throw( VError ); | | VImage histspec( VImage histspec_ref ) throw( VError ); | |
| VImage hsp( VImage ) throw( VError ); | | VImage hsp( VImage hsp_ref ) throw( VError ); | |
| static VImage identity( int ) throw( VError ); | | static VImage identity( int identity_nbands ) throw( VError ); | |
| static VImage identity_ushort( int, int ) throw( VError ); | | static VImage identity_ushort( int identity_ushort_nbands, int identity_ush | |
| | | ort_size ) throw( VError ); | |
| int ismonotonic() throw( VError ); | | int ismonotonic() throw( VError ); | |
|
| VImage lhisteq( int, int ) throw( VError ); | | VImage lhisteq( int lhisteq_width, int lhisteq_height ) throw( VError ); | |
| int mpercent( double ) throw( VError ); | | int mpercent( double mpercent_percent ) throw( VError ); | |
| static VImage invertlut( VDMask, int ) throw( VError ); | | static VImage invertlut( VDMask invertlut_measures, int invertlut_lut_size | |
| static VImage buildlut( VDMask ) throw( VError ); | | ) throw( VError ); | |
| VImage maplut( VImage ) throw( VError ); | | static VImage buildlut( VDMask buildlut_xyes ) throw( VError ); | |
| VImage project( VImage& ) throw( VError ); | | VImage maplut( VImage maplut_lut ) throw( VError ); | |
| VImage stdif( double, double, double, double, int, int ) throw( VError ); | | VImage project( VImage& project_vout ) throw( VError ); | |
| VImage tone_analyse( double, double, double, double, double, double ) throw | | VImage stdif( double stdif_a, double stdif_m0, double stdif_b, double stdif | |
| ( VError ); | | _s0, int stdif_xw, int stdif_yw ) throw( VError ); | |
| static VImage tone_build( double, double, double, double, double, double, d | | VImage tone_analyse( double tone_analyse_Ps, double tone_analyse_Pm, double | |
| ouble, double ) throw( VError ); | | tone_analyse_Ph, double tone_analyse_S, double tone_analyse_M, double tone | |
| static VImage tone_build_range( int, int, double, double, double, double, d | | _analyse_H ) throw( VError ); | |
| ouble, double, double, double ) throw( VError ); | | static VImage tone_build( double tone_build_Lb, double tone_build_Lw, doubl | |
| VImage tone_map( VImage ) throw( VError ); | | e tone_build_Ps, double tone_build_Pm, double tone_build_Ph, double tone_bu | |
| | | ild_S, double tone_build_M, double tone_build_H ) throw( VError ); | |
| | | static VImage tone_build_range( int tone_build_range_in_max, int tone_build | |
| | | _range_out_max, double tone_build_range_Lb, double tone_build_range_Lw, dou | |
| | | ble tone_build_range_Ps, double tone_build_range_Pm, double tone_build_rang | |
| | | e_Ph, double tone_build_range_S, double tone_build_range_M, double tone_bui | |
| | | ld_range_H ) throw( VError ); | |
| | | VImage tone_map( VImage tone_map_lut ) throw( VError ); | |
| | | | |
| // headers for package inplace | | // headers for package inplace | |
| // this file automatically generated from | | // this file automatically generated from | |
|
| // VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 | | // VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 | |
| void draw_circle( int, int, int, int, std::vector<double> ) throw( VError ) | | void draw_circle( int draw_circle_cx, int draw_circle_cy, int draw_circle_r | |
| ; | | adius, int draw_circle_fill, std::vector<double> draw_circle_ink ) throw( V | |
| void draw_rect( int, int, int, int, int, std::vector<double> ) throw( VErro | | Error ); | |
| r ); | | void draw_rect( int draw_rect_left, int draw_rect_top, int draw_rect_width, | |
| void draw_line( int, int, int, int, std::vector<double> ) throw( VError ); | | int draw_rect_height, int draw_rect_fill, std::vector<double> draw_rect_in | |
| void draw_point( int, int, std::vector<double> ) throw( VError ); | | k ) throw( VError ); | |
| void draw_smudge( int, int, int, int ) throw( VError ); | | void draw_line( int draw_line_x1, int draw_line_y1, int draw_line_x2, int d | |
| void draw_flood( int, int, std::vector<double> ) throw( VError ); | | raw_line_y2, std::vector<double> draw_line_ink ) throw( VError ); | |
| void draw_flood_blob( int, int, std::vector<double> ) throw( VError ); | | void draw_point( int draw_point_x, int draw_point_y, std::vector<double> dr | |
| void draw_flood_other( VImage, int, int, int ) throw( VError ); | | aw_point_ink ) throw( VError ); | |
| void draw_image( VImage, int, int ) throw( VError ); | | void draw_smudge( int draw_smudge_left, int draw_smudge_top, int draw_smudg | |
| void draw_mask( VImage, int, int, std::vector<double> ) throw( VError ); | | e_width, int draw_smudge_height ) throw( VError ); | |
| VImage line( VImage, VImage, std::vector<int>, std::vector<int>, std::vecto | | void draw_flood( int draw_flood_x, int draw_flood_y, std::vector<double> dr | |
| r<int>, std::vector<int> ) throw( VError ); | | aw_flood_ink ) throw( VError ); | |
| | | void draw_flood_blob( int draw_flood_blob_x, int draw_flood_blob_y, std::ve | |
| | | ctor<double> draw_flood_blob_ink ) throw( VError ); | |
| | | void draw_flood_other( VImage draw_flood_other_test, int draw_flood_other_x | |
| | | , int draw_flood_other_y, int draw_flood_other_serial ) throw( VError ); | |
| | | void draw_image( VImage draw_image_sub, int draw_image_x, int draw_image_y | |
| | | ) throw( VError ); | |
| | | void draw_mask( VImage draw_mask_mask, int draw_mask_x, int draw_mask_y, st | |
| | | d::vector<double> draw_mask_ink ) throw( VError ); | |
| | | VImage line( VImage line_mask, VImage line_ink, std::vector<int> line_x1, s | |
| | | td::vector<int> line_y1, std::vector<int> line_x2, std::vector<int> line_y2 | |
| | | ) throw( VError ); | |
| | | | |
| // headers for package iofuncs | | // headers for package iofuncs | |
| // this file automatically generated from | | // this file automatically generated from | |
|
| // VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 | | // VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 | |
| static VImage binfile( char*, int, int, int, int ) throw( VError ); | | static VImage binfile( char* binfile_filename, int binfile_width, int binfi | |
| VImage cache( int, int, int ) throw( VError ); | | le_height, int binfile_bands, int binfile_offset ) throw( VError ); | |
| | | VImage cache( int cache_tile_width, int cache_tile_height, int cache_max_ti | |
| | | les ) throw( VError ); | |
| char* getext() throw( VError ); | | char* getext() throw( VError ); | |
|
| int header_get_typeof( char* ) throw( VError ); | | int header_get_typeof( char* header_get_typeof_field ) throw( VError ); | |
| int header_int( char* ) throw( VError ); | | int header_int( char* header_int_field ) throw( VError ); | |
| double header_double( char* ) throw( VError ); | | double header_double( char* header_double_field ) throw( VError ); | |
| char* header_string( char* ) throw( VError ); | | char* header_string( char* header_string_field ) throw( VError ); | |
| char* history_get() throw( VError ); | | char* history_get() throw( VError ); | |
| void printdesc() throw( VError ); | | void printdesc() throw( VError ); | |
| | | | |
| // headers for package mask | | // headers for package mask | |
| // this file automatically generated from | | // this file automatically generated from | |
|
| // VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 | | // VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 | |
| | | | |
| // headers for package morphology | | // headers for package morphology | |
| // this file automatically generated from | | // this file automatically generated from | |
|
| // VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 | | // VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 | |
| double cntlines( int ) throw( VError ); | | double cntlines( int cntlines_direction ) throw( VError ); | |
| VImage dilate( VIMask ) throw( VError ); | | VImage dilate( VIMask dilate_mask ) throw( VError ); | |
| VImage rank( int, int, int ) throw( VError ); | | VImage rank( int rank_xsize, int rank_ysize, int rank_n ) throw( VError ); | |
| static VImage rank_image( std::vector<VImage>, int ) throw( VError ); | | static VImage rank_image( std::vector<VImage> rank_image_in, int rank_image | |
| static VImage maxvalue( std::vector<VImage> ) throw( VError ); | | _index ) throw( VError ); | |
| VImage label_regions( int& ) throw( VError ); | | static VImage maxvalue( std::vector<VImage> maxvalue_in ) throw( VError ); | |
| VImage zerox( int ) throw( VError ); | | VImage label_regions( int& label_regions_segments ) throw( VError ); | |
| VImage erode( VIMask ) throw( VError ); | | VImage zerox( int zerox_flag ) throw( VError ); | |
| VImage profile( int ) throw( VError ); | | VImage erode( VIMask erode_mask ) throw( VError ); | |
| | | VImage profile( int profile_direction ) throw( VError ); | |
| | | | |
| // headers for package mosaicing | | // headers for package mosaicing | |
| // this file automatically generated from | | // this file automatically generated from | |
|
| // VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 | | // VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 | |
| VImage align_bands() throw( VError ); | | VImage align_bands() throw( VError ); | |
|
| double correl( VImage, int, int, int, int, int, int, int&, int& ) throw( VE | | double correl( VImage correl_sec, int correl_xref, int correl_yref, int cor | |
| rror ); | | rel_xsec, int correl_ysec, int correl_hwindowsize, int correl_hsearchsize, | |
| int _find_lroverlap( VImage, int, int, int, int, int, int, int, int&, doubl | | int& correl_x, int& correl_y ) throw( VError ); | |
| e&, double&, double&, double& ) throw( VError ); | | int _find_lroverlap( VImage _find_lroverlap_sec, int _find_lroverlap_bandno | |
| int _find_tboverlap( VImage, int, int, int, int, int, int, int, int&, doubl | | , int _find_lroverlap_xr, int _find_lroverlap_yr, int _find_lroverlap_xs, i | |
| e&, double&, double&, double& ) throw( VError ); | | nt _find_lroverlap_ys, int _find_lroverlap_halfcorrelation, int _find_lrove | |
| VImage global_balance( double ) throw( VError ); | | rlap_halfarea, int& _find_lroverlap_dy0, double& _find_lroverlap_scale1, do | |
| VImage global_balancef( double ) throw( VError ); | | uble& _find_lroverlap_angle1, double& _find_lroverlap_dx1, double& _find_lr | |
| VImage lrmerge( VImage, int, int, int ) throw( VError ); | | overlap_dy1 ) throw( VError ); | |
| VImage lrmerge1( VImage, int, int, int, int, int, int, int, int, int ) thro | | int _find_tboverlap( VImage _find_tboverlap_sec, int _find_tboverlap_bandno | |
| w( VError ); | | , int _find_tboverlap_xr, int _find_tboverlap_yr, int _find_tboverlap_xs, i | |
| VImage lrmosaic( VImage, int, int, int, int, int, int, int, int, int ) thro | | nt _find_tboverlap_ys, int _find_tboverlap_halfcorrelation, int _find_tbove | |
| w( VError ); | | rlap_halfarea, int& _find_tboverlap_dy0, double& _find_tboverlap_scale1, do | |
| VImage lrmosaic1( VImage, int, int, int, int, int, int, int, int, int, int, | | uble& _find_tboverlap_angle1, double& _find_tboverlap_dx1, double& _find_tb | |
| int, int, int ) throw( VError ); | | overlap_dy1 ) throw( VError ); | |
| VImage match_linear( VImage, int, int, int, int, int, int, int, int ) throw | | VImage global_balance( double global_balance_gamma ) throw( VError ); | |
| ( VError ); | | VImage global_balancef( double global_balancef_gamma ) throw( VError ); | |
| VImage match_linear_search( VImage, int, int, int, int, int, int, int, int, | | VImage lrmerge( VImage lrmerge_sec, int lrmerge_dx, int lrmerge_dy, int lrm | |
| int, int ) throw( VError ); | | erge_mwidth ) throw( VError ); | |
| double maxpos_subpel( double& ) throw( VError ); | | VImage lrmerge1( VImage lrmerge1_sec, int lrmerge1_xr1, int lrmerge1_yr1, i | |
| VImage remosaic( char*, char* ) throw( VError ); | | nt lrmerge1_xs1, int lrmerge1_ys1, int lrmerge1_xr2, int lrmerge1_yr2, int | |
| VImage tbmerge( VImage, int, int, int ) throw( VError ); | | lrmerge1_xs2, int lrmerge1_ys2, int lrmerge1_mwidth ) throw( VError ); | |
| VImage tbmerge1( VImage, int, int, int, int, int, int, int, int, int ) thro | | VImage lrmosaic( VImage lrmosaic_sec, int lrmosaic_bandno, int lrmosaic_xr, | |
| w( VError ); | | int lrmosaic_yr, int lrmosaic_xs, int lrmosaic_ys, int lrmosaic_halfcorrel | |
| VImage tbmosaic( VImage, int, int, int, int, int, int, int, int, int ) thro | | ation, int lrmosaic_halfarea, int lrmosaic_balancetype, int lrmosaic_mwidth | |
| w( VError ); | | ) throw( VError ); | |
| VImage tbmosaic1( VImage, int, int, int, int, int, int, int, int, int, int, | | VImage lrmosaic1( VImage lrmosaic1_sec, int lrmosaic1_bandno, int lrmosaic1 | |
| int, int, int ) throw( VError ); | | _xr1, int lrmosaic1_yr1, int lrmosaic1_xs1, int lrmosaic1_ys1, int lrmosaic | |
| | | 1_xr2, int lrmosaic1_yr2, int lrmosaic1_xs2, int lrmosaic1_ys2, int lrmosai | |
| | | c1_halfcorrelation, int lrmosaic1_halfarea, int lrmosaic1_balancetype, int | |
| | | lrmosaic1_mwidth ) throw( VError ); | |
| | | VImage match_linear( VImage match_linear_sec, int match_linear_xref1, int m | |
| | | atch_linear_yref1, int match_linear_xsec1, int match_linear_ysec1, int matc | |
| | | h_linear_xref2, int match_linear_yref2, int match_linear_xsec2, int match_l | |
| | | inear_ysec2 ) throw( VError ); | |
| | | VImage match_linear_search( VImage match_linear_search_sec, int match_linea | |
| | | r_search_xref1, int match_linear_search_yref1, int match_linear_search_xsec | |
| | | 1, int match_linear_search_ysec1, int match_linear_search_xref2, int match_ | |
| | | linear_search_yref2, int match_linear_search_xsec2, int match_linear_search | |
| | | _ysec2, int match_linear_search_hwindowsize, int match_linear_search_hsearc | |
| | | hsize ) throw( VError ); | |
| | | double maxpos_subpel( double& maxpos_subpel_y ) throw( VError ); | |
| | | VImage remosaic( char* remosaic_old_str, char* remosaic_new_str ) throw( VE | |
| | | rror ); | |
| | | VImage tbmerge( VImage tbmerge_sec, int tbmerge_dx, int tbmerge_dy, int tbm | |
| | | erge_mwidth ) throw( VError ); | |
| | | VImage tbmerge1( VImage tbmerge1_sec, int tbmerge1_xr1, int tbmerge1_yr1, i | |
| | | nt tbmerge1_xs1, int tbmerge1_ys1, int tbmerge1_xr2, int tbmerge1_yr2, int | |
| | | tbmerge1_xs2, int tbmerge1_ys2, int tbmerge1_mwidth ) throw( VError ); | |
| | | VImage tbmosaic( VImage tbmosaic_sec, int tbmosaic_bandno, int tbmosaic_xr, | |
| | | int tbmosaic_yr, int tbmosaic_xs, int tbmosaic_ys, int tbmosaic_halfcorrel | |
| | | ation, int tbmosaic_halfarea, int tbmosaic_balancetype, int tbmosaic_mwidth | |
| | | ) throw( VError ); | |
| | | VImage tbmosaic1( VImage tbmosaic1_sec, int tbmosaic1_bandno, int tbmosaic1 | |
| | | _xr1, int tbmosaic1_yr1, int tbmosaic1_xs1, int tbmosaic1_ys1, int tbmosaic | |
| | | 1_xr2, int tbmosaic1_yr2, int tbmosaic1_xs2, int tbmosaic1_ys2, int tbmosai | |
| | | c1_halfcorrelation, int tbmosaic1_halfarea, int tbmosaic1_balancetype, int | |
| | | tbmosaic1_mwidth ) throw( VError ); | |
| | | | |
| // headers for package other | | // headers for package other | |
| // this file automatically generated from | | // this file automatically generated from | |
|
| // VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 | | // VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 | |
| VImage benchmark() throw( VError ); | | VImage benchmark() throw( VError ); | |
| double benchmark2() throw( VError ); | | double benchmark2() throw( VError ); | |
|
| VImage benchmarkn( int ) throw( VError ); | | VImage benchmarkn( int benchmarkn_n ) throw( VError ); | |
| static VImage eye( int, int, double ) throw( VError ); | | static VImage eye( int eye_xsize, int eye_ysize, double eye_factor ) throw( | |
| static VImage grey( int, int ) throw( VError ); | | VError ); | |
| static VImage feye( int, int, double ) throw( VError ); | | static VImage grey( int grey_xsize, int grey_ysize ) throw( VError ); | |
| static VImage fgrey( int, int ) throw( VError ); | | static VImage feye( int feye_xsize, int feye_ysize, double feye_factor ) th | |
| static VImage fzone( int ) throw( VError ); | | row( VError ); | |
| static VImage make_xy( int, int ) throw( VError ); | | static VImage fgrey( int fgrey_xsize, int fgrey_ysize ) throw( VError ); | |
| static VImage zone( int ) throw( VError ); | | static VImage fzone( int fzone_size ) throw( VError ); | |
| | | static VImage make_xy( int make_xy_xsize, int make_xy_ysize ) throw( VError | |
| // headers for package relational | | ); | |
| // this file automatically generated from | | static VImage sines( int sines_xsize, int sines_ysize, double sines_horfreq | |
| // VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 | | , double sines_verfreq ) throw( VError ); | |
| VImage blend( VImage, VImage ) throw( VError ); | | static VImage zone( int zone_size ) throw( VError ); | |
| VImage equal( VImage ) throw( VError ); | | | |
| VImage equal( std::vector<double> ) throw( VError ); | | | |
| VImage equal( double ) throw( VError ); | | | |
| VImage ifthenelse( VImage, VImage ) throw( VError ); | | | |
| VImage less( VImage ) throw( VError ); | | | |
| VImage less( std::vector<double> ) throw( VError ); | | | |
| VImage less( double ) throw( VError ); | | | |
| VImage lesseq( VImage ) throw( VError ); | | | |
| VImage lesseq( std::vector<double> ) throw( VError ); | | | |
| VImage lesseq( double ) throw( VError ); | | | |
| VImage more( VImage ) throw( VError ); | | | |
| VImage more( std::vector<double> ) throw( VError ); | | | |
| VImage more( double ) throw( VError ); | | | |
| VImage moreeq( VImage ) throw( VError ); | | | |
| VImage moreeq( std::vector<double> ) throw( VError ); | | | |
| VImage moreeq( double ) throw( VError ); | | | |
| VImage notequal( VImage ) throw( VError ); | | | |
| VImage notequal( std::vector<double> ) throw( VError ); | | | |
| VImage notequal( double ) throw( VError ); | | | |
| | | | |
| // headers for package resample | | // headers for package resample | |
| // this file automatically generated from | | // this file automatically generated from | |
|
| // VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 | | // VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 | |
| VImage rightshift_size( int, int, int ) throw( VError ); | | VImage rightshift_size( int rightshift_size_xshift, int rightshift_size_ysh | |
| VImage shrink( double, double ) throw( VError ); | | ift, int rightshift_size_band_fmt ) throw( VError ); | |
| VImage stretch3( double, double ) throw( VError ); | | VImage shrink( double shrink_xfac, double shrink_yfac ) throw( VError ); | |
| | | VImage stretch3( double stretch3_xdisp, double stretch3_ydisp ) throw( VErr | |
| | | or ); | |
| | | | |
| // headers for package video | | // headers for package video | |
| // this file automatically generated from | | // this file automatically generated from | |
|
| // VIPS library 7.23.0-Thu Nov 18 12:39:29 GMT 2010 | | // VIPS library 7.28.0-Tue Jan 31 10:51:45 GMT 2012 | |
| static VImage video_test( int, int ) throw( VError ); | | static VImage video_test( int video_test_brightness, int video_test_error ) | |
| static VImage video_v4l1( char*, int, int, int, int, int, int ) throw( VErr | | throw( VError ); | |
| or ); | | static VImage video_v4l1( char* video_v4l1_device, int video_v4l1_channel, | |
| | | int video_v4l1_brightness, int video_v4l1_colour, int video_v4l1_contrast, | |
| | | int video_v4l1_hue, int video_v4l1_ngrabs ) throw( VError ); | |
| | | | |
End of changes. 52 change blocks. |
| 296 lines changed or deleted | | 416 lines changed or added | |
|