fix all docs warnings

This commit is contained in:
John Cupitt 2014-11-17 10:32:40 +00:00
parent 703514b85d
commit 394149e9e8
57 changed files with 171 additions and 208 deletions

15
TODO
View File

@ -1,3 +1,4 @@
- can we use markdown for the intro sections?
- test other cpp arg types
@ -33,20 +34,6 @@
- check and fix up docs
index items should all be links
check each func in each section has a comment doc ... if they don't and
shouldn't be there, move to internal
need better vipsobject docs
gtk-doc now uses markdown, phew, use this to expand some sections
- can we use postbuild elsewhere? look at use of "preclose" / "written", etc.

View File

@ -354,7 +354,7 @@ if( negative( in, &out, "image_max", 128, NULL ) )
<para>
Make area operations, like filters, by enlarging the #VipsRect that
_generate() is given before calling vips_image_prepare(). You can
_generate() is given before calling vips_region_prepare(). You can
enlarge the input image, so that the output image is the same size as
the original input, by using vips_embed() within the _build() function.
</para>

View File

@ -40,6 +40,7 @@
<chapter>
<title>Core VIPS API</title>
<xi:include href="xml/basic.xml"/>
<xi:include href="xml/vips.xml"/>
<xi:include href="xml/image.xml"/>
<xi:include href="xml/header.xml"/>

View File

@ -58,7 +58,6 @@
/**
* SECTION: arithmetic
* @short_description: operations which perform pixel arithmetic, trig, log, statistics
* @see_also: <link linkend="libvips-boolean">boolean</link>
* @stability: Stable
* @include: vips/vips.h
*
@ -81,7 +80,7 @@
* bits in the output image when necessary. Generally, this follows the ANSI C
* conventions for type promotion, so multiplying two
* #VIPS_FORMAT_UCHAR images together, for example, produces a
* #VIPS_FORMAT_USHORT image, and taking the im_costra() of a
* #VIPS_FORMAT_USHORT image, and taking the vips_cos() of a
* #VIPS_FORMAT_USHORT image produces #VIPS_FORMAT_FLOAT image.
*
* For binary arithmetic operations, type promotion occurs in two stages.

View File

@ -258,7 +258,7 @@ vips_divide_init( VipsDivide *divide )
* following table is used to determine the output type:
*
* <table>
* <title>im_divide() type promotion</title>
* <title>vips_divide() type promotion</title>
* <tgroup cols='2' align='left' colsep='1' rowsep='1'>
* <thead>
* <row>
@ -314,7 +314,7 @@ vips_divide_init( VipsDivide *divide )
* In other words, the output type is just large enough to hold the whole
* range of possible values.
*
* See also: vips_multiply(), vips_linear(), vips_power().
* See also: vips_multiply(), vips_linear(), vips_pow().
*
* Returns: 0 on success, -1 on error
*/

View File

@ -162,7 +162,7 @@ vips_Lab2LabQ_init( VipsLab2LabQ *Lab2LabQ )
* @out: output image
* @...: %NULL-terminated list of optional named arguments
*
* Convert a Lab three-band float image to LabQ (#IM_CODING_LABQ).
* Convert a Lab three-band float image to LabQ (#VIPS_CODING_LABQ).
*
* See also: vips_LabQ2Lab().
*

View File

@ -146,7 +146,7 @@ vips_LabQ2Lab_init( VipsLabQ2Lab *LabQ2Lab )
* @out: output image
* @...: %NULL-terminated list of optional named arguments
*
* Unpack a LabQ (#IM_CODING_LABQ) image to a three-band float image.
* Unpack a LabQ (#VIPS_CODING_LABQ) image to a three-band float image.
*
* See also: vips_LabQ2Lab(), vips_LabQ2LabS(), vips_rad2float().
*

View File

@ -126,7 +126,7 @@ vips_LabQ2LabS_init( VipsLabQ2LabS *LabQ2LabS )
* @out: output image
* @...: %NULL-terminated list of optional named arguments
*
* Unpack a LabQ (#IM_CODING_LABQ) image to a three-band short image.
* Unpack a LabQ (#VIPS_CODING_LABQ) image to a three-band short image.
*
* See also: vips_LabS2LabQ(), vips_LabQ2LabS(), vips_rad2float().
*

View File

@ -735,7 +735,6 @@ vips_colour_operation_init( void )
extern GType vips_float2rad_get_type( void );
extern GType vips_LabQ2sRGB_get_type( void );
extern GType vips_XYZ2sRGB_get_type( void );
extern GType vips_sRGB2XYZ_get_type( void );
extern GType vips_sRGB2scRGB_get_type( void );
extern GType vips_scRGB2XYZ_get_type( void );
extern GType vips_XYZ2scRGB_get_type( void );

View File

@ -227,7 +227,7 @@ vips_float2rad_init( VipsFloat2rad *float2rad )
*
* Convert a three-band float image to Radiance 32-bit packed format.
*
* See also: vips_rad2float(), #VipsFormatRad, vips_LabQ2Lab().
* See also: vips_rad2float(), #VIPS_CODING_RAD, vips_LabQ2Lab().
*
* Returns: 0 on success, -1 on error.
*/

View File

@ -212,7 +212,7 @@ vips_rad2float_init( VipsRad2float *rad2float )
* @out: output image
* @...: %NULL-terminated list of optional named arguments
*
* Unpack a RAD (#IM_CODING_RAD) image to a three-band float image.
* Unpack a RAD (#VIPS_CODING_RAD) image to a three-band float image.
*
* See also: vips_float2rad(), vips_LabQ2LabS().
*

View File

@ -182,7 +182,7 @@ vips_sRGB2scRGB_init( VipssRGB2scRGB *sRGB2scRGB )
*
* Convert an sRGB image to scRGB.
*
* See also: vips_sRGB2XYZ(), vips_rad2float().
* See also: vips_scRGB2XYZ(), vips_rad2float().
*
* Returns: 0 on success, -1 on error.
*/

View File

@ -215,7 +215,7 @@ vips_bandjoinv( VipsImage **in, VipsImage **out, int n, va_list ap )
*
* The input images are cast up to the smallest common type (see table
* Smallest common format in
* <link linkend="VIPS-arithmetic">arithmetic</link>).
* <link linkend="libvips-arithmetic">arithmetic</link>).
*
* See also: vips_insert().
*

View File

@ -207,8 +207,8 @@ vips_bandmean_init( VipsBandmean *bandmean )
/**
* vips_bandmean:
* @in: input #IMAGE
* @out: output #IMAGE
* @in: input image
* @out: output image
* @...: %NULL-terminated list of optional named arguments
*
* This operation writes a one-band image where each pixel is the average of

View File

@ -524,7 +524,8 @@ vips_castv( VipsImage *in, VipsImage **out, VipsBandFormat format, va_list ap )
*
* Casting from complex to real returns the real part.
*
* See also: im_scale(), im_ri2c().
* See also: vips_scale(), vips_complexform(), vips_real(), vips_imag(),
* vips_cast_uchar().
*
* Returns: 0 on success, -1 on error
*/

View File

@ -539,7 +539,7 @@ vips_insert_init( VipsInsert *insert )
*
* The two input images are cast up to the smallest common type (see table
* Smallest common format in
* <link linkend="VIPS-arithmetic">arithmetic</link>).
* <link linkend="libvips-arithmetic">arithmetic</link>).
*
* See also: vips_join(), vips_embed(), vips_extract_area().
*

View File

@ -322,7 +322,7 @@ vips_join_init( VipsJoin *join )
*
* The two input images are cast up to the smallest common type (see table
* Smallest common format in
* <link linkend="VIPS-arithmetic">arithmetic</link>).
* <link linkend="libvips-arithmetic">arithmetic</link>).
*
* See also: vips_insert().
*

View File

@ -229,7 +229,7 @@ vips_replicate_init( VipsReplicate *replicate )
*
* Repeats an image many times.
*
* See also: vips_extract().
* See also: vips_extract_area().
*
* Returns: 0 on success, -1 on error
*/

View File

@ -386,7 +386,7 @@ vips_sequential_init( VipsSequential *sequential )
* @access can be set to #VIPS_ACCESS_SEQUENTIAL_UNBUFFERED, meaning don't
* keep a large cache behind the read point. This can save some memory.
*
* See also: vips_image_cache().
* See also: vips_cache(), vips_linecache(), vips_tilecache().
*
* Returns: 0 on success, -1 on error.
*/

View File

@ -837,7 +837,7 @@ vips_tile_cache_init( VipsTileCache *cache )
* by @tile_height pixels.
*
* Each cache tile is made with a single call to
* vips_image_prepare().
* vips_region_prepare().
*
* When the cache fills, a tile is chosen for reuse. If @access is
* #VIPS_ACCESS_RANDOM, then the least-recently-used tile is reused. If
@ -1029,7 +1029,7 @@ vips_line_cache_init( VipsLineCache *cache )
* save some memory and set @access to #VIPS_ACCESS_SEQUENTIAL_UNBUFFERED.
*
* Each cache tile is made with a single call to
* vips_image_prepare().
* vips_region_prepare().
*
* When the cache fills, a tile is chosen for reuse. If @access is
* #VIPS_ACCESS_RANDOM, then the least-recently-used tile is reused. If

View File

@ -188,7 +188,7 @@ vips_conv_init( VipsConv *conv )
*
* If @precision is #VIPS_PRECISION_INTEGER then the convolution is performed
* with integer arithmetic and the output image
* always has the same #VipsBandFmt as the input image.
* always has the same #VipsBandFormat as the input image.
*
* Convolutions on unsigned 8-bit images are calculated with the
* processor's vector unit, if possible. Disable this with --vips-novector or
@ -200,7 +200,7 @@ vips_conv_init( VipsConv *conv )
* @out is also %VIPS_FORMAT_DOUBLE.
*
* If @precision is #VIPS_PRECISION_APPROXIMATE then the output image
* always has the same #VipsBandFmt as the input image.
* always has the same #VipsBandFormat as the input image.
*
* Larger values for @layers give more accurate
* results, but are slower. As @layers approaches the mask radius, the

View File

@ -1227,7 +1227,7 @@ aconv_vertical( Boxes *boxes, IMAGE *in, IMAGE *out )
* Perform an approximate convolution of @in with @mask.
*
* The output image
* always has the same #VipsBandFmt as the input image.
* always has the same #VipsBandFormat as the input image.
*
* Larger values for @n_layers give more accurate
* results, but are slower. As @n_layers approaches the mask radius, the

View File

@ -827,7 +827,7 @@ aconvsep_raw( IMAGE *in, IMAGE *out, DOUBLEMASK *mask, int n_layers )
*
* The mask must be 1xn or nx1 elements.
* The output image
* always has the same #VipsBandFmt as the input image.
* always has the same #VipsBandFormat as the input image.
*
* The image is convolved twice: once with @mask and then again with @mask
* rotated by 90 degrees.

View File

@ -350,7 +350,7 @@ vips_spcor_init( VipsSpcor *spcor )
* The output image is always float, unless either of the two inputs is
* double, in which case the output is also double.
*
* See also: vips_gradcor(), vips_fastcor().
* See also: vips_fastcor().
*
* Returns: 0 on success, -1 on error
*/

View File

@ -351,7 +351,7 @@ vips_text_init( VipsText *text )
* @dpi sets the resolution to render at. "sans 12" at 72 dpi draws characters
* approximately 12 pixels high.
*
* See also: vips_make_xy(), vips_text(), vips_gaussnoise().
* See also: vips_xyz(), vips_text(), vips_gaussnoise().
*
* Returns: 0 on success, -1 on error
*/

View File

@ -47,7 +47,7 @@
* @stability: Stable
* @include: vips/vips.h
*
* Resample an image in various ways, using a #VipsInterpolator to generate
* Resample an image in various ways, using a #VipsInterpolate to generate
* intermediate values.
*/

View File

@ -5354,3 +5354,51 @@ im_greyc_mask( IMAGE *in, IMAGE *out, IMAGE *mask,
return( -1 );
}
int
vips_check_imask( const char *domain, INTMASK *mask )
{
if( !mask ||
mask->xsize > 1000 ||
mask->ysize > 1000 ||
mask->xsize <= 0 ||
mask->ysize <= 0 ||
mask->scale == 0 ||
!mask->coeff ) {
vips_error( domain, "%s", _( "nonsense mask parameters" ) );
return( -1 );
}
return( 0 );
}
int
vips_check_dmask( const char *domain, DOUBLEMASK *mask )
{
if( !mask ||
mask->xsize > 1000 ||
mask->ysize > 1000 ||
mask->xsize <= 0 ||
mask->ysize <= 0 ||
mask->scale == 0 ||
!mask->coeff ) {
vips_error( domain, "%s", _( "nonsense mask parameters" ) );
return( -1 );
}
return( 0 );
}
int
vips_check_dmask_1d( const char *domain, DOUBLEMASK *mask )
{
if( vips_check_dmask( domain, mask ) )
return( -1 );
if( mask->xsize != 1 &&
mask->ysize != 1 ) {
vips_error( domain, "%s", _( "mask must be 1D" ) );
return( -1 );
}
return( 0 );
}

View File

@ -300,7 +300,7 @@ vips_draw_circlev( VipsImage *image,
*
* @ink is an array of double containing values to draw.
*
* See also: vips_draw_circle1(), vips_line().
* See also: vips_draw_circle1(), vips_draw_line().
*
* Returns: 0 on success, or -1 on error.
*/

View File

@ -346,7 +346,7 @@ vips_draw_linev( VipsImage *image,
*
* @ink is an array of double containing values to draw.
*
* See also: vips_draw_line1(), vips_circle(), vips_draw_mask().
* See also: vips_draw_line1(), vips_draw_circle(), vips_draw_mask().
*
* Returns: 0 on success, or -1 on error.
*/

View File

@ -374,11 +374,11 @@ vips_draw_maskv( VipsImage *image,
* Draw @mask on the image. @mask is a monochrome 8-bit image with 0/255
* for transparent or @ink coloured points. Intermediate values blend the ink
* with the pixel. Use with vips_text() to draw text on an image. Use in a
* vips_line() subclass to draw an object along a line.
* vips_draw_line() subclass to draw an object along a line.
*
* @ink is an array of double containing values to draw.
*
* See also: vips_text(), vips_line().
* See also: vips_text(), vips_draw_line().
*
* Returns: 0 on success, or -1 on error.
*/

View File

@ -245,7 +245,7 @@ vips_draw_rectv( VipsImage *image,
* Paint pixels within @left, @top, @width, @height in @image with @ink. If
* @fill is zero, just paint a 1-pixel-wide outline.
*
* See also: vips_circle().
* See also: vips_draw_circle().
*
* Returns: 0 on success, or -1 on error.
*/

View File

@ -139,7 +139,7 @@ vips_foreign_save_csv_init( VipsForeignSaveCsv *csv )
* @separator gives the string to use to separate numbers in the output.
* The default is "\\t" (tab).
*
* See also: vips_image_write_file().
* See also: vips_image_write_to_file().
*
* Returns: 0 on success, -1 on error.
*/

View File

@ -66,35 +66,14 @@
*
* The operations share a base class that offers a simple way to search for a
* subclass of #VipsForeign which can load a certain file (see
* vips_foreign_find_load()) or which could be used to save an image to a
* certain file type (see vips_foreign_find_save()). You can then run these
* vips_foreign_find_load()) or buffer (see vips_foreign_find_load_buffer()),
* or which could be used to save an image to a
* certain file type (see vips_foreign_find_save() and
* vips_foreign_find_save_buffer()). You can then run these
* operations using vips_call() and friends to perform the load or save.
*
* A pair of convenience
* functions, vips_foreign_load() and vips_foreign_save(), automate the
* process, loading an image from a file or saving an image to a file. These
* functions let you give load or save options as name - value pairs in the C
* argument list. You can also
* include options in the file name.
*
* For example:
*
* |[
* vips_foreign_save (my_image, "frank.tiff",
* "compression", VIPS_FOREIGN_TIFF_COMPRESSION_JPEG,
* NULL);
* ]|
*
* Will save an image to the file "frank.tiff" in TIFF format (selected by
* the file name extension) with JPEG compression.
*
* |[
* vips_foreign_save (my_image, "frank.tiff[compression=jpeg]", NULL);
* ]|
*
* Is the same thing, but with the option in the filename. You can put
* name - value pairs after the filename as well: these will override any
* options set in the filename.
* vips_image_write_to_file() and vips_image_new_from_file() and friends use
* these functions to automate file load and save.
*
* You can also invoke the operations directly, for example:
*
@ -511,7 +490,7 @@ vips_foreign_find_load_sub( VipsForeignLoadClass *load_class,
* Searches for an operation you could use to load @filename. Any trailing
* options on @filename are stripped and ignored.
*
* See also: vips_foreign_load().
* See also: vips_foreign_find_load_buffer(), vips_image_new_from_file().
*
* Returns: the name of an operation on success, %NULL on error
*/
@ -1425,7 +1404,7 @@ vips_foreign_find_save_sub( VipsForeignSaveClass *save_class,
* Searches for an operation you could use to write to @filename.
* Any trailing options on @filename are stripped and ignored.
*
* See also: vips_foreign_save().
* See also: vips_foreign_find_save_buffer(), vips_image_write_to_file().
*
* Returns: the name of an operation on success, %NULL on error
*/
@ -1830,7 +1809,7 @@ vips_tiffload_buffer( void *buf, size_t len, VipsImage **out, ... )
* Bigtiff is a variant of the TIFF
* format that allows more than 4GB in a file.
*
* See also: vips_tiffload(), vips_image_write_file().
* See also: vips_tiffload(), vips_image_write_to_file().
*
* Returns: 0 on success, -1 on error.
*/
@ -2014,7 +1993,7 @@ vips_jpegload_buffer( void *buf, size_t len, VipsImage **out, ... )
* If @no-subsample is set, chrominance subsampling is disabled. This will
* improve quality at the cost of larger file size. Useful for high Q factors.
*
* See also: vips_jpegsave_buffer(), vips_image_write_file().
* See also: vips_jpegsave_buffer(), vips_image_write_to_file().
*
* Returns: 0 on success, -1 on error.
*/
@ -2392,7 +2371,7 @@ vips_fitsload( const char *filename, VipsImage **out, ... )
*
* Write a VIPS image to a file in FITS format.
*
* See also: vips_image_write_file().
* See also: vips_image_write_to_file().
*
* Returns: 0 on success, -1 on error.
*/

View File

@ -153,8 +153,8 @@ vips_foreign_load_rad_init( VipsForeignLoadRad *rad )
* red, green and blue, and one byte of shared exponent. Some operations (like
* vips_extract_area()) can work directly with images in this format, but
* mmany (all the arithmetic operations, for example) will not. Unpack
* #VIPS_CODING_RAD images to 3 band float with im_rad2float() if you want to do
* arithmetic on them.
* #VIPS_CODING_RAD images to 3 band float with vips_rad2float() if
* you want to do arithmetic on them.
*
* This operation ignores some header fields, like VIEW and DATE. It will not
* rotate/flip as the FORMAT string asks.

View File

@ -139,7 +139,7 @@ vips_foreign_save_rad_init( VipsForeignSaveRad *rad )
*
* Sections of this reader from Greg Ward and Radiance with kind permission.
*
* See also: vips_image_write_file().
* See also: vips_image_write_to_file().
*
* Returns: 0 on success, -1 on error.
*/

View File

@ -163,7 +163,7 @@ vips_foreign_save_raw_init( VipsForeignSaveRaw *raw )
* Writes the pixels in @in to the file @filename with no header or other
* metadata.
*
* See also: vips_image_write_file().
* See also: vips_image_write_to_file().
*
* Returns: 0 on success, -1 on error.
*/

View File

@ -53,7 +53,7 @@
* SECTION: freqfilt
* @short_description: fourier transforms and frequency-domin filters
* @stability: Stable
* @see_also: <link linkend="libvips-image">image</link>
* @see_also: <link linkend="VipsImage">image</link>
* @include: vips/vips.h
*
* To and from Fourier space, filter in Fourier space, convert Fourier-space

View File

@ -50,19 +50,22 @@
* SECTION: histogram
* @short_description: find, manipulate and apply histograms and lookup tables
* @stability: Stable
* @see_also: <link linkend="libvips-image">image</link>
* @see_also: <link linkend="VipsImage">image</link>
* <link linkend="libvips-arithmetic">arithmetic</link>
* <link linkend="libvips-create">create</link>
* @include: vips/vips.h
*
* Histograms and look-up tables are 1xn or nx1 images, where n is less than
* 256 or less than 65536, corresponding to 8- and 16-bit unsigned int images.
* They are
* tagged with a #VipsType of IM_TYPE_HISTOGRAM and usually displayed by
* user-interfaces such as nip2 as plots rather than images.
* They are tagged with a #VipsInterpretation of
* #VIPS_INTERPRETATION_HISTOGRAM and usually displayed by user-interfaces
* such as nip2 as plots rather than images.
*
* These functions can be broadly grouped as things to find or build
* histograms (im_histgr(), im_buildlut(), in_identity()), operations that
* manipulate histograms in some way (im_histcum(), im_histnorm()), operations
* to apply histograms (im_maplut()), and a variety of utility
* histograms (vips_hist_find(), vips_buildlut(), vips_identity()),
* operations that
* manipulate histograms in some way (vips_hist_cum(), vips_hist_norm()),
* operations to apply histograms (vips_maplut()), and a variety of utility
* operations.
*
* A final group of operations build tone curves. These are useful in

View File

@ -756,7 +756,7 @@ vips_maplut_init( VipsMaplut *maplut )
* separately. If @in has one band, then @lut may have many bands and
* the output will have the same number of bands as @lut.
*
* See also: im_histgr(), vips_identity().
* See also: vips_hist_find(), vips_identity().
*
* Returns: 0 on success, -1 on error
*/

View File

@ -336,6 +336,9 @@ int vips_lshift_const( VipsImage *in, VipsImage **out, double *c, int n, ... )
__attribute__((sentinel));
int vips_rshift_const( VipsImage *in, VipsImage **out, double *c, int n, ... )
__attribute__((sentinel));
int vips_boolean_const1( VipsImage *in, VipsImage **out,
VipsOperationBoolean boolean, double c, ... )
__attribute__((sentinel));
int vips_andimage_const1( VipsImage *in, VipsImage **out, double c, ... )
__attribute__((sentinel));
int vips_orimage_const1( VipsImage *in, VipsImage **out, double c, ... )

View File

@ -63,6 +63,11 @@ int vips_sharpen( VipsImage *in, VipsImage **out, ... )
int vips_gaussblur( VipsImage *in, VipsImage **out, int radius, ... )
__attribute__((sentinel));
int vips_spcor( VipsImage *in, VipsImage *ref, VipsImage **out, ... )
__attribute__((sentinel));
int vips_fastcor( VipsImage *in, VipsImage *ref, VipsImage **out, ... )
__attribute__((sentinel));
#ifdef __cplusplus
}
#endif /*__cplusplus*/

View File

@ -91,10 +91,6 @@ int vips_check_hist( const char *domain, VipsImage *im );
int vips_check_matrix( const char *domain, VipsImage *im, VipsImage **out );
int vips_check_separable( const char *domain, VipsImage *im );
int vips_check_imask( const char *domain, INTMASK *mask );
int vips_check_dmask( const char *domain, DOUBLEMASK *mask );
int vips_check_dmask_1d( const char *domain, DOUBLEMASK *mask );
#ifdef __cplusplus
}
#endif /*__cplusplus*/

View File

@ -621,7 +621,7 @@ int vips_type_depth( GType type );
GType vips_type_find( const char *basename, const char *nickname );
const char *vips_nickname_find( GType type );
void *vips_class_map_all( GType base, VipsClassMapFn fn, void *a );
void *vips_class_map_all( GType type, VipsClassMapFn fn, void *a );
VipsObjectClass *vips_class_find( const char *basename, const char *nickname );
VipsObject **vips_object_local_array( VipsObject *parent, int n );

View File

@ -1230,6 +1230,10 @@ int im_greyc_mask( VipsImage *in, VipsImage *out, VipsImage *mask,
float alpha, float sigma, float dl, float da, float gauss_prec,
int interpolation, int fast_approx );
int vips_check_imask( const char *domain, INTMASK *mask );
int vips_check_dmask( const char *domain, DOUBLEMASK *mask );
int vips_check_dmask_1d( const char *domain, DOUBLEMASK *mask );
#ifdef __cplusplus
}
#endif /*__cplusplus*/

View File

@ -412,7 +412,7 @@ vips_vinfo( const char *domain, const char *fmt, va_list ap )
* Informational messages are used to report details about the operation of
* functions.
*
* See also: vips_vdiag(), vips_warn().
* See also: vips_vinfo(), vips_warn().
*/
void
vips_info( const char *domain, const char *fmt, ... )
@ -1317,84 +1317,3 @@ vips_check_separable( const char *domain, VipsImage *im )
return( 0 );
}
/**
* vips_check_imask: (skip)
* @domain: the originating domain for the error message
* @mask: mask to check
*
* Sanity-check a mask parameter.
*
* See also: vips_error().
*
* Returns: 0 if OK, -1 otherwise.
*/
int
vips_check_imask( const char *domain, INTMASK *mask )
{
if( !mask ||
mask->xsize > 1000 ||
mask->ysize > 1000 ||
mask->xsize <= 0 ||
mask->ysize <= 0 ||
mask->scale == 0 ||
!mask->coeff ) {
vips_error( domain, "%s", _( "nonsense mask parameters" ) );
return( -1 );
}
return( 0 );
}
/**
* vips_check_dmask: (skip)
* @domain: the originating domain for the error message
* @mask: mask to check
*
* Sanity-check a mask parameter.
*
* See also: vips_error().
*
* Returns: 0 if OK, -1 otherwise.
*/
int
vips_check_dmask( const char *domain, DOUBLEMASK *mask )
{
if( !mask ||
mask->xsize > 1000 ||
mask->ysize > 1000 ||
mask->xsize <= 0 ||
mask->ysize <= 0 ||
mask->scale == 0 ||
!mask->coeff ) {
vips_error( domain, "%s", _( "nonsense mask parameters" ) );
return( -1 );
}
return( 0 );
}
/**
* vips_check_dmask_1d: (skip)
* @domain: the originating domain for the error message
* @mask: mask to check
*
* A mask must be one-dimensional (width or height 1).
*
* See also: vips_error().
*
* Returns: 0 if OK, -1 otherwise.
*/
int
vips_check_dmask_1d( const char *domain, DOUBLEMASK *mask )
{
if( vips_check_dmask( domain, mask ) )
return( -1 );
if( mask->xsize != 1 &&
mask->ysize != 1 ) {
vips_error( domain, "%s", _( "mask must be 1D" ) );
return( -1 );
}
return( 0 );
}

View File

@ -2721,7 +2721,7 @@ vips_image_write_prepare( VipsImage *image )
* @linebuffer: scanline of pixels
*
* Write a line of pixels to an image. This function must be called repeatedly
* with @ypos increasing from 0 to #VipsImage.height .
* with @ypos increasing from 0 to #VipsImage::height .
* @linebuffer must be VIPS_IMAGE_SIZEOF_LINE() bytes long.
*
* See also: vips_image_generate().

View File

@ -58,7 +58,7 @@
* SECTION: object
* @short_description: the VIPS base object class
* @stability: Stable
* @see_also: <link linkend="libvips-operation">operation</link>
* @see_also: <link linkend="VipsOperation">operation</link>
* @include: vips/vips.h
*
* The #VipsObject class and associated types and macros.
@ -363,17 +363,23 @@ vips_object_build( VipsObject *object )
/**
* vips_object_summary_class: (skip)
* @klass: class to summarise
* @buf: write summary here
*
* Generate a human-readable summary for a class.
*/
void
vips_object_summary_class( VipsObjectClass *class, VipsBuf *buf )
vips_object_summary_class( VipsObjectClass *klass, VipsBuf *buf )
{
class->summary_class( class, buf );
klass->summary_class( klass, buf );
}
/**
* vips_object_summary: (skip)
* @object: object to summarise
* @buf: write summary here
*
* Generate a human-readable summary for an object.
*/
void
vips_object_summary( VipsObject *object, VipsBuf *buf )
@ -385,7 +391,10 @@ vips_object_summary( VipsObject *object, VipsBuf *buf )
/**
* vips_object_dump: (skip)
* @object: object to dump
* @buf: write dump here
*
* Dump everything that vips knows about an object to a string.
*/
void
vips_object_dump( VipsObject *object, VipsBuf *buf )
@ -791,7 +800,7 @@ vips_object_argument_isset( VipsObject *object, const char *name )
*
* Convenience: get the flags for an argument. Useful for bindings.
*
* Returns: The #VipsArgmentFlags for this argument.
* Returns: The #VipsArgumentFlags for this argument.
*/
VipsArgumentFlags
vips_object_get_argument_flags( VipsObject *object, const char *name )
@ -2581,8 +2590,16 @@ vips_type_map_all( GType base, VipsTypeMapFn fn, void *a )
/**
* vips_class_map_all: (skip)
* @type: base type
* @fn: call this function for every type
* @a: client data
*
* Loop over all the subclasses of a base type. Non-abstract classes only.
* Loop over all the subclasses of @type. Non-abstract classes only.
* Stop when @fn returns
* non-%NULL and return that value.
*
* Returns: %NULL if @fn returns %NULL for all arguments, otherwise the first
* non-%NULL value from @fn.
*/
void *
vips_class_map_all( GType type, VipsClassMapFn fn, void *a )

View File

@ -52,7 +52,7 @@
* SECTION: operation
* @short_description: the VIPS operation base object class
* @stability: Stable
* @see_also: <link linkend="libvips-object">object</link>
* @see_also: <link linkend="VipsObject">object</link>
* @include: vips/vips.h
*
* The #VipsOperation class and associated types and macros.

View File

@ -48,7 +48,7 @@
* SECTION: rect
* @short_description: the VIPS rectangle class
* @stability: Stable
* @see_also: <link linkend="libvips-region">region</link>
* @see_also: <link linkend="VipsRegion">region</link>
* @include: vips/vips.h
*
* The #VipsRect class and associated types and macros.

View File

@ -99,7 +99,7 @@
* SECTION: region
* @short_description: small, rectangular parts of images
* @stability: Stable
* @see_also: <link linkend="libvips-image">image</link>,
* @see_also: <link linkend="VipsImage">image</link>,
* <link linkend="libvips-generate">generate</link>
* @include: vips/vips.h
*
@ -1270,7 +1270,8 @@ vips_region_prepare_to_generate( VipsRegion *reg,
* you with
* vips_region_buffer(). You can
* point @dest at anything, and pixels really will be written there.
* This makes vips_prepare_to() useful for making the ends of pipelines, since
* This makes vips_region_prepare_to() useful for making the ends of
* pipelines, since
* it (effectively) makes a break in the pipe.
*
* See also: vips_region_prepare(), vips_sink_disc().

View File

@ -319,7 +319,7 @@ vips_area_free_array_object( GObject **array, VipsArea *area )
* vips_area_new_array_object:
* @n: number of elements in the array
*
* An area which holds an array of %GObjects. See vips_area_new_array(). When
* An area which holds an array of %GObject s. See vips_area_new_array(). When
* the area is freed, each %GObject will be unreffed.
*
* Add an extra NULL element at the end, handy for eg.
@ -1415,7 +1415,7 @@ vips_value_get_array( const GValue *value,
* Return the start of the array of ints held by @value.
* optionally return the number of elements in @n.
*
* See also: vips_array_int_set().
* See also: vips_array_int_new().
*
* Returns: (transfer none): The array address.
*/
@ -1456,7 +1456,7 @@ vips_value_set_array_int( GValue *value, const int *array, int n )
* Return the start of the array of doubles held by @value.
* optionally return the number of elements in @n.
*
* See also: vips_array_double_set().
* See also: vips_array_double_new().
*
* Returns: (transfer none): The array address.
*/
@ -1535,7 +1535,7 @@ vips_value_set_array_image( GValue *value, int n )
* Return the start of the array of %GObject held by @value.
* Optionally return the number of elements in @n.
*
* See also: vips_array_object_set().
* See also: vips_area_new_array_object().
*
* Returns: (transfer none): The array address.
*/
@ -1552,7 +1552,7 @@ vips_value_get_array_object( const GValue *value, int *n )
*
* Set @value to hold an array of %GObject. Pass in the array length in @n.
*
* See also: vips_array_object_get().
* See also: vips_value_get_array_object().
*/
void
vips_value_set_array_object( GValue *value, int n )

View File

@ -166,7 +166,7 @@ vips_countlines_init( VipsCountlines *countlines )
* Xsize or Ysize and returns the mean of the result
* Input should be one band, 8-bit.
*
* See also: vips_morph(), vips_zerox(), vips_conv().
* See also: vips_morph(), vips_conv().
*
* Returns: 0 on success, -1 on error.
*/

View File

@ -188,11 +188,11 @@ vips_morph_init( VipsMorph *morph )
* based on the book "Fundamentals of Digital Image Processing" by A. Jain,
* pp 384-388, Prentice-Hall, 1989.
*
* For #VIPS_OPERATION_MOPHOLOGY_ERODE,
* For #VIPS_OPERATION_MORPHOLOGY_ERODE,
* the whole mask must match for the output pixel to be
* set, that is, the result is the logical AND of the selected input pixels.
*
* For #VIPS_OPERATION_MOPHOLOGY_DILATE,
* For #VIPS_OPERATION_MORPHOLOGY_DILATE,
* the output pixel is set if any part of the mask
* matches, that is, the result is the logical OR of the selected input pixels.
*

View File

@ -53,7 +53,7 @@
* SECTION: morphology
* @short_description: morphological operators, rank filters and related image
* analysis
* @see_also: <link linkend="libvips-boolean">boolean</link>
* @see_also: <link linkend="libvips-arithmetic">arithmetic</link>
* @stability: Stable
* @include: vips/vips.h
*
@ -65,7 +65,7 @@
* pixels from the result.
*
* If you combine the morphological operators with the mask rotators
* im_rotate_imask45(), for example) and apply them repeatedly, you
* (vips_rot45(), for example) and apply them repeatedly, you
* can achieve very complicated effects: you can thin, prune, fill, open edges,
* close gaps, and many others. For example, see `Fundamentals of Digital
* Image Processing' by A. Jain, pp 384-388, Prentice-Hall, 1989 for more
@ -85,12 +85,13 @@
* 255 0 255
* 128 255 128
*
* applied to an image with im_erode(), will find all black pixels
* 4-way connected with white pixels. Essentially, im_dilate()
* applied to an image with vips_morph() #VIPS_OPERATION_MORPHOLOGY_ERODE, will
* find all black pixels
* 4-way connected with white pixels. Essentially, dilate
* sets pixels in the output if any part of the mask matches, whereas
* im_erode() sets pixels only if all of the mask matches.
* erode sets pixels only if all of the mask matches.
*
* See im_andimage(), im_orimage() and im_eorimage()
* See vips_andimage(), vips_orimage() and vips_eorimage()
* for analogues of the usual set difference and set union operations.
*/

View File

@ -183,7 +183,7 @@ vips_merge_init( VipsMerge *merge )
*
* The two input images are cast up to the smallest common type (see table
* Smallest common format in
* <link linkend="VIPS-arithmetic">arithmetic</link>).
* <link linkend="libvips-arithmetic">arithmetic</link>).
*
* @dx and @dy give the displacement of @sec relative to @ref, in other words,
* the vector to get from the origin of @sec to the origin of @ref, in other

View File

@ -670,7 +670,7 @@ vips_mosaic1_init( VipsMosaic1 *mosaic1 )
*
* The two input images are cast up to the smallest common type (see table
* Smallest common format in
* <link linkend="VIPS-arithmetic">arithmetic</link>).
* <link linkend="libvips-arithmetic">arithmetic</link>).
*
* See also: vips_merge(), vips_insert(), vips_globalbalance().
*

View File

@ -373,7 +373,7 @@ vips_quadratic_init( VipsQuadratic *quadratic )
*
* @interpolate: use this interpolator (default bilinear)
*
* See also: im_affinei().
* See also: vips_affine().
*
* Returns: 0 on success, -1 on error
*/