25#ifndef DT_DEVELOP_IMAGEOP_GUI_H
26#define DT_DEVELOP_IMAGEOP_GUI_H
83 return m->gui ?
m->gui->gui_data : NULL;
89 module->gui->gui_data = (dt_iop_gui_data_t*)dt_calloc_align(size);
91 return module->gui->gui_data;
93#define IOP_GUI_ALLOC(module) \
94 (dt_iop_##module##_gui_data_t *)_iop_gui_alloc(self,sizeof(dt_iop_##module##_gui_data_t))
97 dt_pthread_mutex_destroy(&self->gui->gui_lock); \
98 if(self->gui->gui_data) \
100 dt_free_align(self->gui->gui_data); \
101 self->gui->gui_data = NULL; \
103 self->gui->gui_data = NULL;
118 GCallback callback, gboolean local, guint accel_key, GdkModifierType mods,
122 const gchar *ctrl_label, GCallback callback, gboolean local,
123 guint accel_key, GdkModifierType mods,
127 GCallback callback, gboolean local, guint accel_key, GdkModifierType mods,
struct _GtkWidget GtkWidget
GtkWidget, opaque, spelled exactly as GTK spells it.
static int dt_pthread_mutex_init(dt_pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr)
Initialise a mutex. With mutexattr NULL – which is how 54 of the 56 call sites in this tree spell it ...
GtkWidget * dt_iop_togglebutton_new_no_register(dt_iop_module_t *self, const char *section, const gchar *label, const gchar *ctrl_label, GCallback callback, gboolean local, guint accel_key, GdkModifierType mods, DTGTKCairoPaintIconFunc paint, GtkWidget *box)
GtkWidget * dt_iop_button_new(dt_iop_module_t *self, const gchar *label, GCallback callback, gboolean local, guint accel_key, GdkModifierType mods, DTGTKCairoPaintIconFunc paint, gint paintflags, GtkWidget *box)
GtkWidget * dt_iop_gui_reset_label_new(const gchar *label, dt_iop_module_t *module, void *param, int param_size)
GtkWidget * dt_iop_togglebutton_new(dt_iop_module_t *self, const char *section, const gchar *label, const gchar *ctrl_label, GCallback callback, gboolean local, guint accel_key, GdkModifierType mods, DTGTKCairoPaintIconFunc paint, GtkWidget *box)
GtkWidget * dt_bauhaus_toggle_from_params(dt_iop_module_t *self, const char *param)
GtkWidget * dt_bauhaus_slider_from_params(dt_iop_module_t *self, const char *param)
static dt_iop_gui_data_t * dt_iop_gui_data(const struct dt_iop_module_t *m)
The module's GUI data blob, NULL-safe for headless callers: IOP process() implementations read it for...
gboolean dt_mask_scroll_increases(int up)
GtkWidget * dt_bauhaus_combobox_from_params(dt_iop_module_t *self, const char *param)
static dt_iop_gui_data_t * _iop_gui_alloc(dt_iop_module_t *module, size_t size)
const float const float param
The interactive half of a module instance, owned by the GUI.
GtkWidget * presets_button
GtkWidget * guides_toggle
dt_iop_gui_data_t * gui_data
GtkWidget * mask_indicator
GtkWidget * fusion_slider
GtkWidget * multimenu_button
gboolean multi_show_close
dt_pthread_mutex_t gui_lock
struct dt_iop_module_gui_t * gui