From 770398753c88db036b8e4c33ee98e33c36929239 Mon Sep 17 00:00:00 2001 From: John Cupitt Date: Tue, 31 May 2011 12:21:05 +0100 Subject: [PATCH] add vips_check_dmask_1d() add a check-mask-is-1d function --- libvips/include/vips/error.h | 1 + libvips/iofuncs/error.c | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/libvips/include/vips/error.h b/libvips/include/vips/error.h index 47155e58..2681efae 100644 --- a/libvips/include/vips/error.h +++ b/libvips/include/vips/error.h @@ -83,6 +83,7 @@ int vips_check_vector( const char *domain, int n, VipsImage *im ); int vips_check_hist( 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 } diff --git a/libvips/iofuncs/error.c b/libvips/iofuncs/error.c index 31c22f2c..d36b078d 100644 --- a/libvips/iofuncs/error.c +++ b/libvips/iofuncs/error.c @@ -1153,3 +1153,28 @@ vips_check_dmask( const char *domain, DOUBLEMASK *mask ) return( 0 ); } + +/** + * vips_check_dmask_1d: + * @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 ); +}