| arithmetic.h | | arithmetic.h | |
| | | | |
| skipping to change at line 151 | | skipping to change at line 151 | |
| * See also: vips_complex(). | | * See also: vips_complex(). | |
| */ | | */ | |
| typedef enum { | | typedef enum { | |
| VIPS_OPERATION_COMPLEX_POLAR, | | VIPS_OPERATION_COMPLEX_POLAR, | |
| VIPS_OPERATION_COMPLEX_RECT, | | VIPS_OPERATION_COMPLEX_RECT, | |
| VIPS_OPERATION_COMPLEX_CONJ, | | VIPS_OPERATION_COMPLEX_CONJ, | |
| VIPS_OPERATION_COMPLEX_LAST | | VIPS_OPERATION_COMPLEX_LAST | |
| } VipsOperationComplex; | | } VipsOperationComplex; | |
| | | | |
| /** | | /** | |
|
| | | * VipsOperationComplex2: | |
| | | * @VIPS_OPERATION_COMPLEX2_CROSS_PHASE: convert to polar coordinates | |
| | | * | |
| | | * See also: vips_complex2(). | |
| | | */ | |
| | | typedef enum { | |
| | | VIPS_OPERATION_COMPLEX2_CROSS_PHASE, | |
| | | VIPS_OPERATION_COMPLEX2_LAST | |
| | | } VipsOperationComplex2; | |
| | | | |
| | | /** | |
| * VipsOperationComplexget: | | * VipsOperationComplexget: | |
| * @VIPS_OPERATION_COMPLEXGET_REAL: get real component | | * @VIPS_OPERATION_COMPLEXGET_REAL: get real component | |
| * @VIPS_OPERATION_COMPLEXGET_IMAG: get imaginary component | | * @VIPS_OPERATION_COMPLEXGET_IMAG: get imaginary component | |
| * | | * | |
| * 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 | |
| | | | |
| skipping to change at line 233 | | skipping to change at line 244 | |
| int vips_complex( VipsImage *in, VipsImage **out, | | int vips_complex( VipsImage *in, VipsImage **out, | |
| VipsOperationComplex cmplx, ... ) | | VipsOperationComplex cmplx, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_polar( VipsImage *in, VipsImage **out, ... ) | | int vips_polar( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_rect( VipsImage *in, VipsImage **out, ... ) | | int vips_rect( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_conj( VipsImage *in, VipsImage **out, ... ) | | int vips_conj( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| | | | |
|
| | | int vips_complex2( VipsImage *left, VipsImage *right, VipsImage **out, | |
| | | VipsOperationComplex2 cmplx, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_cross_phase( VipsImage *left, VipsImage *right, VipsImage **out, . | |
| | | .. ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| int vips_complexget( VipsImage *in, VipsImage **out, | | int vips_complexget( VipsImage *in, VipsImage **out, | |
| VipsOperationComplexget get, ... ) | | VipsOperationComplexget get, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_real( VipsImage *in, VipsImage **out, ... ) | | int vips_real( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_imag( VipsImage *in, VipsImage **out, ... ) | | int vips_imag( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| | | | |
| int vips_complexform( VipsImage *left, VipsImage *right, VipsImage **out, .
.. ) | | int vips_complexform( VipsImage *left, VipsImage *right, VipsImage **out, .
.. ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| | | | |
| skipping to change at line 363 | | skipping to change at line 380 | |
| __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 im_maxpos_avg( VipsImage *im, double *xpos, double *ypos, double *out ) | | | |
| ; | | | |
| int im_maxpos_vec( VipsImage *im, int *xpos, int *ypos, double *maxima, int | | | |
| n ); | | | |
| int im_minpos_vec( VipsImage *im, int *xpos, int *ypos, double *minima, int | | | |
| n ); | | | |
| | | | |
| int im_linreg( VipsImage **ins, VipsImage *out, double *xs ); | | | |
| int im_point( VipsImage *im, VipsInterpolate *interpolate, | | | |
| double x, double y, int band, double *out ); | | | |
| int im_point_bilinear( VipsImage *im, | | | |
| double x, double y, int band, double *out ); | | | |
| | | | |
| int im_cross_phase( VipsImage *a, VipsImage *b, VipsImage *out ); | | | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
| #endif /*IM_ARITHMETIC_H*/ | | #endif /*IM_ARITHMETIC_H*/ | |
| | | | |
End of changes. 3 change blocks. |
| 15 lines changed or deleted | | 18 lines changed or added | |
|
| colour.h | | colour.h | |
| | | | |
| skipping to change at line 38 | | skipping to change at line 38 | |
| Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 U
SA | | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 U
SA | |
| | | | |
| */ | | */ | |
| | | | |
| /* | | /* | |
| | | | |
| These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk | | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk | |
| | | | |
| */ | | */ | |
| | | | |
|
| #ifndef IM_COLOUR_H | | #ifndef VIPS_COLOUR_H | |
| #define IM_COLOUR_H | | #define VIPS_COLOUR_H | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
|
| struct im_col_display; | | /* Areas under curves for Dxx. 2 degree observer. | |
| | | */ | |
| | | #define VIPS_D93_X0 (89.7400) | |
| | | #define VIPS_D93_Y0 (100.0) | |
| | | #define VIPS_D93_Z0 (130.7700) | |
| | | | |
| | | #define VIPS_D75_X0 (94.9682) | |
| | | #define VIPS_D75_Y0 (100.0) | |
| | | #define VIPS_D75_Z0 (122.5710) | |
| | | | |
| | | /* D65 temp 6504. | |
| | | */ | |
| | | #define VIPS_D65_X0 (95.0470) | |
| | | #define VIPS_D65_Y0 (100.0) | |
| | | #define VIPS_D65_Z0 (108.8827) | |
| | | | |
| | | #define VIPS_D55_X0 (95.6831) | |
| | | #define VIPS_D55_Y0 (100.0) | |
| | | #define VIPS_D55_Z0 (92.0871) | |
| | | | |
| | | #define VIPS_D50_X0 (96.4250) | |
| | | #define VIPS_D50_Y0 (100.0) | |
| | | #define VIPS_D50_Z0 (82.4680) | |
| | | | |
| | | /* A temp 2856k. | |
| | | */ | |
| | | #define VIPS_A_X0 (109.8503) | |
| | | #define VIPS_A_Y0 (100.0) | |
| | | #define VIPS_A_Z0 (35.5849) | |
| | | | |
| | | /* B temp 4874k. | |
| | | */ | |
| | | #define VIPS_B_X0 (99.0720) | |
| | | #define VIPS_B_Y0 (100.0) | |
| | | #define VIPS_B_Z0 (85.2230) | |
| | | | |
| | | /* C temp 6774k. | |
| | | */ | |
| | | #define VIPS_C_X0 (98.0700) | |
| | | #define VIPS_C_Y0 (100.0) | |
| | | #define VIPS_C_Z0 (118.2300) | |
| | | | |
| | | #define VIPS_E_X0 (100.0) | |
| | | #define VIPS_E_Y0 (100.0) | |
| | | #define VIPS_E_Z0 (100.0) | |
| | | | |
| | | #define VIPS_D3250_X0 (105.6590) | |
| | | #define VIPS_D3250_Y0 (100.0) | |
| | | #define VIPS_D3250_Z0 (45.8501) | |
| | | | |
| | | /** | |
| | | * VipsIntent: | |
| | | * @VIPS_INTENT_PERCEPTUAL: perceptual rendering intent | |
| | | * @VIPS_INTENT_RELATIVE: relative colorimetric rendering intent | |
| | | * @VIPS_INTENT_SATURATION: saturation rendering intent | |
| | | * @VIPS_INTENT_ABSOLUTE: absolute colorimetric rendering intent | |
| | | * | |
| | | * The rendering intent. #VIPS_INTENT_ABSOLUTE is best for | |
| | | * scientific work, #VIPS_INTENT_RELATIVE is usually best for | |
| | | * accurate communication with other imaging libraries. | |
| | | */ | |
| | | typedef enum { | |
| | | VIPS_INTENT_PERCEPTUAL = 0, | |
| | | VIPS_INTENT_RELATIVE, | |
| | | VIPS_INTENT_SATURATION, | |
| | | VIPS_INTENT_ABSOLUTE | |
| | | } VipsIntent; | |
| | | | |
|
| int vips_LabQ2disp( VipsImage *in, VipsImage **out, | | gboolean vips_colourspace_issupported( const VipsImage *image ); | |
| struct im_col_display *disp, ... ) | | int vips_colourspace( VipsImage *in, VipsImage **out, | |
| | | VipsInterpretation space, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| | | int vips_LabQ2sRGB( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_rad2float( VipsImage *in, VipsImage **out, ... ) | | int vips_rad2float( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_float2rad( VipsImage *in, VipsImage **out, ... ) | | int vips_float2rad( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_LabS2LabQ( VipsImage *in, VipsImage **out, ... ) | | int vips_LabS2LabQ( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
|
| | | int vips_LabQ2LabS( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| int vips_LabQ2Lab( VipsImage *in, VipsImage **out, ... ) | | int vips_LabQ2Lab( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_Lab2LabQ( VipsImage *in, VipsImage **out, ... ) | | int vips_Lab2LabQ( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_LCh2Lab( VipsImage *in, VipsImage **out, ... ) | | int vips_LCh2Lab( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
|
| | | int vips_Lab2LCh( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| int vips_Yxy2Lab( VipsImage *in, VipsImage **out, ... ) | | int vips_Yxy2Lab( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
|
| int vips_UCS2XYZ( VipsImage *in, VipsImage **out, ... ) | | int vips_CMC2XYZ( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_Lab2XYZ( VipsImage *in, VipsImage **out, ... ) | | int vips_Lab2XYZ( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
|
| int vips_XYZ2disp( VipsImage *in, VipsImage **out, | | int vips_XYZ2Lab( VipsImage *in, VipsImage **out, ... ) | |
| struct im_col_display *disp, ... ) | | | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| | | | |
|
| /* Areas under curves for Dxx. 2 degree observer. | | int vips_XYZ2scRGB( VipsImage *in, VipsImage **out, ... ) | |
| */ | | __attribute__((sentinel)); | |
| #define IM_D93_X0 (89.7400) | | int vips_scRGB2sRGB( VipsImage *in, VipsImage **out, ... ) | |
| #define IM_D93_Y0 (100.0) | | __attribute__((sentinel)); | |
| #define IM_D93_Z0 (130.7700) | | int vips_sRGB2scRGB( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| #define IM_D75_X0 (94.9682) | | int vips_scRGB2XYZ( VipsImage *in, VipsImage **out, ... ) | |
| #define IM_D75_Y0 (100.0) | | __attribute__((sentinel)); | |
| #define IM_D75_Z0 (122.5710) | | | |
| | | | |
|
| /* D65 temp 6504. | | int vips_LCh2CMC( VipsImage *in, VipsImage **out, ... ) | |
| */ | | __attribute__((sentinel)); | |
| #define IM_D65_X0 (95.0470) | | int vips_CMC2LCh( VipsImage *in, VipsImage **out, ... ) | |
| #define IM_D65_Y0 (100.0) | | __attribute__((sentinel)); | |
| #define IM_D65_Z0 (108.8827) | | int vips_XYZ2Yxy( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| #define IM_D55_X0 (95.6831) | | int vips_Yxy2XYZ( VipsImage *in, VipsImage **out, ... ) | |
| #define IM_D55_Y0 (100.0) | | __attribute__((sentinel)); | |
| #define IM_D55_Z0 (92.0871) | | int vips_LabS2Lab( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| #define IM_D50_X0 (96.4250) | | int vips_Lab2LabS( VipsImage *in, VipsImage **out, ... ) | |
| #define IM_D50_Y0 (100.0) | | __attribute__((sentinel)); | |
| #define IM_D50_Z0 (82.4680) | | | |
| | | | |
|
| /* A temp 2856k. | | int vips_icc_present( void ); | |
| */ | | int vips_icc_transform( VipsImage *in, VipsImage **out, | |
| #define IM_A_X0 (109.8503) | | const char *output_profile, ... ) | |
| #define IM_A_Y0 (100.0) | | __attribute__((sentinel)); | |
| #define IM_A_Z0 (35.5849) | | int vips_icc_import( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_icc_export( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_icc_ac2rc( VipsImage *in, VipsImage **out, | |
| | | const char *profile_filename ); | |
| | | | |
|
| /* B temp 4874k. | | int vips_dE76( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | |
| */ | | __attribute__((sentinel)); | |
| #define IM_B_X0 (99.0720) | | int vips_dE00( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | |
| #define IM_B_Y0 (100.0) | | __attribute__((sentinel)); | |
| #define IM_B_Z0 (85.2230) | | int vips_dECMC( VipsImage *left, VipsImage *right, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
|
| /* C temp 6774k. | | void vips_col_Lab2XYZ( float L, float a, float b, | |
| */ | | float *X, float *Y, float *Z ); | |
| #define IM_C_X0 (98.0700) | | void vips_col_XYZ2Lab( float X, float Y, float Z, | |
| #define IM_C_Y0 (100.0) | | float *L, float *a, float *b ); | |
| #define IM_C_Z0 (118.2300) | | double vips_col_ab2h( double a, double b ); | |
| | | void vips_col_ab2Ch( float a, float b, float *C, float *h ); | |
| #define IM_E_X0 (100.0) | | void vips_col_Ch2ab( float C, float h, float *a, float *b ); | |
| #define IM_E_Y0 (100.0) | | | |
| #define IM_E_Z0 (100.0) | | | |
| | | | |
| #define IM_D3250_X0 (105.6590) | | | |
| #define IM_D3250_Y0 (100.0) | | | |
| #define IM_D3250_Z0 (45.8501) | | | |
| | | | |
| /* Colour loading and conversion functions. | | | |
| */ | | | |
| void im_col_ab2Ch( float a, float b, float *C, float *h ); | | | |
| void im_col_Ch2ab( float C, float h, float *a, float *b ); | | | |
| void im_col_XYZ2Lab( float X, float Y, float Z, float *L, float *a, float * | | | |
| b ); | | | |
| void im_col_Lab2XYZ( float L, float a, float b, float *X, float *Y, float * | | | |
| Z ); | | | |
| float im_col_pythagoras( float L1, float a1, float b1, | | | |
| float L2, float a2, float b2 ); | | | |
| | | | |
|
| void im_col_make_tables_UCS( void ); | | float vips_col_L2Lcmc( float L ); | |
| | | float vips_col_C2Ccmc( float C ); | |
| | | float vips_col_Ch2hcmc( float C, float h ); | |
| | | | |
|
| float im_col_L2Lucs( float L ); | | void vips_col_make_tables_CMC( void ); | |
| float im_col_Lucs2L( float Lucs ); | | float vips_col_Lcmc2L( float Lcmc ); | |
| float im_col_C2Cucs( float C ); | | float vips_col_Ccmc2C( float Ccmc ); | |
| float im_col_Cucs2C( float Cucs ); | | float vips_col_Chcmc2h( float C, float hcmc ); | |
| float im_col_Ch2hucs( float C, float h ); | | | |
| float im_col_Chucs2h( float C, float hucs ); | | | |
| double im_col_ab2h( double a, double b ); | | | |
| | | | |
|
| float im_col_dECMC( | | int vips_col_sRGB2scRGB_8( int r, int g, int b, float *R, float *G, float * | |
| float L1, float a1, float b1, float L2, float a2, float b2 ); | | B ); | |
| float im_col_dE00( | | int vips_col_sRGB2scRGB_16( int r, int g, int b, float *R, float *G, float | |
| float L1, float a1, float b1, float L2, float a2, float b2 ); | | *B ); | |
| | | | |
|
| int im_LCh2Lab( VipsImage *in, VipsImage *out ); | | int vips_col_scRGB2XYZ( float R, float G, float B, | |
| int im_LabQ2XYZ( VipsImage *in, VipsImage *out ); | | float *X, float *Y, float *Z ); | |
| int im_rad2float( VipsImage *in, VipsImage *out ); | | int vips_col_XYZ2scRGB( float X, float Y, float Z, | |
| int im_float2rad( VipsImage *in, VipsImage *out ); | | float *R, float *G, float *B ); | |
| int im_LCh2UCS( VipsImage *in, VipsImage *out ); | | | |
| int im_Lab2LCh( VipsImage *in, VipsImage *out ); | | | |
| int im_Lab2LabQ( VipsImage *in, VipsImage *out ); | | | |
| int im_Lab2LabS( VipsImage *in, VipsImage *out ); | | | |
| int im_Lab2XYZ( VipsImage *in, VipsImage *out ); | | | |
| int im_Lab2XYZ_temp( VipsImage *in, VipsImage *out, | | | |
| double X0, double Y0, double Z0 ); | | | |
| int im_Lab2UCS( VipsImage *in, VipsImage *out ); | | | |
| int im_LabQ2Lab( VipsImage *in, VipsImage *out ); | | | |
| int im_LabQ2LabS( VipsImage *in, VipsImage *out ); | | | |
| int im_LabS2LabQ( VipsImage *in, VipsImage *out ); | | | |
| int im_LabS2Lab( VipsImage *in, VipsImage *out ); | | | |
| int im_UCS2XYZ( VipsImage *in, VipsImage *out ); | | | |
| int im_UCS2LCh( VipsImage *in, VipsImage *out ); | | | |
| int im_UCS2Lab( VipsImage *in, VipsImage *out ); | | | |
| int im_XYZ2Lab( VipsImage *in, VipsImage *out ); | | | |
| int im_XYZ2Lab_temp( VipsImage *in, VipsImage *out, | | | |
| double X0, double Y0, double Z0 ); | | | |
| int im_XYZ2UCS( VipsImage *in, VipsImage *out ); | | | |
| int im_sRGB2XYZ( VipsImage *in, VipsImage *out ); | | | |
| int im_XYZ2sRGB( VipsImage *in, VipsImage *out ); | | | |
| int im_Yxy2XYZ( VipsImage *in, VipsImage *out ); | | | |
| int im_XYZ2Yxy( VipsImage *in, VipsImage *out ); | | | |
| | | | |
| int im_dECMC_fromLab( VipsImage *in1, VipsImage *in2, VipsImage *out ); | | | |
| int im_dE00_fromLab( VipsImage *in1, VipsImage *in2, VipsImage *out ); | | | |
| int im_dE_fromXYZ( VipsImage *in1, VipsImage *in2, VipsImage *out ); | | | |
| int im_dE_fromLab( VipsImage *in1, VipsImage *in2, VipsImage *out ); | | | |
| | | | |
| int im_lab_morph( VipsImage *in, VipsImage *out, | | | |
| DOUBLEMASK *mask, | | | |
| double L_offset, double L_scale, | | | |
| double a_scale, double b_scale ); | | | |
| | | | |
|
| /* Render intents for icc wrappers. | | int vips_col_scRGB2sRGB_8( float R, float G, float B, | |
| */ | | int *r, int *g, int *b, | |
| typedef enum { | | int *or_ret ); | |
| IM_INTENT_PERCEPTUAL = 0, | | int vips_col_scRGB2sRGB_16( float R, float G, float B, | |
| IM_INTENT_RELATIVE_COLORIMETRIC, | | int *r, int *g, int *b, | |
| IM_INTENT_SATURATION, | | int *or_ret ); | |
| IM_INTENT_ABSOLUTE_COLORIMETRIC | | | |
| } VipsIntent; | | | |
| | | | |
|
| int im_icc_present( void ); | | float vips_pythagoras( float L1, float a1, float b1, | |
| int im_icc_transform( VipsImage *in, VipsImage *out, | | float L2, float a2, float b2 ); | |
| const char *input_profile_filename, | | float vips_col_dE00( | |
| const char *output_profile_filename, | | float L1, float a1, float b1, float L2, float a2, float b2 ); | |
| VipsIntent intent ); | | | |
| int im_icc_import( VipsImage *in, VipsImage *out, | | | |
| const char *input_profile_filename, VipsIntent intent ); | | | |
| int im_icc_import_embedded( VipsImage *in, VipsImage *out, VipsIntent inten | | | |
| t ); | | | |
| int im_icc_export_depth( VipsImage *in, VipsImage *out, int depth, | | | |
| const char *output_profile_filename, VipsIntent intent ); | | | |
| int im_icc_ac2rc( VipsImage *in, VipsImage *out, const char *profile_filena | | | |
| me ); | | | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
|
| #endif /*IM_COLOUR_H*/ | | #endif /*VIPS_COLOUR_H*/ | |
| | | | |
End of changes. 19 change blocks. |
| 134 lines changed or deleted | | 149 lines changed or added | |
|
| conversion.h | | conversion.h | |
| | | | |
| skipping to change at line 47 | | skipping to change at line 47 | |
| extern "C" { | | extern "C" { | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
| /** | | /** | |
| * VipsExtend: | | * VipsExtend: | |
| * @VIPS_EXTEND_BLACK: extend with black (all 0) pixels | | * @VIPS_EXTEND_BLACK: extend with black (all 0) pixels | |
| * @VIPS_EXTEND_COPY: copy the image edges | | * @VIPS_EXTEND_COPY: copy the image edges | |
| * @VIPS_EXTEND_REPEAT: repeat the whole image | | * @VIPS_EXTEND_REPEAT: repeat the whole image | |
| * @VIPS_EXTEND_MIRROR: mirror the whole image | | * @VIPS_EXTEND_MIRROR: mirror the whole image | |
| * @VIPS_EXTEND_WHITE: extend with white (all bits set) pixels | | * @VIPS_EXTEND_WHITE: extend with white (all bits set) pixels | |
|
| | | * @VIPS_EXTEND_BACKGROUND: extend with colour from the @background propert
y | |
| * | | * | |
| * See vips_embed(), vips_conv(), vips_affine() and so on. | | * See vips_embed(), vips_conv(), vips_affine() and so on. | |
| * | | * | |
| * When the edges of an image are extended, you can specify | | * When the edges of an image are extended, you can specify | |
| * how you want the extension done. | | * how you want the extension done. | |
| * | | * | |
| * #VIPS_EXTEND_BLACK --- new pixels are black, ie. all bits are zero. | | * #VIPS_EXTEND_BLACK --- new pixels are black, ie. all bits are zero. | |
| * | | * | |
| * #VIPS_EXTEND_COPY --- each new pixel takes the value of the nearest edge | | * #VIPS_EXTEND_COPY --- each new pixel takes the value of the nearest edge | |
| * pixel | | * pixel | |
| * | | * | |
| * #VIPS_EXTEND_REPEAT --- the image is tiled to fill the new area | | * #VIPS_EXTEND_REPEAT --- the image is tiled to fill the new area | |
| * | | * | |
| * #VIPS_EXTEND_MIRROR --- the image is reflected and tiled to reduce hash | | * #VIPS_EXTEND_MIRROR --- the image is reflected and tiled to reduce hash | |
| * edges | | * edges | |
| * | | * | |
| * #VIPS_EXTEND_WHITE --- new pixels are white, ie. all bits are set | | * #VIPS_EXTEND_WHITE --- new pixels are white, ie. all bits are set | |
|
| | | | |
| | | * #VIPS_EXTEND_BACKGROUND --- colour set from the @background property | |
| * | | * | |
| * We have to specify the exact value of each enum member since we have to | | * We have to specify the exact value of each enum member since we have to | |
| * keep these frozen for back compat with vips7. | | * keep these frozen for back compat with vips7. | |
| * | | * | |
| * See also: vips_embed(). | | * See also: vips_embed(). | |
| */ | | */ | |
| typedef enum { | | typedef enum { | |
|
| VIPS_EXTEND_BLACK = 0, | | VIPS_EXTEND_BLACK, | |
| VIPS_EXTEND_COPY = 1, | | VIPS_EXTEND_COPY, | |
| VIPS_EXTEND_REPEAT = 2, | | VIPS_EXTEND_REPEAT, | |
| VIPS_EXTEND_MIRROR = 3, | | VIPS_EXTEND_MIRROR, | |
| VIPS_EXTEND_WHITE = 4, | | VIPS_EXTEND_WHITE, | |
| VIPS_EXTEND_LAST = 5 | | VIPS_EXTEND_BACKGROUND, | |
| | | VIPS_EXTEND_LAST | |
| } VipsExtend; | | } VipsExtend; | |
| | | | |
| /** | | /** | |
| * VipsDirection: | | * VipsDirection: | |
| * @VIPS_DIRECTION_HORIZONTAL: left-right | | * @VIPS_DIRECTION_HORIZONTAL: left-right | |
| * @VIPS_DIRECTION_VERTICAL: top-bottom | | * @VIPS_DIRECTION_VERTICAL: top-bottom | |
| * | | * | |
| * See vips_flip(), vips_join() and so on. | | * See vips_flip(), vips_join() and so on. | |
| * | | * | |
| * Operations like vips_flip() need to be told whether to flip left-right o
r | | * Operations like vips_flip() need to be told whether to flip left-right o
r | |
| | | | |
| skipping to change at line 215 | | skipping to change at line 219 | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_cast_dpcomplex( VipsImage *in, VipsImage **out, ... ) | | int vips_cast_dpcomplex( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| | | | |
| int vips_bandjoin( VipsImage **in, VipsImage **out, int n, ... ) | | int vips_bandjoin( VipsImage **in, VipsImage **out, int n, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_bandjoin2( VipsImage *in1, VipsImage *in2, VipsImage **out, ... ) | | int vips_bandjoin2( VipsImage *in1, VipsImage *in2, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_bandmean( VipsImage *in, VipsImage **out, ... ) | | int vips_bandmean( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
|
| | | | |
| | | int vips_bandbool( VipsImage *in, VipsImage **out, | |
| | | VipsOperationBoolean operation, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_bandand( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_bandor( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | int vips_bandeor( VipsImage *in, VipsImage **out, ... ) | |
| | | __attribute__((sentinel)); | |
| | | | |
| int vips_recomb( VipsImage *in, VipsImage **out, VipsImage *m, ... ) | | int vips_recomb( VipsImage *in, VipsImage **out, VipsImage *m, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
|
| | | | |
| int vips_black( VipsImage **out, int width, int height, ... ) | | int vips_black( VipsImage **out, int width, int height, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_rot( VipsImage *in, VipsImage **out, VipsAngle angle, ... ) | | int vips_rot( VipsImage *in, VipsImage **out, VipsAngle angle, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| | | | |
| int vips_ifthenelse( VipsImage *cond, VipsImage *in1, VipsImage *in2, | | int vips_ifthenelse( VipsImage *cond, VipsImage *in1, VipsImage *in2, | |
| VipsImage **out, ... ) | | VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| int vips_flatten( VipsImage *in, VipsImage **out, ... ) | | int vips_flatten( VipsImage *in, VipsImage **out, ... ) | |
| __attribute__((sentinel)); | | __attribute__((sentinel)); | |
| | | | |
End of changes. 5 change blocks. |
| 6 lines changed or deleted | | 22 lines changed or added | |
|
| enumtypes.h | | enumtypes.h | |
| | | | |
| skipping to change at line 20 | | skipping to change at line 20 | |
| GType vips_foreign_flags_get_type (void) G_GNUC_CONST; | | GType vips_foreign_flags_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_FOREIGN_FLAGS (vips_foreign_flags_get_type()) | | #define VIPS_TYPE_FOREIGN_FLAGS (vips_foreign_flags_get_type()) | |
| GType vips_saveable_get_type (void) G_GNUC_CONST; | | GType vips_saveable_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_SAVEABLE (vips_saveable_get_type()) | | #define VIPS_TYPE_SAVEABLE (vips_saveable_get_type()) | |
| 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; | |
| | | #define VIPS_TYPE_FOREIGN_DZ_LAYOUT (vips_foreign_dz_layout_get_type()) | |
| | | GType vips_foreign_dz_depth_get_type (void) G_GNUC_CONST; | |
| | | #define VIPS_TYPE_FOREIGN_DZ_DEPTH (vips_foreign_dz_depth_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; | |
| #define VIPS_TYPE_OPERATION_BOOLEAN (vips_operation_boolean_get_type()) | | #define VIPS_TYPE_OPERATION_BOOLEAN (vips_operation_boolean_get_type()) | |
| GType vips_operation_complex_get_type (void) G_GNUC_CONST; | | GType vips_operation_complex_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_OPERATION_COMPLEX (vips_operation_complex_get_type()) | | #define VIPS_TYPE_OPERATION_COMPLEX (vips_operation_complex_get_type()) | |
|
| | | GType vips_operation_complex2_get_type (void) G_GNUC_CONST; | |
| | | #define VIPS_TYPE_OPERATION_COMPLEX2 (vips_operation_complex2_get_type()) | |
| GType vips_operation_complexget_get_type (void) G_GNUC_CONST; | | GType vips_operation_complexget_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_OPERATION_COMPLEXGET (vips_operation_complexget_get_type(
)) | | #define VIPS_TYPE_OPERATION_COMPLEXGET (vips_operation_complexget_get_type(
)) | |
| /* enumerations from "../../../libvips/include/vips/conversion.h" */ | | /* enumerations from "../../../libvips/include/vips/conversion.h" */ | |
| GType vips_extend_get_type (void) G_GNUC_CONST; | | GType vips_extend_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_EXTEND (vips_extend_get_type()) | | #define VIPS_TYPE_EXTEND (vips_extend_get_type()) | |
| GType vips_direction_get_type (void) G_GNUC_CONST; | | GType vips_direction_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_DIRECTION (vips_direction_get_type()) | | #define VIPS_TYPE_DIRECTION (vips_direction_get_type()) | |
| GType vips_align_get_type (void) G_GNUC_CONST; | | GType vips_align_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_ALIGN (vips_align_get_type()) | | #define VIPS_TYPE_ALIGN (vips_align_get_type()) | |
| GType vips_angle_get_type (void) G_GNUC_CONST; | | GType vips_angle_get_type (void) G_GNUC_CONST; | |
| | | | |
| skipping to change at line 60 | | skipping to change at line 66 | |
| GType vips_demand_style_get_type (void) G_GNUC_CONST; | | GType vips_demand_style_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_DEMAND_STYLE (vips_demand_style_get_type()) | | #define VIPS_TYPE_DEMAND_STYLE (vips_demand_style_get_type()) | |
| GType vips_image_type_get_type (void) G_GNUC_CONST; | | GType vips_image_type_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_IMAGE_TYPE (vips_image_type_get_type()) | | #define VIPS_TYPE_IMAGE_TYPE (vips_image_type_get_type()) | |
| GType vips_interpretation_get_type (void) G_GNUC_CONST; | | GType vips_interpretation_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_INTERPRETATION (vips_interpretation_get_type()) | | #define VIPS_TYPE_INTERPRETATION (vips_interpretation_get_type()) | |
| GType vips_band_format_get_type (void) G_GNUC_CONST; | | GType vips_band_format_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_BAND_FORMAT (vips_band_format_get_type()) | | #define VIPS_TYPE_BAND_FORMAT (vips_band_format_get_type()) | |
| GType vips_coding_get_type (void) G_GNUC_CONST; | | GType vips_coding_get_type (void) G_GNUC_CONST; | |
| #define VIPS_TYPE_CODING (vips_coding_get_type()) | | #define VIPS_TYPE_CODING (vips_coding_get_type()) | |
|
| | | /* enumerations from "../../../libvips/include/vips/colour.h" */ | |
| | | GType vips_intent_get_type (void) G_GNUC_CONST; | |
| | | #define VIPS_TYPE_INTENT (vips_intent_get_type()) | |
| /* enumerations from "../../../libvips/include/vips/operation.h" */ | | /* enumerations from "../../../libvips/include/vips/operation.h" */ | |
| 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/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*/ | |
| | | | |
| | | | |
End of changes. 3 change blocks. |
| 0 lines changed or deleted | | 9 lines changed or added | |
|
| error.h | | error.h | |
| | | | |
| skipping to change at line 59 | | skipping to change at line 59 | |
| __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_diag( const char *domain, const char *fmt, ... ) | | void vips_diag( const char *domain, const char *fmt, ... ) | |
| __attribute__((format(printf, 2, 3))); | | __attribute__((format(printf, 2, 3))); | |
| void vips_vdiag( const char *domain, const char *fmt, va_list ap ); | | void vips_vdiag( 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_known( const char *domain, VipsImage *im ); | | int vips_check_coding_known( const char *domain, VipsImage *im ); | |
|
| int vips_check_coding_labq( const char *domain, VipsImage *im ); | | | |
| int vips_check_coding_rad( const char *domain, VipsImage *im ); | | | |
| int vips_check_coding_noneorlabq( const char *domain, VipsImage *im ); | | int vips_check_coding_noneorlabq( const char *domain, VipsImage *im ); | |
| int vips_check_coding_same( const char *domain, VipsImage *im1, VipsImage *
im2 ); | | int vips_check_coding_same( const char *domain, VipsImage *im1, VipsImage *
im2 ); | |
| int vips_check_mono( const char *domain, VipsImage *im ); | | int vips_check_mono( const char *domain, VipsImage *im ); | |
|
| int vips_check_bands_1or3( const char *domain, VipsImage *in ); | | | |
| int vips_check_bands( const char *domain, VipsImage *im, int bands ); | | int vips_check_bands( const char *domain, VipsImage *im, int bands ); | |
|
| | | int vips_check_bands_1or3( const char *domain, VipsImage *in ); | |
| | | int vips_check_bands_atleast( const char *domain, VipsImage *im, int bands | |
| | | ); | |
| int vips_check_bands_1orn( const char *domain, VipsImage *im1, VipsImage *i
m2 ); | | int vips_check_bands_1orn( const char *domain, VipsImage *im1, VipsImage *i
m2 ); | |
| int vips_check_bands_1orn_unary( const char *domain, VipsImage *im, int n )
; | | int vips_check_bands_1orn_unary( const char *domain, VipsImage *im, int n )
; | |
| int vips_check_bands_same( const char *domain, VipsImage *im1, VipsImage *i
m2 ); | | int vips_check_bands_same( const char *domain, VipsImage *im1, VipsImage *i
m2 ); | |
| int vips_check_bandno( const char *domain, VipsImage *im, int bandno ); | | int vips_check_bandno( const char *domain, VipsImage *im, int bandno ); | |
| int vips_check_int( const char *domain, VipsImage *im ); | | int vips_check_int( const char *domain, VipsImage *im ); | |
| int vips_check_uint( const char *domain, VipsImage *im ); | | int vips_check_uint( const char *domain, VipsImage *im ); | |
| int vips_check_uintorf( const char *domain, VipsImage *im ); | | int vips_check_uintorf( const char *domain, VipsImage *im ); | |
| int vips_check_noncomplex( const char *domain, VipsImage *im ); | | int vips_check_noncomplex( const char *domain, VipsImage *im ); | |
| int vips_check_complex( const char *domain, VipsImage *im ); | | int vips_check_complex( const char *domain, VipsImage *im ); | |
| int vips_check_format( const char *domain, VipsImage *im, VipsBandFormat fm
t ); | | int vips_check_format( const char *domain, VipsImage *im, VipsBandFormat fm
t ); | |
| int vips_check_u8or16( const char *domain, VipsImage *im ); | | int vips_check_u8or16( const char *domain, VipsImage *im ); | |
| int vips_check_8or16( const char *domain, VipsImage *im ); | | int vips_check_8or16( const char *domain, VipsImage *im ); | |
| int vips_check_u8or16orf( const char *domain, VipsImage *im ); | | int vips_check_u8or16orf( const char *domain, VipsImage *im ); | |
| int vips_check_format_same( const char *domain, VipsImage *im1, VipsImage *
im2 ); | | int vips_check_format_same( const char *domain, VipsImage *im1, VipsImage *
im2 ); | |
| int vips_check_size_same( const char *domain, VipsImage *im1, VipsImage *im
2 ); | | int vips_check_size_same( const char *domain, VipsImage *im1, VipsImage *im
2 ); | |
|
| | | int vips_check_vector_length( const char *domain, int n, int len ); | |
| int vips_check_vector( const char *domain, int n, VipsImage *im ); | | int vips_check_vector( const char *domain, int n, VipsImage *im ); | |
| int vips_check_hist( const char *domain, VipsImage *im ); | | int vips_check_hist( const char *domain, VipsImage *im ); | |
|
| | | int vips_check_matrix( const char *domain, VipsImage *im, VipsImage **out ) | |
| | | ; | |
| | | | |
| int vips_check_imask( const char *domain, INTMASK *mask ); | | int vips_check_imask( const char *domain, INTMASK *mask ); | |
| int vips_check_dmask( const char *domain, DOUBLEMASK *mask ); | | int vips_check_dmask( const char *domain, DOUBLEMASK *mask ); | |
| int vips_check_dmask_1d( const char *domain, DOUBLEMASK *mask ); | | int vips_check_dmask_1d( const char *domain, DOUBLEMASK *mask ); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
| #endif /*VIPS_ERROR_H*/ | | #endif /*VIPS_ERROR_H*/ | |
| | | | |
End of changes. 6 change blocks. |
| 3 lines changed or deleted | | 8 lines changed or added | |
|
| image.h | | image.h | |
| | | | |
| skipping to change at line 112 | | skipping to change at line 112 | |
| VIPS_IMAGE_SETBUF_FOREIGN, /* memory array, don't free on close
*/ | | VIPS_IMAGE_SETBUF_FOREIGN, /* memory array, don't free on close
*/ | |
| VIPS_IMAGE_OPENIN, /* input from fd with a window */ | | VIPS_IMAGE_OPENIN, /* input from fd with a window */ | |
| VIPS_IMAGE_MMAPIN, /* memory mapped input file */ | | VIPS_IMAGE_MMAPIN, /* memory mapped input file */ | |
| VIPS_IMAGE_MMAPINRW, /* memory mapped read/write file */ | | VIPS_IMAGE_MMAPINRW, /* memory mapped read/write file */ | |
| VIPS_IMAGE_OPENOUT, /* output to fd */ | | VIPS_IMAGE_OPENOUT, /* output to fd */ | |
| VIPS_IMAGE_PARTIAL /* partial image */ | | VIPS_IMAGE_PARTIAL /* partial image */ | |
| } VipsImageType; | | } VipsImageType; | |
| | | | |
| /** | | /** | |
| * VipsInterpretation: | | * VipsInterpretation: | |
|
| * @VIPS_INTERPREATION_MULTIBAND: generic many-band image | | * @VIPS_INTERPRETATION_MULTIBAND: generic many-band image | |
| * @VIPS_INTERPREATION_B_W: some kind of single-band image | | * @VIPS_INTERPRETATION_B_W: some kind of single-band image | |
| * @VIPS_INTERPREATION_HISTOGRAM: a 1D image such as a histogram or lookup | | * @VIPS_INTERPRETATION_HISTOGRAM: a 1D image, eg. histogram or lookup tabl | |
| table | | e | |
| * @VIPS_INTERPREATION_FOURIER: image is in fourier space | | * @VIPS_INTERPRETATION_FOURIER: image is in fourier space | |
| * @VIPS_INTERPREATION_XYZ: the first three bands are CIE XYZ | | * @VIPS_INTERPRETATION_XYZ: the first three bands are CIE XYZ | |
| * @VIPS_INTERPREATION_LAB: pixels are in CIE Lab space | | * @VIPS_INTERPRETATION_LAB: pixels are in CIE Lab space | |
| * @VIPS_INTERPREATION_CMYK: the first four bands are in CMYK space | | * @VIPS_INTERPRETATION_CMYK: the first four bands are in CMYK space | |
| * @VIPS_INTERPREATION_LABQ: implies #VIPS_CODING_LABQ | | * @VIPS_INTERPRETATION_LABQ: implies #VIPS_CODING_LABQ | |
| * @VIPS_INTERPREATION_RGB: generic RGB space | | * @VIPS_INTERPRETATION_RGB: generic RGB space | |
| * @VIPS_INTERPREATION_UCS: a uniform colourspace based on CMC | | * @VIPS_INTERPRETATION_CMC: a uniform colourspace based on CMC(1:1) | |
| * @VIPS_INTERPREATION_LCH: pixels are in CIE LCh space | | * @VIPS_INTERPRETATION_LCH: pixels are in CIE LCh space | |
| * @VIPS_INTERPREATION_LABS: CIE LAB coded as three signed 16-bit values | | * @VIPS_INTERPRETATION_LABS: CIE LAB coded as three signed 16-bit values | |
| * @VIPS_INTERPREATION_sRGB: pixels are sRGB | | * @VIPS_INTERPRETATION_sRGB: pixels are sRGB | |
| * @VIPS_INTERPREATION_YXY: pixels are CIE Yxy | | * @VIPS_INTERPRETATION_scRGB: pixels are scRGB | |
| * @VIPS_INTERPREATION_RGB16: generic 16-bit RGB | | * @VIPS_INTERPRETATION_YXY: pixels are CIE Yxy | |
| * @VIPS_INTERPREATION_GREY16: generic 16-bit mono | | * @VIPS_INTERPRETATION_RGB16: generic 16-bit RGB | |
| * @VIPS_INTERPREATION_ARRAY: an array | | * @VIPS_INTERPRETATION_GREY16: generic 16-bit mono | |
| | | * @VIPS_INTERPRETATION_ARRAY: an array | |
| * | | * | |
| * How the values in an image should be interpreted. For example, a | | * How the values in an image should be interpreted. For example, a | |
|
| * three-band float image of type #VIPS_INTERPREATION_LAB should have its p | | * three-band float image of type #VIPS_INTERPRETATION_LAB should have its | |
| ixels | | * pixels interpreted as coordinates in CIE Lab space. | |
| * interpreted as coordinates in CIE Lab space. | | | |
| * | | * | |
| * These values are set by operations as hints to user-interfaces built on
top | | * These values are set by operations as hints to user-interfaces built on
top | |
| * of VIPS to help them show images to the user in a meaningful way. | | * of VIPS to help them show images to the user in a meaningful way. | |
| * Operations do not use these values to decide their action. | | * Operations do not use these values to decide their action. | |
| * | | * | |
| * The gaps in the numbering are historical and must be maintained. Allocat
e | | * The gaps in the numbering are historical and must be maintained. Allocat
e | |
| * new numbers from the end. | | * new numbers from the end. | |
| */ | | */ | |
| typedef enum { | | typedef enum { | |
| VIPS_INTERPRETATION_ERROR = -1, | | VIPS_INTERPRETATION_ERROR = -1, | |
| VIPS_INTERPRETATION_MULTIBAND = 0, | | VIPS_INTERPRETATION_MULTIBAND = 0, | |
| VIPS_INTERPRETATION_B_W = 1, | | VIPS_INTERPRETATION_B_W = 1, | |
| VIPS_INTERPRETATION_HISTOGRAM = 10, | | VIPS_INTERPRETATION_HISTOGRAM = 10, | |
|
| VIPS_INTERPRETATION_FOURIER = 24, | | | |
| VIPS_INTERPRETATION_XYZ = 12, | | VIPS_INTERPRETATION_XYZ = 12, | |
| VIPS_INTERPRETATION_LAB = 13, | | VIPS_INTERPRETATION_LAB = 13, | |
| VIPS_INTERPRETATION_CMYK = 15, | | VIPS_INTERPRETATION_CMYK = 15, | |
| VIPS_INTERPRETATION_LABQ = 16, | | VIPS_INTERPRETATION_LABQ = 16, | |
| VIPS_INTERPRETATION_RGB = 17, | | VIPS_INTERPRETATION_RGB = 17, | |
|
| VIPS_INTERPRETATION_UCS = 18, | | VIPS_INTERPRETATION_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_RGB16 = 25, | | VIPS_INTERPRETATION_RGB16 = 25, | |
| VIPS_INTERPRETATION_GREY16 = 26, | | VIPS_INTERPRETATION_GREY16 = 26, | |
|
| VIPS_INTERPRETATION_ARRAY = 27 | | VIPS_INTERPRETATION_ARRAY = 27, | |
| | | VIPS_INTERPRETATION_scRGB = 28 | |
| } VipsInterpretation; | | } VipsInterpretation; | |
| | | | |
| /** | | /** | |
| * VipsBandFormat: | | * VipsBandFormat: | |
| * @VIPS_FORMAT_NOTSET: invalid setting | | * @VIPS_FORMAT_NOTSET: invalid setting | |
| * @VIPS_FORMAT_UCHAR: unsigned char format | | * @VIPS_FORMAT_UCHAR: unsigned char format | |
| * @VIPS_FORMAT_CHAR: char format | | * @VIPS_FORMAT_CHAR: char format | |
| * @VIPS_FORMAT_USHORT: unsigned short format | | * @VIPS_FORMAT_USHORT: unsigned short format | |
| * @VIPS_FORMAT_SHORT: short format | | * @VIPS_FORMAT_SHORT: short format | |
| * @VIPS_FORMAT_UINT: unsigned int format | | * @VIPS_FORMAT_UINT: unsigned int format | |
| | | | |
| skipping to change at line 495 | | skipping to change at line 497 | |
| | | | |
| 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_preeval( VipsImage *image ); | |
| void vips_image_eval( VipsImage *image, guint64 processed ); | | void vips_image_eval( VipsImage *image, guint64 processed ); | |
| void vips_image_posteval( VipsImage *image ); | | void vips_image_posteval( VipsImage *image ); | |
| void vips_image_set_progress( VipsImage *image, gboolean progress ); | | void vips_image_set_progress( VipsImage *image, gboolean progress ); | |
| | | | |
|
| gboolean vips_image_get_kill( VipsImage *image ); | | gboolean vips_image_iskilled( VipsImage *image ); | |
| void vips_image_set_kill( VipsImage *image, gboolean kill ); | | void vips_image_set_kill( VipsImage *image, gboolean kill ); | |
| | | | |
| VipsImage *vips_image_new( void ); | | VipsImage *vips_image_new( void ); | |
| VipsImage *vips_image_new_mode( const char *filename, const char *mode ); | | VipsImage *vips_image_new_mode( const char *filename, const char *mode ); | |
| VipsImage *vips_image_new_buffer( void ); | | VipsImage *vips_image_new_buffer( void ); | |
| VipsImage *vips_image_new_from_file( const char *filename ); | | VipsImage *vips_image_new_from_file( const char *filename ); | |
| VipsImage *vips_image_new_from_file_raw( const char *filename, | | VipsImage *vips_image_new_from_file_raw( const char *filename, | |
| int xsize, int ysize, int bands, 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 ); | |
| | | | |
End of changes. 7 change blocks. |
| 25 lines changed or deleted | | 26 lines changed or added | |
|
| object.h | | object.h | |
| | | | |
| skipping to change at line 133 | | skipping to change at line 133 | |
| \ | | \ | |
| pspec = g_param_spec_object( (NAME), (LONG), (DESC), \ | | pspec = g_param_spec_object( (NAME), (LONG), (DESC), \ | |
| VIPS_TYPE_IMAGE, \ | | VIPS_TYPE_IMAGE, \ | |
| G_PARAM_READWRITE ); \ | | G_PARAM_READWRITE ); \ | |
| g_object_class_install_property( G_OBJECT_CLASS( CLASS ), \ | | g_object_class_install_property( G_OBJECT_CLASS( CLASS ), \ | |
| _vips__argument_id++, pspec ); \ | | _vips__argument_id++, pspec ); \ | |
| vips_object_class_install_argument( VIPS_OBJECT_CLASS( CLASS ), \ | | vips_object_class_install_argument( VIPS_OBJECT_CLASS( CLASS ), \ | |
| pspec, (FLAGS), (PRIORITY), (OFFSET) ); \ | | pspec, (FLAGS), (PRIORITY), (OFFSET) ); \ | |
| } | | } | |
| | | | |
|
| | | #define VIPS_ARG_INTERPOLATE( CLASS, NAME, PRIORITY, LONG, DESC, FLAGS, OFF | |
| | | SET ) { \ | |
| | | GParamSpec *pspec; \ | |
| | | \ | |
| | | pspec = g_param_spec_object( (NAME), (LONG), (DESC), \ | |
| | | VIPS_TYPE_INTERPOLATE, \ | |
| | | G_PARAM_READWRITE ); \ | |
| | | g_object_class_install_property( G_OBJECT_CLASS( CLASS ), \ | |
| | | _vips__argument_id++, pspec ); \ | |
| | | vips_object_class_install_argument( VIPS_OBJECT_CLASS( CLASS ), \ | |
| | | pspec, (FLAGS), (PRIORITY), (OFFSET) ); \ | |
| | | } | |
| | | | |
| #define VIPS_ARG_BOOL( CLASS, NAME, PRIORITY, LONG, DESC, \ | | #define VIPS_ARG_BOOL( CLASS, NAME, PRIORITY, LONG, DESC, \ | |
| FLAGS, OFFSET, VALUE ) { \ | | FLAGS, OFFSET, VALUE ) { \ | |
| GParamSpec *pspec; \ | | GParamSpec *pspec; \ | |
| \ | | \ | |
| pspec = g_param_spec_boolean( (NAME), (LONG), (DESC), \ | | pspec = g_param_spec_boolean( (NAME), (LONG), (DESC), \ | |
| (VALUE), \ | | (VALUE), \ | |
| G_PARAM_READWRITE ); \ | | G_PARAM_READWRITE ); \ | |
| g_object_class_install_property( G_OBJECT_CLASS( CLASS ), \ | | g_object_class_install_property( G_OBJECT_CLASS( CLASS ), \ | |
| _vips__argument_id++, pspec ); \ | | _vips__argument_id++, pspec ); \ | |
| vips_object_class_install_argument( VIPS_OBJECT_CLASS( CLASS ), \ | | vips_object_class_install_argument( VIPS_OBJECT_CLASS( CLASS ), \ | |
| | | | |
| skipping to change at line 316 | | skipping to change at line 328 | |
| 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 ); | |
| 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_get_argument_assigned( VipsObject *object, | | gboolean vips_object_argument_isset( VipsObject *object, const char *name ) | |
| 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 | |
| * use vips_argument_map(), the preferred looper. Have the loop code as a | | * use vips_argument_map(), the preferred looper. Have the loop code as a | |
| * macro as well for these odd cases. | | * macro as well for these odd cases. | |
| */ | | */ | |
| #define VIPS_ARGUMENT_FOR_ALL( OBJECT, PSPEC, ARG_CLASS, ARG_INSTANCE ) { \ | | #define VIPS_ARGUMENT_FOR_ALL( OBJECT, PSPEC, ARG_CLASS, ARG_INSTANCE ) { \ | |
| VipsObjectClass *object_class = VIPS_OBJECT_GET_CLASS( OBJECT ); \ | | VipsObjectClass *object_class = VIPS_OBJECT_GET_CLASS( OBJECT ); \ | |
| | | | |
| skipping to change at line 342 | | skipping to change at line 353 | |
| (VipsArgumentClass *) p->data; \ | | (VipsArgumentClass *) p->data; \ | |
| VipsArgument *argument = (VipsArgument *) argument_class; \ | | VipsArgument *argument = (VipsArgument *) argument_class; \ | |
| GParamSpec *PSPEC = argument->pspec; \ | | GParamSpec *PSPEC = argument->pspec; \ | |
| VipsArgumentInstance *ARG_INSTANCE __attribute__ ((unused))
= \ | | VipsArgumentInstance *ARG_INSTANCE __attribute__ ((unused))
= \ | |
| vips__argument_get_instance( argument_class, \ | | vips__argument_get_instance( argument_class, \ | |
| VIPS_OBJECT( OBJECT ) ); \ | | VIPS_OBJECT( OBJECT ) ); \ | |
| | | | |
| #define VIPS_ARGUMENT_FOR_ALL_END } } | | #define VIPS_ARGUMENT_FOR_ALL_END } } | |
| | | | |
| /* And some macros to collect args from a va list. | | /* And some macros to collect args from a va list. | |
|
| | | * | |
| | | * Use something like this: | |
| | | | |
| | | GParamSpec *pspec; | |
| | | VipsArgumentClass *argument_class; | |
| | | VipsArgumentInstance *argument_instance; | |
| | | | |
| | | if( vips_object_get_argument( VIPS_OBJECT( operation ), name, | |
| | | &pspec, &argument_class, &argument_instance ) ) | |
| | | return( -1 ); | |
| | | | |
| | | VIPS_ARGUMENT_COLLECT_SET( pspec, argument_class, ap ); | |
| | | | |
| | | GValue value holds the value of an input argument, do | |
| | | something with it | |
| | | | |
| | | VIPS_ARGUMENT_COLLECT_GET( pspec, argument_class, ap ); | |
| | | | |
| | | void **arg points to where to write an output argument | |
| | | | |
| | | VIPS_ARGUMENT_COLLECT_END | |
| | | | |
| */ | | */ | |
| #define VIPS_ARGUMENT_COLLECT_SET( PSPEC, ARG_CLASS, AP ) \ | | #define VIPS_ARGUMENT_COLLECT_SET( PSPEC, ARG_CLASS, AP ) \ | |
| if( (ARG_CLASS->flags & VIPS_ARGUMENT_INPUT) ) { \ | | if( (ARG_CLASS->flags & VIPS_ARGUMENT_INPUT) ) { \ | |
| GValue value = { 0, }; \ | | GValue value = { 0, }; \ | |
| gchar *error = NULL; \ | | gchar *error = NULL; \ | |
| \ | | \ | |
| /* Input args are given inline, eg. ("factor", 12.0) \ | | /* Input args are given inline, eg. ("factor", 12.0) \ | |
| * and must be collected. \ | | * and must be collected. \ | |
| */ \ | | */ \ | |
| g_value_init( &value, G_PARAM_SPEC_VALUE_TYPE( PSPEC ) ); \ | | g_value_init( &value, G_PARAM_SPEC_VALUE_TYPE( PSPEC ) ); \ | |
| | | | |
| skipping to change at line 430 | | skipping to change at line 463 | |
| /* Build the object ... all argument properties have been set, | | /* Build the object ... all argument properties have been set, | |
| * now build the thing. | | * now build the thing. | |
| */ | | */ | |
| int (*build)( VipsObject *object ); | | int (*build)( VipsObject *object ); | |
| | | | |
| /* Try to print something about the class, handy for help displays. | | /* Try to print something about the class, handy for help displays. | |
| * Keep to one line. | | * 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, handy for debuggi | | /* Try to print a one-line summary for the object, the user can see | |
| ng. | | * this output via things like "header fred.tif", --vips-cache-trace | |
| | | , | |
| | | * etc. | |
| */ | | */ | |
| void (*summary)( VipsObject *, VipsBuf * ); | | void (*summary)( VipsObject *, VipsBuf * ); | |
| | | | |
| /* Try to print everything about the object, handy for debugging. | | /* Try to print everything about the object, handy for debugging. | |
| */ | | */ | |
| void (*dump)( VipsObject *, VipsBuf * ); | | void (*dump)( VipsObject *, VipsBuf * ); | |
| | | | |
| /* Sanity-check the object. Print messages and stuff. | | /* Sanity-check the object. Print messages and stuff. | |
| * Handy for debugging. | | * Handy for debugging. | |
| */ | | */ | |
| | | | |
| skipping to change at line 541 | | skipping to change at line 576 | |
| void vips_object_print_name( VipsObject *object ); | | void vips_object_print_name( VipsObject *object ); | |
| | | | |
| gboolean vips_object_sanity( VipsObject *object ); | | gboolean vips_object_sanity( VipsObject *object ); | |
| | | | |
| GType vips_object_get_type( void ); | | GType vips_object_get_type( void ); | |
| | | | |
| void vips_object_class_install_argument( VipsObjectClass *, GParamSpec *psp
ec, | | void vips_object_class_install_argument( VipsObjectClass *, GParamSpec *psp
ec, | |
| VipsArgumentFlags flags, int priority, guint offset ); | | VipsArgumentFlags flags, int priority, guint offset ); | |
| int vips_object_set_argument_from_string( VipsObject *object, | | int vips_object_set_argument_from_string( VipsObject *object, | |
| const char *name, const char *value ); | | const char *name, const char *value ); | |
|
| gboolean vips_object_get_argument_needs_string( VipsObject *object, | | gboolean vips_object_argument_needsstring( VipsObject *object, | |
| const char *name ); | | const char *name ); | |
| int vips_object_get_argument_to_string( VipsObject *object, | | int vips_object_get_argument_to_string( VipsObject *object, | |
| const char *name, const char *arg ); | | const char *name, const char *arg ); | |
| int vips_object_set_required( VipsObject *object, const char *value ); | | int vips_object_set_required( VipsObject *object, const char *value ); | |
| | | | |
| typedef void *(*VipsObjectSetArguments)( VipsObject *, void *, void * ); | | typedef void *(*VipsObjectSetArguments)( VipsObject *, void *, void * ); | |
| VipsObject *vips_object_new( GType type, | | VipsObject *vips_object_new( GType type, | |
| VipsObjectSetArguments set, void *a, void *b ); | | VipsObjectSetArguments set, void *a, void *b ); | |
| | | | |
| int vips_object_set_valist( VipsObject *object, va_list ap ); | | int vips_object_set_valist( VipsObject *object, va_list ap ); | |
| | | | |
End of changes. 5 change blocks. |
| 5 lines changed or deleted | | 42 lines changed or added | |
|
| type.h | | type.h | |
| | | | |
| skipping to change at line 69 | | skipping to change at line 69 | |
| void *data; | | void *data; | |
| size_t length; /* 0 if not known */ | | size_t length; /* 0 if not known */ | |
| | | | |
| /* If this area represents an array, the number of elements in the | | /* If this area represents an array, the number of elements in the | |
| * array. Equal to length / sizeof(element). | | * array. Equal to length / sizeof(element). | |
| */ | | */ | |
| int n; | | int n; | |
| | | | |
| /*< private >*/ | | /*< private >*/ | |
| | | | |
|
| /* Reference count. | | /* Reference count and lock. | |
| | | * | |
| | | * We could use an atomic int, but this is not a high-traffic data | |
| | | * structure, so a simple GMutex is OK. | |
| */ | | */ | |
| int count; | | int count; | |
|
| | | GMutex *lock; | |
| | | | |
| /* Things like ICC profiles need their own free functions. | | /* Things like ICC profiles need their own free functions. | |
| */ | | */ | |
| VipsCallbackFn free_fn; | | VipsCallbackFn free_fn; | |
| | | | |
| /* If we are holding an array (for example, an array of double), the | | /* If we are holding an array (for example, an array of double), the | |
| * GType of the elements and their size. 0 for not known. | | * GType of the elements and their size. 0 for not known. | |
| * | | * | |
| * n is always length / sizeof_type, we keep it as a member for | | * n is always length / sizeof_type, we keep it as a member for | |
| * convenience. | | * convenience. | |
| | | | |
| skipping to change at line 139 | | skipping to change at line 143 | |
| GType vips_blob_get_type( void ); | | GType vips_blob_get_type( void ); | |
| | | | |
| /** | | /** | |
| * VIPS_TYPE_ARRAY_DOUBLE: | | * VIPS_TYPE_ARRAY_DOUBLE: | |
| * | | * | |
| * The #GType for a #VipsArrayDouble. | | * The #GType for a #VipsArrayDouble. | |
| */ | | */ | |
| #define VIPS_TYPE_ARRAY_DOUBLE (vips_array_double_get_type()) | | #define VIPS_TYPE_ARRAY_DOUBLE (vips_array_double_get_type()) | |
| typedef VipsArea VipsArrayDouble; | | typedef VipsArea VipsArrayDouble; | |
| VipsArrayDouble *vips_array_double_new( const double *array, int n ); | | VipsArrayDouble *vips_array_double_new( const double *array, int n ); | |
|
| | | VipsArrayDouble *vips_array_double_newv( int n, ... ); | |
| GType vips_array_double_get_type( void ); | | GType vips_array_double_get_type( void ); | |
| | | | |
| /** | | /** | |
|
| | | * VIPS_TYPE_ARRAY_INT: | |
| | | * | |
| | | * The #GType for a #VipsArrayInt. | |
| | | */ | |
| | | #define VIPS_TYPE_ARRAY_INT (vips_array_int_get_type()) | |
| | | typedef VipsArea VipsArrayInt; | |
| | | VipsArrayInt *vips_array_int_new( const int *array, int n ); | |
| | | VipsArrayInt *vips_array_int_newv( int n, ... ); | |
| | | 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()) | |
| 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 ); | |
| | | | |
| | | | |
| skipping to change at line 172 | | skipping to change at line 188 | |
| VipsCallbackFn free_fn, void *data, size_t length ); | | VipsCallbackFn free_fn, void *data, size_t length ); | |
| | | | |
| void vips_value_set_array( GValue *value, | | void vips_value_set_array( GValue *value, | |
| int n, GType type, size_t sizeof_type ); | | int n, GType type, size_t sizeof_type ); | |
| void *vips_value_get_array( const GValue *value, | | void *vips_value_get_array( const GValue *value, | |
| int *n, GType *type, size_t *sizeof_type ); | | int *n, GType *type, size_t *sizeof_type ); | |
| | | | |
| 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_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 ); | |
| | | | |
| 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. 5 change blocks. |
| 1 lines changed or deleted | | 20 lines changed or added | |
|
| vips7compat.h | | vips7compat.h | |
| | | | |
| skipping to change at line 43 | | skipping to change at line 43 | |
| #ifndef VIPS_VIPS7COMPAT_H | | #ifndef VIPS_VIPS7COMPAT_H | |
| #define VIPS_VIP7COMPATS_H | | #define VIPS_VIP7COMPATS_H | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
| /* Renamed types. | | /* Renamed types. | |
| */ | | */ | |
| | | | |
|
| | | #define IM_D93_X0 VIPS_D93_X0 | |
| | | #define IM_D93_Y0 VIPS_D93_Y0 | |
| | | #define IM_D93_Z0 VIPS_D93_Z0 | |
| | | | |
| | | #define IM_D75_X0 VIPS_D75_X0 | |
| | | #define IM_D75_Y0 VIPS_D75_Y0 | |
| | | #define IM_D75_Z0 VIPS_D75_Z0 | |
| | | | |
| | | #define IM_D65_X0 VIPS_D65_X0 | |
| | | #define IM_D65_Y0 VIPS_D65_Y0 | |
| | | #define IM_D65_Z0 VIPS_D65_Z0 | |
| | | | |
| | | #define IM_D55_X0 VIPS_D55_X0 | |
| | | #define IM_D55_Y0 VIPS_D55_Y0 | |
| | | #define IM_D55_Z0 VIPS_D55_Z0 | |
| | | | |
| | | #define IM_D50_X0 VIPS_D50_X0 | |
| | | #define IM_D50_Y0 VIPS_D50_Y0 | |
| | | #define IM_D50_Z0 VIPS_D50_Z0 | |
| | | | |
| | | #define IM_A_X0 VIPS_A_X0 | |
| | | #define IM_A_Y0 VIPS_A_Y0 | |
| | | #define IM_A_Z0 VIPS_A_Z0 | |
| | | | |
| | | #define IM_B_X0 VIPS_B_X0 | |
| | | #define IM_B_Y0 VIPS_B_Y0 | |
| | | #define IM_B_Z0 VIPS_B_Z0 | |
| | | | |
| | | #define IM_C_X0 VIPS_C_X0 | |
| | | #define IM_C_Y0 VIPS_C_Y0 | |
| | | #define IM_C_Z0 VIPS_C_Z0 | |
| | | | |
| | | #define IM_E_X0 VIPS_E_X0 | |
| | | #define IM_E_Y0 VIPS_E_Y0 | |
| | | #define IM_E_Z0 VIPS_E_Z0 | |
| | | | |
| | | #define IM_D3250_X0 VIPS_D3250_X0 | |
| | | #define IM_D3250_Y0 VIPS_D3250_Y0 | |
| | | #define IM_D3250_Z0 VIPS_D3250_Z0 | |
| | | | |
| | | #define im_col_Lab2XYZ vips_col_Lab2XYZ | |
| | | #define im_col_XYZ2Lab vips_col_XYZ2Lab | |
| | | #define im_col_ab2h vips_col_ab2h | |
| | | #define im_col_ab2Ch vips_col_ab2Ch | |
| | | #define im_col_Ch2ab vips_col_Ch2ab | |
| | | | |
| | | #define im_col_L2Lucs vips_col_L2Lcmc | |
| | | #define im_col_C2Cucs vips_col_C2Ccmc | |
| | | #define im_col_Ch2hucs vips_col_Ch2hcmc | |
| | | #define im_col_pythagoras vips_pythagoras | |
| | | | |
| | | #define im_col_make_tables_UCS vips_col_make_tables_CMC | |
| | | #define im_col_Lucs2L vips_col_Lcmc2L | |
| | | #define im_col_Cucs2C vips_col_Ccmc2C | |
| | | #define im_col_Chucs2h vips_col_Chcmc2h | |
| | | | |
| #define PEL VipsPel | | #define PEL VipsPel | |
| | | | |
| #define IM_BANDFMT_NOTSET VIPS_FORMAT_NOTSET | | #define IM_BANDFMT_NOTSET VIPS_FORMAT_NOTSET | |
| #define IM_BANDFMT_UCHAR VIPS_FORMAT_UCHAR | | #define IM_BANDFMT_UCHAR VIPS_FORMAT_UCHAR | |
| #define IM_BANDFMT_CHAR VIPS_FORMAT_CHAR | | #define IM_BANDFMT_CHAR VIPS_FORMAT_CHAR | |
| #define IM_BANDFMT_USHORT VIPS_FORMAT_USHORT | | #define IM_BANDFMT_USHORT VIPS_FORMAT_USHORT | |
| #define IM_BANDFMT_SHORT VIPS_FORMAT_SHORT | | #define IM_BANDFMT_SHORT VIPS_FORMAT_SHORT | |
| #define IM_BANDFMT_UINT VIPS_FORMAT_UINT | | #define IM_BANDFMT_UINT VIPS_FORMAT_UINT | |
| #define IM_BANDFMT_INT VIPS_FORMAT_INT | | #define IM_BANDFMT_INT VIPS_FORMAT_INT | |
| #define IM_BANDFMT_FLOAT VIPS_FORMAT_FLOAT | | #define IM_BANDFMT_FLOAT VIPS_FORMAT_FLOAT | |
| | | | |
| skipping to change at line 77 | | skipping to change at line 133 | |
| | | | |
| #define IM_TYPE_MULTIBAND VIPS_INTERPRETATION_MULTIBAND | | #define IM_TYPE_MULTIBAND VIPS_INTERPRETATION_MULTIBAND | |
| #define IM_TYPE_B_W VIPS_INTERPRETATION_B_W | | #define IM_TYPE_B_W VIPS_INTERPRETATION_B_W | |
| #define IM_TYPE_HISTOGRAM VIPS_INTERPRETATION_HISTOGRAM | | #define IM_TYPE_HISTOGRAM VIPS_INTERPRETATION_HISTOGRAM | |
| #define IM_TYPE_FOURIER VIPS_INTERPRETATION_FOURIER | | #define IM_TYPE_FOURIER VIPS_INTERPRETATION_FOURIER | |
| #define IM_TYPE_XYZ VIPS_INTERPRETATION_XYZ | | #define IM_TYPE_XYZ VIPS_INTERPRETATION_XYZ | |
| #define IM_TYPE_LAB VIPS_INTERPRETATION_LAB | | #define IM_TYPE_LAB VIPS_INTERPRETATION_LAB | |
| #define IM_TYPE_CMYK VIPS_INTERPRETATION_CMYK | | #define IM_TYPE_CMYK VIPS_INTERPRETATION_CMYK | |
| #define IM_TYPE_LABQ VIPS_INTERPRETATION_LABQ | | #define IM_TYPE_LABQ VIPS_INTERPRETATION_LABQ | |
| #define IM_TYPE_RGB VIPS_INTERPRETATION_RGB | | #define IM_TYPE_RGB VIPS_INTERPRETATION_RGB | |
|
| #define IM_TYPE_UCS VIPS_INTERPRETATION_UCS | | #define IM_TYPE_UCS VIPS_INTERPRETATION_CMC | |
| #define IM_TYPE_LCH VIPS_INTERPRETATION_LCH | | #define IM_TYPE_LCH VIPS_INTERPRETATION_LCH | |
| #define IM_TYPE_LABS VIPS_INTERPRETATION_LABS | | #define IM_TYPE_LABS VIPS_INTERPRETATION_LABS | |
| #define IM_TYPE_sRGB VIPS_INTERPRETATION_sRGB | | #define IM_TYPE_sRGB VIPS_INTERPRETATION_sRGB | |
| #define IM_TYPE_YXY VIPS_INTERPRETATION_YXY | | #define IM_TYPE_YXY VIPS_INTERPRETATION_YXY | |
| #define IM_TYPE_RGB16 VIPS_INTERPRETATION_RGB16 | | #define IM_TYPE_RGB16 VIPS_INTERPRETATION_RGB16 | |
| #define IM_TYPE_GREY16 VIPS_INTERPRETATION_GREY16 | | #define IM_TYPE_GREY16 VIPS_INTERPRETATION_GREY16 | |
| #define VipsType VipsInterpretation | | #define VipsType VipsInterpretation | |
| | | | |
| #define IMAGE VipsImage | | #define IMAGE VipsImage | |
| #define REGION VipsRegion | | #define REGION VipsRegion | |
| | | | |
|
| | | #define IM_INTENT_PERCEPTUAL VIPS_INTENT_PERCEPTUAL | |
| | | #define IM_INTENT_RELATIVE_COLORIMETRIC VIPS_INTENT_RELATIVE | |
| | | #define IM_INTENT_SATURATION VIPS_INTENT_SATURATION | |
| | | #define IM_INTENT_ABSOLUTE_COLORIMETRIC VIPS_INTENT_ABSOLUTE | |
| | | | |
| /* Renamed macros. | | /* Renamed macros. | |
| */ | | */ | |
| | | | |
| #define IM_MAX VIPS_MAX | | #define IM_MAX VIPS_MAX | |
| #define IM_MIN VIPS_MIN | | #define IM_MIN VIPS_MIN | |
| #define IM_RAD VIPS_RAD | | #define IM_RAD VIPS_RAD | |
| #define IM_DEG VIPS_DEG | | #define IM_DEG VIPS_DEG | |
| #define IM_PI VIPS_PI | | #define IM_PI VIPS_PI | |
| #define IM_RINT VIPS_RINT | | #define IM_RINT VIPS_RINT | |
| #define IM_ABS VIPS_ABS | | #define IM_ABS VIPS_ABS | |
| | | | |
| skipping to change at line 376 | | skipping to change at line 437 | |
| #define im_check_imask vips_check_imask | | #define im_check_imask vips_check_imask | |
| #define im_check_dmask vips_check_dmask | | #define im_check_dmask vips_check_dmask | |
| | | | |
| #define vips_bandfmt_isint vips_band_format_isint | | #define vips_bandfmt_isint vips_band_format_isint | |
| #define vips_bandfmt_isuint vips_band_format_isuint | | #define vips_bandfmt_isuint vips_band_format_isuint | |
| #define vips_bandfmt_isfloat vips_band_format_isfloat | | #define vips_bandfmt_isfloat vips_band_format_isfloat | |
| #define vips_bandfmt_iscomplex vips_band_format_iscomplex | | #define vips_bandfmt_iscomplex vips_band_format_iscomplex | |
| | | | |
| #define im__change_suffix vips__change_suffix | | #define im__change_suffix vips__change_suffix | |
| | | | |
|
| | | int vips_check_coding_labq( const char *domain, VipsImage *im ); | |
| | | int vips_check_coding_rad( const char *domain, VipsImage *im ); | |
| | | int vips_check_bands_3ormore( const char *domain, VipsImage *im ); | |
| | | | |
| /* Buffer processing. | | /* Buffer processing. | |
| */ | | */ | |
| typedef void (*im_wrapone_fn)( void *in, void *out, int width, | | typedef void (*im_wrapone_fn)( void *in, void *out, int width, | |
| void *a, void *b ); | | void *a, void *b ); | |
| int im_wrapone( VipsImage *in, VipsImage *out, | | int im_wrapone( VipsImage *in, VipsImage *out, | |
| im_wrapone_fn fn, void *a, void *b ); | | im_wrapone_fn fn, void *a, void *b ); | |
| | | | |
| typedef void (*im_wraptwo_fn)( void *in1, void *in2, void *out, | | typedef void (*im_wraptwo_fn)( void *in1, void *in2, void *out, | |
| int width, void *a, void *b ); | | int width, void *a, void *b ); | |
| int im_wraptwo( VipsImage *in1, VipsImage *in2, VipsImage *out, | | int im_wraptwo( VipsImage *in1, VipsImage *in2, VipsImage *out, | |
| | | | |
| skipping to change at line 602 | | skipping to change at line 667 | |
| int im_lesseq_vec( VipsImage *in, VipsImage *out, int n, double *c ); | | int im_lesseq_vec( VipsImage *in, VipsImage *out, int n, double *c ); | |
| int im_more_vec( VipsImage *in, VipsImage *out, int n, double *c ); | | int im_more_vec( VipsImage *in, VipsImage *out, int n, double *c ); | |
| int im_moreeq_vec( VipsImage *in, VipsImage *out, int n, double *c ); | | int im_moreeq_vec( VipsImage *in, VipsImage *out, int n, double *c ); | |
| int im_equalconst( VipsImage *in, VipsImage *out, double c ); | | int im_equalconst( VipsImage *in, VipsImage *out, double c ); | |
| int im_notequalconst( VipsImage *in, VipsImage *out, double c ); | | int im_notequalconst( VipsImage *in, VipsImage *out, double c ); | |
| int im_lessconst( VipsImage *in, VipsImage *out, double c ); | | int im_lessconst( VipsImage *in, VipsImage *out, double c ); | |
| int im_lesseqconst( VipsImage *in, VipsImage *out, double c ); | | int im_lesseqconst( VipsImage *in, VipsImage *out, double c ); | |
| int im_moreconst( VipsImage *in, VipsImage *out, double c ); | | int im_moreconst( VipsImage *in, VipsImage *out, double c ); | |
| int im_moreeqconst( VipsImage *in, VipsImage *out, double c ); | | int im_moreeqconst( VipsImage *in, VipsImage *out, double c ); | |
| | | | |
|
| | | int im_maxpos_vec( VipsImage *im, int *xpos, int *ypos, double *maxima, int | |
| | | n ); | |
| | | int im_minpos_vec( VipsImage *im, int *xpos, int *ypos, double *minima, int | |
| | | n ); | |
| | | | |
| | | int im_maxpos_avg( VipsImage *im, double *xpos, double *ypos, double *out ) | |
| | | ; | |
| | | | |
| | | int im_linreg( VipsImage **ins, VipsImage *out, double *xs ); | |
| | | | |
| | | int im_cross_phase( VipsImage *a, VipsImage *b, VipsImage *out ); | |
| | | | |
| | | int im_point( VipsImage *im, VipsInterpolate *interpolate, | |
| | | double x, double y, int band, double *out ); | |
| | | int im_point_bilinear( VipsImage *im, | |
| | | double x, double y, int band, double *out ); | |
| | | | |
| int im_copy( VipsImage *in, VipsImage *out ); | | int im_copy( VipsImage *in, VipsImage *out ); | |
| int im_copy_set( VipsImage *in, VipsImage *out, | | int im_copy_set( VipsImage *in, VipsImage *out, | |
| VipsInterpretation interpretation, | | VipsInterpretation interpretation, | |
| float xres, float yres, int xoffset, int yoffset ); | | float xres, float yres, int xoffset, int yoffset ); | |
| int im_copy_set_meta( VipsImage *in, VipsImage *out, | | int im_copy_set_meta( VipsImage *in, VipsImage *out, | |
| const char *field, GValue *value ); | | const char *field, GValue *value ); | |
| int im_copy_morph( VipsImage *in, VipsImage *out, | | int im_copy_morph( VipsImage *in, VipsImage *out, | |
| int bands, VipsBandFormat format, VipsCoding coding ); | | int bands, VipsBandFormat format, VipsCoding coding ); | |
| int im_copy_swap( VipsImage *in, VipsImage *out ); | | int im_copy_swap( VipsImage *in, VipsImage *out ); | |
| int im_copy_native( VipsImage *in, VipsImage *out, gboolean is_msb_first ); | | int im_copy_native( VipsImage *in, VipsImage *out, gboolean is_msb_first ); | |
| | | | |
| skipping to change at line 654 | | skipping to change at line 733 | |
| | | | |
| DOUBLEMASK *im_vips2mask( VipsImage *in, const char *filename ); | | DOUBLEMASK *im_vips2mask( VipsImage *in, const char *filename ); | |
| int im_mask2vips( DOUBLEMASK *in, VipsImage *out ); | | int im_mask2vips( DOUBLEMASK *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_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, | |
| | | VipsInterpolate *interpolate, | |
| | | double a, double b, double c, double d, double dx, double dy, | |
| | | int ox, int oy, int ow, int oh ); | |
| | | int im_affinei_all( VipsImage *in, VipsImage *out, VipsInterpolate *interpo | |
| | | late, | |
| | | double a, double b, double c, double d, double dx, double dy ) ; | |
| | | int im_rightshift_size( VipsImage *in, VipsImage *out, | |
| | | int xshift, int yshift, int band_fmt ); | |
| | | | |
| | | int im_Lab2XYZ_temp( IMAGE *in, IMAGE *out, double X0, double Y0, double Z0 | |
| | | ); | |
| | | int im_Lab2XYZ( IMAGE *in, IMAGE *out ); | |
| | | int im_XYZ2Lab( VipsImage *in, VipsImage *out ); | |
| | | int im_XYZ2Lab_temp( VipsImage *in, VipsImage *out, | |
| | | double X0, double Y0, double Z0 ); | |
| | | int im_Lab2LCh( VipsImage *in, VipsImage *out ); | |
| | | int im_LCh2Lab( VipsImage *in, VipsImage *out ); | |
| | | int im_LCh2UCS( VipsImage *in, VipsImage *out ); | |
| | | int im_UCS2LCh( VipsImage *in, VipsImage *out ); | |
| | | int im_XYZ2Yxy( VipsImage *in, VipsImage *out ); | |
| | | int im_Yxy2XYZ( VipsImage *in, VipsImage *out ); | |
| | | int im_float2rad( VipsImage *in, VipsImage *out ); | |
| | | int im_rad2float( VipsImage *in, VipsImage *out ); | |
| | | int im_Lab2LabQ( VipsImage *in, VipsImage *out ); | |
| | | int im_LabQ2Lab( VipsImage *in, VipsImage *out ); | |
| | | int im_Lab2LabS( VipsImage *in, VipsImage *out ); | |
| | | int im_LabS2Lab( VipsImage *in, VipsImage *out ); | |
| | | int im_LabQ2LabS( VipsImage *in, VipsImage *out ); | |
| | | int im_LabS2LabQ( VipsImage *in, VipsImage *out ); | |
| | | int im_LabQ2sRGB( VipsImage *in, VipsImage *out ); | |
| | | | |
| | | int im_XYZ2sRGB( IMAGE *in, IMAGE *out ); | |
| | | int im_sRGB2XYZ( IMAGE *in, IMAGE *out ); | |
| | | | |
| | | struct im_col_display; | |
| | | #define im_col_displays(S) (NULL) | |
| | | #define im_LabQ2disp_build_table(A, B) (NULL) | |
| | | #define im_LabQ2disp_table(A, B, C) (im_LabQ2disp(A, B, C)) | |
| | | | |
| | | int im_Lab2disp( IMAGE *in, IMAGE *out, struct im_col_display *disp ); | |
| | | int im_disp2Lab( IMAGE *in, IMAGE *out, struct im_col_display *disp ); | |
| | | | |
| | | int im_dE_fromdisp( IMAGE *, IMAGE *, IMAGE *, struct im_col_display * ); | |
| | | int im_dECMC_fromdisp( IMAGE *, IMAGE *, IMAGE *, struct im_col_display * ) | |
| | | ; | |
| | | | |
| | | #define im_disp2XYZ(A, B, C) (im_sRGB2XYZ(A, B)) | |
| | | #define im_XYZ2disp(A, B, C) (im_XYZ2sRGB(A, B)) | |
| | | #define im_LabQ2disp(A, B, C) (im_LabQ2sRGB(A, B)) | |
| | | | |
| | | int im_icc_transform( VipsImage *in, VipsImage *out, | |
| | | const char *input_profile_filename, | |
| | | const char *output_profile_filename, | |
| | | VipsIntent intent ); | |
| | | | |
| | | #define im_icc_present vips_icc_present | |
| | | | |
| | | int im_icc_import( VipsImage *in, VipsImage *out, | |
| | | const char *input_profile_filename, VipsIntent intent ); | |
| | | int im_icc_import_embedded( VipsImage *in, VipsImage *out, VipsIntent inten | |
| | | t ); | |
| | | int im_icc_export_depth( VipsImage *in, VipsImage *out, int depth, | |
| | | const char *output_profile_filename, VipsIntent intent ); | |
| | | int im_icc_ac2rc( VipsImage *in, VipsImage *out, const char *profile_filena | |
| | | me ); | |
| | | | |
| | | int im_LabQ2XYZ( VipsImage *in, VipsImage *out ); | |
| | | int im_UCS2XYZ( VipsImage *in, VipsImage *out ); | |
| | | int im_UCS2Lab( VipsImage *in, VipsImage *out ); | |
| | | int im_Lab2UCS( VipsImage *in, VipsImage *out ); | |
| | | int im_XYZ2UCS( VipsImage *in, VipsImage *out ); | |
| | | | |
| | | int im_dE_fromLab( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | int im_dECMC_fromLab( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | int im_dE_fromXYZ( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | int im_dE00_fromLab( VipsImage *in1, VipsImage *in2, VipsImage *out ); | |
| | | | |
| | | int im_lab_morph( VipsImage *in, VipsImage *out, | |
| | | DOUBLEMASK *mask, | |
| | | double L_offset, double L_scale, | |
| | | double a_scale, double b_scale ); | |
| | | | |
| | | #define im_col_dE00 vips_col_dE00 | |
| | | | |
| | | int im_quadratic( IMAGE *in, IMAGE *out, IMAGE *coeff ); | |
| | | | |
| /* ruby-vips uses this | | /* ruby-vips uses this | |
| */ | | */ | |
| #define vips_class_map_concrete_all vips_class_map_all | | #define vips_class_map_concrete_all vips_class_map_all | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif /*__cplusplus*/ | | #endif /*__cplusplus*/ | |
| | | | |
| #endif /*VIPS_VIPS7COMPAT_H*/ | | #endif /*VIPS_VIPS7COMPAT_H*/ | |
| | | | |
End of changes. 6 change blocks. |
| 1 lines changed or deleted | | 169 lines changed or added | |
|