| VImage8.h | | VImage8.h | |
| | | | |
| skipping to change at line 561 | | skipping to change at line 561 | |
| return( bandjoin( this->new_from_image( other ), options ) )
; | | return( bandjoin( this->new_from_image( other ), options ) )
; | |
| } | | } | |
| | | | |
| std::complex<double> minpos( VOption *options = 0 ) | | std::complex<double> minpos( VOption *options = 0 ) | |
| throw( VError ); | | throw( VError ); | |
| | | | |
| std::complex<double> maxpos( VOption *options = 0 ) | | std::complex<double> maxpos( VOption *options = 0 ) | |
| throw( VError ); | | throw( VError ); | |
| | | | |
| VImage | | VImage | |
|
| | | fliphor( VOption *options = 0 ) | |
| | | throw( VError ) | |
| | | { | |
| | | return( flip( VIPS_DIRECTION_HORIZONTAL, options ) ); | |
| | | } | |
| | | | |
| | | VImage | |
| | | flipver( VOption *options = 0 ) | |
| | | throw( VError ) | |
| | | { | |
| | | return( flip( VIPS_DIRECTION_VERTICAL, options ) ); | |
| | | } | |
| | | | |
| | | VImage | |
| | | rot90( VOption *options = 0 ) | |
| | | throw( VError ) | |
| | | { | |
| | | return( rot( VIPS_ANGLE_D90, options ) ); | |
| | | } | |
| | | | |
| | | VImage | |
| | | rot180( VOption *options = 0 ) | |
| | | throw( VError ) | |
| | | { | |
| | | return( rot( VIPS_ANGLE_D180, options ) ); | |
| | | } | |
| | | | |
| | | VImage | |
| | | rot270( VOption *options = 0 ) | |
| | | throw( VError ) | |
| | | { | |
| | | return( rot( VIPS_ANGLE_D270, options ) ); | |
| | | } | |
| | | | |
| | | VImage | |
| | | dilate( VImage mask, VOption *options = 0 ) | |
| | | throw( VError ) | |
| | | { | |
| | | return( morph( mask, VIPS_OPERATION_MORPHOLOGY_DILATE, | |
| | | options ) ); | |
| | | } | |
| | | | |
| | | VImage | |
| | | erode( VImage mask, VOption *options = 0 ) | |
| | | throw( VError ) | |
| | | { | |
| | | return( morph( mask, VIPS_OPERATION_MORPHOLOGY_ERODE, | |
| | | options ) ); | |
| | | } | |
| | | | |
| | | VImage | |
| | | median( int size = 3, VOption *options = 0 ) | |
| | | throw( VError ) | |
| | | { | |
| | | return( rank( size, size, (size * size) / 2, options ) ); | |
| | | } | |
| | | | |
| | | VImage | |
| floor( VOption *options = 0 ) | | floor( VOption *options = 0 ) | |
| throw( VError ) | | throw( VError ) | |
| { | | { | |
| return( round( VIPS_OPERATION_ROUND_FLOOR, options ) ); | | return( round( VIPS_OPERATION_ROUND_FLOOR, options ) ); | |
| } | | } | |
| | | | |
| VImage | | VImage | |
| ceil( VOption *options = 0 ) | | ceil( VOption *options = 0 ) | |
| throw( VError ) | | throw( VError ) | |
| { | | { | |
| | | | |
| skipping to change at line 779 | | skipping to change at line 837 | |
| VImage | | VImage | |
| ifthenelse( double th, double el, VOption *options ) | | ifthenelse( double th, double el, VOption *options ) | |
| throw( VError ) | | throw( VError ) | |
| { | | { | |
| return( ifthenelse( to_vector( th ), to_vector( el ), | | return( ifthenelse( to_vector( th ), to_vector( el ), | |
| options ) ); | | options ) ); | |
| } | | } | |
| | | | |
| // Operator overloads | | // Operator overloads | |
| | | | |
|
| double operator()( int x, int y, int z = 0 ) | | VImage operator[]( int index ) | |
| | | throw( VError ) | |
| | | { | |
| | | return( this->extract_band( index ) ); | |
| | | } | |
| | | | |
| | | std::vector<double> operator()( int x, int y ) | |
| { | | { | |
|
| return( this->getpoint( x, y )[z] ); | | return( this->getpoint( x, y ) ); | |
| } | | } | |
| | | | |
| friend VImage operator+( VImage a, VImage b ) | | friend VImage operator+( VImage a, VImage b ) | |
| throw( VError ) | | throw( VError ) | |
| { | | { | |
| return( a.add( b ) ); | | return( a.add( b ) ); | |
| } | | } | |
| | | | |
| friend VImage operator+( double a, VImage b ) | | friend VImage operator+( double a, VImage b ) | |
| throw( VError ) | | throw( VError ) | |
| | | | |
End of changes. 3 change blocks. |
| 2 lines changed or deleted | | 66 lines changed or added | |
|
| colour.h | | colour.h | |
| | | | |
| skipping to change at line 100 | | skipping to change at line 100 | |
| #define VIPS_E_Z0 (100.0) | | #define VIPS_E_Z0 (100.0) | |
| | | | |
| #define VIPS_D3250_X0 (105.6590) | | #define VIPS_D3250_X0 (105.6590) | |
| #define VIPS_D3250_Y0 (100.0) | | #define VIPS_D3250_Y0 (100.0) | |
| #define VIPS_D3250_Z0 (45.8501) | | #define VIPS_D3250_Z0 (45.8501) | |
| | | | |
| typedef enum { | | typedef enum { | |
| VIPS_INTENT_PERCEPTUAL = 0, | | VIPS_INTENT_PERCEPTUAL = 0, | |
| VIPS_INTENT_RELATIVE, | | VIPS_INTENT_RELATIVE, | |
| VIPS_INTENT_SATURATION, | | VIPS_INTENT_SATURATION, | |
|
| VIPS_INTENT_ABSOLUTE | | VIPS_INTENT_ABSOLUTE, | |
| | | VIPS_INTENT_LAST | |
| } VipsIntent; | | } VipsIntent; | |
| | | | |
| typedef enum { | | typedef enum { | |
| VIPS_PCS_LAB, | | VIPS_PCS_LAB, | |
| VIPS_PCS_XYZ, | | VIPS_PCS_XYZ, | |
| VIPS_PCS_LAST | | VIPS_PCS_LAST | |
| } VipsPCS; | | } VipsPCS; | |
| | | | |
| gboolean vips_colourspace_issupported( const VipsImage *image ); | | gboolean vips_colourspace_issupported( const VipsImage *image ); | |
| int vips_colourspace( VipsImage *in, VipsImage **out, | | int vips_colourspace( VipsImage *in, VipsImage **out, | |
| | | | |
| skipping to change at line 145 | | skipping to change at line 146 | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_Lab2XYZ( VipsImage *in, VipsImage **out, ... ) | | int vips_Lab2XYZ( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_XYZ2Lab( VipsImage *in, VipsImage **out, ... ) | | int vips_XYZ2Lab( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| | | | |
| int vips_XYZ2scRGB( VipsImage *in, VipsImage **out, ... ) | | int vips_XYZ2scRGB( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_scRGB2sRGB( VipsImage *in, VipsImage **out, ... ) | | int vips_scRGB2sRGB( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
|
| | | int vips_scRGB2BW( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| int vips_sRGB2scRGB( VipsImage *in, VipsImage **out, ... ) | | int vips_sRGB2scRGB( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_scRGB2XYZ( VipsImage *in, VipsImage **out, ... ) | | int vips_scRGB2XYZ( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| | | | |
| int vips_LCh2CMC( VipsImage *in, VipsImage **out, ... ) | | int vips_LCh2CMC( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_CMC2LCh( VipsImage *in, VipsImage **out, ... ) | | int vips_CMC2LCh( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_XYZ2Yxy( VipsImage *in, VipsImage **out, ... ) | | int vips_XYZ2Yxy( VipsImage *in, VipsImage **out, ... ) | |
| | | | |
| skipping to change at line 207 | | skipping to change at line 210 | |
| | | | |
| int vips_col_sRGB2scRGB_8( int r, int g, int b, float *R, float *G, float *
B ); | | int vips_col_sRGB2scRGB_8( int r, int g, int b, float *R, float *G, float *
B ); | |
| int vips_col_sRGB2scRGB_16( int r, int g, int b, float *R, float *G, float
*B ); | | int vips_col_sRGB2scRGB_16( int r, int g, int b, float *R, float *G, float
*B ); | |
| | | | |
| int vips_col_scRGB2XYZ( float R, float G, float B, | | int vips_col_scRGB2XYZ( float R, float G, float B, | |
| float *X, float *Y, float *Z ); | | float *X, float *Y, float *Z ); | |
| int vips_col_XYZ2scRGB( float X, float Y, float Z, | | int vips_col_XYZ2scRGB( float X, float Y, float Z, | |
| float *R, float *G, float *B ); | | float *R, float *G, float *B ); | |
| | | | |
| int vips_col_scRGB2sRGB_8( float R, float G, float B, | | int vips_col_scRGB2sRGB_8( float R, float G, float B, | |
|
| int *r, int *g, int *b, | | int *r, int *g, int *b, int *og ); | |
| int *or_ret ); | | | |
| int vips_col_scRGB2sRGB_16( float R, float G, float B, | | int vips_col_scRGB2sRGB_16( float R, float G, float B, | |
|
| int *r, int *g, int *b, | | int *r, int *g, int *b, int *og ); | |
| int *or_ret ); | | int vips_col_scRGB2BW_16( float R, float G, float B, int *g, int *og ); | |
| | | int vips_col_scRGB2BW_8( float R, float G, float B, int *g, int *og ); | |
| | | | |
| float vips_pythagoras( float L1, float a1, float b1, | | float vips_pythagoras( float L1, float a1, float b1, | |
| float L2, float a2, float b2 ); | | float L2, float a2, float b2 ); | |
| float vips_col_dE00( | | float vips_col_dE00( | |
| float L1, float a1, float b1, float L2, float a2, float b2 ); | | float L1, float a1, float b1, float L2, float a2, float b2 ); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
| | | | |
End of changes. 4 change blocks. |
| 5 lines changed or deleted | | 8 lines changed or added | |
|
| error.h | | error.h | |
| | | | |
| skipping to change at line 56 | | skipping to change at line 56 | |
| 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_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_set( gboolean info ); | |
| 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))); | |
| | | | |
| int vips_check_uncoded( const char *domain, VipsImage *im ); | | int vips_check_uncoded( const char *domain, VipsImage *im ); | |
| int vips_check_coding( const char *domain, VipsImage *im, VipsCoding coding
); | | int vips_check_coding( const char *domain, VipsImage *im, VipsCoding coding
); | |
| int vips_check_coding_known( const char *domain, VipsImage *im ); | | int vips_check_coding_known( const char *domain, VipsImage *im ); | |
| | | | |
End of changes. 1 change blocks. |
| 0 lines changed or deleted | | 1 lines changed or added | |
|
| foreign.h | | foreign.h | |
|
| /* Base type for supported image foreigns. Subclass this to add a new | | /* Base type for supported image formats. Subclass this to add a new | |
| * foreign. | | * format. | |
| */ | | */ | |
| | | | |
| /* | | /* | |
| | | | |
|
| This foreign is part of VIPS. | | This file is part of VIPS. | |
| | | | |
| VIPS is free software; you can redistribute it and/or modify | | VIPS is free software; you can redistribute it and/or modify | |
| it under the terms of the GNU Lesser General Public License as publishe
d by | | it under the terms of the GNU Lesser General Public License as publishe
d by | |
| the Free Software Foundation; either version 2 of the License, or | | the Free Software Foundation; either version 2 of the License, or | |
| (at your option) any later version. | | (at your option) any later version. | |
| | | | |
| This program is distributed in the hope that it will be useful, | | This program is distributed in the hope that it will be useful, | |
| but WITHOUT ANY WARRANTY; without even the implied warranty of | | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| GNU Lesser General Public License for more details. | | GNU Lesser General Public License for more details. | |
| | | | |
| You should have received a copy of the GNU Lesser General Public Licens
e | | You should have received a copy of the GNU Lesser General Public Licens
e | |
| along with this program; if not, write to the Free Software | | along with this program; if not, write to the Free Software | |
| Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | |
| 02110-1301 USA | | 02110-1301 USA | |
| | | | |
| */ | | */ | |
| | | | |
| /* | | /* | |
| | | | |
|
| These foreigns 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 VIPS_FOREIGN_H | | #ifndef VIPS_FOREIGN_H | |
| #define VIPS_FOREIGN_H | | #define VIPS_FOREIGN_H | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
| | | | |
| skipping to change at line 143 | | skipping to change at line 143 | |
| */ | | */ | |
| gboolean sequential; | | gboolean sequential; | |
| | | | |
| /*< public >*/ | | /*< public >*/ | |
| | | | |
| /* The image we generate. This must be set by ->header(). | | /* The image we generate. This must be set by ->header(). | |
| */ | | */ | |
| VipsImage *out; | | VipsImage *out; | |
| | | | |
| /* The behind-the-scenes real image we decompress to. This can be a | | /* The behind-the-scenes real image we decompress to. This can be a | |
|
| * disc foreign or a memory buffer. This must be set by ->load(). | | * disc file or a memory buffer. This must be set by ->load(). | |
| */ | | */ | |
| VipsImage *real; | | VipsImage *real; | |
| | | | |
| /* Set this to tag the operation as nocache. | | /* Set this to tag the operation as nocache. | |
| */ | | */ | |
| gboolean nocache; | | gboolean nocache; | |
| } VipsForeignLoad; | | } VipsForeignLoad; | |
| | | | |
| typedef struct _VipsForeignLoadClass { | | typedef struct _VipsForeignLoadClass { | |
| VipsForeignClass parent_class; | | VipsForeignClass parent_class; | |
| | | | |
| skipping to change at line 221 | | skipping to change at line 221 | |
| int (*load)( VipsForeignLoad *load ); | | int (*load)( VipsForeignLoad *load ); | |
| } 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_buffer( void *data, size_t size ); | | const char *vips_foreign_find_load_buffer( void *data, size_t size ); | |
| | | | |
| 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 ); | |
|
| | | gboolean vips_foreign_is_a_buffer( const char *loader, void *data, size_t s
ize ); | |
| | | | |
| #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), \ | |
| VIPS_TYPE_FOREIGN_SAVE, VipsForeignSaveClass)) | | VIPS_TYPE_FOREIGN_SAVE, VipsForeignSaveClass)) | |
| #define VIPS_IS_FOREIGN_SAVE( obj ) \ | | #define VIPS_IS_FOREIGN_SAVE( obj ) \ | |
| (G_TYPE_CHECK_INSTANCE_TYPE( (obj), VIPS_TYPE_FOREIGN_SAVE )) | | (G_TYPE_CHECK_INSTANCE_TYPE( (obj), VIPS_TYPE_FOREIGN_SAVE )) | |
| | | | |
| skipping to change at line 242 | | skipping to change at line 243 | |
| (G_TYPE_CHECK_CLASS_TYPE( (klass), VIPS_TYPE_FOREIGN_SAVE )) | | (G_TYPE_CHECK_CLASS_TYPE( (klass), VIPS_TYPE_FOREIGN_SAVE )) | |
| #define VIPS_FOREIGN_SAVE_GET_CLASS( obj ) \ | | #define VIPS_FOREIGN_SAVE_GET_CLASS( obj ) \ | |
| (G_TYPE_INSTANCE_GET_CLASS( (obj), \ | | (G_TYPE_INSTANCE_GET_CLASS( (obj), \ | |
| VIPS_TYPE_FOREIGN_SAVE, VipsForeignSaveClass )) | | VIPS_TYPE_FOREIGN_SAVE, VipsForeignSaveClass )) | |
| | | | |
| /** | | /** | |
| * VipsSaveable: | | * VipsSaveable: | |
| * @VIPS_SAVEABLE_MONO: 1 band (eg. CSV) | | * @VIPS_SAVEABLE_MONO: 1 band (eg. CSV) | |
| * @VIPS_SAVEABLE_RGB: 1 or 3 bands (eg. PPM) | | * @VIPS_SAVEABLE_RGB: 1 or 3 bands (eg. PPM) | |
| * @VIPS_SAVEABLE_RGBA: 1, 2, 3 or 4 bands (eg. PNG) | | * @VIPS_SAVEABLE_RGBA: 1, 2, 3 or 4 bands (eg. PNG) | |
|
| | | * @VIPS_SAVEABLE_RGBA_ONLY: 3 or 4 bands (eg. WEBP) | |
| * @VIPS_SAVEABLE_RGB_CMYK: 1, 3 or 4 bands (eg. JPEG) | | * @VIPS_SAVEABLE_RGB_CMYK: 1, 3 or 4 bands (eg. JPEG) | |
| * @VIPS_SAVEABLE_ANY: any number of bands (eg. TIFF) | | * @VIPS_SAVEABLE_ANY: any number of bands (eg. TIFF) | |
| * | | * | |
| * See also: #VipsForeignSave. | | * See also: #VipsForeignSave. | |
| */ | | */ | |
| typedef enum { | | typedef enum { | |
| VIPS_SAVEABLE_MONO, | | VIPS_SAVEABLE_MONO, | |
| VIPS_SAVEABLE_RGB, | | VIPS_SAVEABLE_RGB, | |
| VIPS_SAVEABLE_RGBA, | | VIPS_SAVEABLE_RGBA, | |
|
| | | VIPS_SAVEABLE_RGBA_ONLY, | |
| VIPS_SAVEABLE_RGB_CMYK, | | VIPS_SAVEABLE_RGB_CMYK, | |
| VIPS_SAVEABLE_ANY, | | VIPS_SAVEABLE_ANY, | |
| VIPS_SAVEABLE_LAST | | VIPS_SAVEABLE_LAST | |
| } VipsSaveable; | | } VipsSaveable; | |
| | | | |
| typedef struct _VipsForeignSave { | | typedef struct _VipsForeignSave { | |
| VipsForeign parent_object; | | VipsForeign parent_object; | |
| | | | |
| /* Don't attach metadata. | | /* Don't attach metadata. | |
| */ | | */ | |
| | | | |
| skipping to change at line 317 | | skipping to change at line 320 | |
| * 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_buffer( const char *suffix ); | | const char *vips_foreign_find_save_buffer( const char *suffix ); | |
| | | | |
|
| | | int vips_vipsload( const char *filename, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_vipssave( 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, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| | | | |
| skipping to change at line 438 | | skipping to change at line 446 | |
| | | | |
| int vips_matrixload( const char *filename, VipsImage **out, ... ) | | int vips_matrixload( const char *filename, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_matrixsave( VipsImage *in, const char *filename, ... ) | | int vips_matrixsave( VipsImage *in, const char *filename, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_matrixprint( VipsImage *in, ... ) | | int vips_matrixprint( VipsImage *in, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| | | | |
| int vips_magickload( const char *filename, VipsImage **out, ... ) | | int vips_magickload( const char *filename, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
|
| | | int vips_magickload_buffer( void *buf, size_t len, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| /** | | /** | |
| * VipsForeignPngFilter: | | * VipsForeignPngFilter: | |
| * @VIPS_FOREIGN_PNG_FILTER_NONE: no filtering | | * @VIPS_FOREIGN_PNG_FILTER_NONE: no filtering | |
| * @VIPS_FOREIGN_PNG_FILTER_SUB: difference to the left | | * @VIPS_FOREIGN_PNG_FILTER_SUB: difference to the left | |
| * @VIPS_FOREIGN_PNG_FILTER_UP: difference up | | * @VIPS_FOREIGN_PNG_FILTER_UP: difference up | |
| * @VIPS_FOREIGN_PNG_FILTER_AVG: average of left and up | | * @VIPS_FOREIGN_PNG_FILTER_AVG: average of left and up | |
| * @VIPS_FOREIGN_PNG_FILTER_PAETH: pick best neighbor predictor automatical
ly | | * @VIPS_FOREIGN_PNG_FILTER_PAETH: pick best neighbor predictor automatical
ly | |
| * @VIPS_FOREIGN_PNG_FILTER_ALL: adaptive | | * @VIPS_FOREIGN_PNG_FILTER_ALL: adaptive | |
| * | | * | |
| | | | |
End of changes. 9 change blocks. |
| 5 lines changed or deleted | | 15 lines changed or added | |
|
| image.h | | image.h | |
| | | | |
| skipping to change at line 92 | | skipping to change at line 92 | |
| VIPS_INTERPRETATION_RGB = 17, | | VIPS_INTERPRETATION_RGB = 17, | |
| VIPS_INTERPRETATION_CMC = 18, | | VIPS_INTERPRETATION_CMC = 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_FOURIER = 24, | | VIPS_INTERPRETATION_FOURIER = 24, | |
| VIPS_INTERPRETATION_RGB16 = 25, | | VIPS_INTERPRETATION_RGB16 = 25, | |
| VIPS_INTERPRETATION_GREY16 = 26, | | VIPS_INTERPRETATION_GREY16 = 26, | |
| VIPS_INTERPRETATION_MATRIX = 27, | | VIPS_INTERPRETATION_MATRIX = 27, | |
|
| VIPS_INTERPRETATION_scRGB = 28 | | VIPS_INTERPRETATION_scRGB = 28, | |
| | | VIPS_INTERPRETATION_LAST = 29 | |
| } VipsInterpretation; | | } VipsInterpretation; | |
| | | | |
| typedef enum { | | typedef enum { | |
| VIPS_FORMAT_NOTSET = -1, | | VIPS_FORMAT_NOTSET = -1, | |
| VIPS_FORMAT_UCHAR = 0, | | VIPS_FORMAT_UCHAR = 0, | |
| VIPS_FORMAT_CHAR = 1, | | VIPS_FORMAT_CHAR = 1, | |
| VIPS_FORMAT_USHORT = 2, | | VIPS_FORMAT_USHORT = 2, | |
| VIPS_FORMAT_SHORT = 3, | | VIPS_FORMAT_SHORT = 3, | |
| VIPS_FORMAT_UINT = 4, | | VIPS_FORMAT_UINT = 4, | |
| VIPS_FORMAT_INT = 5, | | VIPS_FORMAT_INT = 5, | |
| | | | |
| skipping to change at line 353 | | skipping to change at line 354 | |
| */ | | */ | |
| void (*minimise)( VipsImage *image ); | | void (*minimise)( 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 | | /* 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. | | * huge images on platforms with 32-bit files. | |
| */ | | */ | |
|
| 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_format_sizeof((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 ) \ | | #define VIPS_IMAGE_N_PELS( I ) \ | |
| ((guint64) (I)->Xsize * (I)->Ysize) | | ((guint64) (I)->Xsize * (I)->Ysize) | |
| | | | |
| skipping to change at line 411 | | skipping to change at line 410 | |
| ((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*/ | |
| | | | |
|
| | | void vips_progress_set( gboolean progress ); | |
| | | | |
| 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_set_progress( VipsImage *image, gboolean progress ); | | void vips_image_set_progress( VipsImage *image, gboolean progress ); | |
| | | | |
| char *vips_filename_get_filename( const char *vips_filename ); | | char *vips_filename_get_filename( const char *vips_filename ); | |
| char *vips_filename_get_options( const char *vips_filename ); | | char *vips_filename_get_options( const char *vips_filename ); | |
| | | | |
| VipsImage *vips_image_new( void ); | | VipsImage *vips_image_new( void ); | |
| | | | |
| skipping to change at line 459 | | skipping to change at line 460 | |
| | | | |
| int vips_image_decode_predict( VipsImage *in, | | int vips_image_decode_predict( VipsImage *in, | |
| int *bands, VipsBandFormat *format ); | | int *bands, VipsBandFormat *format ); | |
| int vips_image_decode( VipsImage *in, VipsImage **out ); | | int vips_image_decode( VipsImage *in, VipsImage **out ); | |
| int vips_image_encode( VipsImage *in, VipsImage **out, VipsCoding coding ); | | 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 ); | |
| | | | |
|
| | | VipsImage *vips_image_copy_memory( 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_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 ); | |
| | | | |
End of changes. 5 change blocks. |
| 4 lines changed or deleted | | 6 lines changed or added | |
|
| region.h | | region.h | |
| | | | |
| skipping to change at line 117 | | skipping to change at line 117 | |
| int vips_region_region( VipsRegion *reg, VipsRegion *dest, | | int vips_region_region( VipsRegion *reg, VipsRegion *dest, | |
| VipsRect *r, int x, int y ); | | VipsRect *r, int x, int y ); | |
| int vips_region_equalsregion( VipsRegion *reg1, VipsRegion *reg2 ); | | int vips_region_equalsregion( VipsRegion *reg1, VipsRegion *reg2 ); | |
| int vips_region_position( VipsRegion *reg, int x, int y ); | | int vips_region_position( VipsRegion *reg, int x, int y ); | |
| | | | |
| void vips_region_paint( VipsRegion *reg, VipsRect *r, int value ); | | void vips_region_paint( VipsRegion *reg, VipsRect *r, int value ); | |
| 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_shrink( VipsRegion *from, VipsRegion *to, VipsRect *target
); | |
| | | | |
| 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_invalidate( VipsRegion *reg ); | |
| | | | |
| void vips_region_dump_all( void ); | | void vips_region_dump_all( void ); | |
| | | | |
| | | | |
End of changes. 1 change blocks. |
| 0 lines changed or deleted | | 1 lines changed or added | |
|