object.h   object.h 
skipping to change at line 331 skipping to change at line 331
GSList *p; \ GSList *p; \
\ \
for( p = object_class->argument_table_traverse; p; p = p->next ) { \ for( p = object_class->argument_table_traverse; p; p = p->next ) { \
VipsArgumentClass *ARG_CLASS = \ VipsArgumentClass *ARG_CLASS = \
(VipsArgumentClass *) p->data; \ (VipsArgumentClass *) p->data; \
VipsArgument *argument = (VipsArgument *) argument_class; \ VipsArgument *argument = (VipsArgument *) argument_class; \
GParamSpec *PSPEC = argument->pspec; \ GParamSpec *PSPEC = argument->pspec; \
VipsArgumentInstance *ARG_INSTANCE = \ VipsArgumentInstance *ARG_INSTANCE = \
vips__argument_get_instance( argument_class, \ vips__argument_get_instance( argument_class, \
VIPS_OBJECT( OBJECT ) ); \ VIPS_OBJECT( OBJECT ) ); \
\
/* We have many props on the arg table ... filter out the \
* ones for this class. \
*/ \
if( g_object_class_find_property( \
G_OBJECT_CLASS( object_class ), \
g_param_spec_get_name( PSPEC ) ) == PSPEC ) {
#define VIPS_ARGUMENT_FOR_ALL_END } } } #define VIPS_ARGUMENT_FOR_ALL_END } }
/* And some macros to collect args from a va list. /* And some macros to collect args from a va list.
*/ */
#define VIPS_ARGUMENT_COLLECT_SET( PSPEC, ARG_CLASS, AP ) \ #define VIPS_ARGUMENT_COLLECT_SET( PSPEC, ARG_CLASS, AP ) \
if( (ARG_CLASS->flags & VIPS_ARGUMENT_INPUT) ) { \ if( (ARG_CLASS->flags & VIPS_ARGUMENT_INPUT) ) { \
GValue value = { 0, }; \ GValue value = { 0, }; \
gchar *error = NULL; \ gchar *error = NULL; \
\ \
/* Input args are given inline, eg. ("factor", 12.0) \ /* Input args are given inline, eg. ("factor", 12.0) \
* and must be collected. \ * and must be collected. \
skipping to change at line 497 skipping to change at line 490
/* Class nickname, eg. "VipsInterpolateBicubic" has "bicubic" as a /* Class nickname, eg. "VipsInterpolateBicubic" has "bicubic" as a
* nickname. Not internationalised. * nickname. Not internationalised.
*/ */
const char *nickname; const char *nickname;
/* Class description. Used for help messages, so internationalised. /* Class description. Used for help messages, so internationalised.
*/ */
const char *description; const char *description;
/* Table of arguments for this class and any derived classes. Order /* Hash from pspec to VipsArgumentClass.
* is important, so keep a traverse list too. We can't rely on the *
* ordering given by g_object_class_list_properties() since it comes * This records the VipsArgumentClass for every pspec used in
* from a hash :-( * VipsObject and any subclass (ie. everywhere), so it's huge. Don't
* loop over this hash! Fine for lookups though.
*/ */
VipsArgumentTable *argument_table; VipsArgumentTable *argument_table;
/* A sorted (by priority) list of the VipsArgumentClass for this cla
ss
* and any superclasses. This is small and specific to this class.
*
* Use the stored GType to work out when to restart the list for a
* subclass.
*/
GSList *argument_table_traverse; GSList *argument_table_traverse;
GType argument_table_traverse_gtype;
}; };
gboolean vips_value_is_null( GParamSpec *psoec, const GValue *value ); gboolean vips_value_is_null( GParamSpec *psoec, const GValue *value );
void vips_object_set_property( GObject *gobject, void vips_object_set_property( GObject *gobject,
guint property_id, const GValue *value, GParamSpec *pspec ); guint property_id, const GValue *value, GParamSpec *pspec );
void vips_object_get_property( GObject *gobject, void vips_object_get_property( GObject *gobject,
guint property_id, GValue *value, GParamSpec *pspec ); guint property_id, GValue *value, GParamSpec *pspec );
void vips_object_preclose( VipsObject *object ); void vips_object_preclose( VipsObject *object );
int vips_object_build( VipsObject *object ); int vips_object_build( VipsObject *object );
 End of changes. 5 change blocks. 
12 lines changed or deleted 15 lines changed or added


 operation.h   operation.h 
skipping to change at line 69 skipping to change at line 69
/* When we added this operation to cache .. used to find LRU for /* When we added this operation to cache .. used to find LRU for
* flush. * flush.
*/ */
int time; int time;
/* Keep the hash here. /* Keep the hash here.
*/ */
guint hash; guint hash;
gboolean found_hash; gboolean found_hash;
/* Set this before the end of _build() to stop this operation from
* being cached. Some things, like sequential read from a TIFF file,
* can't be reused.
*/
gboolean nocache;
} VipsOperation; } VipsOperation;
typedef struct _VipsOperationClass { typedef struct _VipsOperationClass {
VipsObjectClass parent_class; VipsObjectClass parent_class;
/* Print the usage message. /* Print the usage message.
*/ */
void (*usage)( struct _VipsOperationClass *, VipsBuf * ); void (*usage)( struct _VipsOperationClass *, VipsBuf * );
} VipsOperationClass; } VipsOperationClass;
skipping to change at line 92 skipping to change at line 98
int vips_operation_call_valist( VipsOperation *operation, va_list ap ); int vips_operation_call_valist( VipsOperation *operation, va_list ap );
VipsOperation *vips_operation_new( const char *name ); VipsOperation *vips_operation_new( const char *name );
int vips_call( const char *operation_name, ... ); int vips_call( const char *operation_name, ... );
int vips_call_split( const char *operation_name, va_list optional, ... ); int vips_call_split( const char *operation_name, va_list optional, ... );
void vips_call_options( GOptionGroup *group, VipsOperation *operation ); void vips_call_options( GOptionGroup *group, VipsOperation *operation );
int vips_call_argv( VipsOperation *operation, int argc, char **argv ); int vips_call_argv( VipsOperation *operation, int argc, char **argv );
void vips_cache_drop_all( void ); void vips_cache_drop_all( void );
void vips_operation_set_nocache( VipsOperation *operation, gboolean nocache );
int vips_cache_operation_buildp( VipsOperation **operation ); int vips_cache_operation_buildp( VipsOperation **operation );
VipsOperation *vips_cache_operation_build( VipsOperation *operation ); VipsOperation *vips_cache_operation_build( VipsOperation *operation );
void vips_cache_set_max( int max ); void vips_cache_set_max( int max );
void vips_cache_set_max_mem( size_t max_mem ); void vips_cache_set_max_mem( size_t max_mem );
int vips_cache_get_max( void ); int vips_cache_get_max( void );
int vips_cache_get_size( void ); int vips_cache_get_size( void );
size_t vips_cache_get_max_mem( void ); size_t vips_cache_get_max_mem( void );
int vips_cache_get_max_files( void ); int vips_cache_get_max_files( void );
void vips_cache_set_max_files( int max_files ); void vips_cache_set_max_files( int max_files );
void vips_cache_set_dump( gboolean dump ); void vips_cache_set_dump( gboolean dump );
 End of changes. 2 change blocks. 
0 lines changed or deleted 7 lines changed or added


 version.h   version.h 
/* Macros for the header version. /* Macros for the header version.
*/ */
#ifndef VIPS_VERSION_H #ifndef VIPS_VERSION_H
#define VIPS_VERSION_H #define VIPS_VERSION_H
#define VIPS_VERSION "7.28.5" #define VIPS_VERSION "7.28.6"
#define VIPS_VERSION_STRING "7.28.5-Mon Jan 20 23:54:54 MSK 2014" #define VIPS_VERSION_STRING "7.28.6-Mon Jan 20 23:50:45 MSK 2014"
#define VIPS_MAJOR_VERSION (7) #define VIPS_MAJOR_VERSION (7)
#define VIPS_MINOR_VERSION (28) #define VIPS_MINOR_VERSION (28)
#define VIPS_MICRO_VERSION (5) #define VIPS_MICRO_VERSION (6)
/* Not really anything to do with versions, but this is a handy place to pu t /* Not really anything to do with versions, but this is a handy place to pu t
* it. * it.
*/ */
#define VIPS_EXEEXT "" #define VIPS_EXEEXT ""
#endif /*VIPS_VERSION_H*/ #endif /*VIPS_VERSION_H*/
 End of changes. 2 change blocks. 
3 lines changed or deleted 3 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/