![]() |
![]() |
![]() |
VIPS Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties |
enum VipsArgumentFlags; #define VIPS_ARGUMENT_REQUIRED_INPUT #define VIPS_ARGUMENT_OPTIONAL_INPUT #define VIPS_ARGUMENT_REQUIRED_OUTPUT #define VIPS_ARGUMENT_OPTIONAL_OUTPUT VipsArgument; VipsArgumentInstance; typedef VipsArgumentTable; VipsArgumentInstance * vips__argument_get_instance (VipsArgumentClass *, VipsObject *); VipsArgument * vips__argument_table_lookup (VipsArgumentTable *, GParamSpec *); void * (*VipsArgumentMapFn) (VipsObject *, GParamSpec *, VipsArgumentClass *, VipsArgumentInstance *, void *a, void *b); void * vips_argument_map (VipsObject *object, VipsArgumentMapFn fn, void *a, void *b); VipsObject; void vips_object_set_property (GObject *gobject, guint property_id, const GValue *value, GParamSpec *pspec); void vips_object_get_property (GObject *gobject, guint property_id, GValue *value, GParamSpec *pspec); int vips_object_build (VipsObject *object); void vips_object_print_class (VipsObjectClass *klass); void vips_object_print (VipsObject *object); void vips_object_class_install_argument (VipsObjectClass *, GParamSpec *pspec, VipsArgumentFlags flags, guint offset); void * (*VipsObjectSetArguments) (VipsObject *, void *, void *); VipsObject * vips_object_new (GType type, VipsObjectSetArguments set, void *a, void *b); VipsObject * vips_object_new_from_string (const char *base, const char *str); void vips_object_to_string (VipsObject *object, VipsBuf *buf);
typedef enum _VipsArgumentFlags { VIPS_ARGUMENT_NONE = 0, /* Must be set in the constructor. */ VIPS_ARGUMENT_REQUIRED = 1, /* Can only be set in the constructor. */ VIPS_ARGUMENT_CONSTRUCT = 2, /* Can only be set once. */ VIPS_ARGUMENT_SET_ONCE = 4, /* Have input & output flags. Both set is an error; neither set is OK. */ /* Is an input argument (one we depend on) ... if it's a gobject, we * should ref it. In our _dispose(), we should unref it. */ VIPS_ARGUMENT_INPUT = 8, /* Is an output argument (one that depends on us) ... if it's a * gobject, we should ref ourselves. We watch "destroy" on the * argument: if it goes, we unref ourselves. If we dispose, we * disconnect the signal. */ VIPS_ARGUMENT_OUTPUT = 16 } VipsArgumentFlags;
typedef struct { GParamSpec *pspec; /* pspec for this argument */ /* More stuff, see below */ } VipsArgument;
typedef struct { VipsArgument parent; /* The object we are attached to. */ VipsObject *object; /* Has been set. */ gboolean assigned; /* If this is an output argument, keep the id of our "destroy" handler * here. */ gulong destroy_id; } VipsArgumentInstance;
VipsArgumentInstance * vips__argument_get_instance (VipsArgumentClass *, VipsObject *);
VipsArgument * vips__argument_table_lookup (VipsArgumentTable *, GParamSpec *);
void * (*VipsArgumentMapFn) (VipsObject *, GParamSpec *, VipsArgumentClass *, VipsArgumentInstance *, void *a, void *b);
void * vips_argument_map (VipsObject *object, VipsArgumentMapFn fn, void *a, void *b);
void vips_object_set_property (GObject *gobject, guint property_id, const GValue *value, GParamSpec *pspec);
void vips_object_get_property (GObject *gobject, guint property_id, GValue *value, GParamSpec *pspec);
void vips_object_class_install_argument (VipsObjectClass *, GParamSpec *pspec, VipsArgumentFlags flags, guint offset);
VipsObject * vips_object_new (GType type, VipsObjectSetArguments set, void *a, void *b);
VipsObject * vips_object_new_from_string (const char *base, const char *str);