Merge branch 'master' of github.com:libvips/libvips
This commit is contained in:
commit
da73a24b8f
@ -1221,7 +1221,7 @@ AC_ARG_WITH([pangocairo],
|
||||
[build without pangocairo (default: test)]))
|
||||
|
||||
if test x"$with_pangocairo" != x"no"; then
|
||||
PKG_CHECK_MODULES(PANGOCAIRO, pangocairo,
|
||||
PKG_CHECK_MODULES(PANGOCAIRO, pangocairo >= 1.32.6,
|
||||
[AC_DEFINE(HAVE_PANGOCAIRO,1,[define if you have pangocairo installed.])
|
||||
with_pangocairo=yes
|
||||
PACKAGES_USED="$PACKAGES_USED pangocairo"
|
||||
@ -1241,7 +1241,7 @@ AC_ARG_WITH([fontconfig],
|
||||
[build without fontconfig (default: test)]))
|
||||
|
||||
if test x"$with_pangocairo" != x"no" -a x"$with_fontconfig" != x"no"; then
|
||||
PKG_CHECK_MODULES(FONTCONFIG, fontconfig pangoft2 >= 1.4,
|
||||
PKG_CHECK_MODULES(FONTCONFIG, fontconfig pangoft2 >= 1.32.6,
|
||||
[AC_DEFINE(HAVE_FONTCONFIG,1,[define if you have fontconfig installed.])
|
||||
with_fontconfig=yes
|
||||
PACKAGES_USED="$PACKAGES_USED fontconfig pangoft2"
|
||||
|
@ -1898,7 +1898,6 @@ public:
|
||||
*/
|
||||
|
||||
// headers for vips operations
|
||||
// Mon Nov 1 03:31:09 PM CET 2021
|
||||
// this file is generated automatically, do not edit!
|
||||
|
||||
/**
|
||||
@ -2125,7 +2124,7 @@ double avg( VOption *options = 0 ) const;
|
||||
|
||||
/**
|
||||
* Boolean operation across image bands.
|
||||
* @param boolean boolean to perform.
|
||||
* @param boolean Boolean to perform.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
*/
|
||||
@ -2204,7 +2203,7 @@ static VImage black( int width, int height, VOption *options = 0 );
|
||||
/**
|
||||
* Boolean operation on two images.
|
||||
* @param right Right-hand image argument.
|
||||
* @param boolean boolean to perform.
|
||||
* @param boolean Boolean to perform.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
*/
|
||||
@ -2212,7 +2211,7 @@ VImage boolean( VImage right, VipsOperationBoolean boolean, VOption *options = 0
|
||||
|
||||
/**
|
||||
* Boolean operations against a constant.
|
||||
* @param boolean boolean to perform.
|
||||
* @param boolean Boolean to perform.
|
||||
* @param c Array of constants.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
@ -2309,7 +2308,7 @@ VImage compass( VImage mask, VOption *options = 0 ) const;
|
||||
|
||||
/**
|
||||
* Perform a complex operation on an image.
|
||||
* @param cmplx complex to perform.
|
||||
* @param cmplx Complex to perform.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
*/
|
||||
@ -2318,7 +2317,7 @@ VImage complex( VipsOperationComplex cmplx, VOption *options = 0 ) const;
|
||||
/**
|
||||
* Complex binary operations on two images.
|
||||
* @param right Right-hand image argument.
|
||||
* @param cmplx binary complex operation to perform.
|
||||
* @param cmplx Binary complex operation to perform.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
*/
|
||||
@ -2334,7 +2333,7 @@ VImage complexform( VImage right, VOption *options = 0 ) const;
|
||||
|
||||
/**
|
||||
* Get a component from a complex image.
|
||||
* @param get complex to perform.
|
||||
* @param get Complex to perform.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
*/
|
||||
@ -2683,7 +2682,6 @@ void draw_smudge( int left, int top, int width, int height, VOption *options = 0
|
||||
* - **depth** -- Pyramid depth, VipsForeignDzDepth.
|
||||
* - **angle** -- Rotate image during save, VipsAngle.
|
||||
* - **container** -- Pyramid container type, VipsForeignDzContainer.
|
||||
* - **properties** -- Write a properties file to the output directory, bool.
|
||||
* - **compression** -- ZIP deflate compression level, int.
|
||||
* - **region_shrink** -- Method to shrink regions, VipsRegionShrink.
|
||||
* - **skip_blanks** -- Skip tiles which are nearly equal to the background, int.
|
||||
@ -2711,7 +2709,6 @@ void dzsave( const char *filename, VOption *options = 0 ) const;
|
||||
* - **depth** -- Pyramid depth, VipsForeignDzDepth.
|
||||
* - **angle** -- Rotate image during save, VipsAngle.
|
||||
* - **container** -- Pyramid container type, VipsForeignDzContainer.
|
||||
* - **properties** -- Write a properties file to the output directory, bool.
|
||||
* - **compression** -- ZIP deflate compression level, int.
|
||||
* - **region_shrink** -- Method to shrink regions, VipsRegionShrink.
|
||||
* - **skip_blanks** -- Skip tiles which are nearly equal to the background, int.
|
||||
@ -2726,6 +2723,33 @@ void dzsave( const char *filename, VOption *options = 0 ) const;
|
||||
*/
|
||||
VipsBlob *dzsave_buffer( VOption *options = 0 ) const;
|
||||
|
||||
/**
|
||||
* Save image to deepzoom target.
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **basename** -- Base name to save to, const char *.
|
||||
* - **layout** -- Directory layout, VipsForeignDzLayout.
|
||||
* - **suffix** -- Filename suffix for tiles, const char *.
|
||||
* - **overlap** -- Tile overlap in pixels, int.
|
||||
* - **tile_size** -- Tile size in pixels, int.
|
||||
* - **centre** -- Center image in tile, bool.
|
||||
* - **depth** -- Pyramid depth, VipsForeignDzDepth.
|
||||
* - **angle** -- Rotate image during save, VipsAngle.
|
||||
* - **container** -- Pyramid container type, VipsForeignDzContainer.
|
||||
* - **compression** -- ZIP deflate compression level, int.
|
||||
* - **region_shrink** -- Method to shrink regions, VipsRegionShrink.
|
||||
* - **skip_blanks** -- Skip tiles which are nearly equal to the background, int.
|
||||
* - **no_strip** -- Don't strip tile metadata, bool.
|
||||
* - **id** -- Resource ID, const char *.
|
||||
* - **strip** -- Strip all metadata from image, bool.
|
||||
* - **background** -- Background value, std::vector<double>.
|
||||
* - **page_height** -- Set page height for multipage save, int.
|
||||
*
|
||||
* @param target Target to save to.
|
||||
* @param options Set of options.
|
||||
*/
|
||||
void dzsave_target( VTarget target, VOption *options = 0 ) const;
|
||||
|
||||
/**
|
||||
* Embed an image in a larger image.
|
||||
*
|
||||
@ -3026,6 +3050,9 @@ static VImage gifload_source( VSource source, VOption *options = 0 );
|
||||
* - **dither** -- Amount of dithering, double.
|
||||
* - **effort** -- Quantisation effort, int.
|
||||
* - **bitdepth** -- Number of bits per pixel, int.
|
||||
* - **interframe_maxerror** -- Maximum inter-frame error for transparency, double.
|
||||
* - **reoptimise** -- Reoptimise colour palettes, bool.
|
||||
* - **interpalette_maxerror** -- Maximum inter-palette error for palette reusage, double.
|
||||
* - **strip** -- Strip all metadata from image, bool.
|
||||
* - **background** -- Background value, std::vector<double>.
|
||||
* - **page_height** -- Set page height for multipage save, int.
|
||||
@ -3042,6 +3069,9 @@ void gifsave( const char *filename, VOption *options = 0 ) const;
|
||||
* - **dither** -- Amount of dithering, double.
|
||||
* - **effort** -- Quantisation effort, int.
|
||||
* - **bitdepth** -- Number of bits per pixel, int.
|
||||
* - **interframe_maxerror** -- Maximum inter-frame error for transparency, double.
|
||||
* - **reoptimise** -- Reoptimise colour palettes, bool.
|
||||
* - **interpalette_maxerror** -- Maximum inter-palette error for palette reusage, double.
|
||||
* - **strip** -- Strip all metadata from image, bool.
|
||||
* - **background** -- Background value, std::vector<double>.
|
||||
* - **page_height** -- Set page height for multipage save, int.
|
||||
@ -3058,6 +3088,9 @@ VipsBlob *gifsave_buffer( VOption *options = 0 ) const;
|
||||
* - **dither** -- Amount of dithering, double.
|
||||
* - **effort** -- Quantisation effort, int.
|
||||
* - **bitdepth** -- Number of bits per pixel, int.
|
||||
* - **interframe_maxerror** -- Maximum inter-frame error for transparency, double.
|
||||
* - **reoptimise** -- Reoptimise colour palettes, bool.
|
||||
* - **interpalette_maxerror** -- Maximum inter-palette error for palette reusage, double.
|
||||
* - **strip** -- Strip all metadata from image, bool.
|
||||
* - **background** -- Background value, std::vector<double>.
|
||||
* - **page_height** -- Set page height for multipage save, int.
|
||||
@ -3086,7 +3119,7 @@ VImage globalbalance( VOption *options = 0 ) const;
|
||||
* - **extend** -- How to generate the extra pixels, VipsExtend.
|
||||
* - **background** -- Color for background pixels, std::vector<double>.
|
||||
*
|
||||
* @param direction direction to place image within width/height.
|
||||
* @param direction Direction to place image within width/height.
|
||||
* @param width Image width in pixels.
|
||||
* @param height Image height in pixels.
|
||||
* @param options Set of options.
|
||||
@ -3109,9 +3142,9 @@ static VImage grey( int width, int height, VOption *options = 0 );
|
||||
|
||||
/**
|
||||
* Grid an image.
|
||||
* @param tile_height chop into tiles this high.
|
||||
* @param across number of tiles across.
|
||||
* @param down number of tiles down.
|
||||
* @param tile_height Chop into tiles this high.
|
||||
* @param across Number of tiles across.
|
||||
* @param down Number of tiles down.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
*/
|
||||
@ -3124,6 +3157,7 @@ VImage grid( int tile_height, int across, int down, VOption *options = 0 ) const
|
||||
* - **page** -- Load this page from the file, int.
|
||||
* - **n** -- Load this many pages, int.
|
||||
* - **thumbnail** -- Fetch thumbnail image, bool.
|
||||
* - **unlimited** -- Remove all denial of service limits, bool.
|
||||
* - **memory** -- Force open via memory, bool.
|
||||
* - **access** -- Required access pattern for this file, VipsAccess.
|
||||
* - **fail_on** -- Error level to fail on, VipsFailOn.
|
||||
@ -3141,6 +3175,7 @@ static VImage heifload( const char *filename, VOption *options = 0 );
|
||||
* - **page** -- Load this page from the file, int.
|
||||
* - **n** -- Load this many pages, int.
|
||||
* - **thumbnail** -- Fetch thumbnail image, bool.
|
||||
* - **unlimited** -- Remove all denial of service limits, bool.
|
||||
* - **memory** -- Force open via memory, bool.
|
||||
* - **access** -- Required access pattern for this file, VipsAccess.
|
||||
* - **fail_on** -- Error level to fail on, VipsFailOn.
|
||||
@ -3158,6 +3193,7 @@ static VImage heifload_buffer( VipsBlob *buffer, VOption *options = 0 );
|
||||
* - **page** -- Load this page from the file, int.
|
||||
* - **n** -- Load this many pages, int.
|
||||
* - **thumbnail** -- Fetch thumbnail image, bool.
|
||||
* - **unlimited** -- Remove all denial of service limits, bool.
|
||||
* - **memory** -- Force open via memory, bool.
|
||||
* - **access** -- Required access pattern for this file, VipsAccess.
|
||||
* - **fail_on** -- Error level to fail on, VipsFailOn.
|
||||
@ -3173,6 +3209,7 @@ static VImage heifload_source( VSource source, VOption *options = 0 );
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **Q** -- Q factor, int.
|
||||
* - **bitdepth** -- Number of bits per pixel, int.
|
||||
* - **lossless** -- Enable lossless compression, bool.
|
||||
* - **compression** -- Compression format, VipsForeignHeifCompression.
|
||||
* - **effort** -- CPU effort, int.
|
||||
@ -3191,6 +3228,7 @@ void heifsave( const char *filename, VOption *options = 0 ) const;
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **Q** -- Q factor, int.
|
||||
* - **bitdepth** -- Number of bits per pixel, int.
|
||||
* - **lossless** -- Enable lossless compression, bool.
|
||||
* - **compression** -- Compression format, VipsForeignHeifCompression.
|
||||
* - **effort** -- CPU effort, int.
|
||||
@ -3209,6 +3247,7 @@ VipsBlob *heifsave_buffer( VOption *options = 0 ) const;
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **Q** -- Q factor, int.
|
||||
* - **bitdepth** -- Number of bits per pixel, int.
|
||||
* - **lossless** -- Enable lossless compression, bool.
|
||||
* - **compression** -- Compression format, VipsForeignHeifCompression.
|
||||
* - **effort** -- CPU effort, int.
|
||||
@ -3340,7 +3379,7 @@ VImage hough_circle( VOption *options = 0 ) const;
|
||||
* Find hough line transform.
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **width** -- horizontal size of parameter space, int.
|
||||
* - **width** -- Horizontal size of parameter space, int.
|
||||
* - **height** -- Vertical size of parameter space, int.
|
||||
*
|
||||
* @param options Set of options.
|
||||
@ -3853,11 +3892,11 @@ VImage linecache( VOption *options = 0 ) const;
|
||||
* Make a laplacian of gaussian image.
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **separable** -- Generate separable Logmatian, bool.
|
||||
* - **separable** -- Generate separable Gaussian, bool.
|
||||
* - **precision** -- Generate with this precision, VipsPrecision.
|
||||
*
|
||||
* @param sigma Radius of Logmatian.
|
||||
* @param min_ampl Minimum amplitude of Logmatian.
|
||||
* @param sigma Radius of Gaussian.
|
||||
* @param min_ampl Minimum amplitude of Gaussian.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
*/
|
||||
@ -3905,6 +3944,7 @@ static VImage magickload_buffer( VipsBlob *buffer, VOption *options = 0 );
|
||||
* - **quality** -- Quality to use, int.
|
||||
* - **optimize_gif_frames** -- Apply GIF frames optimization, bool.
|
||||
* - **optimize_gif_transparency** -- Apply GIF transparency optimization, bool.
|
||||
* - **bitdepth** -- Number of bits per pixel, int.
|
||||
* - **strip** -- Strip all metadata from image, bool.
|
||||
* - **background** -- Background value, std::vector<double>.
|
||||
* - **page_height** -- Set page height for multipage save, int.
|
||||
@ -3922,6 +3962,7 @@ void magicksave( const char *filename, VOption *options = 0 ) const;
|
||||
* - **quality** -- Quality to use, int.
|
||||
* - **optimize_gif_frames** -- Apply GIF frames optimization, bool.
|
||||
* - **optimize_gif_transparency** -- Apply GIF transparency optimization, bool.
|
||||
* - **bitdepth** -- Number of bits per pixel, int.
|
||||
* - **strip** -- Strip all metadata from image, bool.
|
||||
* - **background** -- Background value, std::vector<double>.
|
||||
* - **page_height** -- Set page height for multipage save, int.
|
||||
@ -3936,6 +3977,9 @@ VipsBlob *magicksave_buffer( VOption *options = 0 ) const;
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **interpolate** -- Interpolate pixels with this, VInterpolate.
|
||||
* - **background** -- Background value, std::vector<double>.
|
||||
* - **premultiplied** -- Images have premultiplied alpha, bool.
|
||||
* - **extend** -- How to generate the extra pixels, VipsExtend.
|
||||
*
|
||||
* @param index Index pixels with this.
|
||||
* @param options Set of options.
|
||||
@ -3947,7 +3991,7 @@ VImage mapim( VImage index, VOption *options = 0 ) const;
|
||||
* Map an image though a lut.
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **band** -- apply one-band lut to this band of in, int.
|
||||
* - **band** -- Apply one-band lut to this band of in, int.
|
||||
*
|
||||
* @param lut Look-up table image.
|
||||
* @param options Set of options.
|
||||
@ -3988,7 +4032,7 @@ static VImage mask_butterworth( int width, int height, double order, double freq
|
||||
* @param order Filter order.
|
||||
* @param frequency_cutoff_x Frequency cutoff x.
|
||||
* @param frequency_cutoff_y Frequency cutoff y.
|
||||
* @param radius radius of circle.
|
||||
* @param radius Radius of circle.
|
||||
* @param amplitude_cutoff Amplitude cutoff.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
@ -4063,7 +4107,7 @@ static VImage mask_gaussian( int width, int height, double frequency_cutoff, dou
|
||||
* @param height Image height in pixels.
|
||||
* @param frequency_cutoff_x Frequency cutoff x.
|
||||
* @param frequency_cutoff_y Frequency cutoff y.
|
||||
* @param radius radius of circle.
|
||||
* @param radius Radius of circle.
|
||||
* @param amplitude_cutoff Amplitude cutoff.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
@ -4119,7 +4163,7 @@ static VImage mask_ideal( int width, int height, double frequency_cutoff, VOptio
|
||||
* @param height Image height in pixels.
|
||||
* @param frequency_cutoff_x Frequency cutoff x.
|
||||
* @param frequency_cutoff_y Frequency cutoff y.
|
||||
* @param radius radius of circle.
|
||||
* @param radius Radius of circle.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
*/
|
||||
@ -4168,7 +4212,7 @@ VImage match( VImage sec, int xr1, int yr1, int xs1, int ys1, int xr2, int yr2,
|
||||
|
||||
/**
|
||||
* Apply a math operation to an image.
|
||||
* @param math math to perform.
|
||||
* @param math Math to perform.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
*/
|
||||
@ -4177,7 +4221,7 @@ VImage math( VipsOperationMath math, VOption *options = 0 ) const;
|
||||
/**
|
||||
* Binary math operations.
|
||||
* @param right Right-hand image argument.
|
||||
* @param math2 math to perform.
|
||||
* @param math2 Math to perform.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
*/
|
||||
@ -4185,7 +4229,7 @@ VImage math2( VImage right, VipsOperationMath2 math2, VOption *options = 0 ) con
|
||||
|
||||
/**
|
||||
* Binary math operations with a constant.
|
||||
* @param math2 math to perform.
|
||||
* @param math2 Math to perform.
|
||||
* @param c Array of constants.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
@ -4505,6 +4549,7 @@ static VImage openslideload_source( VSource source, VOption *options = 0 );
|
||||
* - **dpi** -- Render at this DPI, double.
|
||||
* - **scale** -- Scale output by this factor, double.
|
||||
* - **background** -- Background value, std::vector<double>.
|
||||
* - **password** -- Decrypt with this password, const char *.
|
||||
* - **memory** -- Force open via memory, bool.
|
||||
* - **access** -- Required access pattern for this file, VipsAccess.
|
||||
* - **fail_on** -- Error level to fail on, VipsFailOn.
|
||||
@ -4524,6 +4569,7 @@ static VImage pdfload( const char *filename, VOption *options = 0 );
|
||||
* - **dpi** -- Render at this DPI, double.
|
||||
* - **scale** -- Scale output by this factor, double.
|
||||
* - **background** -- Background value, std::vector<double>.
|
||||
* - **password** -- Decrypt with this password, const char *.
|
||||
* - **memory** -- Force open via memory, bool.
|
||||
* - **access** -- Required access pattern for this file, VipsAccess.
|
||||
* - **fail_on** -- Error level to fail on, VipsFailOn.
|
||||
@ -4543,6 +4589,7 @@ static VImage pdfload_buffer( VipsBlob *buffer, VOption *options = 0 );
|
||||
* - **dpi** -- Render at this DPI, double.
|
||||
* - **scale** -- Scale output by this factor, double.
|
||||
* - **background** -- Background value, std::vector<double>.
|
||||
* - **password** -- Decrypt with this password, const char *.
|
||||
* - **memory** -- Force open via memory, bool.
|
||||
* - **access** -- Required access pattern for this file, VipsAccess.
|
||||
* - **fail_on** -- Error level to fail on, VipsFailOn.
|
||||
@ -4630,17 +4677,17 @@ static VImage pngload_buffer( VipsBlob *buffer, VOption *options = 0 );
|
||||
static VImage pngload_source( VSource source, VOption *options = 0 );
|
||||
|
||||
/**
|
||||
* Save image to png file.
|
||||
* Save image to file as png.
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **compression** -- Compression factor, int.
|
||||
* - **interlace** -- Interlace image, bool.
|
||||
* - **profile** -- ICC profile to embed, const char *.
|
||||
* - **filter** -- libpng row filter flag(s), int.
|
||||
* - **filter** -- libspng row filter flag(s), int.
|
||||
* - **palette** -- Quantise to 8bpp palette, bool.
|
||||
* - **Q** -- Quantisation quality, int.
|
||||
* - **dither** -- Amount of dithering, double.
|
||||
* - **bitdepth** -- Write as a 1, 2, 4 or 8 bit image, int.
|
||||
* - **bitdepth** -- Write as a 1, 2, 4, 8 or 16 bit image, int.
|
||||
* - **effort** -- Quantisation CPU effort, int.
|
||||
* - **strip** -- Strip all metadata from image, bool.
|
||||
* - **background** -- Background value, std::vector<double>.
|
||||
@ -4652,17 +4699,17 @@ static VImage pngload_source( VSource source, VOption *options = 0 );
|
||||
void pngsave( const char *filename, VOption *options = 0 ) const;
|
||||
|
||||
/**
|
||||
* Save image to png buffer.
|
||||
* Save image to buffer as png.
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **compression** -- Compression factor, int.
|
||||
* - **interlace** -- Interlace image, bool.
|
||||
* - **profile** -- ICC profile to embed, const char *.
|
||||
* - **filter** -- libpng row filter flag(s), int.
|
||||
* - **filter** -- libspng row filter flag(s), int.
|
||||
* - **palette** -- Quantise to 8bpp palette, bool.
|
||||
* - **Q** -- Quantisation quality, int.
|
||||
* - **dither** -- Amount of dithering, double.
|
||||
* - **bitdepth** -- Write as a 1, 2, 4 or 8 bit image, int.
|
||||
* - **bitdepth** -- Write as a 1, 2, 4, 8 or 16 bit image, int.
|
||||
* - **effort** -- Quantisation CPU effort, int.
|
||||
* - **strip** -- Strip all metadata from image, bool.
|
||||
* - **background** -- Background value, std::vector<double>.
|
||||
@ -4680,11 +4727,11 @@ VipsBlob *pngsave_buffer( VOption *options = 0 ) const;
|
||||
* - **compression** -- Compression factor, int.
|
||||
* - **interlace** -- Interlace image, bool.
|
||||
* - **profile** -- ICC profile to embed, const char *.
|
||||
* - **filter** -- libpng row filter flag(s), int.
|
||||
* - **filter** -- libspng row filter flag(s), int.
|
||||
* - **palette** -- Quantise to 8bpp palette, bool.
|
||||
* - **Q** -- Quantisation quality, int.
|
||||
* - **dither** -- Amount of dithering, double.
|
||||
* - **bitdepth** -- Write as a 1, 2, 4 or 8 bit image, int.
|
||||
* - **bitdepth** -- Write as a 1, 2, 4, 8 or 16 bit image, int.
|
||||
* - **effort** -- Quantisation CPU effort, int.
|
||||
* - **strip** -- Strip all metadata from image, bool.
|
||||
* - **background** -- Background value, std::vector<double>.
|
||||
@ -4728,8 +4775,8 @@ static VImage ppmload_source( VSource source, VOption *options = 0 );
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **format** -- Format to save in, VipsForeignPpmFormat.
|
||||
* - **ascii** -- save as ascii, bool.
|
||||
* - **bitdepth** -- set to 1 to write as a 1 bit image, int.
|
||||
* - **ascii** -- Save as ascii, bool.
|
||||
* - **bitdepth** -- Set to 1 to write as a 1 bit image, int.
|
||||
* - **strip** -- Strip all metadata from image, bool.
|
||||
* - **background** -- Background value, std::vector<double>.
|
||||
* - **page_height** -- Set page height for multipage save, int.
|
||||
@ -4744,8 +4791,8 @@ void ppmsave( const char *filename, VOption *options = 0 ) const;
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **format** -- Format to save in, VipsForeignPpmFormat.
|
||||
* - **ascii** -- save as ascii, bool.
|
||||
* - **bitdepth** -- set to 1 to write as a 1 bit image, int.
|
||||
* - **ascii** -- Save as ascii, bool.
|
||||
* - **bitdepth** -- Set to 1 to write as a 1 bit image, int.
|
||||
* - **strip** -- Strip all metadata from image, bool.
|
||||
* - **background** -- Background value, std::vector<double>.
|
||||
* - **page_height** -- Set page height for multipage save, int.
|
||||
@ -4948,7 +4995,7 @@ void rawsave_fd( int fd, VOption *options = 0 ) const;
|
||||
|
||||
/**
|
||||
* Linear recombination with matrix.
|
||||
* @param m matrix of coefficients.
|
||||
* @param m Matrix of coefficients.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
*/
|
||||
@ -4959,6 +5006,7 @@ VImage recomb( VImage m, VOption *options = 0 ) const;
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **kernel** -- Resampling kernel, VipsKernel.
|
||||
* - **gap** -- Reducing gap, double.
|
||||
*
|
||||
* @param hshrink Horizontal shrink factor.
|
||||
* @param vshrink Vertical shrink factor.
|
||||
@ -4972,6 +5020,7 @@ VImage reduce( double hshrink, double vshrink, VOption *options = 0 ) const;
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **kernel** -- Resampling kernel, VipsKernel.
|
||||
* - **gap** -- Reducing gap, double.
|
||||
*
|
||||
* @param hshrink Horizontal shrink factor.
|
||||
* @param options Set of options.
|
||||
@ -4984,6 +5033,7 @@ VImage reduceh( double hshrink, VOption *options = 0 ) const;
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **kernel** -- Resampling kernel, VipsKernel.
|
||||
* - **gap** -- Reducing gap, double.
|
||||
*
|
||||
* @param vshrink Vertical shrink factor.
|
||||
* @param options Set of options.
|
||||
@ -4994,7 +5044,7 @@ VImage reducev( double vshrink, VOption *options = 0 ) const;
|
||||
/**
|
||||
* Relational operation on two images.
|
||||
* @param right Right-hand image argument.
|
||||
* @param relational relational to perform.
|
||||
* @param relational Relational to perform.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
*/
|
||||
@ -5002,7 +5052,7 @@ VImage relational( VImage right, VipsOperationRelational relational, VOption *op
|
||||
|
||||
/**
|
||||
* Relational operations against a constant.
|
||||
* @param relational relational to perform.
|
||||
* @param relational Relational to perform.
|
||||
* @param c Array of constants.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
@ -5039,6 +5089,7 @@ VImage replicate( int across, int down, VOption *options = 0 ) const;
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **kernel** -- Resampling kernel, VipsKernel.
|
||||
* - **gap** -- Reducing gap, double.
|
||||
* - **vscale** -- Vertical scale image by this factor, double.
|
||||
*
|
||||
* @param scale Scale image by this factor.
|
||||
@ -5085,7 +5136,7 @@ VImage rotate( double angle, VOption *options = 0 ) const;
|
||||
|
||||
/**
|
||||
* Perform a round function on an image.
|
||||
* @param round rounding operation to perform.
|
||||
* @param round Rounding operation to perform.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
*/
|
||||
@ -5175,6 +5226,10 @@ VImage sharpen( VOption *options = 0 ) const;
|
||||
|
||||
/**
|
||||
* Shrink an image.
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **ceil** -- Round-up output dimensions, bool.
|
||||
*
|
||||
* @param hshrink Horizontal shrink factor.
|
||||
* @param vshrink Vertical shrink factor.
|
||||
* @param options Set of options.
|
||||
@ -5184,6 +5239,10 @@ VImage shrink( double hshrink, double vshrink, VOption *options = 0 ) const;
|
||||
|
||||
/**
|
||||
* Shrink an image horizontally.
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **ceil** -- Round-up output dimensions, bool.
|
||||
*
|
||||
* @param hshrink Horizontal shrink factor.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
@ -5192,6 +5251,10 @@ VImage shrinkh( int hshrink, VOption *options = 0 ) const;
|
||||
|
||||
/**
|
||||
* Shrink an image vertically.
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **ceil** -- Round-up output dimensions, bool.
|
||||
*
|
||||
* @param vshrink Vertical shrink factor.
|
||||
* @param options Set of options.
|
||||
* @return Output image.
|
||||
@ -5429,6 +5492,7 @@ static VImage text( const char *text, VOption *options = 0 );
|
||||
* - **import_profile** -- Fallback import profile, const char *.
|
||||
* - **export_profile** -- Fallback export profile, const char *.
|
||||
* - **intent** -- Rendering intent, VipsIntent.
|
||||
* - **fail_on** -- Error level to fail on, VipsFailOn.
|
||||
*
|
||||
* @param filename Filename to read from.
|
||||
* @param width Size to this width.
|
||||
@ -5450,6 +5514,7 @@ static VImage thumbnail( const char *filename, int width, VOption *options = 0 )
|
||||
* - **import_profile** -- Fallback import profile, const char *.
|
||||
* - **export_profile** -- Fallback export profile, const char *.
|
||||
* - **intent** -- Rendering intent, VipsIntent.
|
||||
* - **fail_on** -- Error level to fail on, VipsFailOn.
|
||||
*
|
||||
* @param buffer Buffer to load from.
|
||||
* @param width Size to this width.
|
||||
@ -5470,6 +5535,7 @@ static VImage thumbnail_buffer( VipsBlob *buffer, int width, VOption *options =
|
||||
* - **import_profile** -- Fallback import profile, const char *.
|
||||
* - **export_profile** -- Fallback export profile, const char *.
|
||||
* - **intent** -- Rendering intent, VipsIntent.
|
||||
* - **fail_on** -- Error level to fail on, VipsFailOn.
|
||||
*
|
||||
* @param width Size to this width.
|
||||
* @param options Set of options.
|
||||
@ -5490,6 +5556,7 @@ VImage thumbnail_image( int width, VOption *options = 0 ) const;
|
||||
* - **import_profile** -- Fallback import profile, const char *.
|
||||
* - **export_profile** -- Fallback export profile, const char *.
|
||||
* - **intent** -- Rendering intent, VipsIntent.
|
||||
* - **fail_on** -- Error level to fail on, VipsFailOn.
|
||||
*
|
||||
* @param source Source to load from.
|
||||
* @param width Size to this width.
|
||||
@ -5620,6 +5687,40 @@ void tiffsave( const char *filename, VOption *options = 0 ) const;
|
||||
*/
|
||||
VipsBlob *tiffsave_buffer( VOption *options = 0 ) const;
|
||||
|
||||
/**
|
||||
* Save image to tiff target.
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **compression** -- Compression for this file, VipsForeignTiffCompression.
|
||||
* - **Q** -- Q factor, int.
|
||||
* - **predictor** -- Compression prediction, VipsForeignTiffPredictor.
|
||||
* - **profile** -- ICC profile to embed, const char *.
|
||||
* - **tile** -- Write a tiled tiff, bool.
|
||||
* - **tile_width** -- Tile width in pixels, int.
|
||||
* - **tile_height** -- Tile height in pixels, int.
|
||||
* - **pyramid** -- Write a pyramidal tiff, bool.
|
||||
* - **miniswhite** -- Use 0 for white in 1-bit images, bool.
|
||||
* - **bitdepth** -- Write as a 1, 2, 4 or 8 bit image, int.
|
||||
* - **resunit** -- Resolution unit, VipsForeignTiffResunit.
|
||||
* - **xres** -- Horizontal resolution in pixels/mm, double.
|
||||
* - **yres** -- Vertical resolution in pixels/mm, double.
|
||||
* - **bigtiff** -- Write a bigtiff image, bool.
|
||||
* - **properties** -- Write a properties document to IMAGEDESCRIPTION, bool.
|
||||
* - **region_shrink** -- Method to shrink regions, VipsRegionShrink.
|
||||
* - **level** -- ZSTD compression level, int.
|
||||
* - **lossless** -- Enable WEBP lossless mode, bool.
|
||||
* - **depth** -- Pyramid depth, VipsForeignDzDepth.
|
||||
* - **subifd** -- Save pyr layers as sub-IFDs, bool.
|
||||
* - **premultiply** -- Save with premultiplied alpha, bool.
|
||||
* - **strip** -- Strip all metadata from image, bool.
|
||||
* - **background** -- Background value, std::vector<double>.
|
||||
* - **page_height** -- Set page height for multipage save, int.
|
||||
*
|
||||
* @param target Target to save to.
|
||||
* @param options Set of options.
|
||||
*/
|
||||
void tiffsave_target( VTarget target, VOption *options = 0 ) const;
|
||||
|
||||
/**
|
||||
* Cache an image as a set of tiles.
|
||||
*
|
||||
@ -5789,7 +5890,7 @@ static VImage webpload_source( VSource source, VOption *options = 0 );
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **Q** -- Q factor, int.
|
||||
* - **lossless** -- enable lossless compression, bool.
|
||||
* - **lossless** -- Enable lossless compression, bool.
|
||||
* - **preset** -- Preset for lossy compression, VipsForeignWebpPreset.
|
||||
* - **smart_subsample** -- Enable high quality chroma subsampling, bool.
|
||||
* - **near_lossless** -- Enable preprocessing in lossless mode (uses Q), bool.
|
||||
@ -5814,7 +5915,7 @@ void webpsave( const char *filename, VOption *options = 0 ) const;
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **Q** -- Q factor, int.
|
||||
* - **lossless** -- enable lossless compression, bool.
|
||||
* - **lossless** -- Enable lossless compression, bool.
|
||||
* - **preset** -- Preset for lossy compression, VipsForeignWebpPreset.
|
||||
* - **smart_subsample** -- Enable high quality chroma subsampling, bool.
|
||||
* - **near_lossless** -- Enable preprocessing in lossless mode (uses Q), bool.
|
||||
@ -5839,7 +5940,7 @@ VipsBlob *webpsave_buffer( VOption *options = 0 ) const;
|
||||
*
|
||||
* **Optional parameters**
|
||||
* - **Q** -- Q factor, int.
|
||||
* - **lossless** -- enable lossless compression, bool.
|
||||
* - **lossless** -- Enable lossless compression, bool.
|
||||
* - **preset** -- Preset for lossy compression, VipsForeignWebpPreset.
|
||||
* - **smart_subsample** -- Enable high quality chroma subsampling, bool.
|
||||
* - **near_lossless** -- Enable preprocessing in lossless mode (uses Q), bool.
|
||||
|
@ -35,7 +35,7 @@ custom_target('vips-operators-header',
|
||||
custom_target('vips-operators-source',
|
||||
command: [ 'gen-operators.py', '-g', 'cpp'],
|
||||
capture: true,
|
||||
output: 'vips-operators.cc'
|
||||
output: 'vips-operators.cpp'
|
||||
)
|
||||
|
||||
if get_option('doxygen')
|
||||
|
@ -1,5 +1,4 @@
|
||||
// bodies for vips operations
|
||||
// Mon Nov 1 03:31:09 PM CET 2021
|
||||
// this file is generated automatically, do not edit!
|
||||
|
||||
VImage VImage::CMC2LCh( VOption *options ) const
|
||||
@ -943,6 +942,14 @@ VipsBlob *VImage::dzsave_buffer( VOption *options ) const
|
||||
return( buffer );
|
||||
}
|
||||
|
||||
void VImage::dzsave_target( VTarget target, VOption *options ) const
|
||||
{
|
||||
call( "dzsave_target",
|
||||
(options ? options : VImage::option())->
|
||||
set( "in", *this )->
|
||||
set( "target", target ) );
|
||||
}
|
||||
|
||||
VImage VImage::embed( int x, int y, int width, int height, VOption *options ) const
|
||||
{
|
||||
VImage out;
|
||||
@ -3521,6 +3528,14 @@ VipsBlob *VImage::tiffsave_buffer( VOption *options ) const
|
||||
return( buffer );
|
||||
}
|
||||
|
||||
void VImage::tiffsave_target( VTarget target, VOption *options ) const
|
||||
{
|
||||
call( "tiffsave_target",
|
||||
(options ? options : VImage::option())->
|
||||
set( "in", *this )->
|
||||
set( "target", target ) );
|
||||
}
|
||||
|
||||
VImage VImage::tilecache( VOption *options ) const
|
||||
{
|
||||
VImage out;
|
||||
|
@ -451,6 +451,11 @@
|
||||
<entry>Save image to dz buffer</entry>
|
||||
<entry>vips_dzsave_buffer()</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>dzsave_target</entry>
|
||||
<entry>Save image to deepzoom target</entry>
|
||||
<entry>vips_dzsave_target()</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>embed</entry>
|
||||
<entry>Embed an image in a larger image</entry>
|
||||
@ -1128,12 +1133,12 @@
|
||||
</row>
|
||||
<row>
|
||||
<entry>pngsave</entry>
|
||||
<entry>Save image to png file</entry>
|
||||
<entry>Save image to file as png</entry>
|
||||
<entry>vips_pngsave()</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>pngsave_buffer</entry>
|
||||
<entry>Save image to png buffer</entry>
|
||||
<entry>Save image to buffer as png</entry>
|
||||
<entry>vips_pngsave_buffer()</entry>
|
||||
</row>
|
||||
<row>
|
||||
@ -1501,6 +1506,11 @@
|
||||
<entry>Save image to tiff buffer</entry>
|
||||
<entry>vips_tiffsave_buffer()</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>tiffsave_target</entry>
|
||||
<entry>Save image to tiff target</entry>
|
||||
<entry>vips_tiffsave_target()</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>tilecache</entry>
|
||||
<entry>Cache an image as a set of tiles</entry>
|
||||
|
@ -248,7 +248,7 @@ vips_boolean_class_init( VipsBooleanClass *class )
|
||||
|
||||
VIPS_ARG_ENUM( class, "boolean", 200,
|
||||
_( "Operation" ),
|
||||
_( "boolean to perform" ),
|
||||
_( "Boolean to perform" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsBoolean, operation ),
|
||||
VIPS_TYPE_OPERATION_BOOLEAN,
|
||||
@ -548,7 +548,7 @@ vips_boolean_const_class_init( VipsBooleanConstClass *class )
|
||||
|
||||
VIPS_ARG_ENUM( class, "boolean", 200,
|
||||
_( "Operation" ),
|
||||
_( "boolean to perform" ),
|
||||
_( "Boolean to perform" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsBooleanConst, operation ),
|
||||
VIPS_TYPE_OPERATION_BOOLEAN,
|
||||
|
@ -258,7 +258,7 @@ vips_complex_class_init( VipsComplexClass *class )
|
||||
|
||||
VIPS_ARG_ENUM( class, "cmplx", 200,
|
||||
_( "Operation" ),
|
||||
_( "complex to perform" ),
|
||||
_( "Complex to perform" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsComplex, cmplx ),
|
||||
VIPS_TYPE_OPERATION_COMPLEX, VIPS_OPERATION_COMPLEX_POLAR );
|
||||
@ -551,7 +551,7 @@ vips_complex2_class_init( VipsComplex2Class *class )
|
||||
|
||||
VIPS_ARG_ENUM( class, "cmplx", 200,
|
||||
_( "Operation" ),
|
||||
_( "binary complex operation to perform" ),
|
||||
_( "Binary complex operation to perform" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsComplex2, cmplx ),
|
||||
VIPS_TYPE_OPERATION_COMPLEX2,
|
||||
@ -766,7 +766,7 @@ vips_complexget_class_init( VipsComplexgetClass *class )
|
||||
|
||||
VIPS_ARG_ENUM( class, "get", 200,
|
||||
_( "Operation" ),
|
||||
_( "complex to perform" ),
|
||||
_( "Complex to perform" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsComplexget, get ),
|
||||
VIPS_TYPE_OPERATION_COMPLEXGET,
|
||||
|
@ -180,7 +180,7 @@ vips_find_trim_class_init( VipsFindTrimClass *class )
|
||||
//operation_class->flags = VIPS_OPERATION_SEQUENTIAL;
|
||||
|
||||
VIPS_ARG_IMAGE( class, "in", 1,
|
||||
_( "in" ),
|
||||
_( "Input" ),
|
||||
_( "Image to find_trim" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsFindTrim, in ) );
|
||||
|
@ -139,7 +139,7 @@ vips_getpoint_class_init( VipsGetpointClass *class )
|
||||
object_class->build = vips_getpoint_build;
|
||||
|
||||
VIPS_ARG_IMAGE( class, "in", 1,
|
||||
_( "in" ),
|
||||
_( "Input" ),
|
||||
_( "Input image" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsGetpoint, in ) );
|
||||
|
@ -145,7 +145,7 @@ vips_hough_line_class_init( VipsHoughClass *class )
|
||||
|
||||
VIPS_ARG_INT( class, "width", 110,
|
||||
_( "Width" ),
|
||||
_( "horizontal size of parameter space" ),
|
||||
_( "Horizontal size of parameter space" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||
G_STRUCT_OFFSET( VipsHoughLine, width ),
|
||||
1, 100000, 256 );
|
||||
|
@ -230,7 +230,7 @@ vips_math_class_init( VipsMathClass *class )
|
||||
|
||||
VIPS_ARG_ENUM( class, "math", 200,
|
||||
_( "Operation" ),
|
||||
_( "math to perform" ),
|
||||
_( "Math to perform" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsMath, math ),
|
||||
VIPS_TYPE_OPERATION_MATH, VIPS_OPERATION_MATH_SIN );
|
||||
|
@ -231,7 +231,7 @@ vips_math2_class_init( VipsMath2Class *class )
|
||||
|
||||
VIPS_ARG_ENUM( class, "math2", 200,
|
||||
_( "Operation" ),
|
||||
_( "math to perform" ),
|
||||
_( "Math to perform" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsMath2, math2 ),
|
||||
VIPS_TYPE_OPERATION_MATH2, VIPS_OPERATION_MATH2_POW );
|
||||
@ -462,7 +462,7 @@ vips_math2_const_class_init( VipsMath2ConstClass *class )
|
||||
|
||||
VIPS_ARG_ENUM( class, "math2", 200,
|
||||
_( "Operation" ),
|
||||
_( "math to perform" ),
|
||||
_( "Math to perform" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsMath2Const, math2 ),
|
||||
VIPS_TYPE_OPERATION_MATH2, VIPS_OPERATION_MATH2_POW );
|
||||
|
@ -192,7 +192,7 @@ vips_measure_class_init( VipsMeasureClass *class )
|
||||
object_class->build = vips_measure_build;
|
||||
|
||||
VIPS_ARG_IMAGE( class, "in", 1,
|
||||
_( "in" ),
|
||||
_( "Input" ),
|
||||
_( "Image to measure" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsMeasure, in ) );
|
||||
|
@ -222,7 +222,7 @@ vips_relational_class_init( VipsRelationalClass *class )
|
||||
|
||||
VIPS_ARG_ENUM( class, "relational", 200,
|
||||
_( "Operation" ),
|
||||
_( "relational to perform" ),
|
||||
_( "Relational to perform" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsRelational, relational ),
|
||||
VIPS_TYPE_OPERATION_RELATIONAL,
|
||||
@ -584,7 +584,7 @@ vips_relational_const_class_init( VipsRelationalConstClass *class )
|
||||
|
||||
VIPS_ARG_ENUM( class, "relational", 200,
|
||||
_( "Operation" ),
|
||||
_( "relational to perform" ),
|
||||
_( "Relational to perform" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsRelationalConst, relational ),
|
||||
VIPS_TYPE_OPERATION_RELATIONAL,
|
||||
|
@ -167,7 +167,7 @@ vips_round_class_init( VipsRoundClass *class )
|
||||
|
||||
VIPS_ARG_ENUM( class, "round", 200,
|
||||
_( "Round operation" ),
|
||||
_( "rounding operation to perform" ),
|
||||
_( "Rounding operation to perform" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsRound, round ),
|
||||
VIPS_TYPE_OPERATION_ROUND, VIPS_OPERATION_ROUND_RINT );
|
||||
|
@ -219,7 +219,7 @@ vips_bandbool_class_init( VipsBandboolClass *class )
|
||||
|
||||
VIPS_ARG_ENUM( class, "boolean", 200,
|
||||
_( "Operation" ),
|
||||
_( "boolean to perform" ),
|
||||
_( "Boolean to perform" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsBandbool, operation ),
|
||||
VIPS_TYPE_OPERATION_BOOLEAN,
|
||||
|
@ -813,7 +813,7 @@ vips_gravity_class_init( VipsGravityClass *class )
|
||||
|
||||
VIPS_ARG_ENUM( class, "direction", 3,
|
||||
_( "Direction" ),
|
||||
_( "direction to place image within width/height" ),
|
||||
_( "Direction to place image within width/height" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsGravity, direction ),
|
||||
VIPS_TYPE_COMPASS_DIRECTION, VIPS_COMPASS_DIRECTION_CENTRE );
|
||||
|
@ -378,7 +378,7 @@ vips_falsecolour_class_init( VipsFalsecolourClass *class )
|
||||
operation_class->flags = VIPS_OPERATION_SEQUENTIAL;
|
||||
|
||||
VIPS_ARG_IMAGE( class, "in", 0,
|
||||
_( "in" ),
|
||||
_( "Input" ),
|
||||
_( "Input image" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsFalsecolour, in ) );
|
||||
|
@ -140,13 +140,13 @@ vips_gamma_class_init( VipsGammaClass *class )
|
||||
operation_class->flags = VIPS_OPERATION_SEQUENTIAL;
|
||||
|
||||
VIPS_ARG_IMAGE( class, "in", 1,
|
||||
_( "in" ),
|
||||
_( "Input" ),
|
||||
_( "Input image" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsGamma, in ) );
|
||||
|
||||
VIPS_ARG_DOUBLE( class, "exponent", 2,
|
||||
_( "exponent" ),
|
||||
_( "Exponent" ),
|
||||
_( "Gamma factor" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||
G_STRUCT_OFFSET( VipsGamma, exponent ),
|
||||
|
@ -203,21 +203,21 @@ vips_grid_class_init( VipsGridClass *class )
|
||||
|
||||
VIPS_ARG_INT( class, "tile_height", 3,
|
||||
_( "Tile height" ),
|
||||
_( "chop into tiles this high" ),
|
||||
_( "Chop into tiles this high" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsGrid, tile_height ),
|
||||
1, 10000000, 128 );
|
||||
|
||||
VIPS_ARG_INT( class, "across", 4,
|
||||
_( "Across" ),
|
||||
_( "number of tiles across" ),
|
||||
_( "Number of tiles across" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsGrid, across ),
|
||||
1, 10000000, 1 );
|
||||
|
||||
VIPS_ARG_INT( class, "down", 5,
|
||||
_( "Down" ),
|
||||
_( "number of tiles down" ),
|
||||
_( "Number of tiles down" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsGrid, down ),
|
||||
1, 10000000, 1 );
|
||||
|
@ -498,7 +498,7 @@ vips_ifthenelse_class_init( VipsIfthenelseClass *class )
|
||||
G_STRUCT_OFFSET( VipsIfthenelse, in2 ) );
|
||||
|
||||
VIPS_ARG_BOOL( class, "blend", 4,
|
||||
_( "blend" ),
|
||||
_( "Blend" ),
|
||||
_( "Blend smoothly between then and else parts" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||
G_STRUCT_OFFSET( VipsIfthenelse, blend ),
|
||||
|
@ -246,7 +246,7 @@ vips_join_class_init( VipsJoinClass *class )
|
||||
G_STRUCT_OFFSET( VipsJoin, in2 ) );
|
||||
|
||||
VIPS_ARG_ENUM( class, "direction", 3,
|
||||
_( "direction" ),
|
||||
_( "Direction" ),
|
||||
_( "Join left-right or up-down" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsJoin, direction ),
|
||||
|
@ -211,7 +211,7 @@ vips_recomb_class_init( VipsRecombClass *class )
|
||||
|
||||
VIPS_ARG_IMAGE( class, "m", 102,
|
||||
_( "M" ),
|
||||
_( "matrix of coefficients" ),
|
||||
_( "Matrix of coefficients" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsRecomb, m ) );
|
||||
}
|
||||
|
@ -258,8 +258,8 @@ vips_sequential_class_init( VipsSequentialClass *class )
|
||||
VIPS_TYPE_ACCESS, VIPS_ACCESS_SEQUENTIAL );
|
||||
|
||||
VIPS_ARG_BOOL( class, "trace", 2,
|
||||
_( "trace" ),
|
||||
_( "trace pixel requests" ),
|
||||
_( "Trace" ),
|
||||
_( "Trace pixel requests" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT | VIPS_ARGUMENT_DEPRECATED,
|
||||
G_STRUCT_OFFSET( VipsSequential, trace ),
|
||||
TRUE );
|
||||
|
@ -371,7 +371,7 @@ vips_sharpen_class_init( VipsSharpenClass *class )
|
||||
*/
|
||||
VIPS_ARG_INT( class, "radius", 3,
|
||||
_( "Radius" ),
|
||||
_( "radius of Gaussian" ),
|
||||
_( "Radius of Gaussian" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT | VIPS_ARGUMENT_DEPRECATED,
|
||||
G_STRUCT_OFFSET( VipsSharpen, radius ),
|
||||
1, 100, 1 );
|
||||
|
@ -131,8 +131,8 @@ vips_mask_butterworth_band_class_init(
|
||||
0.0, 1000000.0, 0.5 );
|
||||
|
||||
VIPS_ARG_DOUBLE( class, "radius", 9,
|
||||
_( "radius" ),
|
||||
_( "radius of circle" ),
|
||||
_( "Radius" ),
|
||||
_( "Radius of circle" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsMaskButterworthBand, radius ),
|
||||
0.0, 1000000.0, 0.1 );
|
||||
|
@ -118,8 +118,8 @@ vips_mask_gaussian_band_class_init( VipsMaskGaussianBandClass *class )
|
||||
0.0, 1000000.0, 0.5 );
|
||||
|
||||
VIPS_ARG_DOUBLE( class, "radius", 9,
|
||||
_( "radius" ),
|
||||
_( "radius of circle" ),
|
||||
_( "Radius" ),
|
||||
_( "Radius of circle" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsMaskGaussianBand, radius ),
|
||||
0.0, 1000000.0, 0.1 );
|
||||
|
@ -109,8 +109,8 @@ vips_mask_ideal_band_class_init( VipsMaskIdealBandClass *class )
|
||||
0.0, 1000000.0, 0.5 );
|
||||
|
||||
VIPS_ARG_DOUBLE( class, "radius", 8,
|
||||
_( "radius" ),
|
||||
_( "radius of circle" ),
|
||||
_( "Radius" ),
|
||||
_( "Radius of circle" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsMaskIdealBand, radius ),
|
||||
0.0, 1000000.0, 0.1 );
|
||||
|
@ -106,6 +106,7 @@ typedef struct _VipsText {
|
||||
char *fontfile;
|
||||
gboolean rgba;
|
||||
|
||||
PangoFontMap *fontmap;
|
||||
PangoContext *context;
|
||||
PangoLayout *layout;
|
||||
|
||||
@ -115,18 +116,10 @@ typedef VipsCreateClass VipsTextClass;
|
||||
|
||||
G_DEFINE_TYPE( VipsText, vips_text, VIPS_TYPE_CREATE );
|
||||
|
||||
/* ... single-thread the body of vips_text() with this.
|
||||
/* ... single-thread vips_text_fontfiles with this.
|
||||
*/
|
||||
static GMutex *vips_text_lock = NULL;
|
||||
|
||||
/* Just have one of these and reuse it.
|
||||
*
|
||||
* This does not unref cleanly on many platforms, so we will leak horribly
|
||||
* unless we reuse it. Sadly this means vips_text() needs to use a lock
|
||||
* internally to single-thread text rendering.
|
||||
*/
|
||||
static PangoFontMap *vips_text_fontmap = NULL;
|
||||
|
||||
/* All the fontfiles we've loaded. fontconfig lets you add a fontfile
|
||||
* repeatedly, and we obviously don't want that.
|
||||
*/
|
||||
@ -196,7 +189,7 @@ vips_text_get_extents( VipsText *text, VipsRect *extents )
|
||||
PangoRectangle logical_rect;
|
||||
|
||||
pango_cairo_font_map_set_resolution(
|
||||
PANGO_CAIRO_FONT_MAP( vips_text_fontmap ), text->dpi );
|
||||
PANGO_CAIRO_FONT_MAP( text->fontmap ), text->dpi );
|
||||
|
||||
VIPS_UNREF( text->layout );
|
||||
if( !(text->layout = text_layout_new( text->context,
|
||||
@ -365,18 +358,16 @@ vips_text_build( VipsObject *object )
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
g_mutex_lock( vips_text_lock );
|
||||
text->fontmap = pango_cairo_font_map_get_default();
|
||||
text->context = pango_font_map_create_context(
|
||||
PANGO_FONT_MAP( text->fontmap ) );
|
||||
|
||||
if( !vips_text_fontmap )
|
||||
vips_text_fontmap = pango_cairo_font_map_new();
|
||||
g_mutex_lock( vips_text_lock );
|
||||
|
||||
if( !vips_text_fontfiles )
|
||||
vips_text_fontfiles =
|
||||
g_hash_table_new( g_str_hash, g_str_equal );
|
||||
|
||||
text->context = pango_font_map_create_context(
|
||||
PANGO_FONT_MAP( vips_text_fontmap ) );
|
||||
|
||||
#ifdef HAVE_FONTCONFIG
|
||||
if( text->fontfile &&
|
||||
!g_hash_table_lookup( vips_text_fontfiles, text->fontfile ) ) {
|
||||
@ -394,9 +385,9 @@ vips_text_build( VipsObject *object )
|
||||
/* We need to inform that pango should invalidate its
|
||||
* fontconfig cache whenever any changes are made.
|
||||
*/
|
||||
if( PANGO_IS_FC_FONT_MAP( vips_text_fontmap ) )
|
||||
if( PANGO_IS_FC_FONT_MAP( text->fontmap ) )
|
||||
pango_fc_font_map_cache_clear(
|
||||
PANGO_FC_FONT_MAP( vips_text_fontmap ) );
|
||||
PANGO_FC_FONT_MAP( text->fontmap ) );
|
||||
}
|
||||
#else /*!HAVE_FONTCONFIG*/
|
||||
if( text->fontfile )
|
||||
@ -404,27 +395,25 @@ vips_text_build( VipsObject *object )
|
||||
_( "ignoring fontfile (no fontconfig support)" ) );
|
||||
#endif /*HAVE_FONTCONFIG*/
|
||||
|
||||
g_mutex_unlock( vips_text_lock );
|
||||
|
||||
/* If our caller set height and not dpi, we adjust dpi until
|
||||
* we get a fit.
|
||||
*/
|
||||
if( vips_object_argument_isset( object, "height" ) &&
|
||||
!vips_object_argument_isset( object, "dpi" ) ) {
|
||||
if( vips_text_autofit( text ) ) {
|
||||
g_mutex_unlock( vips_text_lock );
|
||||
if( vips_text_autofit( text ) )
|
||||
return( -1 );
|
||||
}
|
||||
}
|
||||
|
||||
/* Layout. Can fail for "", for example.
|
||||
*/
|
||||
if( vips_text_get_extents( text, &extents ) ) {
|
||||
g_mutex_unlock( vips_text_lock );
|
||||
if( vips_text_get_extents( text, &extents ) )
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
if( extents.width == 0 ||
|
||||
extents.height == 0 ) {
|
||||
vips_error( class->nickname, "%s", _( "no text to render" ) );
|
||||
g_mutex_unlock( vips_text_lock );
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
@ -434,7 +423,6 @@ vips_text_build( VipsObject *object )
|
||||
extents.height >= 32768 ) {
|
||||
vips_error( class->nickname,
|
||||
"%s", _( "text image too large" ) );
|
||||
g_mutex_unlock( vips_text_lock );
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
@ -448,10 +436,8 @@ vips_text_build( VipsObject *object )
|
||||
image->Yoffset = extents.top;
|
||||
|
||||
if( vips_image_pipelinev( image, VIPS_DEMAND_STYLE_ANY, NULL ) ||
|
||||
vips_image_write_prepare( image ) ) {
|
||||
g_mutex_unlock( vips_text_lock );
|
||||
vips_image_write_prepare( image ) )
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
surface = cairo_image_surface_create_for_data(
|
||||
VIPS_IMAGE_ADDR( image, 0, 0 ),
|
||||
@ -467,8 +453,6 @@ vips_text_build( VipsObject *object )
|
||||
|
||||
cairo_destroy( cr );
|
||||
|
||||
g_mutex_unlock( vips_text_lock );
|
||||
|
||||
if( text->rgba ) {
|
||||
int y;
|
||||
|
||||
|
@ -598,21 +598,21 @@ vips_draw_flood_class_init( VipsDrawFloodClass *class )
|
||||
|
||||
VIPS_ARG_INT( class, "top", 8,
|
||||
_( "Top" ),
|
||||
_( "top edge of modified area" ),
|
||||
_( "Top edge of modified area" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_OUTPUT,
|
||||
G_STRUCT_OFFSET( VipsDrawFlood, top ),
|
||||
0, 1000000000, 0 );
|
||||
|
||||
VIPS_ARG_INT( class, "width", 9,
|
||||
_( "Width" ),
|
||||
_( "width of modified area" ),
|
||||
_( "Width of modified area" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_OUTPUT,
|
||||
G_STRUCT_OFFSET( VipsDrawFlood, width ),
|
||||
0, 1000000000, 0 );
|
||||
|
||||
VIPS_ARG_INT( class, "height", 10,
|
||||
_( "Height" ),
|
||||
_( "height of modified area" ),
|
||||
_( "Height of modified area" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_OUTPUT,
|
||||
G_STRUCT_OFFSET( VipsDrawFlood, height ),
|
||||
0, 1000000000, 0 );
|
||||
|
@ -177,21 +177,21 @@ vips_draw_rect_class_init( VipsDrawRectClass *class )
|
||||
-1000000000, 1000000000, 0 );
|
||||
|
||||
VIPS_ARG_INT( class, "top", 7,
|
||||
_( "top" ),
|
||||
_( "Top" ),
|
||||
_( "Rect to fill" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsDrawRect, top ),
|
||||
-1000000000, 1000000000, 0 );
|
||||
|
||||
VIPS_ARG_INT( class, "width", 8,
|
||||
_( "width" ),
|
||||
_( "Width" ),
|
||||
_( "Rect to fill" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsDrawRect, width ),
|
||||
-1000000000, 1000000000, 0 );
|
||||
|
||||
VIPS_ARG_INT( class, "height", 9,
|
||||
_( "height" ),
|
||||
_( "Height" ),
|
||||
_( "Rect to fill" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsDrawRect, height ),
|
||||
|
@ -201,21 +201,21 @@ vips_draw_smudge_class_init( VipsDrawSmudgeClass *class )
|
||||
-1000000000, 1000000000, 0 );
|
||||
|
||||
VIPS_ARG_INT( class, "top", 7,
|
||||
_( "top" ),
|
||||
_( "Top" ),
|
||||
_( "Rect to fill" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsDrawSmudge, top ),
|
||||
-1000000000, 1000000000, 0 );
|
||||
|
||||
VIPS_ARG_INT( class, "width", 8,
|
||||
_( "width" ),
|
||||
_( "Width" ),
|
||||
_( "Rect to fill" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsDrawSmudge, width ),
|
||||
-1000000000, 1000000000, 0 );
|
||||
|
||||
VIPS_ARG_INT( class, "height", 9,
|
||||
_( "height" ),
|
||||
_( "Height" ),
|
||||
_( "Rect to fill" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsDrawSmudge, height ),
|
||||
|
@ -2534,7 +2534,7 @@ vips_foreign_save_dz_class_init( VipsForeignSaveDzClass *class )
|
||||
VIPS_TYPE_FOREIGN_DZ_LAYOUT, VIPS_FOREIGN_DZ_LAYOUT_DZ );
|
||||
|
||||
VIPS_ARG_STRING( class, "suffix", 9,
|
||||
_( "suffix" ),
|
||||
_( "Suffix" ),
|
||||
_( "Filename suffix for tiles" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||
G_STRUCT_OFFSET( VipsForeignSaveDz, suffix ),
|
||||
@ -2685,7 +2685,7 @@ vips_foreign_save_dz_target_build( VipsObject *object )
|
||||
VipsForeignSaveDzTarget *target = (VipsForeignSaveDzTarget *) object;
|
||||
|
||||
dz->target = target->target;
|
||||
g_object_ref( target->target );
|
||||
g_object_ref( dz->target );
|
||||
|
||||
if( VIPS_OBJECT_CLASS( vips_foreign_save_dz_target_parent_class )->
|
||||
build( object ) )
|
||||
@ -2703,7 +2703,7 @@ vips_foreign_save_dz_target_class_init( VipsForeignSaveDzTargetClass *class )
|
||||
gobject_class->set_property = vips_object_set_property;
|
||||
gobject_class->get_property = vips_object_get_property;
|
||||
|
||||
object_class->nickname = "dzsave";
|
||||
object_class->nickname = "dzsave_target";
|
||||
object_class->description = _( "save image to deepzoom target" );
|
||||
object_class->build = vips_foreign_save_dz_target_build;
|
||||
|
||||
|
@ -503,7 +503,7 @@ vips_foreign_save_jxl_class_init( VipsForeignSaveJxlClass *class )
|
||||
0, 15, 1.0 );
|
||||
|
||||
VIPS_ARG_INT( class, "effort", 12,
|
||||
_( "effort" ),
|
||||
_( "Effort" ),
|
||||
_( "Encoding effort" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||
G_STRUCT_OFFSET( VipsForeignSaveJxl, effort ),
|
||||
|
@ -131,7 +131,7 @@ vips_foreign_load_magick_class_init( VipsForeignLoadMagickClass *class )
|
||||
load_class->get_flags = vips_foreign_load_magick_get_flags;
|
||||
|
||||
VIPS_ARG_BOOL( class, "all_frames", 20,
|
||||
_( "all_frames" ),
|
||||
_( "All frames" ),
|
||||
_( "Read all frames from an image" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT | VIPS_ARGUMENT_DEPRECATED,
|
||||
G_STRUCT_OFFSET( VipsForeignLoadMagick, all_frames ),
|
||||
|
@ -393,7 +393,7 @@ vips_foreign_load_magick7_class_init( VipsForeignLoadMagick7Class *class )
|
||||
-1, 100000, 1 );
|
||||
|
||||
VIPS_ARG_BOOL( class, "all_frames", 23,
|
||||
_( "all_frames" ),
|
||||
_( "All frames" ),
|
||||
_( "Read all frames from an image" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT | VIPS_ARGUMENT_DEPRECATED,
|
||||
G_STRUCT_OFFSET( VipsForeignLoadMagick7, all_frames ),
|
||||
|
@ -473,21 +473,21 @@ vips_foreign_save_ppm_class_init( VipsForeignSavePpmClass *class )
|
||||
|
||||
VIPS_ARG_BOOL( class, "ascii", 10,
|
||||
_( "ASCII" ),
|
||||
_( "save as ascii" ),
|
||||
_( "Save as ascii" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||
G_STRUCT_OFFSET( VipsForeignSavePpm, ascii ),
|
||||
FALSE );
|
||||
|
||||
VIPS_ARG_INT( class, "bitdepth", 15,
|
||||
_( "bitdepth" ),
|
||||
_( "set to 1 to write as a 1 bit image" ),
|
||||
_( "Bit depth" ),
|
||||
_( "Set to 1 to write as a 1 bit image" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||
G_STRUCT_OFFSET( VipsForeignSavePpm, bitdepth ),
|
||||
0, 1, 0 );
|
||||
|
||||
VIPS_ARG_BOOL( class, "squash", 11,
|
||||
_( "Squash" ),
|
||||
_( "save as one bit" ),
|
||||
_( "Save as one bit" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT | VIPS_ARGUMENT_DEPRECATED,
|
||||
G_STRUCT_OFFSET( VipsForeignSavePpm, squash ),
|
||||
FALSE );
|
||||
|
@ -274,7 +274,7 @@ vips_foreign_save_tiff_class_init( VipsForeignSaveTiffClass *class )
|
||||
1, 100, 75 );
|
||||
|
||||
VIPS_ARG_ENUM( class, "predictor", 8,
|
||||
_( "predictor" ),
|
||||
_( "Predictor" ),
|
||||
_( "Compression prediction" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||
G_STRUCT_OFFSET( VipsForeignSaveTiff, predictor ),
|
||||
@ -282,7 +282,7 @@ vips_foreign_save_tiff_class_init( VipsForeignSaveTiffClass *class )
|
||||
VIPS_FOREIGN_TIFF_PREDICTOR_HORIZONTAL );
|
||||
|
||||
VIPS_ARG_STRING( class, "profile", 9,
|
||||
_( "profile" ),
|
||||
_( "Profile" ),
|
||||
_( "ICC profile to embed" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||
G_STRUCT_OFFSET( VipsForeignSaveTiff, profile ),
|
||||
@ -324,7 +324,7 @@ vips_foreign_save_tiff_class_init( VipsForeignSaveTiffClass *class )
|
||||
FALSE );
|
||||
|
||||
VIPS_ARG_INT( class, "bitdepth", 15,
|
||||
_( "bitdepth" ),
|
||||
_( "Bit depth" ),
|
||||
_( "Write as a 1, 2, 4 or 8 bit image" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||
G_STRUCT_OFFSET( VipsForeignSaveTiff, bitdepth ),
|
||||
|
@ -511,8 +511,8 @@ vips_foreign_save_magick_class_init( VipsForeignSaveMagickClass *class )
|
||||
FALSE );
|
||||
|
||||
VIPS_ARG_INT( class, "bitdepth", 6,
|
||||
_( "Image bitdepth" ),
|
||||
_( "Image bitdepth. Default is auto bitdepth." ),
|
||||
_( "Bit depth" ),
|
||||
_( "Number of bits per pixel" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||
G_STRUCT_OFFSET( VipsForeignSaveMagick, bitdepth ),
|
||||
0, 8, 0);
|
||||
|
@ -154,14 +154,14 @@ vips_foreign_save_webp_class_init( VipsForeignSaveWebpClass *class )
|
||||
0, 100, 75 );
|
||||
|
||||
VIPS_ARG_BOOL( class, "lossless", 11,
|
||||
_( "lossless" ),
|
||||
_( "enable lossless compression" ),
|
||||
_( "Lossless" ),
|
||||
_( "Enable lossless compression" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||
G_STRUCT_OFFSET( VipsForeignSaveWebp, lossless ),
|
||||
FALSE );
|
||||
|
||||
VIPS_ARG_ENUM( class, "preset", 12,
|
||||
_( "preset" ),
|
||||
_( "Preset" ),
|
||||
_( "Preset for lossy compression" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||
G_STRUCT_OFFSET( VipsForeignSaveWebp, preset ),
|
||||
|
@ -95,7 +95,7 @@ vips_freqfilt_class_init( VipsFreqfiltClass *class )
|
||||
vobject_class->build = vips_freqfilt_build;
|
||||
|
||||
VIPS_ARG_IMAGE( class, "in", -1,
|
||||
_( "in" ),
|
||||
_( "Input" ),
|
||||
_( "Input image" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsFreqfilt, in ) );
|
||||
|
@ -128,7 +128,7 @@ vips_freqmult_class_init( VipsFreqmultClass *class )
|
||||
vobject_class->build = vips_freqmult_build;
|
||||
|
||||
VIPS_ARG_IMAGE( class, "mask", 0,
|
||||
_( "mask" ),
|
||||
_( "Mask" ),
|
||||
_( "Input mask image" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsFreqmult, mask ) );
|
||||
|
@ -236,13 +236,13 @@ vips_case_class_init( VipsCaseClass *class )
|
||||
operation_class->flags = VIPS_OPERATION_SEQUENTIAL;
|
||||
|
||||
VIPS_ARG_IMAGE( class, "index", 1,
|
||||
_( "index" ),
|
||||
_( "Index" ),
|
||||
_( "Index image" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsCase, index ) );
|
||||
|
||||
VIPS_ARG_BOXED( class, "cases", 2,
|
||||
_( "cases" ),
|
||||
_( "Cases" ),
|
||||
_( "Array of case images" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsCase, cases ),
|
||||
|
@ -709,8 +709,8 @@ vips_maplut_class_init( VipsMaplutClass *class )
|
||||
G_STRUCT_OFFSET( VipsMaplut, lut ) );
|
||||
|
||||
VIPS_ARG_INT( class, "band", 4,
|
||||
_( "band" ),
|
||||
_( "apply one-band lut to this band of in" ),
|
||||
_( "Band" ),
|
||||
_( "Apply one-band lut to this band of in" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||
G_STRUCT_OFFSET( VipsMaplut, band ),
|
||||
-1, 10000, -1 );
|
||||
|
@ -225,7 +225,7 @@ vips_source_g_input_stream_class_init( VipsSourceGInputStreamClass *class )
|
||||
source_class->seek = vips_source_g_input_stream_seek;
|
||||
|
||||
VIPS_ARG_OBJECT( class, "stream", 3,
|
||||
_( "stream" ),
|
||||
_( "Stream" ),
|
||||
_( "GInputStream to read from" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsSourceGInputStream, stream ),
|
||||
|
@ -143,7 +143,7 @@ vips_countlines_class_init( VipsCountlinesClass *class )
|
||||
0, 10000000, 0.0 );
|
||||
|
||||
VIPS_ARG_ENUM( class, "direction", 3,
|
||||
_( "direction" ),
|
||||
_( "Direction" ),
|
||||
_( "Countlines left-right or up-down" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsCountlines, direction ),
|
||||
|
@ -561,7 +561,7 @@ vips_rank_class_init( VipsRankClass *class )
|
||||
1, 100000, 11 );
|
||||
|
||||
VIPS_ARG_INT( class, "index", 6,
|
||||
_( "index" ),
|
||||
_( "Index" ),
|
||||
_( "Select pixel at index" ),
|
||||
VIPS_ARGUMENT_REQUIRED_INPUT,
|
||||
G_STRUCT_OFFSET( VipsRank, index ),
|
||||
|
@ -1926,7 +1926,7 @@ vips_globalbalance_class_init( VipsGlobalbalanceClass *class )
|
||||
G_STRUCT_OFFSET( VipsGlobalbalance, out ) );
|
||||
|
||||
VIPS_ARG_DOUBLE( class, "gamma", 5,
|
||||
_( "gamma" ),
|
||||
_( "Gamma" ),
|
||||
_( "Image gamma" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||
G_STRUCT_OFFSET( VipsGlobalbalance, gamma ),
|
||||
|
@ -281,7 +281,7 @@ vips_match_class_init( VipsMatchClass *class )
|
||||
0, 1000000000, 1 );
|
||||
|
||||
VIPS_ARG_BOOL( class, "search", 15,
|
||||
_( "search" ),
|
||||
_( "Search" ),
|
||||
_( "Search to improve tie-points" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||
G_STRUCT_OFFSET( VipsMatch, search ),
|
||||
|
@ -589,7 +589,7 @@ vips_mosaic1_class_init( VipsMosaic1Class *class )
|
||||
0, 1000000000, 15 );
|
||||
|
||||
VIPS_ARG_BOOL( class, "search", 15,
|
||||
_( "search" ),
|
||||
_( "Search" ),
|
||||
_( "Search to improve tie-points" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||
G_STRUCT_OFFSET( VipsMosaic1, search ),
|
||||
|
@ -972,7 +972,7 @@ vips_thumbnail_class_init( VipsThumbnailClass *class )
|
||||
1, VIPS_MAX_COORD, 1 );
|
||||
|
||||
VIPS_ARG_ENUM( class, "size", 114,
|
||||
_( "size" ),
|
||||
_( "Size" ),
|
||||
_( "Only upsize, only downsize, or both" ),
|
||||
VIPS_ARGUMENT_OPTIONAL_INPUT,
|
||||
G_STRUCT_OFFSET( VipsThumbnail, size ),
|
||||
|
@ -329,7 +329,7 @@ if libwebp_dep.found()
|
||||
cfg_var.set('HAVE_LIBWEBP', '1')
|
||||
endif
|
||||
|
||||
pangocairo_dep = dependency('pangocairo', required: get_option('pangocairo'))
|
||||
pangocairo_dep = dependency('pangocairo', version: '>=1.32.6', required: get_option('pangocairo'))
|
||||
if pangocairo_dep.found()
|
||||
libvips_deps += pangocairo_dep
|
||||
cfg_var.set('HAVE_PANGOCAIRO', '1')
|
||||
@ -338,7 +338,7 @@ endif
|
||||
fontconfig_dep = dependency('fontconfig', required: get_option('fontconfig'))
|
||||
if fontconfig_dep.found() and pangocairo_dep.found()
|
||||
libvips_deps += fontconfig_dep
|
||||
libvips_deps += dependency('pangoft2', version: '>=1.4')
|
||||
libvips_deps += dependency('pangoft2', version: '>=1.32.6')
|
||||
cfg_var.set('HAVE_FONTCONFIG', '1')
|
||||
endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user