vipsinterpolate uses new_from_string() vfunc system
This commit is contained in:
parent
1a75cf5be2
commit
3f1c855177
@ -266,8 +266,9 @@ struct _VipsObjectClass {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Given a command-line arg (eg. a filename), make an instance of the
|
/* Given a command-line arg (eg. a filename), make an instance of the
|
||||||
* object. Don't call this directly, see
|
* object. Just do the g_object_new(), don't call _build().
|
||||||
* vips_object_new_from_string().
|
*
|
||||||
|
* Don't call this directly, see vips_object_new_from_string().
|
||||||
*/
|
*/
|
||||||
VipsObject *(*new_from_string)( const char *string );
|
VipsObject *(*new_from_string)( const char *string );
|
||||||
|
|
||||||
|
@ -167,16 +167,43 @@ vips_interpolate_real_get_window_offset( VipsInterpolate *interpolate )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static VipsObject *
|
||||||
|
vips_interpolate_new_from_string( const char *string )
|
||||||
|
{
|
||||||
|
GType type;
|
||||||
|
|
||||||
|
/* The main arg selects the subclass.
|
||||||
|
*/
|
||||||
|
if( !(type = vips_type_find( "VipsInterpolate", string )) )
|
||||||
|
return( NULL );
|
||||||
|
return( VIPS_OBJECT( g_object_new( type, NULL ) ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
vips_interpolate_to_string( VipsObject *object, VipsBuf *buf )
|
||||||
|
{
|
||||||
|
VipsObjectClass *class = VIPS_OBJECT_GET_CLASS( object );
|
||||||
|
|
||||||
|
/* Just "bicubic" or whatever.
|
||||||
|
*/
|
||||||
|
vips_buf_appends( buf, class->nickname );
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
vips_interpolate_class_init( VipsInterpolateClass *class )
|
vips_interpolate_class_init( VipsInterpolateClass *class )
|
||||||
{
|
{
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
GObjectClass *gobject_class = G_OBJECT_CLASS( class );
|
GObjectClass *gobject_class = G_OBJECT_CLASS( class );
|
||||||
#endif /*DEBUG*/
|
#endif /*DEBUG*/
|
||||||
|
VipsObjectClass *vobject_class = VIPS_OBJECT_CLASS( class );
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
gobject_class->finalize = vips_interpolate_finalize;
|
gobject_class->finalize = vips_interpolate_finalize;
|
||||||
#endif /*DEBUG*/
|
#endif /*DEBUG*/
|
||||||
|
|
||||||
|
vobject_class->new_from_string = vips_interpolate_new_from_string;
|
||||||
|
vobject_class->to_string = vips_interpolate_to_string;
|
||||||
|
|
||||||
class->interpolate = NULL;
|
class->interpolate = NULL;
|
||||||
class->get_window_size = vips_interpolate_real_get_window_size;
|
class->get_window_size = vips_interpolate_real_get_window_size;
|
||||||
class->get_window_offset = vips_interpolate_real_get_window_offset;
|
class->get_window_offset = vips_interpolate_real_get_window_offset;
|
||||||
|
Loading…
Reference in New Issue
Block a user