1 module vips.bindings; 2 3 public import gobject.c.types : GObject, GValue, GType; 4 5 extern(C) 6 { 7 // Opaque structs 8 struct VipsImage; 9 struct VipsOperation; 10 struct VipsObject; 11 struct VipsBlob; 12 13 // Vips error functions 14 const(char)* vips_error_buffer(); 15 void vips_error_clear(); 16 void vips_cache_set_max (int max); 17 void vips_cache_drop_all(); 18 // Type getter functions 19 GType vips_image_get_type(); 20 GType vips_array_double_get_type(); 21 GType vips_array_int_get_type(); 22 GType vips_array_image_get_type(); 23 GType vips_blob_get_type(); 24 25 // misc 26 const(char)* vips_foreign_find_load(const char* name); 27 const(char)* vips_foreign_find_save(const char* name); 28 const(char)* vips_version_string(); 29 int vips_cache_operation_buildp(VipsOperation** operation); 30 VipsOperation* vips_cache_operation_build(VipsOperation* operation); 31 32 VipsOperation* vips_operation_new(const char* opName); 33 void vips_value_set_array_int( 34 GValue* value, 35 const(int)* array, 36 int n, 37 ); 38 void vips_value_set_array_double( 39 GValue *value, 40 const(double)* array, 41 int n 42 ); 43 void vips_value_set_array_image(GValue* value, int n); 44 VipsImage** vips_value_get_array_image(const(GValue)* value, int *n); 45 int vips_init(const char*); 46 void vips_leak_set(bool); 47 void vips_shutdown(); 48 void vips_object_unref_outputs(VipsOperation* op); 49 int vips_object_build(VipsObject* obj); 50 51 // GObject functions 52 void* g_object_ref(void* p); 53 void g_object_unref(void* p); 54 void g_object_set_property(GObject*, const(char)*, GValue*); 55 void g_object_get_property(GObject*, const(char)*, GValue*); 56 GObject* g_value_get_object(GValue*); 57 void g_value_set_object(GValue*, GObject*); 58 } 59 60