VImage.h | VImage.h | |||
---|---|---|---|---|
skipping to change at line 259 | skipping to change at line 259 | |||
int Length(); | int Length(); | |||
TCompression Compression(); | TCompression Compression(); | |||
short Level(); | short Level(); | |||
int Xoffset(); | int Xoffset(); | |||
int Yoffset(); | int Yoffset(); | |||
// Derived fields | // Derived fields | |||
const char *filename(); | const char *filename(); | |||
const char *Hist(); | const char *Hist(); | |||
// need the hough circle stuff for the rode python GUI | ||||
VImage hough_circle( int scale, int min_radius, int max_radius ) thr | ||||
ow( VError ); | ||||
// metadata | // metadata | |||
#ifndef SWIG | #ifndef SWIG | |||
// base functionality | // base functionality | |||
// we don't wrap GValue, so we can't wrap these for now | // we don't wrap GValue, so we can't wrap these for now | |||
void meta_set( const char *field, GValue *value ) throw( VError ); | void meta_set( const char *field, GValue *value ) throw( VError ); | |||
void meta_get( const char *field, GValue *value_copy ) throw( VError ); | void meta_get( const char *field, GValue *value_copy ) throw( VError ); | |||
#endif /*SWIG*/ | #endif /*SWIG*/ | |||
// We can wrap these, fwiw | // We can wrap these, fwiw | |||
gboolean meta_remove( const char *field ); | gboolean meta_remove( const char *field ); | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 4 lines changed or added | |||
arithmetic.h | arithmetic.h | |||
---|---|---|---|---|
skipping to change at line 177 | skipping to change at line 177 | |||
* See also: vips_complexget(). | * See also: vips_complexget(). | |||
*/ | */ | |||
typedef enum { | typedef enum { | |||
VIPS_OPERATION_COMPLEXGET_REAL, | VIPS_OPERATION_COMPLEXGET_REAL, | |||
VIPS_OPERATION_COMPLEXGET_IMAG, | VIPS_OPERATION_COMPLEXGET_IMAG, | |||
VIPS_OPERATION_COMPLEXGET_LAST | VIPS_OPERATION_COMPLEXGET_LAST | |||
} VipsOperationComplexget; | } VipsOperationComplexget; | |||
int vips_add( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | int vips_add( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_sum( VipsImage **in, VipsImage **out, int n, ... ) | ||||
__attribute__((sentinel)); | ||||
int vips_subtract( VipsImage *in1, VipsImage *in2, VipsImage **out, ... ) | int vips_subtract( VipsImage *in1, VipsImage *in2, VipsImage **out, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_multiply( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | int vips_multiply( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_divide( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | int vips_divide( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_linear( VipsImage *in, VipsImage **out, | int vips_linear( VipsImage *in, VipsImage **out, | |||
double *a, double *b, int n, ... ) | double *a, double *b, int n, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_linear1( VipsImage *in, VipsImage **out, double a, double b, ... ) | int vips_linear1( VipsImage *in, VipsImage **out, double a, double b, ... ) | |||
skipping to change at line 380 | skipping to change at line 382 | |||
int vips_deviate( VipsImage *in, double *out, ... ) | int vips_deviate( VipsImage *in, double *out, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_min( VipsImage *in, double *out, ... ) | int vips_min( VipsImage *in, double *out, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_max( VipsImage *in, double *out, ... ) | int vips_max( VipsImage *in, double *out, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_stats( VipsImage *in, VipsImage **out, ... ) | int vips_stats( VipsImage *in, VipsImage **out, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_measure( VipsImage *in, VipsImage **out, int h, int v, ... ) | int vips_measure( VipsImage *in, VipsImage **out, int h, int v, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_getpoint( VipsImage *in, double **vector, int *n, int x, int y, .. | ||||
. ) | ||||
__attribute__((sentinel)); | ||||
int vips_hist_find( VipsImage *in, VipsImage **out, ... ) | int vips_hist_find( VipsImage *in, VipsImage **out, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_hist_find_ndim( VipsImage *in, VipsImage **out, ... ) | int vips_hist_find_ndim( VipsImage *in, VipsImage **out, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_hist_find_indexed( VipsImage *in, VipsImage *index, | int vips_hist_find_indexed( VipsImage *in, VipsImage *index, | |||
VipsImage **out, ... ) | VipsImage **out, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_hough_line( VipsImage *in, VipsImage **out, ... ) | ||||
__attribute__((sentinel)); | ||||
int vips_hough_circle( VipsImage *in, VipsImage **out, ... ) | ||||
__attribute__((sentinel)); | ||||
int vips_project( VipsImage *in, VipsImage **columns, VipsImage **rows, ... ) | int vips_project( VipsImage *in, VipsImage **columns, VipsImage **rows, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_profile( VipsImage *in, VipsImage **columns, VipsImage **rows, ... ) | int vips_profile( VipsImage *in, VipsImage **columns, VipsImage **rows, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif /*__cplusplus*/ | #endif /*__cplusplus*/ | |||
#endif /*IM_ARITHMETIC_H*/ | #endif /*IM_ARITHMETIC_H*/ | |||
End of changes. 3 change blocks. | ||||
0 lines changed or deleted | 9 lines changed or added | |||
enumtypes.h | enumtypes.h | |||
---|---|---|---|---|
skipping to change at line 24 | skipping to change at line 24 | |||
GType vips_foreign_tiff_compression_get_type (void) G_GNUC_CONST; | GType vips_foreign_tiff_compression_get_type (void) G_GNUC_CONST; | |||
#define VIPS_TYPE_FOREIGN_TIFF_COMPRESSION (vips_foreign_tiff_compression_g et_type()) | #define VIPS_TYPE_FOREIGN_TIFF_COMPRESSION (vips_foreign_tiff_compression_g et_type()) | |||
GType vips_foreign_tiff_predictor_get_type (void) G_GNUC_CONST; | GType vips_foreign_tiff_predictor_get_type (void) G_GNUC_CONST; | |||
#define VIPS_TYPE_FOREIGN_TIFF_PREDICTOR (vips_foreign_tiff_predictor_get_t ype()) | #define VIPS_TYPE_FOREIGN_TIFF_PREDICTOR (vips_foreign_tiff_predictor_get_t ype()) | |||
GType vips_foreign_tiff_resunit_get_type (void) G_GNUC_CONST; | GType vips_foreign_tiff_resunit_get_type (void) G_GNUC_CONST; | |||
#define VIPS_TYPE_FOREIGN_TIFF_RESUNIT (vips_foreign_tiff_resunit_get_type( )) | #define VIPS_TYPE_FOREIGN_TIFF_RESUNIT (vips_foreign_tiff_resunit_get_type( )) | |||
GType vips_foreign_dz_layout_get_type (void) G_GNUC_CONST; | GType vips_foreign_dz_layout_get_type (void) G_GNUC_CONST; | |||
#define VIPS_TYPE_FOREIGN_DZ_LAYOUT (vips_foreign_dz_layout_get_type()) | #define VIPS_TYPE_FOREIGN_DZ_LAYOUT (vips_foreign_dz_layout_get_type()) | |||
GType vips_foreign_dz_depth_get_type (void) G_GNUC_CONST; | GType vips_foreign_dz_depth_get_type (void) G_GNUC_CONST; | |||
#define VIPS_TYPE_FOREIGN_DZ_DEPTH (vips_foreign_dz_depth_get_type()) | #define VIPS_TYPE_FOREIGN_DZ_DEPTH (vips_foreign_dz_depth_get_type()) | |||
GType vips_foreign_dz_container_get_type (void) G_GNUC_CONST; | ||||
#define VIPS_TYPE_FOREIGN_DZ_CONTAINER (vips_foreign_dz_container_get_type( | ||||
)) | ||||
/* enumerations from "../../../libvips/include/vips/arithmetic.h" */ | /* enumerations from "../../../libvips/include/vips/arithmetic.h" */ | |||
GType vips_operation_math_get_type (void) G_GNUC_CONST; | GType vips_operation_math_get_type (void) G_GNUC_CONST; | |||
#define VIPS_TYPE_OPERATION_MATH (vips_operation_math_get_type()) | #define VIPS_TYPE_OPERATION_MATH (vips_operation_math_get_type()) | |||
GType vips_operation_math2_get_type (void) G_GNUC_CONST; | GType vips_operation_math2_get_type (void) G_GNUC_CONST; | |||
#define VIPS_TYPE_OPERATION_MATH2 (vips_operation_math2_get_type()) | #define VIPS_TYPE_OPERATION_MATH2 (vips_operation_math2_get_type()) | |||
GType vips_operation_round_get_type (void) G_GNUC_CONST; | GType vips_operation_round_get_type (void) G_GNUC_CONST; | |||
#define VIPS_TYPE_OPERATION_ROUND (vips_operation_round_get_type()) | #define VIPS_TYPE_OPERATION_ROUND (vips_operation_round_get_type()) | |||
GType vips_operation_relational_get_type (void) G_GNUC_CONST; | GType vips_operation_relational_get_type (void) G_GNUC_CONST; | |||
#define VIPS_TYPE_OPERATION_RELATIONAL (vips_operation_relational_get_type( )) | #define VIPS_TYPE_OPERATION_RELATIONAL (vips_operation_relational_get_type( )) | |||
GType vips_operation_boolean_get_type (void) G_GNUC_CONST; | GType vips_operation_boolean_get_type (void) G_GNUC_CONST; | |||
skipping to change at line 84 | skipping to change at line 86 | |||
GType vips_operation_flags_get_type (void) G_GNUC_CONST; | GType vips_operation_flags_get_type (void) G_GNUC_CONST; | |||
#define VIPS_TYPE_OPERATION_FLAGS (vips_operation_flags_get_type()) | #define VIPS_TYPE_OPERATION_FLAGS (vips_operation_flags_get_type()) | |||
/* enumerations from "../../../libvips/include/vips/convolution.h" */ | /* enumerations from "../../../libvips/include/vips/convolution.h" */ | |||
GType vips_precision_get_type (void) G_GNUC_CONST; | GType vips_precision_get_type (void) G_GNUC_CONST; | |||
#define VIPS_TYPE_PRECISION (vips_precision_get_type()) | #define VIPS_TYPE_PRECISION (vips_precision_get_type()) | |||
GType vips_combine_get_type (void) G_GNUC_CONST; | GType vips_combine_get_type (void) G_GNUC_CONST; | |||
#define VIPS_TYPE_COMBINE (vips_combine_get_type()) | #define VIPS_TYPE_COMBINE (vips_combine_get_type()) | |||
/* enumerations from "../../../libvips/include/vips/morphology.h" */ | /* enumerations from "../../../libvips/include/vips/morphology.h" */ | |||
GType vips_operation_morphology_get_type (void) G_GNUC_CONST; | GType vips_operation_morphology_get_type (void) G_GNUC_CONST; | |||
#define VIPS_TYPE_OPERATION_MORPHOLOGY (vips_operation_morphology_get_type( )) | #define VIPS_TYPE_OPERATION_MORPHOLOGY (vips_operation_morphology_get_type( )) | |||
/* enumerations from "../../../libvips/include/vips/draw.h" */ | ||||
GType vips_combine_mode_get_type (void) G_GNUC_CONST; | ||||
#define VIPS_TYPE_COMBINE_MODE (vips_combine_mode_get_type()) | ||||
/* enumerations from "../../../libvips/include/vips/object.h" */ | /* enumerations from "../../../libvips/include/vips/object.h" */ | |||
GType vips_argument_flags_get_type (void) G_GNUC_CONST; | GType vips_argument_flags_get_type (void) G_GNUC_CONST; | |||
#define VIPS_TYPE_ARGUMENT_FLAGS (vips_argument_flags_get_type()) | #define VIPS_TYPE_ARGUMENT_FLAGS (vips_argument_flags_get_type()) | |||
G_END_DECLS | G_END_DECLS | |||
#endif /*VIPS_ENUM_TYPES_H*/ | #endif /*VIPS_ENUM_TYPES_H*/ | |||
/* Generated data ends here */ | /* Generated data ends here */ | |||
End of changes. 2 change blocks. | ||||
0 lines changed or deleted | 6 lines changed or added | |||
error.h | error.h | |||
---|---|---|---|---|
skipping to change at line 52 | skipping to change at line 52 | |||
void vips_error_thaw( void ); | void vips_error_thaw( void ); | |||
void vips_error( const char *domain, const char *fmt, ... ) | void vips_error( const char *domain, const char *fmt, ... ) | |||
__attribute__((format(printf, 2, 3))); | __attribute__((format(printf, 2, 3))); | |||
void vips_verror( const char *domain, const char *fmt, va_list ap ); | void vips_verror( const char *domain, const char *fmt, va_list ap ); | |||
void vips_error_system( int err, const char *domain, const char *fmt, ... ) | void vips_error_system( int err, const char *domain, const char *fmt, ... ) | |||
__attribute__((format(printf, 3, 4))); | __attribute__((format(printf, 3, 4))); | |||
void vips_verror_system( int err, const char *domain, | void vips_verror_system( int err, const char *domain, | |||
const char *fmt, va_list ap ); | const char *fmt, va_list ap ); | |||
void vips_error_g( GError **error ); | void vips_error_g( GError **error ); | |||
void vips_g_error( GError **error ); | ||||
void vips_warn( const char *domain, const char *fmt, ... ) | void vips_warn( const char *domain, const char *fmt, ... ) | |||
__attribute__((format(printf, 2, 3))); | __attribute__((format(printf, 2, 3))); | |||
void vips_vwarn( const char *domain, const char *fmt, va_list ap ); | void vips_vwarn( const char *domain, const char *fmt, va_list ap ); | |||
void vips_info( const char *domain, const char *fmt, ... ) | void vips_info( const char *domain, const char *fmt, ... ) | |||
__attribute__((format(printf, 2, 3))); | __attribute__((format(printf, 2, 3))); | |||
void vips_vinfo( const char *domain, const char *fmt, va_list ap ); | void vips_vinfo( const char *domain, const char *fmt, va_list ap ); | |||
void vips_error_exit( const char *fmt, ... ) | void vips_error_exit( const char *fmt, ... ) | |||
__attribute__((noreturn, format(printf, 1, 2))); | __attribute__((noreturn, format(printf, 1, 2))); | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
foreign.h | foreign.h | |||
---|---|---|---|---|
skipping to change at line 164 | skipping to change at line 164 | |||
/*< public >*/ | /*< public >*/ | |||
/* Is a file in this format. | /* Is a file in this format. | |||
* | * | |||
* This function should return %TRUE if the file contains an image o f | * This function should return %TRUE if the file contains an image o f | |||
* this type. If you don't define this function, #VipsForeignLoad | * this type. If you don't define this function, #VipsForeignLoad | |||
* will use @suffs instead. | * will use @suffs instead. | |||
*/ | */ | |||
gboolean (*is_a)( const char * ); | gboolean (*is_a)( const char * ); | |||
/* Is a buffer in this format. | ||||
* | ||||
* This function should return %TRUE if the buffer contains an image | ||||
of | ||||
* this type. | ||||
*/ | ||||
gboolean (*is_a_buffer)( void *, size_t ); | ||||
/* Get the flags from a filename. | /* Get the flags from a filename. | |||
* | * | |||
* This function should examine the file and return a set | * This function should examine the file and return a set | |||
* of flags. If you don't define it, vips will default to 0 (no flag s | * of flags. If you don't define it, vips will default to 0 (no flag s | |||
* set). | * set). | |||
* | * | |||
* This operation is necessary for vips7 compatibility. | * This operation is necessary for vips7 compatibility. | |||
*/ | */ | |||
VipsForeignFlags (*get_flags_filename)( const char * ); | VipsForeignFlags (*get_flags_filename)( const char * ); | |||
skipping to change at line 210 | skipping to change at line 217 | |||
* | * | |||
* Return 0 for success, -1 for error, setting | * Return 0 for success, -1 for error, setting | |||
* vips_error(). | * vips_error(). | |||
*/ | */ | |||
int (*load)( VipsForeignLoad * ); | int (*load)( VipsForeignLoad * ); | |||
} VipsForeignLoadClass; | } VipsForeignLoadClass; | |||
GType vips_foreign_load_get_type( void ); | GType vips_foreign_load_get_type( void ); | |||
const char *vips_foreign_find_load( const char *filename ); | const char *vips_foreign_find_load( const char *filename ); | |||
const char *vips_foreign_find_load_options( const char *filename ); | const char *vips_foreign_find_load_buffer( void *buf, size_t len ); | |||
VipsForeignFlags vips_foreign_flags( const char *loader, const char *filena me ); | VipsForeignFlags vips_foreign_flags( const char *loader, const char *filena me ); | |||
gboolean vips_foreign_is_a( const char *loader, const char *filename ); | gboolean vips_foreign_is_a( const char *loader, const char *filename ); | |||
#define VIPS_TYPE_FOREIGN_SAVE (vips_foreign_save_get_type()) | #define VIPS_TYPE_FOREIGN_SAVE (vips_foreign_save_get_type()) | |||
#define VIPS_FOREIGN_SAVE( obj ) \ | #define VIPS_FOREIGN_SAVE( obj ) \ | |||
(G_TYPE_CHECK_INSTANCE_CAST( (obj), \ | (G_TYPE_CHECK_INSTANCE_CAST( (obj), \ | |||
VIPS_TYPE_FOREIGN_SAVE, VipsForeignSave )) | VIPS_TYPE_FOREIGN_SAVE, VipsForeignSave )) | |||
#define VIPS_FOREIGN_SAVE_CLASS( klass ) \ | #define VIPS_FOREIGN_SAVE_CLASS( klass ) \ | |||
(G_TYPE_CHECK_CLASS_CAST( (klass), \ | (G_TYPE_CHECK_CLASS_CAST( (klass), \ | |||
skipping to change at line 303 | skipping to change at line 310 | |||
* only save NONE, so has NONE TRUE and RAD and LABQ FALSE. | * only save NONE, so has NONE TRUE and RAD and LABQ FALSE. | |||
* | * | |||
* Default NONE TRUE, RAD and LABQ FALSE. | * Default NONE TRUE, RAD and LABQ FALSE. | |||
*/ | */ | |||
gboolean coding[VIPS_CODING_LAST]; | gboolean coding[VIPS_CODING_LAST]; | |||
} VipsForeignSaveClass; | } VipsForeignSaveClass; | |||
GType vips_foreign_save_get_type( void ); | GType vips_foreign_save_get_type( void ); | |||
const char *vips_foreign_find_save( const char *filename ); | const char *vips_foreign_find_save( const char *filename ); | |||
const char *vips_foreign_find_save_options( const char *filename ); | const char *vips_foreign_find_save_buffer( const char *suffix ); | |||
/* Read/write an image convenience functions. | ||||
*/ | ||||
int vips_foreign_load( const char *filename, VipsImage **out, ... ) | ||||
__attribute__((sentinel)); | ||||
int vips_foreign_save( VipsImage *in, const char *filename, ... ) | ||||
__attribute__((sentinel)); | ||||
int vips_foreign_load_options( const char *filename, VipsImage **out, ... ) | ||||
__attribute__((sentinel)); | ||||
int vips_foreign_save_options( VipsImage *in, const char *filename, ... ) | ||||
__attribute__((sentinel)); | ||||
int vips_openslideload( const char *filename, VipsImage **out, ... ) | int vips_openslideload( const char *filename, VipsImage **out, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_jpegload( const char *filename, VipsImage **out, ... ) | int vips_jpegload( const char *filename, VipsImage **out, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_jpegload_buffer( void *buf, size_t len, VipsImage **out, ... ) | int vips_jpegload_buffer( void *buf, size_t len, VipsImage **out, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_jpegsave( VipsImage *in, const char *filename, ... ) | int vips_jpegsave( VipsImage *in, const char *filename, ... ) | |||
skipping to change at line 400 | skipping to change at line 395 | |||
* Use inches or centimeters as the resolution unit for a tiff file. | * Use inches or centimeters as the resolution unit for a tiff file. | |||
*/ | */ | |||
typedef enum { | typedef enum { | |||
VIPS_FOREIGN_TIFF_RESUNIT_CM, | VIPS_FOREIGN_TIFF_RESUNIT_CM, | |||
VIPS_FOREIGN_TIFF_RESUNIT_INCH, | VIPS_FOREIGN_TIFF_RESUNIT_INCH, | |||
VIPS_FOREIGN_TIFF_RESUNIT_LAST | VIPS_FOREIGN_TIFF_RESUNIT_LAST | |||
} VipsForeignTiffResunit; | } VipsForeignTiffResunit; | |||
int vips_tiffload( const char *filename, VipsImage **out, ... ) | int vips_tiffload( const char *filename, VipsImage **out, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_tiffload_buffer( void *buf, size_t len, VipsImage **out, ... ) | ||||
__attribute__((sentinel)); | ||||
int vips_tiffsave( VipsImage *in, const char *filename, ... ) | int vips_tiffsave( VipsImage *in, const char *filename, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_openexrload( const char *filename, VipsImage **out, ... ) | int vips_openexrload( const char *filename, VipsImage **out, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_fitsload( const char *filename, VipsImage **out, ... ) | int vips_fitsload( const char *filename, VipsImage **out, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_fitssave( VipsImage *in, const char *filename, ... ) | int vips_fitssave( VipsImage *in, const char *filename, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
skipping to change at line 489 | skipping to change at line 486 | |||
* | * | |||
* How many pyramid layers to create. | * How many pyramid layers to create. | |||
*/ | */ | |||
typedef enum { | typedef enum { | |||
VIPS_FOREIGN_DZ_DEPTH_1PIXEL, | VIPS_FOREIGN_DZ_DEPTH_1PIXEL, | |||
VIPS_FOREIGN_DZ_DEPTH_1TILE, | VIPS_FOREIGN_DZ_DEPTH_1TILE, | |||
VIPS_FOREIGN_DZ_DEPTH_1, | VIPS_FOREIGN_DZ_DEPTH_1, | |||
VIPS_FOREIGN_DZ_DEPTH_LAST | VIPS_FOREIGN_DZ_DEPTH_LAST | |||
} VipsForeignDzDepth; | } VipsForeignDzDepth; | |||
/** | ||||
* VipsForeignDzContainer: | ||||
* @VIPS_FOREIGN_DZ_CONTAINER_FS: write tiles to the filesystem | ||||
* @VIPS_FOREIGN_DZ_CONTAINER_ZIP: write tiles to a zip file | ||||
* | ||||
* How many pyramid layers to create. | ||||
*/ | ||||
typedef enum { | ||||
VIPS_FOREIGN_DZ_CONTAINER_FS, | ||||
VIPS_FOREIGN_DZ_CONTAINER_ZIP, | ||||
VIPS_FOREIGN_DZ_CONTAINER_LAST | ||||
} VipsForeignDzContainer; | ||||
int vips_dzsave( VipsImage *in, const char *basename, ... ) | int vips_dzsave( VipsImage *in, const char *basename, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif /*__cplusplus*/ | #endif /*__cplusplus*/ | |||
#endif /*VIPS_FOREIGN_H*/ | #endif /*VIPS_FOREIGN_H*/ | |||
End of changes. 5 change blocks. | ||||
14 lines changed or deleted | 25 lines changed or added | |||
image.h | image.h | |||
---|---|---|---|---|
skipping to change at line 403 | skipping to change at line 403 | |||
((VIPS_IMAGE( I )->BandFmt == VIPS_FORMAT_DOUBLE && \ | ((VIPS_IMAGE( I )->BandFmt == VIPS_FORMAT_DOUBLE && \ | |||
VIPS_IMAGE( I )->Bands == 1) ? \ | VIPS_IMAGE( I )->Bands == 1) ? \ | |||
((double *) VIPS_IMAGE_ADDR( I, X, Y )) : \ | ((double *) VIPS_IMAGE_ADDR( I, X, Y )) : \ | |||
(fprintf( stderr, "VIPS_MATRIX: not a matrix image\n" ), \ | (fprintf( stderr, "VIPS_MATRIX: not a matrix image\n" ), \ | |||
(double *) NULL)) | (double *) NULL)) | |||
#else /*!VIPS_DEBUG*/ | #else /*!VIPS_DEBUG*/ | |||
#define VIPS_MATRIX( I, X, Y ) \ | #define VIPS_MATRIX( I, X, Y ) \ | |||
((double *) VIPS_IMAGE_ADDR( I, X, Y )) | ((double *) VIPS_IMAGE_ADDR( I, X, Y )) | |||
#endif /*VIPS_DEBUG*/ | #endif /*VIPS_DEBUG*/ | |||
int vips_image_written( VipsImage *image ); | ||||
void vips_image_invalidate_all( VipsImage *image ); | void vips_image_invalidate_all( VipsImage *image ); | |||
void vips_image_minimise_all( VipsImage *image ); | void vips_image_minimise_all( VipsImage *image ); | |||
void vips_image_preeval( VipsImage *image ); | ||||
void vips_image_eval( VipsImage *image, guint64 processed ); | ||||
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_iskilled( VipsImage *image ); | ||||
void vips_image_set_kill( VipsImage *image, gboolean kill ); | ||||
VipsImage *vips_image_new( void ); | VipsImage *vips_image_new( void ); | |||
VipsImage *vips_image_new_mode( const char *filename, const char *mode ); | VipsImage *vips_image_new_memory( void ); | |||
VipsImage *vips_image_new_buffer( void ); | VipsImage *vips_image_new_from_file( const char *name, ... ) | |||
VipsImage *vips_image_new_from_file( const char *filename ); | __attribute__((sentinel)); | |||
VipsImage *vips_image_new_from_file_RW( 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, guint64 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_from_buffer( void *buf, size_t len, | ||||
const char *option_string, ... ) | ||||
__attribute__((sentinel)); | ||||
VipsImage *vips_image_new_matrix( int width, int height ); | VipsImage *vips_image_new_matrix( int width, int height ); | |||
VipsImage *vips_image_new_matrixv( int width, int height, ... ); | VipsImage *vips_image_new_matrixv( int width, int height, ... ); | |||
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_temp_file( const char *format ); | VipsImage *vips_image_new_temp_file( const char *format ); | |||
int vips_image_write( VipsImage *image, VipsImage *out ); | int vips_image_write( VipsImage *image, VipsImage *out ); | |||
int vips_image_write_to_file( VipsImage *image, const char *filename ); | int vips_image_write_to_file( VipsImage *image, const char *filename, ... ) | |||
__attribute__((sentinel)); | ||||
int vips_image_write_to_buffer( VipsImage *in, | ||||
const char *name, void **buf, size_t *len, ... ) | ||||
__attribute__((sentinel)); | ||||
int vips_image_write_to_memory( VipsImage *in, | ||||
void **buf_out, size_t *len_out ); | ||||
int vips_image_decode_predict( VipsImage *im, | ||||
int *bands, VipsBandFormat *format ); | ||||
int vips_image_decode( VipsImage *in, VipsImage **out ); | ||||
int vips_image_encode( VipsImage *in, VipsImage **out, VipsCoding coding ); | ||||
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_wio_input( VipsImage *image ); | int vips_image_wio_input( 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_inplace( VipsImage *image ); | |||
int vips_image_write_prepare( VipsImage *image ); | int vips_image_write_prepare( VipsImage *image ); | |||
int vips_image_write_line( VipsImage *image, int ypos, VipsPel *linebuffer ); | 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_is8bit( VipsBandFormat format ); | gboolean vips_band_format_is8bit( 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 ); | |||
int vips_system( const char *cmd_format, ... ) | int vips_system( const char *cmd_format, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
/* Defined in type.c, but declared here since they use VipsImage. | ||||
*/ | ||||
VipsImage **vips_value_get_array_image( const GValue *value, int *n ); | ||||
int vips_value_set_array_image( GValue *value, VipsImage **array, int n ); | ||||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif /*__cplusplus*/ | #endif /*__cplusplus*/ | |||
#endif /*VIPS_IMAGE_H*/ | #endif /*VIPS_IMAGE_H*/ | |||
End of changes. 9 change blocks. | ||||
12 lines changed or deleted | 26 lines changed or added | |||
morphology.h | morphology.h | |||
---|---|---|---|---|
skipping to change at line 53 | skipping to change at line 53 | |||
VIPS_OPERATION_MORPHOLOGY_DILATE, | VIPS_OPERATION_MORPHOLOGY_DILATE, | |||
VIPS_OPERATION_MORPHOLOGY_LAST | VIPS_OPERATION_MORPHOLOGY_LAST | |||
} VipsOperationMorphology; | } VipsOperationMorphology; | |||
int vips_morph( VipsImage *in, VipsImage **out, VipsImage *mask, | int vips_morph( VipsImage *in, VipsImage **out, VipsImage *mask, | |||
VipsOperationMorphology morph, ... ) | VipsOperationMorphology morph, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_rank( VipsImage *in, VipsImage **out, | int vips_rank( VipsImage *in, VipsImage **out, | |||
int width, int height, int index, ... ) | int width, int height, int index, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_median( VipsImage *in, VipsImage **out, int size, ... ) | ||||
__attribute__((sentinel)); | ||||
int vips_countlines( VipsImage *in, double *nolines, | int vips_countlines( VipsImage *in, double *nolines, | |||
VipsDirection direction, ... ) | VipsDirection direction, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_median( VipsImage *in, VipsImage **out, int size, ... ) | int vips_labelregions( VipsImage *in, VipsImage **out, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int im_label_regions( VipsImage *test, VipsImage *mask, int *segments ); | ||||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif /*__cplusplus*/ | #endif /*__cplusplus*/ | |||
#endif /*VIPS_MORPHOLOGY_H*/ | #endif /*VIPS_MORPHOLOGY_H*/ | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||
mosaicing.h | mosaicing.h | |||
---|---|---|---|---|
skipping to change at line 41 | skipping to change at line 41 | |||
*/ | */ | |||
#ifndef IM_MOSAICING_H | #ifndef IM_MOSAICING_H | |||
#define IM_MOSAICING_H | #define IM_MOSAICING_H | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif /*__cplusplus*/ | #endif /*__cplusplus*/ | |||
#include <vips/vips.h> | int vips_merge( VipsImage *ref, VipsImage *sec, VipsImage **out, | |||
VipsDirection direction, int dx, int dy, ... ) | ||||
int im_match_linear( VipsImage *ref, VipsImage *sec, VipsImage *out, | __attribute__((sentinel)); | |||
int xr1, int yr1, int xs1, int ys1, | int vips_mosaic( VipsImage *ref, VipsImage *sec, VipsImage **out, | |||
int xr2, int yr2, int xs2, int ys2 ); | VipsDirection direction, int xref, int yref, int xsec, int ysec, ... | |||
int im_match_linear_search( VipsImage *ref, VipsImage *sec, VipsImage *out, | ) | |||
int xr1, int yr1, int xs1, int ys1, | __attribute__((sentinel)); | |||
int xr2, int yr2, int xs2, int ys2, | ||||
int hwindowsize, int hsearchsize ); | int vips_mosaic1( VipsImage *ref, VipsImage *sec, VipsImage **out, | |||
VipsDirection direction, | ||||
int im_lrmerge( VipsImage *ref, VipsImage *sec, VipsImage *out, | int xr1, int yr1, int xs1, int ys1, | |||
int dx, int dy, int mwidth ); | int xr2, int yr2, int xs2, int ys2, ... ) | |||
int im_tbmerge( VipsImage *ref, VipsImage *sec, VipsImage *out, | __attribute__((sentinel)); | |||
int dx, int dy, int mwidth ); | ||||
int vips_match( VipsImage *ref, VipsImage *sec, VipsImage **out, | ||||
int xr1, int yr1, int xs1, int ys1, | ||||
int xr2, int yr2, int xs2, int ys2, ... ) | ||||
__attribute__((sentinel)); | ||||
int vips_globalbalance( VipsImage *in, VipsImage **out, ... ) | ||||
__attribute__((sentinel)); | ||||
int vips_remosaic( VipsImage *in, VipsImage **out, | ||||
const char *old_str, const char *new_str, ... ) | ||||
__attribute__((sentinel)); | ||||
int im_lrmerge1( VipsImage *ref, VipsImage *sec, VipsImage *out, | #include <vips/vips.h> | |||
int xr1, int yr1, int xs1, int ys1, | ||||
int xr2, int yr2, int xs2, int ys2, | ||||
int mwidth ); | ||||
int im_tbmerge1( VipsImage *ref, VipsImage *sec, VipsImage *out, | ||||
int xr1, int yr1, int xs1, int ys1, | ||||
int xr2, int yr2, int xs2, int ys2, | ||||
int mwidth ); | ||||
int im_lrmosaic( VipsImage *ref, VipsImage *sec, VipsImage *out, | ||||
int bandno, | ||||
int xref, int yref, int xsec, int ysec, | ||||
int hwindowsize, int hsearchsize, | ||||
int balancetype, | ||||
int mwidth ); | ||||
int im_tbmosaic( VipsImage *ref, VipsImage *sec, VipsImage *out, | ||||
int bandno, | ||||
int xref, int yref, int xsec, int ysec, | ||||
int hwindowsize, int hsearchsize, | ||||
int balancetype, | ||||
int mwidth ); | ||||
int im_lrmosaic1( VipsImage *ref, VipsImage *sec, VipsImage *out, | ||||
int bandno, | ||||
int xr1, int yr1, int xs1, int ys1, | ||||
int xr2, int yr2, int xs2, int ys2, | ||||
int hwindowsize, int hsearchsize, | ||||
int balancetype, | ||||
int mwidth ); | ||||
int im_tbmosaic1( VipsImage *ref, VipsImage *sec, VipsImage *out, | ||||
int bandno, | ||||
int xr1, int yr1, int xs1, int ys1, | ||||
int xr2, int yr2, int xs2, int ys2, | ||||
int hwindowsize, int hsearchsize, | ||||
int balancetype, | ||||
int mwidth ); | ||||
int im_global_balance( VipsImage *in, VipsImage *out, double gamma ); | ||||
int im_global_balancef( VipsImage *in, VipsImage *out, double gamma ); | ||||
int im_correl( VipsImage *ref, VipsImage *sec, | int im_correl( VipsImage *ref, VipsImage *sec, | |||
int xref, int yref, int xsec, int ysec, | int xref, int yref, int xsec, int ysec, | |||
int hwindowsize, int hsearchsize, | int hwindowsize, int hsearchsize, | |||
double *correlation, int *x, int *y ); | double *correlation, int *x, int *y ); | |||
int im_remosaic( VipsImage *in, VipsImage *out, | ||||
const char *old_str, const char *new_str ); | ||||
int im_align_bands( VipsImage *in, VipsImage *out ); | int im_align_bands( VipsImage *in, VipsImage *out ); | |||
int im_maxpos_subpel( VipsImage *in, double *x, double *y ); | int im_maxpos_subpel( VipsImage *in, double *x, double *y ); | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif /*__cplusplus*/ | #endif /*__cplusplus*/ | |||
#endif /*IM_MOSAICING_H*/ | #endif /*IM_MOSAICING_H*/ | |||
End of changes. 3 change blocks. | ||||
55 lines changed or deleted | 25 lines changed or added | |||
object.h | object.h | |||
---|---|---|---|---|
skipping to change at line 58 | skipping to change at line 58 | |||
#else /*!VIPS_DEBUG*/ | #else /*!VIPS_DEBUG*/ | |||
#define VIPS_UNREF( X ) VIPS_FREEF( g_object_unref, (X) ) | #define VIPS_UNREF( X ) VIPS_FREEF( g_object_unref, (X) ) | |||
#endif /*VIPS_DEBUG*/ | #endif /*VIPS_DEBUG*/ | |||
typedef struct _VipsObject VipsObject; | typedef struct _VipsObject VipsObject; | |||
typedef struct _VipsObjectClass VipsObjectClass; | typedef struct _VipsObjectClass VipsObjectClass; | |||
/* Track extra stuff for arguments to objects | /* Track extra stuff for arguments to objects | |||
*/ | */ | |||
/** | ||||
* VipsArgumentFlags: | ||||
* @VIPS_ARGUMENT_NONE: no flags | ||||
* @VIPS_ARGUMENT_REQUIRED: must 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_ALWAYS: don't do use-before-set checks | ||||
* @VIPS_ARGUMENT_INPUT: is an input argument (one we depend on) | ||||
* @VIPS_ARGUMENT_OUTPUT: is an output argument (depends on us) | ||||
* @VIPS_ARGUMENT_DEPRECATED: just there for back-compat, hide | ||||
* | ||||
* Flags we associate with each object argument. | ||||
* | ||||
* Have separate input & output flags. Both set is an error; neither set is | ||||
OK. | ||||
* | ||||
* Input gobjects are automatically reffed, output gobjects automatically r | ||||
ef | ||||
* 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. | ||||
* | ||||
* @VIPS_ARGUMENT_DEPRECATED arguments are not shown in help text, are not | ||||
* looked for if required, are not checked for "have-been-set". You can | ||||
* deprecate a required argument, but you must obviously add a new required | ||||
* argument if you do. | ||||
*/ | ||||
typedef enum /*< flags >*/ { | 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_SET_ALWAYS = 8, | VIPS_ARGUMENT_SET_ALWAYS = 8, | |||
VIPS_ARGUMENT_INPUT = 16, | VIPS_ARGUMENT_INPUT = 16, | |||
VIPS_ARGUMENT_OUTPUT = 32, | VIPS_ARGUMENT_OUTPUT = 32, | |||
VIPS_ARGUMENT_DEPRECATED = 64 | VIPS_ARGUMENT_DEPRECATED = 64 | |||
} VipsArgumentFlags; | } VipsArgumentFlags; | |||
skipping to change at line 314 | skipping to change at line 286 | |||
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; | |||
/* We need to listen for "invalidate" on input images and send our o | ||||
wn | ||||
* "invalidate" out. If we go, we need to disconnect. | ||||
*/ | ||||
gulong invalidate_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 *, | |||
skipping to change at line 335 | skipping to change at line 312 | |||
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 ); | |||
typedef void *(*VipsArgumentClassMapFn)( VipsObjectClass *, GParamSpec *, | typedef void *(*VipsArgumentClassMapFn)( VipsObjectClass *, GParamSpec *, | |||
VipsArgumentClass *, void *a, void *b ); | VipsArgumentClass *, void *a, void *b ); | |||
void *vips_argument_class_map( VipsObjectClass *object_class, | void *vips_argument_class_map( VipsObjectClass *object_class, | |||
VipsArgumentClassMapFn fn, void *a, void *b ); | VipsArgumentClassMapFn fn, void *a, void *b ); | |||
gboolean vips_argument_class_needsstring( VipsArgumentClass *argument_class ); | ||||
int vips_object_get_argument( VipsObject *object, const char *name, | int vips_object_get_argument( VipsObject *object, const char *name, | |||
GParamSpec **pspec, | GParamSpec **pspec, | |||
VipsArgumentClass **argument_class, | VipsArgumentClass **argument_class, | |||
VipsArgumentInstance **argument_instance ); | VipsArgumentInstance **argument_instance ); | |||
gboolean vips_object_argument_isset( VipsObject *object, const char *name ) ; | gboolean vips_object_argument_isset( VipsObject *object, const char *name ) ; | |||
VipsArgumentFlags vips_object_get_argument_flags( VipsObject *object, | VipsArgumentFlags vips_object_get_argument_flags( VipsObject *object, | |||
const char *name ); | const char *name ); | |||
int vips_object_get_argument_priority( 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 | |||
skipping to change at line 464 | skipping to change at line 442 | |||
/* The pre/post/close callbacks are all fire-once. | /* The pre/post/close callbacks are all fire-once. | |||
*/ | */ | |||
gboolean preclose; | gboolean preclose; | |||
gboolean close; | gboolean close; | |||
gboolean postclose; | gboolean postclose; | |||
/* Total memory allocated relative to this object, handy for | /* Total memory allocated relative to this object, handy for | |||
* profiling. | * profiling. | |||
*/ | */ | |||
size_t local_memory; | size_t local_memory; | |||
}; | }; | |||
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 ); | |||
/* Just after build ... the object is fully ready for work. | ||||
*/ | ||||
int (*postbuild)( 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. | * Keep to one line. | |||
*/ | */ | |||
void (*summary_class)( struct _VipsObjectClass *, VipsBuf * ); | void (*summary_class)( struct _VipsObjectClass *, VipsBuf * ); | |||
/* Try to print a one-line summary for the object, the user can see | /* Try to print a one-line summary for the object, the user can see | |||
* this output via things like "header fred.tif", --vips-cache-trace , | * this output via things like "header fred.tif", --vips-cache-trace , | |||
* etc. | * etc. | |||
*/ | */ | |||
void (*summary)( VipsObject *, VipsBuf * ); | void (*summary)( VipsObject *, VipsBuf * ); | |||
skipping to change at line 564 | skipping to change at line 547 | |||
VipsArgumentTable *argument_table; | VipsArgumentTable *argument_table; | |||
/* A sorted (by priority) list of the VipsArgumentClass for this cla ss | /* A sorted (by priority) list of the VipsArgumentClass for this cla ss | |||
* and any superclasses. This is small and specific to this class. | * and any superclasses. This is small and specific to this class. | |||
* | * | |||
* Use the stored GType to work out when to restart the list for a | * Use the stored GType to work out when to restart the list for a | |||
* subclass. | * subclass. | |||
*/ | */ | |||
GSList *argument_table_traverse; | GSList *argument_table_traverse; | |||
GType argument_table_traverse_gtype; | GType argument_table_traverse_gtype; | |||
/* This class is deprecated and therefore hidden from various UI bit | ||||
s. | ||||
* | ||||
* VipsOperation has a deprecated flag, use that in preference to th | ||||
is | ||||
* if you can. | ||||
*/ | ||||
gboolean deprecated; | ||||
/* Reserved for future expansion. | ||||
*/ | ||||
void (*_vips_reserved1)( void ); | ||||
void (*_vips_reserved2)( void ); | ||||
void (*_vips_reserved3)( void ); | ||||
void (*_vips_reserved4)( void ); | ||||
}; | }; | |||
gboolean vips_value_is_null( GParamSpec *psoec, 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 ); | |||
skipping to change at line 605 | skipping to change at line 602 | |||
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 ); | |||
int vips_object_set_valist( VipsObject *object, va_list ap ); | int vips_object_set_valist( VipsObject *object, va_list ap ); | |||
int vips_object_set( VipsObject *object, ... ) | int vips_object_set( VipsObject *object, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_object_set_from_string( VipsObject *object, const char *string ); | ||||
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 *(*VipsTypeMapFn)( GType, void * ); | typedef void *(*VipsTypeMapFn)( GType, void * ); | |||
typedef void *(*VipsTypeMap2Fn)( GType, void *, void * ); | typedef void *(*VipsTypeMap2Fn)( GType, void *, void * ); | |||
typedef void *(*VipsClassMapFn)( VipsObjectClass *, void * ); | typedef void *(*VipsClassMapFn)( VipsObjectClass *, void * ); | |||
End of changes. 7 change blocks. | ||||
31 lines changed or deleted | 29 lines changed or added | |||
operation.h | operation.h | |||
---|---|---|---|---|
skipping to change at line 44 | skipping to change at line 44 | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif /*__cplusplus*/ | #endif /*__cplusplus*/ | |||
#include <vips/vips.h> | #include <vips/vips.h> | |||
typedef enum /*< flags >*/ { | typedef enum /*< flags >*/ { | |||
VIPS_OPERATION_NONE = 0, | VIPS_OPERATION_NONE = 0, | |||
VIPS_OPERATION_SEQUENTIAL = 1, | VIPS_OPERATION_SEQUENTIAL = 1, | |||
VIPS_OPERATION_SEQUENTIAL_UNBUFFERED = 2, | VIPS_OPERATION_SEQUENTIAL_UNBUFFERED = 2, | |||
VIPS_OPERATION_NOCACHE = 4 | VIPS_OPERATION_NOCACHE = 4, | |||
VIPS_OPERATION_DEPRECATED = 8 | ||||
} VipsOperationFlags; | } VipsOperationFlags; | |||
#define VIPS_TYPE_OPERATION (vips_operation_get_type()) | #define VIPS_TYPE_OPERATION (vips_operation_get_type()) | |||
#define VIPS_OPERATION( obj ) \ | #define VIPS_OPERATION( obj ) \ | |||
(G_TYPE_CHECK_INSTANCE_CAST( (obj), \ | (G_TYPE_CHECK_INSTANCE_CAST( (obj), \ | |||
VIPS_TYPE_OPERATION, VipsOperation )) | VIPS_TYPE_OPERATION, VipsOperation )) | |||
#define VIPS_OPERATION_CLASS( klass ) \ | #define VIPS_OPERATION_CLASS( klass ) \ | |||
(G_TYPE_CHECK_CLASS_CAST( (klass), \ | (G_TYPE_CHECK_CLASS_CAST( (klass), \ | |||
VIPS_TYPE_OPERATION, VipsOperationClass )) | VIPS_TYPE_OPERATION, VipsOperationClass )) | |||
#define VIPS_IS_OPERATION( obj ) \ | #define VIPS_IS_OPERATION( obj ) \ | |||
skipping to change at line 67 | skipping to change at line 68 | |||
(G_TYPE_CHECK_CLASS_TYPE( (klass), VIPS_TYPE_OPERATION )) | (G_TYPE_CHECK_CLASS_TYPE( (klass), VIPS_TYPE_OPERATION )) | |||
#define VIPS_OPERATION_GET_CLASS( obj ) \ | #define VIPS_OPERATION_GET_CLASS( obj ) \ | |||
(G_TYPE_INSTANCE_GET_CLASS( (obj), \ | (G_TYPE_INSTANCE_GET_CLASS( (obj), \ | |||
VIPS_TYPE_OPERATION, VipsOperationClass )) | VIPS_TYPE_OPERATION, VipsOperationClass )) | |||
typedef gboolean (*VipsOperationBuildFn)( VipsObject * ); | typedef gboolean (*VipsOperationBuildFn)( VipsObject * ); | |||
typedef struct _VipsOperation { | typedef struct _VipsOperation { | |||
VipsObject parent_instance; | VipsObject parent_instance; | |||
/* When we added this operation to cache .. used to find LRU for | ||||
* flush. | ||||
*/ | ||||
int time; | ||||
/* Keep the hash here. | /* Keep the hash here. | |||
*/ | */ | |||
guint hash; | guint hash; | |||
gboolean found_hash; | gboolean found_hash; | |||
/* Pixels calculated ... handy for measuring over-calculation. | /* Pixels calculated ... handy for measuring over-calculation. | |||
*/ | */ | |||
int pixels; | int pixels; | |||
} VipsOperation; | } VipsOperation; | |||
skipping to change at line 94 | skipping to change at line 90 | |||
VipsObjectClass parent_class; | VipsObjectClass parent_class; | |||
/* Print the usage message. | /* Print the usage message. | |||
*/ | */ | |||
void (*usage)( struct _VipsOperationClass *, VipsBuf * ); | void (*usage)( struct _VipsOperationClass *, VipsBuf * ); | |||
/* Return a set of operation flags. | /* Return a set of operation flags. | |||
*/ | */ | |||
VipsOperationFlags (*get_flags)( VipsOperation * ); | VipsOperationFlags (*get_flags)( VipsOperation * ); | |||
VipsOperationFlags flags; | VipsOperationFlags flags; | |||
/* One of our input images has signalled "invalidate". The cache use | ||||
s | ||||
* VipsOperation::invalidate to drop dirty ops. | ||||
*/ | ||||
void (*invalidate)( VipsOperation * ); | ||||
} VipsOperationClass; | } VipsOperationClass; | |||
GType vips_operation_get_type( void ); | GType vips_operation_get_type( void ); | |||
VipsOperationFlags vips_operation_get_flags( VipsOperation *operation ); | VipsOperationFlags vips_operation_get_flags( VipsOperation *operation ); | |||
void vips_operation_class_print_usage( VipsOperationClass *operation_class ); | void vips_operation_class_print_usage( VipsOperationClass *operation_class ); | |||
void vips_operation_invalidate( VipsOperation *operation ); | ||||
int vips_operation_call_valist( VipsOperation *operation, va_list ap ); | int vips_operation_call_valist( VipsOperation *operation, va_list ap ); | |||
VipsOperation *vips_operation_new( const char *name ); | VipsOperation *vips_operation_new( const char *name ); | |||
int vips_call( const char *operation_name, ... ) | int vips_call( const char *operation_name, ... ) | |||
__attribute__((sentinel)); | __attribute__((sentinel)); | |||
int vips_call_split( const char *operation_name, va_list optional, ... ); | int vips_call_split( const char *operation_name, va_list optional, ... ); | |||
int vips_call_split_option_string( const char *operation_name, | ||||
const char *option_string, va_list optional, ... ); | ||||
void vips_call_options( GOptionGroup *group, VipsOperation *operation ); | void vips_call_options( GOptionGroup *group, VipsOperation *operation ); | |||
int vips_call_argv( VipsOperation *operation, int argc, char **argv ); | int vips_call_argv( VipsOperation *operation, int argc, char **argv ); | |||
void vips_cache_drop_all( void ); | void vips_cache_drop_all( void ); | |||
int vips_cache_operation_buildp( VipsOperation **operation ); | int vips_cache_operation_buildp( VipsOperation **operation ); | |||
VipsOperation *vips_cache_operation_build( VipsOperation *operation ); | VipsOperation *vips_cache_operation_build( VipsOperation *operation ); | |||
void vips_cache_print( void ); | void vips_cache_print( void ); | |||
void vips_cache_set_max( int max ); | void vips_cache_set_max( int max ); | |||
void vips_cache_set_max_mem( size_t max_mem ); | void vips_cache_set_max_mem( size_t max_mem ); | |||
End of changes. 5 change blocks. | ||||
6 lines changed or deleted | 11 lines changed or added | |||
private.h | private.h | |||
---|---|---|---|---|
skipping to change at line 92 | skipping to change at line 92 | |||
int vips_window_unref( VipsWindow *window ); | int vips_window_unref( VipsWindow *window ); | |||
void vips_window_print( VipsWindow *window ); | void vips_window_print( VipsWindow *window ); | |||
/* Per-thread buffer state. Held in a GPrivate. | /* Per-thread buffer state. Held in a GPrivate. | |||
*/ | */ | |||
typedef struct { | typedef struct { | |||
GHashTable *hash; /* VipsImage -> VipsBufferCache* */ | GHashTable *hash; /* VipsImage -> VipsBufferCache* */ | |||
GThread *thread; /* Just for sanity checking */ | GThread *thread; /* Just for sanity checking */ | |||
} VipsBufferThread; | } VipsBufferThread; | |||
/* Per-image buffer cache. Hash to this from VipsBufferCache. | /* Per-image buffer cache. Hash to this from VipsBufferThread::hash. | |||
* We can't store the GSList directly in the hash table, as GHashTable lack | * We can't store the GSList directly in the hash table as GHashTable lacks | |||
s an | an | |||
* update operation and we'd need to _remove() and _insert() on every list | * update operation and we'd need to _remove() and _insert() on every list | |||
* operation. | * operation. | |||
*/ | */ | |||
typedef struct _VipsBufferCache { | typedef struct _VipsBufferCache { | |||
GSList *buffers; /* GSList of VipsBuffer* */ | GSList *buffers; /* GSList of VipsBuffer* */ | |||
GThread *thread; /* Just for sanity checking */ | GThread *thread; /* Just for sanity checking */ | |||
struct _VipsImage *im; | struct _VipsImage *im; | |||
VipsBufferThread *buffer_thread; | VipsBufferThread *buffer_thread; | |||
GSList *reserve; /* VipsBuffer kept in reserve */ | GSList *reserve; /* VipsBuffer kept in reserve */ | |||
int n_reserve; /* Number in reserve */ | int n_reserve; /* Number in reserve */ | |||
skipping to change at line 130 | skipping to change at line 130 | |||
void vips_buffer_dump_all( void ); | void vips_buffer_dump_all( void ); | |||
void vips_buffer_done( VipsBuffer *buffer ); | void vips_buffer_done( VipsBuffer *buffer ); | |||
void vips_buffer_undone( VipsBuffer *buffer ); | void vips_buffer_undone( VipsBuffer *buffer ); | |||
void vips_buffer_unref( VipsBuffer *buffer ); | void vips_buffer_unref( VipsBuffer *buffer ); | |||
VipsBuffer *vips_buffer_new( struct _VipsImage *im, VipsRect *area ); | VipsBuffer *vips_buffer_new( struct _VipsImage *im, VipsRect *area ); | |||
VipsBuffer *vips_buffer_ref( struct _VipsImage *im, VipsRect *area ); | VipsBuffer *vips_buffer_ref( struct _VipsImage *im, VipsRect *area ); | |||
VipsBuffer *vips_buffer_unref_ref( VipsBuffer *buffer, | VipsBuffer *vips_buffer_unref_ref( VipsBuffer *buffer, | |||
struct _VipsImage *im, VipsRect *area ); | struct _VipsImage *im, VipsRect *area ); | |||
void vips_buffer_print( VipsBuffer *buffer ); | void vips_buffer_print( VipsBuffer *buffer ); | |||
void vips__render_shutdown( void ); | ||||
/* Sections of region.h that are private to VIPS. | /* Sections of region.h that are private to VIPS. | |||
*/ | */ | |||
/* Region types. | /* Region types. | |||
*/ | */ | |||
typedef enum _RegionType { | typedef enum _RegionType { | |||
VIPS_REGION_NONE, | VIPS_REGION_NONE, | |||
VIPS_REGION_BUFFER, /* A VipsBuffer */ | VIPS_REGION_BUFFER, /* A VipsBuffer */ | |||
VIPS_REGION_OTHER_REGION, /* Memory on another region */ | VIPS_REGION_OTHER_REGION, /* Memory on another region */ | |||
VIPS_REGION_OTHER_IMAGE, /* Memory on another image */ | VIPS_REGION_OTHER_IMAGE, /* Memory on another image */ | |||
End of changes. 2 change blocks. | ||||
3 lines changed or deleted | 5 lines changed or added | |||
region.h | region.h | |||
---|---|---|---|---|
skipping to change at line 123 | skipping to change at line 123 | |||
void vips_region_paint_pel( VipsRegion *reg, VipsRect *r, VipsPel *ink ); | void vips_region_paint_pel( VipsRegion *reg, VipsRect *r, VipsPel *ink ); | |||
void vips_region_black( VipsRegion *reg ); | void vips_region_black( VipsRegion *reg ); | |||
void vips_region_copy( VipsRegion *reg, VipsRegion *dest, | void vips_region_copy( VipsRegion *reg, VipsRegion *dest, | |||
VipsRect *r, int x, int y ); | VipsRect *r, int x, int y ); | |||
int vips_region_prepare( VipsRegion *reg, VipsRect *r ); | int vips_region_prepare( VipsRegion *reg, VipsRect *r ); | |||
int vips_region_prepare_to( VipsRegion *reg, | int vips_region_prepare_to( VipsRegion *reg, | |||
VipsRegion *dest, VipsRect *r, int x, int y ); | VipsRegion *dest, VipsRect *r, int x, int y ); | |||
int vips_region_prepare_many( VipsRegion **reg, VipsRect *r ); | int vips_region_prepare_many( VipsRegion **reg, VipsRect *r ); | |||
void vips_region_invalidate( VipsRegion *reg ); | ||||
void vips_region_dump_all( void ); | void vips_region_dump_all( void ); | |||
/* Macros on VipsRegion. | /* Macros on VipsRegion. | |||
* VIPS_REGION_LSKIP() add to move down line | * VIPS_REGION_LSKIP() add to move down line | |||
* VIPS_REGION_N_ELEMENTS() number of elements across region | * VIPS_REGION_N_ELEMENTS() number of elements across region | |||
* VIPS_REGION_SIZEOF_LINE() sizeof width of region | * VIPS_REGION_SIZEOF_LINE() sizeof width of region | |||
* VIPS_REGION_ADDR() address of pixel in region | * VIPS_REGION_ADDR() address of pixel in region | |||
*/ | */ | |||
#define VIPS_REGION_LSKIP( R ) \ | #define VIPS_REGION_LSKIP( R ) \ | |||
((size_t)((R)->bpl)) | ((size_t)((R)->bpl)) | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 2 lines changed or added | |||
type.h | type.h | |||
---|---|---|---|---|
skipping to change at line 165 | skipping to change at line 165 | |||
VipsArrayInt *vips_array_int_new( const int *array, int n ); | VipsArrayInt *vips_array_int_new( const int *array, int n ); | |||
VipsArrayInt *vips_array_int_newv( int n, ... ); | VipsArrayInt *vips_array_int_newv( int n, ... ); | |||
GType vips_array_int_get_type( void ); | GType vips_array_int_get_type( void ); | |||
/** | /** | |||
* VIPS_TYPE_ARRAY_IMAGE: | * VIPS_TYPE_ARRAY_IMAGE: | |||
* | * | |||
* The #GType for a #VipsArrayImage. | * The #GType for a #VipsArrayImage. | |||
*/ | */ | |||
#define VIPS_TYPE_ARRAY_IMAGE (vips_array_image_get_type()) | #define VIPS_TYPE_ARRAY_IMAGE (vips_array_image_get_type()) | |||
typedef VipsArea VipsArrayImage; | ||||
GType vips_array_image_get_type( void ); | GType vips_array_image_get_type( void ); | |||
void vips_value_set_area( GValue *value, VipsCallbackFn free_fn, void *data ); | void vips_value_set_area( GValue *value, VipsCallbackFn free_fn, void *data ); | |||
void *vips_value_get_area( const GValue *value, size_t *length ); | void *vips_value_get_area( const GValue *value, size_t *length ); | |||
const char *vips_value_get_save_string( const GValue *value ); | const char *vips_value_get_save_string( const GValue *value ); | |||
void vips_value_set_save_string( GValue *value, const char *str ); | void vips_value_set_save_string( GValue *value, const char *str ); | |||
void vips_value_set_save_stringf( GValue *value, const char *fmt, ... ) | void vips_value_set_save_stringf( GValue *value, const char *fmt, ... ) | |||
__attribute__((format(printf, 2, 3))); | __attribute__((format(printf, 2, 3))); | |||
skipping to change at line 196 | skipping to change at line 197 | |||
double *vips_value_get_array_double( const GValue *value, int *n ); | double *vips_value_get_array_double( const GValue *value, int *n ); | |||
int vips_value_set_array_double( GValue *value, const double *array, int n ); | int vips_value_set_array_double( GValue *value, const double *array, int n ); | |||
int *vips_value_get_array_int( const GValue *value, int *n ); | int *vips_value_get_array_int( const GValue *value, int *n ); | |||
int vips_value_set_array_int( GValue *value, const int *array, int n ); | int vips_value_set_array_int( GValue *value, const int *array, int n ); | |||
GObject **vips_value_get_array_object( const GValue *value, int *n ); | GObject **vips_value_get_array_object( const GValue *value, int *n ); | |||
int vips_value_set_array_object( GValue *value, int n ); | int vips_value_set_array_object( GValue *value, int n ); | |||
/* See also image.h, that has vips_value_get_array_image() and | ||||
* vips_value_set_array_image(). They need to be declared after VipsImage. | ||||
*/ | ||||
void vips__meta_init_types( void ); | void vips__meta_init_types( void ); | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif /*__cplusplus*/ | #endif /*__cplusplus*/ | |||
#endif /*VIPS_TYPE_H*/ | #endif /*VIPS_TYPE_H*/ | |||
End of changes. 2 change blocks. | ||||
0 lines changed or deleted | 5 lines changed or added | |||
util.h | util.h | |||
---|---|---|---|---|
skipping to change at line 189 | skipping to change at line 189 | |||
void *vips_hash_table_map( GHashTable *hash, | void *vips_hash_table_map( GHashTable *hash, | |||
VipsSListMap2Fn fn, void *a, void *b ); | VipsSListMap2Fn fn, void *a, void *b ); | |||
char *vips_strncpy( char *dest, const char *src, int n ); | char *vips_strncpy( char *dest, const char *src, int n ); | |||
char *vips_strrstr( const char *haystack, const char *needle ); | char *vips_strrstr( const char *haystack, const char *needle ); | |||
gboolean vips_ispostfix( const char *a, const char *b ); | gboolean vips_ispostfix( const char *a, const char *b ); | |||
gboolean vips_isprefix( const char *a, const char *b ); | gboolean vips_isprefix( const char *a, const char *b ); | |||
char *vips_break_token( char *str, const char *brk ); | char *vips_break_token( char *str, const char *brk ); | |||
void vips__chomp( char *str ); | ||||
int vips_vsnprintf( char *str, size_t size, const char *format, va_list ap ); | int vips_vsnprintf( char *str, size_t size, const char *format, va_list ap ); | |||
int vips_snprintf( char *str, size_t size, const char *format, ... ) | int vips_snprintf( char *str, size_t size, const char *format, ... ) | |||
__attribute__((format(printf, 3, 4))); | __attribute__((format(printf, 3, 4))); | |||
void vips_filename_split( const char *path, char *name, char *mode ); | ||||
const char *vips_skip_dir( const char *filename ); | ||||
void vips_filename_suffix( const char *path, char *suffix ); | ||||
int vips_filename_suffix_match( const char *path, const char *suffixes[] ); | int vips_filename_suffix_match( const char *path, const char *suffixes[] ); | |||
char *vips_getnextoption( char **in ); | ||||
char *vips_getsuboption( const char *buf ); | ||||
gint64 vips_file_length( int fd ); | gint64 vips_file_length( int fd ); | |||
int vips__write( int fd, const void *buf, size_t count ); | int vips__write( int fd, const void *buf, size_t count ); | |||
FILE *vips__file_open_read( const char *filename, | FILE *vips__file_open_read( const char *filename, | |||
const char *fallback_dir, gboolean text_mode ); | const char *fallback_dir, gboolean text_mode ); | |||
FILE *vips__file_open_write( const char *filename, | FILE *vips__file_open_write( const char *filename, | |||
gboolean text_mode ); | gboolean text_mode ); | |||
char *vips__file_read( FILE *fp, const char *name, unsigned int *length_out ); | char *vips__file_read( FILE *fp, const char *name, unsigned int *length_out ); | |||
char *vips__file_read_name( const char *name, const char *fallback_dir, | char *vips__file_read_name( const char *name, const char *fallback_dir, | |||
skipping to change at line 225 | skipping to change at line 222 | |||
GSList *vips__gslist_gvalue_copy( const GSList *list ); | GSList *vips__gslist_gvalue_copy( const GSList *list ); | |||
GSList *vips__gslist_gvalue_merge( GSList *a, const GSList *b ); | GSList *vips__gslist_gvalue_merge( GSList *a, const GSList *b ); | |||
char *vips__gslist_gvalue_get( const GSList *list ); | char *vips__gslist_gvalue_get( const GSList *list ); | |||
int vips__seek( int fd, gint64 pos ); | int vips__seek( int fd, gint64 pos ); | |||
int vips__ftruncate( int fd, gint64 pos ); | int vips__ftruncate( int fd, gint64 pos ); | |||
int vips_existsf( const char *name, ... ) | int vips_existsf( const char *name, ... ) | |||
__attribute__((format(printf, 1, 2))); | __attribute__((format(printf, 1, 2))); | |||
int vips_mkdirf( const char *name, ... ) | int vips_mkdirf( const char *name, ... ) | |||
__attribute__((format(printf, 1, 2))); | __attribute__((format(printf, 1, 2))); | |||
int vips_rmdirf( const char *name, ... ) | ||||
__attribute__((format(printf, 1, 2))); | ||||
int vips_rename( const char *old_name, const char *new_name ); | ||||
FILE *vips_popenf( const char *fmt, const char *mode, ... ) | FILE *vips_popenf( const char *fmt, const char *mode, ... ) | |||
__attribute__((format(printf, 1, 3))); | __attribute__((format(printf, 1, 3))); | |||
/** | /** | |||
* VipsToken: | * VipsToken: | |||
* @VIPS_TOKEN_LEFT: left bracket | * @VIPS_TOKEN_LEFT: left bracket | |||
* @VIPS_TOKEN_RIGHT: right bracket | * @VIPS_TOKEN_RIGHT: right bracket | |||
* @VIPS_TOKEN_STRING: string constant | * @VIPS_TOKEN_STRING: string constant | |||
* @VIPS_TOKEN_EQUALS: equals sign | * @VIPS_TOKEN_EQUALS: equals sign | |||
* @VIPS_TOKEN_COMMA: comma | * @VIPS_TOKEN_COMMA: comma | |||
skipping to change at line 260 | skipping to change at line 260 | |||
VIPS_TOKEN_COMMA | VIPS_TOKEN_COMMA | |||
} VipsToken; | } VipsToken; | |||
const char *vips__token_get( const char *buffer, | const char *vips__token_get( const char *buffer, | |||
VipsToken *token, char *string, int size ); | VipsToken *token, char *string, int size ); | |||
const char *vips__token_must( const char *buffer, VipsToken *token, | const char *vips__token_must( const char *buffer, VipsToken *token, | |||
char *string, int size ); | char *string, int size ); | |||
const char *vips__token_need( const char *buffer, VipsToken need_token, | const char *vips__token_need( const char *buffer, VipsToken need_token, | |||
char *string, int size ); | char *string, int size ); | |||
const char *vips__find_rightmost_brackets( const char *p ); | const char *vips__find_rightmost_brackets( const char *p ); | |||
void vips__filename_split8( const char *name, | ||||
char *filename, char *option_string ); | ||||
int vips_ispoweroftwo( int p ); | int vips_ispoweroftwo( int p ); | |||
int vips_amiMSBfirst( void ); | int vips_amiMSBfirst( void ); | |||
char *vips__temp_name( const char *format ); | char *vips__temp_name( const char *format ); | |||
void vips__change_suffix( const char *name, char *out, int mx, | void vips__change_suffix( const char *name, char *out, int mx, | |||
const char *new_suff, const char **olds, int nolds ); | const char *new_suff, const char **olds, int nolds ); | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
End of changes. 5 change blocks. | ||||
5 lines changed or deleted | 7 lines changed or added | |||
vector.h | vector.h | |||
---|---|---|---|---|
skipping to change at line 53 | skipping to change at line 53 | |||
#endif /*__cplusplus*/ | #endif /*__cplusplus*/ | |||
#define VIPS_VECTOR_SOURCE_MAX (10) | #define VIPS_VECTOR_SOURCE_MAX (10) | |||
/* An Orc program. | /* An Orc program. | |||
*/ | */ | |||
typedef struct { | typedef struct { | |||
/* Handy for debugging. | /* Handy for debugging. | |||
*/ | */ | |||
const char *name; | const char *name; | |||
char *unique_name; | ||||
/* How many resources we've used so far in this codegen. | /* How many resources we've used so far in this codegen. | |||
*/ | */ | |||
int n_temp; | int n_temp; | |||
int n_scanline; | int n_scanline; | |||
int n_source; | int n_source; | |||
int n_destination; | int n_destination; | |||
int n_constant; | int n_constant; | |||
int n_parameter; | int n_parameter; | |||
int n_instruction; | int n_instruction; | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
version.h | version.h | |||
---|---|---|---|---|
/* Macros for the header version. | /* Macros for the header version. | |||
*/ | */ | |||
#ifndef VIPS_VERSION_H | #ifndef VIPS_VERSION_H | |||
#define VIPS_VERSION_H | #define VIPS_VERSION_H | |||
#define VIPS_VERSION "7.38.6" | #define VIPS_VERSION "7.40.0" | |||
#define VIPS_VERSION_STRING "7.38.6-Thu Jun 19 00:03:32 MSK 2014" | #define VIPS_VERSION_STRING "7.40.0-Wed Jun 25 00:04:27 MSK 2014" | |||
#define VIPS_MAJOR_VERSION (7) | #define VIPS_MAJOR_VERSION (7) | |||
#define VIPS_MINOR_VERSION (38) | #define VIPS_MINOR_VERSION (40) | |||
#define VIPS_MICRO_VERSION (6) | #define VIPS_MICRO_VERSION (0) | |||
/* Not really anything to do with versions, but this is a handy place to pu t | /* Not really anything to do with versions, but this is a handy place to pu t | |||
* it. | * it. | |||
*/ | */ | |||
#define VIPS_EXEEXT "" | #define VIPS_EXEEXT "" | |||
#endif /*VIPS_VERSION_H*/ | #endif /*VIPS_VERSION_H*/ | |||
End of changes. 2 change blocks. | ||||
4 lines changed or deleted | 4 lines changed or added | |||
vips.h | vips.h | |||
---|---|---|---|---|
skipping to change at line 98 | skipping to change at line 98 | |||
#include <glib-object.h> | #include <glib-object.h> | |||
/* If we're being parsed by SWIG, remove gcc attributes. | /* If we're being parsed by SWIG, remove gcc attributes. | |||
*/ | */ | |||
#ifdef SWIG | #ifdef SWIG | |||
# ifndef __attribute__ | # ifndef __attribute__ | |||
# define __attribute__(x) /*NOTHING*/ | # define __attribute__(x) /*NOTHING*/ | |||
# endif | # endif | |||
#endif /*SWIG*/ | #endif /*SWIG*/ | |||
/* Or if this isn't gcc. | ||||
*/ | ||||
#ifndef __GNUC__ | ||||
# ifndef __attribute__ | ||||
# define __attribute__(x) /*NOTHING*/ | ||||
# endif | ||||
#endif /*__GNUC__*/ | ||||
#include <vips/basic.h> | #include <vips/basic.h> | |||
#include <vips/buf.h> | #include <vips/buf.h> | |||
#include <vips/util.h> | #include <vips/util.h> | |||
#include <vips/object.h> | #include <vips/object.h> | |||
#include <vips/type.h> | #include <vips/type.h> | |||
#include <vips/gate.h> | #include <vips/gate.h> | |||
#include <vips/version.h> | #include <vips/version.h> | |||
#include <vips/rect.h> | #include <vips/rect.h> | |||
skipping to change at line 137 | skipping to change at line 145 | |||
#include <vips/arithmetic.h> | #include <vips/arithmetic.h> | |||
#include <vips/relational.h> | #include <vips/relational.h> | |||
#include <vips/conversion.h> | #include <vips/conversion.h> | |||
#include <vips/convolution.h> | #include <vips/convolution.h> | |||
#include <vips/morphology.h> | #include <vips/morphology.h> | |||
#include <vips/mosaicing.h> | #include <vips/mosaicing.h> | |||
#include <vips/histogram.h> | #include <vips/histogram.h> | |||
#include <vips/freqfilt.h> | #include <vips/freqfilt.h> | |||
#include <vips/resample.h> | #include <vips/resample.h> | |||
#include <vips/colour.h> | #include <vips/colour.h> | |||
#include <vips/inplace.h> | #include <vips/draw.h> | |||
#include <vips/create.h> | #include <vips/create.h> | |||
#include <vips/video.h> | #include <vips/video.h> | |||
#include <vips/cimg_funcs.h> | #include <vips/cimg_funcs.h> | |||
#ifndef VIPS_DISABLE_VIPS7COMPAT | #ifndef VIPS_DISABLE_VIPS7COMPAT | |||
#include <vips/vips7compat.h> | #include <vips/vips7compat.h> | |||
#endif /*VIPS_DISABLE_VIPS7COMPAT*/ | #endif /*VIPS_DISABLE_VIPS7COMPAT*/ | |||
#ifdef VIPS_ENABLE_DEPRECATED | #ifdef VIPS_ENABLE_DEPRECATED | |||
#include <vips/deprecated.h> | #include <vips/deprecated.h> | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 9 lines changed or added | |||
vips7compat.h | vips7compat.h | |||
---|---|---|---|---|
skipping to change at line 551 | skipping to change at line 551 | |||
#define im_slist_free_all vips_slist_free_all | #define im_slist_free_all vips_slist_free_all | |||
#define im_map_equal vips_map_equal | #define im_map_equal vips_map_equal | |||
#define im_hash_table_map vips_hash_table_map | #define im_hash_table_map vips_hash_table_map | |||
#define im_strncpy vips_strncpy | #define im_strncpy vips_strncpy | |||
#define im_strrstr vips_strrstr | #define im_strrstr vips_strrstr | |||
#define im_ispostfix vips_ispostfix | #define im_ispostfix vips_ispostfix | |||
#define im_isprefix vips_isprefix | #define im_isprefix vips_isprefix | |||
#define im_break_token vips_break_token | #define im_break_token vips_break_token | |||
#define im_vsnprintf vips_vsnprintf | #define im_vsnprintf vips_vsnprintf | |||
#define im_snprintf vips_snprintf | #define im_snprintf vips_snprintf | |||
#define im_filename_split vips_filename_split | ||||
#define im_skip_dir vips_skip_dir | ||||
#define im_filename_suffix vips_filename_suffix | ||||
#define im_filename_suffix_match vips_filename_suffix_match | ||||
#define im_getnextoption vips_getnextoption | ||||
#define im_getsuboption vips_getsuboption | ||||
#define im_file_length vips_file_length | #define im_file_length vips_file_length | |||
#define im__write vips__write | #define im__write vips__write | |||
#define im__file_open_read vips__file_open_read | #define im__file_open_read vips__file_open_read | |||
#define im__file_open_write vips__file_open_write | #define im__file_open_write vips__file_open_write | |||
#define im__file_read vips__file_read | #define im__file_read vips__file_read | |||
#define im__file_read_name vips__file_read_name | #define im__file_read_name vips__file_read_name | |||
#define im__file_write vips__file_write | #define im__file_write vips__file_write | |||
#define im__get_bytes vips__get_bytes | #define im__get_bytes vips__get_bytes | |||
#define im__gvalue_ref_string_new vips__gvalue_ref_string_new | #define im__gvalue_ref_string_new vips__gvalue_ref_string_new | |||
#define im__gslist_gvalue_free vips__gslist_gvalue_free | #define im__gslist_gvalue_free vips__gslist_gvalue_free | |||
skipping to change at line 786 | skipping to change at line 780 | |||
int im_imask2vips( INTMASK *in, VipsImage *out ); | int im_imask2vips( INTMASK *in, VipsImage *out ); | |||
int im_bandmean( VipsImage *in, VipsImage *out ); | int im_bandmean( VipsImage *in, VipsImage *out ); | |||
int im_recomb( VipsImage *in, VipsImage *out, DOUBLEMASK *recomb ); | int im_recomb( VipsImage *in, VipsImage *out, DOUBLEMASK *recomb ); | |||
int im_argb2rgba( VipsImage *in, VipsImage *out ); | int im_argb2rgba( VipsImage *in, VipsImage *out ); | |||
int im_falsecolour( VipsImage *in, VipsImage *out ); | int im_falsecolour( VipsImage *in, VipsImage *out ); | |||
int im_gammacorrect( VipsImage *in, VipsImage *out, double exponent ); | int im_gammacorrect( VipsImage *in, VipsImage *out, double exponent ); | |||
int im_tile_cache_random( IMAGE *in, IMAGE *out, | ||||
int tile_width, int tile_height, int max_tiles ); | ||||
int im_shrink( VipsImage *in, VipsImage *out, double xshrink, double yshrin k ); | int im_shrink( VipsImage *in, VipsImage *out, double xshrink, double yshrin k ); | |||
int im_affinei( VipsImage *in, VipsImage *out, | int im_affinei( VipsImage *in, VipsImage *out, | |||
VipsInterpolate *interpolate, | VipsInterpolate *interpolate, | |||
double a, double b, double c, double d, double dx, double dy, | double a, double b, double c, double d, double dx, double dy, | |||
int ox, int oy, int ow, int oh ); | int ox, int oy, int ow, int oh ); | |||
int im_affinei_all( VipsImage *in, VipsImage *out, VipsInterpolate *interpo late, | int im_affinei_all( VipsImage *in, VipsImage *out, VipsInterpolate *interpo late, | |||
double a, double b, double c, double d, double dx, double dy ) ; | double a, double b, double c, double d, double dx, double dy ) ; | |||
int im_rightshift_size( VipsImage *in, VipsImage *out, | int im_rightshift_size( VipsImage *in, VipsImage *out, | |||
int xshift, int yshift, int band_fmt ); | int xshift, int yshift, int band_fmt ); | |||
skipping to change at line 1001 | skipping to change at line 998 | |||
int im_fwfft( VipsImage *in, VipsImage *out ); | int im_fwfft( VipsImage *in, VipsImage *out ); | |||
int im_invfft( VipsImage *in, VipsImage *out ); | int im_invfft( VipsImage *in, VipsImage *out ); | |||
int im_invfftr( VipsImage *in, VipsImage *out ); | int im_invfftr( VipsImage *in, VipsImage *out ); | |||
int im_freqflt( VipsImage *in, VipsImage *mask, VipsImage *out ); | int im_freqflt( VipsImage *in, VipsImage *mask, VipsImage *out ); | |||
int im_disp_ps( VipsImage *in, VipsImage *out ); | int im_disp_ps( VipsImage *in, VipsImage *out ); | |||
int im_fractsurf( VipsImage *out, int size, double frd ); | int im_fractsurf( VipsImage *out, int size, double frd ); | |||
int im_phasecor_fft( VipsImage *in1, VipsImage *in2, VipsImage *out ); | int im_phasecor_fft( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |||
int im_cntlines( VipsImage *im, double *nolines, int flag ); | int im_cntlines( VipsImage *im, double *nolines, int flag ); | |||
int im_label_regions( VipsImage *test, VipsImage *mask, int *segments ); | ||||
int im_rank( VipsImage *in, VipsImage *out, int width, int height, int inde x ); | int im_rank( VipsImage *in, VipsImage *out, int width, int height, int inde x ); | |||
int im_zerox( VipsImage *in, VipsImage *out, int sign ); | int im_zerox( VipsImage *in, VipsImage *out, int sign ); | |||
int im_draw_circle( VipsImage *image, | ||||
int x, int y, int radius, gboolean fill, VipsPel *ink ); | ||||
int im_draw_mask( VipsImage *image, | ||||
VipsImage *mask_im, int x, int y, VipsPel *ink ); | ||||
int im_draw_image( VipsImage *image, VipsImage *sub, int x, int y ); | ||||
int im_draw_rect( VipsImage *image, | ||||
int left, int top, int width, int height, int fill, VipsPel *ink ); | ||||
int im_draw_line_user( VipsImage *image, | ||||
int x1, int y1, int x2, int y2, | ||||
VipsPlotFn plot, void *a, void *b, void *c ); | ||||
int im_draw_line( VipsImage *image, | ||||
int x1, int y1, int x2, int y2, VipsPel *ink ); | ||||
int im_lineset( VipsImage *in, VipsImage *out, VipsImage *mask, VipsImage * | ||||
ink, | ||||
int n, int *x1v, int *y1v, int *x2v, int *y2v ); | ||||
int im_draw_flood( VipsImage *image, int x, int y, VipsPel *ink, VipsRect * | ||||
dout ); | ||||
int im_draw_flood_blob( VipsImage *image, | ||||
int x, int y, VipsPel *ink, VipsRect *dout ); | ||||
int im_draw_flood_other( VipsImage *image, VipsImage *test, | ||||
int x, int y, int serial, VipsRect *dout ); | ||||
int im_draw_point( VipsImage *image, int x, int y, VipsPel *ink ); | ||||
int im_read_point( VipsImage *image, int x, int y, VipsPel *ink ); | ||||
int im_draw_smudge( VipsImage *image, | ||||
int left, int top, int width, int height ); | ||||
void im_filename_split( const char *path, char *name, char *mode ); | ||||
const char *im_skip_dir( const char *filename ); | ||||
void im_filename_suffix( const char *path, char *suffix ); | ||||
int im_filename_suffix_match( const char *path, const char *suffixes[] ); | ||||
char *im_getnextoption( char **in ); | ||||
char *im_getsuboption( const char *buf ); | ||||
int im_lrmerge( VipsImage *ref, VipsImage *sec, VipsImage *out, | ||||
int dx, int dy, int mwidth ); | ||||
int im_tbmerge( VipsImage *ref, VipsImage *sec, VipsImage *out, | ||||
int dx, int dy, int mwidth ); | ||||
int im_lrmosaic( VipsImage *ref, VipsImage *sec, VipsImage *out, | ||||
int bandno, | ||||
int xref, int yref, int xsec, int ysec, | ||||
int hwindowsize, int hsearchsize, | ||||
int balancetype, | ||||
int mwidth ); | ||||
int im_tbmosaic( VipsImage *ref, VipsImage *sec, VipsImage *out, | ||||
int bandno, | ||||
int xref, int yref, int xsec, int ysec, | ||||
int hwindowsize, int hsearchsize, | ||||
int balancetype, | ||||
int mwidth ); | ||||
int im_match_linear( VipsImage *ref, VipsImage *sec, VipsImage *out, | ||||
int xr1, int yr1, int xs1, int ys1, | ||||
int xr2, int yr2, int xs2, int ys2 ); | ||||
int im_match_linear_search( VipsImage *ref, VipsImage *sec, VipsImage *out, | ||||
int xr1, int yr1, int xs1, int ys1, | ||||
int xr2, int yr2, int xs2, int ys2, | ||||
int hwindowsize, int hsearchsize ); | ||||
int im_global_balance( VipsImage *in, VipsImage *out, double gamma ); | ||||
int im_global_balancef( VipsImage *in, VipsImage *out, double gamma ); | ||||
int im_remosaic( VipsImage *in, VipsImage *out, | ||||
const char *old_str, const char *new_str ); | ||||
int im_lrmerge1( VipsImage *ref, VipsImage *sec, VipsImage *out, | ||||
int xr1, int yr1, int xs1, int ys1, | ||||
int xr2, int yr2, int xs2, int ys2, | ||||
int mwidth ); | ||||
int im_tbmerge1( VipsImage *ref, VipsImage *sec, VipsImage *out, | ||||
int xr1, int yr1, int xs1, int ys1, | ||||
int xr2, int yr2, int xs2, int ys2, | ||||
int mwidth ); | ||||
int im_lrmosaic1( VipsImage *ref, VipsImage *sec, VipsImage *out, | ||||
int bandno, | ||||
int xr1, int yr1, int xs1, int ys1, | ||||
int xr2, int yr2, int xs2, int ys2, | ||||
int hwindowsize, int hsearchsize, | ||||
int balancetype, | ||||
int mwidth ); | ||||
int im_tbmosaic1( VipsImage *ref, VipsImage *sec, VipsImage *out, | ||||
int bandno, | ||||
int xr1, int yr1, int xs1, int ys1, | ||||
int xr2, int yr2, int xs2, int ys2, | ||||
int hwindowsize, int hsearchsize, | ||||
int balancetype, | ||||
int mwidth ); | ||||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif /*__cplusplus*/ | #endif /*__cplusplus*/ | |||
#endif /*VIPS_VIPS7COMPAT_H*/ | #endif /*VIPS_VIPS7COMPAT_H*/ | |||
End of changes. 4 change blocks. | ||||
6 lines changed or deleted | 98 lines changed or added | |||