91 const char *module_name)
95#define INCLUDE_API_FROM_MODULE_LOAD "imageio_load_module_format"
104 module->gui_init = _default_format_gui_init;
106 if(
IS_NULL_PTR(
module->dimension))
module->dimension = _default_format_dimension;
110 module->widget = NULL;
112 module->ready = TRUE;
114 module->init(module);
136 const char *plugin_name = *
name;
137 module = (dt_imageio_module_format_t *)malloc(sizeof(dt_imageio_module_format_t));
146 module->gui_data = NULL;
148 module->gui_init(module);
155 iio->plugins_format =
res;
178 const char *module_name)
182#define INCLUDE_API_FROM_MODULE_LOAD "imageio_load_module_storage"
191 module->gui_init = _default_storage_nop;
193 if(
IS_NULL_PTR(
module->dimension))
module->dimension = _default_storage_dimension;
194 if(
IS_NULL_PTR(
module->recommended_dimension))
module->recommended_dimension = _default_storage_dimension;
195 if(!
module->export_dispatched)
module->export_dispatched = _default_storage_nop;
197 module->widget = NULL;
198 module->init(module);
213 const char *plugin_name = *
name;
214 module = (dt_imageio_module_storage_t *)malloc(sizeof(dt_imageio_module_storage_t));
223 module->gui_data = NULL;
224 module->gui_init(module);
244 while(
iio->plugins_format)
247 module->gui_cleanup(module);
248 module->cleanup(module);
254 while(
iio->plugins_storage)
257 module->gui_cleanup(module);
const char * dt_conf_get_string_const(const char *name)
Borrow the stored string for name without copying it.
struct dt_imageio_t * dt_imageio_get_global(void)
struct dt_gui_gtk_t * dt_gui_get_global(void)
static gint dt_imageio_sort_modules_format(gconstpointer a, gconstpointer b)
static void _default_format_gui_init(struct dt_imageio_module_format_t *self)
dt_imageio_module_storage_t * dt_imageio_get_storage_by_index(int index)
void dt_imageio_cleanup(dt_imageio_t *iio)
static int dt_imageio_load_modules_storage(dt_imageio_t *iio)
void dt_imageio_remove_storage(dt_imageio_module_storage_t *storage)
dt_imageio_module_storage_t * dt_imageio_get_storage()
static int _default_format_flags(dt_imageio_module_data_t *data)
int dt_imageio_get_index_of_format(dt_imageio_module_format_t *format)
static int dt_imageio_load_module_format(dt_imageio_module_format_t *module, const char *libname, const char *module_name)
static int _default_format_levels(dt_imageio_module_data_t *data)
int dt_imageio_get_index_of_storage(dt_imageio_module_storage_t *storage)
static gboolean default_supported(struct dt_imageio_module_storage_t *self, struct dt_imageio_module_format_t *format)
dt_imageio_module_format_t * dt_imageio_get_format_by_index(int index)
void dt_imageio_resizing_factor_parse(const char *str, double *num, double *denum)
static int _default_storage_dimension(struct dt_imageio_module_storage_t *self, dt_imageio_module_data_t *data, uint32_t *width, uint32_t *height)
dt_imageio_module_format_t * dt_imageio_get_format()
static int dt_imageio_load_module_storage(dt_imageio_module_storage_t *module, const char *libname, const char *module_name)
void dt_imageio_init(dt_imageio_t *iio)
void dt_imageio_insert_storage(dt_imageio_module_storage_t *storage)
static void _default_storage_nop(struct dt_imageio_module_storage_t *self)
dt_imageio_module_format_t * dt_imageio_get_format_by_name(const char *name)
static gint dt_imageio_sort_modules_storage(gconstpointer a, gconstpointer b)
static int dt_imageio_load_modules_format(dt_imageio_t *iio)
dt_imageio_module_storage_t * dt_imageio_get_storage_by_name(const char *name)
static int _default_format_dimension(dt_imageio_module_format_t *module, dt_imageio_module_data_t *data, uint32_t *width, uint32_t *height)
#define IS_NULL_PTR(p)
C is way too permissive with !=, == and if(var) checks, which can mean too many things depending on w...
#define dt_free(ptr)
g_free() ptr and set it to NULL, skipping both if it is already NULL.
gchar ** dt_module_read_manifest(const char *subdir, char *moduledir)
Read a module directory's manifest and return the module base names it lists.
#define DT_PATH_MAX
Buffer size for a filesystem path anywhere in Ansel.
#define DT_DEBUG_CONTROL_SIGNAL_RAISE(ctlsig, signal,...)
struct dt_control_signal_t * dt_control_signal_get_global(void)
@ DT_SIGNAL_IMAGEIO_STORAGE_CHANGE
This signal is raised when a new storage module is loaded noparameters no return.