Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
blend_gui.c File Reference
#include "common/darktable.h"
#include "develop/blend.h"
#include "bauhaus/bauhaus.h"
#include "common/debug.h"
#include "common/dtpthread.h"
#include "common/math.h"
#include "common/opencl.h"
#include "common/iop_profile.h"
#include "control/conf.h"
#include "control/control.h"
#include "develop/develop.h"
#include "develop/imageop.h"
#include "develop/imageop_gui.h"
#include "develop/masks.h"
#include "develop/tiling.h"
#include "dtgtk/button.h"
#include "dtgtk/gradientslider.h"
#include "gui/actions/menu.h"
#include "gui/gtk.h"
#include "gui/presets.h"
#include <assert.h>
#include <gmodule.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
+ Include dependency graph for blend_gui.c:

Data Structures

struct  raster_combo_entry_t
 

Macros

#define NEUTRAL_GRAY   0.5
 
#define BLEND_MASKMODE_CONF_KEY   "plugins/darkroom/blending/mask_mode_tab"
 
#define COLORSTOPS(gradient)   sizeof(gradient) / sizeof(dt_iop_gui_blendif_colorstop_t), gradient
 

Typedefs

typedef enum _blendop_masks_all_cols_t _blendop_masks_all_cols_t
 
typedef enum _blendop_masks_group_cols_t _blendop_masks_group_cols_t
 
typedef struct raster_combo_entry_t raster_combo_entry_t
 

Enumerations

enum  _channel_indexes {
  CHANNEL_INDEX_L = 0 ,
  CHANNEL_INDEX_a = 1 ,
  CHANNEL_INDEX_b = 2 ,
  CHANNEL_INDEX_C = 3 ,
  CHANNEL_INDEX_h = 4 ,
  CHANNEL_INDEX_g = 0 ,
  CHANNEL_INDEX_R = 1 ,
  CHANNEL_INDEX_G = 2 ,
  CHANNEL_INDEX_B = 3 ,
  CHANNEL_INDEX_H = 4 ,
  CHANNEL_INDEX_S = 5 ,
  CHANNEL_INDEX_l = 6 ,
  CHANNEL_INDEX_Jz = 4 ,
  CHANNEL_INDEX_Cz = 5 ,
  CHANNEL_INDEX_hz = 6
}
 
enum  _blendop_masks_all_cols_t {
  BLENDOP_MASKS_ALL_COL_ACTIVE = 0 ,
  BLENDOP_MASKS_ALL_COL_NAME ,
  BLENDOP_MASKS_ALL_COL_FORMID ,
  BLENDOP_MASKS_ALL_COL_SENSITIVE ,
  BLENDOP_MASKS_ALL_COL_MARKUP ,
  BLENDOP_MASKS_ALL_COL_STATUS_MARKUP ,
  BLENDOP_MASKS_ALL_COL_COUNT
}
 
enum  _blendop_masks_group_cols_t {
  BLENDOP_MASKS_GROUP_COL_OP_ICON = 0 ,
  BLENDOP_MASKS_GROUP_COL_INV_ICON ,
  BLENDOP_MASKS_GROUP_COL_NAME ,
  BLENDOP_MASKS_GROUP_COL_FORMID ,
  BLENDOP_MASKS_GROUP_COL_PARENTID ,
  BLENDOP_MASKS_GROUP_COL_STATE ,
  BLENDOP_MASKS_GROUP_COL_INDEX ,
  BLENDOP_MASKS_GROUP_COL_COUNT
}
 

Functions

static void _blendop_blendif_update_tab (dt_iop_module_t *module, const int tab)
 
static dt_iop_colorspace_type_t _blendif_colorpicker_cst (dt_iop_gui_blend_data_t *data)
 
static gboolean _blendif_blend_parameter_enabled (dt_develop_blend_colorspace_t csp, dt_develop_blend_mode_t mode)
 
static float _get_boost_factor (const dt_iop_gui_blend_data_t *data, const int channel, const int in_out)
 
static void _blendif_scale (dt_iop_gui_blend_data_t *data, dt_iop_colorspace_type_t cst, const float *in, float *out, const dt_iop_order_iccprofile_info_t *work_profile, int in_out)
 
static void _blendif_cook (dt_iop_colorspace_type_t cst, const float *in, float *out, const dt_iop_order_iccprofile_info_t *const work_profile)
 
static int _blendif_print_digits_default (float value)
 
static int _blendif_print_digits_ab (float value)
 
static void _blendif_scale_print_ab (float value, float boost_factor, char *string, int n)
 
static void _blendif_scale_print_hue (float value, float boost_factor, char *string, int n)
 
static void _blendif_scale_print_default (float value, float boost_factor, char *string, int n)
 
static gboolean _blendif_are_output_channels_used (const dt_develop_blend_params_t *const blend, const dt_develop_blend_colorspace_t cst)
 
static gboolean _blendif_clean_output_channels (dt_iop_module_t *module)
 
static void _blendop_masks_mode_callback (const unsigned int mask_mode, dt_iop_gui_blend_data_t *data)
 
static void _blendop_blend_mode_callback (GtkWidget *combo, dt_iop_gui_blend_data_t *data)
 
static gboolean _blendop_blend_order_clicked (GtkWidget *button, GdkEventButton *event, dt_iop_module_t *module)
 
static void _blendop_masks_combine_callback (GtkWidget *combo, dt_iop_gui_blend_data_t *data)
 
static void _blendop_masks_invert_callback (GtkWidget *combo, dt_iop_gui_blend_data_t *data)
 
static void _blendop_blendif_sliders_callback (GtkDarktableGradientSlider *slider, dt_iop_gui_blend_data_t *data)
 
static void _blendop_blendif_sliders_reset_callback (GtkDarktableGradientSlider *slider, dt_iop_gui_blend_data_t *data)
 
static void _blendop_blendif_polarity_callback (GtkToggleButton *togglebutton, dt_iop_gui_blend_data_t *data)
 
static float log10_scale_callback (GtkWidget *self, float inval, int dir)
 
static float magnifier_scale_callback (GtkWidget *self, float inval, int dir)
 
static int _blendop_blendif_disp_alternative_worker (GtkWidget *widget, dt_iop_module_t *module, int mode, float(*scale_callback)(GtkWidget *, float, int), const char *label)
 
static int _blendop_blendif_disp_alternative_mag (GtkWidget *widget, dt_iop_module_t *module, int mode)
 
static int _blendop_blendif_disp_alternative_log (GtkWidget *widget, dt_iop_module_t *module, int mode)
 
static void _blendop_blendif_disp_alternative_reset (GtkWidget *widget, dt_iop_module_t *module)
 
static dt_iop_colorspace_type_t _blendop_blendif_get_picker_colorspace (dt_iop_gui_blend_data_t *bd)
 
static int _blendif_print_digits_picker (float value)
 
static void _update_gradient_slider_pickers (GtkWidget *callback_dummy, dt_iop_module_t *module)
 
static void _blendop_blendif_tab_switch (GtkNotebook *notebook, GtkWidget *page, guint page_num, dt_iop_gui_blend_data_t *data)
 
static void _blendop_blending_notebook_switch (GtkNotebook *notebook, GtkWidget *page, guint page_num, dt_iop_gui_blend_data_t *data)
 Persist the active blending notebook tab in anselrc.
 
static void _blendop_blendif_boost_factor_callback (GtkWidget *slider, dt_iop_gui_blend_data_t *data)
 
static void _blendop_blendif_details_callback (GtkWidget *slider, dt_iop_gui_blend_data_t *data)
 
static gboolean _blendop_blendif_showmask_clicked (GtkToggleButton *button, GdkEventButton *event, dt_iop_module_t *module)
 
static void _blendop_masks_mode_changed (GtkToggleButton *togglebutton, dt_iop_module_t *module)
 
static gboolean _blendop_blendif_suppress_toggled (GtkToggleButton *togglebutton, GdkEventButton *event, dt_iop_module_t *module)
 
static gboolean _blendop_blendif_reset (GtkButton *button, GdkEventButton *event, dt_iop_module_t *module)
 
static gboolean _blendop_blendif_invert (GtkButton *button, GdkEventButton *event, dt_iop_module_t *module)
 
static gboolean _blendop_masks_add_shape (GtkWidget *widget, GdkEventButton *event, dt_iop_module_t *self)
 
static gboolean _blendop_masks_show_and_edit (GtkWidget *widget, GdkEventButton *event, dt_iop_module_t *self)
 
static gboolean _blendop_masks_polarity_callback (GtkToggleButton *togglebutton, GdkEventButton *event, dt_iop_module_t *self)
 
static dt_masks_form_t_blendop_masks_group_from_module (dt_iop_module_t *module)
 
static void _blendop_masks_check_id (dt_masks_form_t *mask_form)
 
static dt_masks_form_t_blendop_masks_group_create (dt_iop_module_t *module)
 
static dt_masks_form_group_t_blendop_masks_find_group_entry (dt_masks_form_t *group_form, const int formid, int *index)
 
static void _blendop_masks_init_icons (dt_iop_gui_blend_data_t *bd)
 
static const GdkPixbuf * _blendop_masks_get_op_icon (const dt_iop_gui_blend_data_t *bd, const int state, const int index)
 
static const GdkPixbuf * _blendop_masks_get_inverse_icon (const dt_iop_gui_blend_data_t *bd, const int state)
 
static int _blendop_masks_group_tree_append (const dt_iop_gui_blend_data_t *bd, GtkTreeStore *tree_store, GtkTreeIter *parent_iter, const dt_masks_form_t *parent_group)
 
static gboolean _blendop_masks_is_single_group_wrapper (const dt_masks_form_t *mask_form)
 
static gboolean _blendop_masks_is_group_with_shapes (const dt_masks_form_t *mask_form)
 
static int _blendop_masks_group_tree_append_entry (const dt_iop_gui_blend_data_t *bd, GtkTreeStore *tree_store, GtkTreeIter *parent_iter, const dt_masks_form_group_t *group_entry, const dt_masks_form_t *mask_form, const int index)
 
static gboolean _blendop_masks_find_iter_by_formid (GtkTreeModel *model, GtkTreeIter *iter, const int formid_col, const int formid)
 
static void _blendop_masks_all_selection_changed (GtkTreeSelection *selection, dt_iop_module_t *module)
 
static gboolean _blendop_masks_all_button_pressed (GtkWidget *treeview, GdkEventButton *event, dt_iop_module_t *module)
 
static void _blendop_masks_group_selection_changed (GtkTreeSelection *selection, dt_iop_module_t *module)
 
static gboolean _blendop_masks_group_button_pressed (GtkWidget *treeview, GdkEventButton *event, dt_iop_module_t *module)
 
static void _blendop_masks_group_name_activate (GtkEntry *entry, dt_iop_module_t *module)
 
static gboolean _blendop_masks_group_name_focus_out (GtkWidget *widget, GdkEventFocus *event, dt_iop_module_t *module)
 
static void _blendop_masks_refresh_lists (dt_iop_module_t *module)
 
static void _blendop_masks_apply_and_commit (dt_iop_module_t *module)
 
static void _blendop_masks_group_name_commit (dt_iop_module_t *module, const gchar *new_text)
 
static void _blendop_masks_all_name_edited (GtkCellRendererText *cell, gchar *path_string, gchar *new_text, dt_iop_module_t *module)
 
static void _blendop_masks_all_toggled (GtkCellRendererToggle *cell, gchar *path_string, dt_iop_module_t *module)
 
static void _blendop_masks_all_delete_callback (GtkWidget *menu_item, dt_iop_module_t *module)
 
static void _blendop_masks_all_duplicate_callback (GtkWidget *menu_item, dt_iop_module_t *module)
 
static void _blendop_masks_all_rename_callback (GtkWidget *menu_item, dt_iop_module_t *module)
 
static gboolean _blendop_masks_all_handle_left_click (GtkWidget *treeview, GtkTreePath *path, GtkTreeViewColumn *column, dt_iop_module_t *module)
 
static void _blendop_masks_group_operation_callback (GtkWidget *menu_item, gpointer user_data)
 
static gboolean _blendop_masks_group_move_by_index (dt_masks_form_t *group_form, const int index, const gboolean move_up)
 
static void _blendop_masks_group_move_callback (GtkWidget *menu_item, dt_iop_module_t *module)
 
static void _blendop_masks_edit_list_toggle (GtkToggleButton *togglebutton, dt_iop_module_t *module)
 
static GtkWidget_blendop_masks_shape_buttons (dt_iop_module_t *module, dt_iop_gui_blend_data_t *bd)
 
static GtkWidget_blendop_masks_group_ctx_menu (dt_iop_gui_blend_data_t *bd, dt_iop_module_t *module, const int formid, const int parentid, const int state, const int index, const int list_length)
 
static void _blendop_masks_handler_callback (gpointer instance, const int formid, const int parentid, const dt_masks_event_t event, dt_iop_module_t *module)
 
gboolean blend_color_picker_apply (dt_iop_module_t *module, GtkWidget *picker, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece)
 
static gboolean _blendif_change_blend_colorspace (dt_iop_module_t *module, dt_develop_blend_colorspace_t cst)
 
static void _blendif_select_colorspace (GtkMenuItem *menuitem, dt_iop_module_t *module)
 
static void _blendif_show_output_channels (GtkMenuItem *menuitem, dt_iop_module_t *module)
 
static void _blendif_hide_output_channels (GtkMenuItem *menuitem, dt_iop_module_t *module)
 
static void _blendif_options_callback (GtkButton *button, GdkEventButton *event, dt_iop_module_t *module)
 
static void _blendop_blendif_channel_mask_view (GtkWidget *widget, dt_iop_module_t *module, dt_dev_pixelpipe_display_mask_t mode)
 
static void _blendop_blendif_channel_mask_view_toggle (GtkWidget *widget, dt_iop_module_t *module, dt_dev_pixelpipe_display_mask_t mode)
 
static gboolean _blendop_blendif_enter (GtkWidget *widget, GdkEventCrossing *event, dt_iop_module_t *module)
 
static gboolean _blendop_blendif_leave_delayed (gpointer data)
 
static gboolean _blendop_blendif_leave (GtkWidget *widget, GdkEventCrossing *event, dt_iop_module_t *module)
 
static gboolean _blendop_blendif_key_press (GtkWidget *widget, GdkEventKey *event, dt_iop_module_t *module)
 
void dt_iop_gui_update_blendif (dt_iop_module_t *module)
 
void dt_iop_gui_init_blendif (GtkBox *blendw, dt_iop_module_t *module)
 
void dt_masks_iop_update (dt_iop_module_t *module)
 
void dt_iop_gui_init_masks (GtkBox *blendw, dt_iop_module_t *module)
 
static void _raster_combo_populate (GtkWidget *w, void *m)
 
static void _raster_value_changed_callback (GtkWidget *widget, struct dt_iop_module_t *module)
 
void dt_iop_gui_update_raster (dt_iop_module_t *module)
 
static void _raster_polarity_callback (GtkToggleButton *togglebutton, dt_iop_module_t *self)
 
void dt_iop_gui_init_raster (GtkBox *blendw, dt_iop_module_t *module)
 
void dt_iop_gui_cleanup_blending (dt_iop_module_t *module)
 
static gboolean _add_blendmode_combo (GtkWidget *combobox, dt_develop_blend_mode_t mode)
 
static GtkWidget_combobox_new_from_list (dt_iop_module_t *module, const gchar *label, const dt_develop_name_value_t *list, uint32_t *field, const gchar *tooltip)
 
static void _notebook_append_full_width_page (GtkWidget *notebook, GtkWidget *page, const gchar *label)
 
static GtkWidget_blendop_create_enable_toggle (dt_iop_module_t *module, const unsigned int mask_bit)
 
static void _blendop_update_top_enable_label (dt_iop_module_t *module)
 
static GtkWidget_blendop_create_notebook_page (GtkWidget *notebook, const gchar *label, GtkWidget **content)
 
static GtkWidget_blendop_create_toggle_page (GtkWidget *notebook, const gchar *label, dt_iop_module_t *module, const unsigned int mask_bit, GtkWidget **toggle, GtkWidget **content)
 
static void _blendop_toggle_button_set_active (GtkWidget *toggle, const gboolean enabled)
 
static void _blendop_sync_toggle_state (GtkWidget *toggle, const gboolean available, const gboolean enabled, GtkWidget *content)
 
void dt_iop_gui_update_blending (dt_iop_module_t *module)
 
void dt_iop_gui_blending_lose_focus (dt_iop_module_t *module)
 
void dt_iop_gui_blending_reload_defaults (dt_iop_module_t *module)
 
void dt_iop_gui_cleanup_blending_body (dt_iop_module_t *module)
 
void dt_iop_gui_init_blending_body (GtkBox *blendw, dt_iop_module_t *module)
 
void dt_iop_gui_init_blending (dt_iop_module_t *module)
 

Variables

const dt_develop_name_value_t dt_develop_blend_mode_names []
 
const dt_develop_name_value_t dt_develop_blend_mode_flag_names []
 
const dt_develop_name_value_t dt_develop_blend_colorspace_names []
 
const dt_develop_name_value_t dt_develop_mask_mode_names []
 
const dt_develop_name_value_t dt_develop_combine_masks_names []
 
const dt_develop_name_value_t dt_develop_feathering_guide_names []
 
const dt_develop_name_value_t dt_develop_invert_mask_names []
 
const dt_iop_gui_blendif_colorstop_t _gradient_L []
 
const dt_iop_gui_blendif_colorstop_t _gradient_a []
 
const dt_iop_gui_blendif_colorstop_t _gradient_b []
 
const dt_iop_gui_blendif_colorstop_t _gradient_gray []
 
const dt_iop_gui_blendif_colorstop_t _gradient_red []
 
const dt_iop_gui_blendif_colorstop_t _gradient_green []
 
const dt_iop_gui_blendif_colorstop_t _gradient_blue []
 
const dt_iop_gui_blendif_colorstop_t _gradient_chroma []
 
const dt_iop_gui_blendif_colorstop_t _gradient_LCh_hue []
 
const dt_iop_gui_blendif_colorstop_t _gradient_HSL_hue []
 
const dt_iop_gui_blendif_colorstop_t _gradient_JzCzhz_hue []
 
const dt_iop_gui_blendif_channel_t Lab_channels []
 
const dt_iop_gui_blendif_channel_t rgb_channels []
 
const dt_iop_gui_blendif_channel_t rgbj_channels []
 
const char * slider_tooltip []
 

Macro Definition Documentation

◆ BLEND_MASKMODE_CONF_KEY

#define BLEND_MASKMODE_CONF_KEY   "plugins/darkroom/blending/mask_mode_tab"

◆ COLORSTOPS

#define COLORSTOPS (   gradient)    sizeof(gradient) / sizeof(dt_iop_gui_blendif_colorstop_t), gradient

◆ NEUTRAL_GRAY

#define NEUTRAL_GRAY   0.5

Typedef Documentation

◆ _blendop_masks_all_cols_t

◆ _blendop_masks_group_cols_t

◆ raster_combo_entry_t

Enumeration Type Documentation

◆ _blendop_masks_all_cols_t

Enumerator
BLENDOP_MASKS_ALL_COL_ACTIVE 
BLENDOP_MASKS_ALL_COL_NAME 
BLENDOP_MASKS_ALL_COL_FORMID 
BLENDOP_MASKS_ALL_COL_SENSITIVE 
BLENDOP_MASKS_ALL_COL_MARKUP 
BLENDOP_MASKS_ALL_COL_STATUS_MARKUP 
BLENDOP_MASKS_ALL_COL_COUNT 

◆ _blendop_masks_group_cols_t

Enumerator
BLENDOP_MASKS_GROUP_COL_OP_ICON 
BLENDOP_MASKS_GROUP_COL_INV_ICON 
BLENDOP_MASKS_GROUP_COL_NAME 
BLENDOP_MASKS_GROUP_COL_FORMID 
BLENDOP_MASKS_GROUP_COL_PARENTID 
BLENDOP_MASKS_GROUP_COL_STATE 
BLENDOP_MASKS_GROUP_COL_INDEX 
BLENDOP_MASKS_GROUP_COL_COUNT 

◆ _channel_indexes

Enumerator
CHANNEL_INDEX_L 
CHANNEL_INDEX_a 
CHANNEL_INDEX_b 
CHANNEL_INDEX_C 
CHANNEL_INDEX_h 
CHANNEL_INDEX_g 
CHANNEL_INDEX_R 
CHANNEL_INDEX_G 
CHANNEL_INDEX_B 
CHANNEL_INDEX_H 
CHANNEL_INDEX_S 
CHANNEL_INDEX_l 
CHANNEL_INDEX_Jz 
CHANNEL_INDEX_Cz 
CHANNEL_INDEX_hz 

Function Documentation

◆ _add_blendmode_combo()

◆ _blendif_are_output_channels_used()

◆ _blendif_blend_parameter_enabled()

◆ _blendif_change_blend_colorspace()

◆ _blendif_clean_output_channels()

◆ _blendif_colorpicker_cst()

◆ _blendif_cook()

◆ _blendif_hide_output_channels()

◆ _blendif_options_callback()

◆ _blendif_print_digits_ab()

static int _blendif_print_digits_ab ( float  value)
inlinestatic

References value.

Referenced by _blendif_scale_print_ab().

◆ _blendif_print_digits_default()

static int _blendif_print_digits_default ( float  value)
inlinestatic

References value.

Referenced by _blendif_scale_print_default().

◆ _blendif_print_digits_picker()

static int _blendif_print_digits_picker ( float  value)
inlinestatic

References value.

Referenced by _update_gradient_slider_pickers().

◆ _blendif_scale()

◆ _blendif_scale_print_ab()

static void _blendif_scale_print_ab ( float  value,
float  boost_factor,
char *  string,
int  n 
)
static

References _blendif_print_digits_ab(), n, and value.

◆ _blendif_scale_print_default()

static void _blendif_scale_print_default ( float  value,
float  boost_factor,
char *  string,
int  n 
)
static

◆ _blendif_scale_print_hue()

static void _blendif_scale_print_hue ( float  value,
float  boost_factor,
char *  string,
int  n 
)
static

References n, and value.

◆ _blendif_select_colorspace()

static void _blendif_select_colorspace ( GtkMenuItem *  menuitem,
dt_iop_module_t module 
)
static

◆ _blendif_show_output_channels()

◆ _blendop_blend_mode_callback()

◆ _blendop_blend_order_clicked()

◆ _blendop_blendif_boost_factor_callback()

◆ _blendop_blendif_channel_mask_view()

◆ _blendop_blendif_channel_mask_view_toggle()

◆ _blendop_blendif_details_callback()

◆ _blendop_blendif_disp_alternative_log()

static int _blendop_blendif_disp_alternative_log ( GtkWidget widget,
dt_iop_module_t module,
int  mode 
)
static

◆ _blendop_blendif_disp_alternative_mag()

static int _blendop_blendif_disp_alternative_mag ( GtkWidget widget,
dt_iop_module_t module,
int  mode 
)
static

◆ _blendop_blendif_disp_alternative_reset()

static void _blendop_blendif_disp_alternative_reset ( GtkWidget widget,
dt_iop_module_t module 
)
static

◆ _blendop_blendif_disp_alternative_worker()

static int _blendop_blendif_disp_alternative_worker ( GtkWidget widget,
dt_iop_module_t module,
int  mode,
float(*)(GtkWidget *, float, int)  scale_callback,
const char *  label 
)
static

◆ _blendop_blendif_enter()

static gboolean _blendop_blendif_enter ( GtkWidget widget,
GdkEventCrossing *  event,
dt_iop_module_t module 
)
static

◆ _blendop_blendif_get_picker_colorspace()

◆ _blendop_blendif_invert()

◆ _blendop_blendif_key_press()

◆ _blendop_blendif_leave()

◆ _blendop_blendif_leave_delayed()

static gboolean _blendop_blendif_leave_delayed ( gpointer  data)
static

◆ _blendop_blendif_polarity_callback()

◆ _blendop_blendif_reset()

◆ _blendop_blendif_showmask_clicked()

static gboolean _blendop_blendif_showmask_clicked ( GtkToggleButton *  button,
GdkEventButton *  event,
dt_iop_module_t module 
)
static

◆ _blendop_blendif_sliders_callback()

◆ _blendop_blendif_sliders_reset_callback()

◆ _blendop_blendif_suppress_toggled()

static gboolean _blendop_blendif_suppress_toggled ( GtkToggleButton *  togglebutton,
GdkEventButton *  event,
dt_iop_module_t module 
)
static

◆ _blendop_blendif_tab_switch()

◆ _blendop_blendif_update_tab()

static void _blendop_blendif_update_tab ( dt_iop_module_t module,
const int  tab 
)
static

References _blendop_blendif_disp_alternative_reset(), _get_boost_factor(), _update_gradient_slider_pickers(), dt_iop_gui_blendif_channel_t::altdisplay, dt_iop_gui_blend_data_t::altmode, dt_develop_blend_params_t::blendif, dt_develop_blend_params_t::blendif_boost_factors, dt_develop_blend_params_t::blendif_parameters, dt_iop_gui_blendif_channel_t::boost_factor_enabled, dt_iop_gui_blendif_channel_t::boost_factor_offset, dt_iop_gui_blend_data_t::channel, dt_iop_gui_blend_data_t::channel_boost_factor_slider, dt_iop_gui_blendif_colorstop_t::color, dt_iop_gui_blendif_channel_t::colorstops, darktable, dt_bauhaus_slider_set(), dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), dtgtk_gradient_slider_multivalue_clear_stops(), dtgtk_gradient_slider_multivalue_set_increment(), dtgtk_gradient_slider_multivalue_set_marker(), dtgtk_gradient_slider_multivalue_set_resetvalue(), dtgtk_gradient_slider_multivalue_set_stop(), dtgtk_gradient_slider_multivalue_set_value(), dt_iop_gui_blend_data_t::filter, GRADIENT_SLIDER_MARKER_LOWER_FILLED_BIG, GRADIENT_SLIDER_MARKER_LOWER_OPEN_BIG, GRADIENT_SLIDER_MARKER_UPPER_FILLED_BIG, GRADIENT_SLIDER_MARKER_UPPER_OPEN_BIG, darktable_t::gui, dt_iop_gui_blendif_channel_t::increment, dt_iop_gui_blendif_filter_t::label, dt_iop_gui_blend_data_t::lock, dt_iop_gui_blendif_channel_t::numberstops, dt_iop_gui_blendif_channel_t::param_channels, dt_iop_gui_blendif_filter_t::polarity, dt_gui_gtk_t::reset, dt_iop_gui_blendif_channel_t::scale_print, dt_iop_gui_blendif_filter_t::slider, and dt_iop_gui_blendif_colorstop_t::stoppoint.

Referenced by _blendop_blendif_boost_factor_callback(), _blendop_blendif_sliders_reset_callback(), _blendop_blendif_tab_switch(), _blendop_masks_combine_callback(), blend_color_picker_apply(), and dt_iop_gui_update_blendif().

◆ _blendop_blending_notebook_switch()

static void _blendop_blending_notebook_switch ( GtkNotebook *  notebook,
GtkWidget page,
guint  page_num,
dt_iop_gui_blend_data_t data 
)
static

Persist the active blending notebook tab in anselrc.

The blending UI is rebuilt per module instance, so we store only the last-used page index to restore a consistent view across sessions.

References BLEND_MASKMODE_CONF_KEY, dt_conf_set_int(), and void().

Referenced by dt_iop_gui_init_blending_body().

◆ _blendop_create_enable_toggle()

static GtkWidget * _blendop_create_enable_toggle ( dt_iop_module_t module,
const unsigned int  mask_bit 
)
static

◆ _blendop_create_notebook_page()

static GtkWidget * _blendop_create_notebook_page ( GtkWidget notebook,
const gchar *  label,
GtkWidget **  content 
)
static

◆ _blendop_create_toggle_page()

static GtkWidget * _blendop_create_toggle_page ( GtkWidget notebook,
const gchar *  label,
dt_iop_module_t module,
const unsigned int  mask_bit,
GtkWidget **  toggle,
GtkWidget **  content 
)
static

◆ _blendop_masks_add_shape()

◆ _blendop_masks_all_button_pressed()

◆ _blendop_masks_all_delete_callback()

◆ _blendop_masks_all_duplicate_callback()

◆ _blendop_masks_all_handle_left_click()

static gboolean _blendop_masks_all_handle_left_click ( GtkWidget treeview,
GtkTreePath *  path,
GtkTreeViewColumn *  column,
dt_iop_module_t module 
)
static

◆ _blendop_masks_all_name_edited()

◆ _blendop_masks_all_rename_callback()

◆ _blendop_masks_all_selection_changed()

static void _blendop_masks_all_selection_changed ( GtkTreeSelection *  selection,
dt_iop_module_t module 
)
static

◆ _blendop_masks_all_toggled()

◆ _blendop_masks_apply_and_commit()

◆ _blendop_masks_check_id()

static void _blendop_masks_check_id ( dt_masks_form_t mask_form)
static

◆ _blendop_masks_combine_callback()

◆ _blendop_masks_edit_list_toggle()

static void _blendop_masks_edit_list_toggle ( GtkToggleButton *  togglebutton,
dt_iop_module_t module 
)
static

◆ _blendop_masks_find_group_entry()

static dt_masks_form_group_t * _blendop_masks_find_group_entry ( dt_masks_form_t group_form,
const int  formid,
int *  index 
)
static

◆ _blendop_masks_find_iter_by_formid()

static gboolean _blendop_masks_find_iter_by_formid ( GtkTreeModel *  model,
GtkTreeIter *  iter,
const int  formid_col,
const int  formid 
)
static

References FALSE, model, and TRUE.

Referenced by _blendop_masks_all_rename_callback().

◆ _blendop_masks_get_inverse_icon()

static const GdkPixbuf * _blendop_masks_get_inverse_icon ( const dt_iop_gui_blend_data_t bd,
const int  state 
)
static

◆ _blendop_masks_get_op_icon()

◆ _blendop_masks_group_button_pressed()

◆ _blendop_masks_group_create()

◆ _blendop_masks_group_ctx_menu()

◆ _blendop_masks_group_from_module()

◆ _blendop_masks_group_move_by_index()

static gboolean _blendop_masks_group_move_by_index ( dt_masks_form_t group_form,
const int  index,
const gboolean  move_up 
)
static

◆ _blendop_masks_group_move_callback()

◆ _blendop_masks_group_name_activate()

static void _blendop_masks_group_name_activate ( GtkEntry *  entry,
dt_iop_module_t module 
)
static

◆ _blendop_masks_group_name_commit()

◆ _blendop_masks_group_name_focus_out()

static gboolean _blendop_masks_group_name_focus_out ( GtkWidget widget,
GdkEventFocus *  event,
dt_iop_module_t module 
)
static

◆ _blendop_masks_group_operation_callback()

◆ _blendop_masks_group_selection_changed()

◆ _blendop_masks_group_tree_append()

◆ _blendop_masks_group_tree_append_entry()

◆ _blendop_masks_handler_callback()

static void _blendop_masks_handler_callback ( gpointer  instance,
const int  formid,
const int  parentid,
const dt_masks_event_t  event,
dt_iop_module_t module 
)
static

◆ _blendop_masks_init_icons()

◆ _blendop_masks_invert_callback()

◆ _blendop_masks_is_group_with_shapes()

◆ _blendop_masks_is_single_group_wrapper()

static gboolean _blendop_masks_is_single_group_wrapper ( const dt_masks_form_t mask_form)
static

◆ _blendop_masks_mode_callback()

static void _blendop_masks_mode_callback ( const unsigned int  mask_mode,
dt_iop_gui_blend_data_t data 
)
static

◆ _blendop_masks_mode_changed()

◆ _blendop_masks_polarity_callback()

static gboolean _blendop_masks_polarity_callback ( GtkToggleButton *  togglebutton,
GdkEventButton *  event,
dt_iop_module_t self 
)
static

◆ _blendop_masks_refresh_lists()

◆ _blendop_masks_shape_buttons()

◆ _blendop_masks_show_and_edit()

◆ _blendop_sync_toggle_state()

static void _blendop_sync_toggle_state ( GtkWidget toggle,
const gboolean  available,
const gboolean  enabled,
GtkWidget content 
)
static

◆ _blendop_toggle_button_set_active()

static void _blendop_toggle_button_set_active ( GtkWidget toggle,
const gboolean  enabled 
)
static

◆ _blendop_update_top_enable_label()

◆ _combobox_new_from_list()

◆ _get_boost_factor()

static float _get_boost_factor ( const dt_iop_gui_blend_data_t data,
const int  channel,
const int  in_out 
)
inlinestatic

◆ _notebook_append_full_width_page()

static void _notebook_append_full_width_page ( GtkWidget notebook,
GtkWidget page,
const gchar *  label 
)
static

References TRUE.

Referenced by _blendop_create_notebook_page().

◆ _raster_combo_populate()

◆ _raster_polarity_callback()

◆ _raster_value_changed_callback()

◆ _update_gradient_slider_pickers()

◆ blend_color_picker_apply()

gboolean blend_color_picker_apply ( dt_iop_module_t module,
GtkWidget picker,
dt_dev_pixelpipe_t pipe,
dt_dev_pixelpipe_iop_t piece 
)

◆ dt_iop_gui_blending_lose_focus()

◆ dt_iop_gui_blending_reload_defaults()

◆ dt_iop_gui_cleanup_blending()

◆ dt_iop_gui_cleanup_blending_body()

void dt_iop_gui_cleanup_blending_body ( dt_iop_module_t module)

References dt_iop_gui_blend_data_t::all_shapes_buttons, dt_iop_gui_blend_data_t::all_shapes_col, dt_iop_gui_blend_data_t::all_shapes_store, dt_iop_gui_blend_data_t::all_shapes_sw, dt_iop_module_t::blend_data, dt_iop_gui_blend_data_t::blend_mode_parameter_slider, dt_iop_gui_blend_data_t::blend_modes_blend_order, dt_iop_gui_blend_data_t::blend_modes_combo, dt_iop_gui_blend_data_t::blend_modes_csp, dt_iop_gui_blend_data_t::blendif_box, dt_iop_gui_blend_data_t::blendif_content, dt_iop_gui_blend_data_t::blendif_enable, dt_iop_gui_blend_data_t::blendif_inited, dt_iop_gui_blend_data_t::blending_body_box, dt_iop_gui_blend_data_t::blending_notebook, dt_iop_gui_blend_data_t::blur_radius_slider, dt_iop_gui_blend_data_t::bottom_content, dt_iop_gui_blend_data_t::brightness_slider, dt_iop_gui_blend_data_t::channel_boost_factor_slider, dt_iop_gui_blend_data_t::channel_tabs, dt_iop_gui_blend_data_t::channel_tabs_csp, dt_iop_gui_blend_data_t::colorpicker, dt_iop_gui_blend_data_t::colorpicker_set_values, dt_iop_gui_blend_data_t::contrast_slider, dt_iop_gui_blend_data_t::details_slider, DEVELOP_BLEND_CS_NONE, dt_free, dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), dt_iop_gui_blend_data_t::feathering_radius_slider, dt_iop_gui_blend_data_t::filter, dt_iop_gui_blend_data_t::group_shapes_col, dt_iop_gui_blend_data_t::group_shapes_label, dt_iop_gui_blend_data_t::group_shapes_store, dt_iop_gui_blend_data_t::group_shapes_sw, dt_iop_gui_blend_data_t::lists_box, dt_iop_gui_blend_data_t::lists_stack, dt_iop_gui_blend_data_t::lock, dt_iop_gui_blend_data_t::masks_box, dt_iop_gui_blend_data_t::masks_combine_combo, dt_iop_gui_blend_data_t::masks_combo, dt_iop_gui_blend_data_t::masks_combo_ids, dt_iop_gui_blend_data_t::masks_content, dt_iop_gui_blend_data_t::masks_edit, dt_iop_gui_blend_data_t::masks_enable, dt_iop_gui_blend_data_t::masks_feathering_guide_combo, dt_iop_gui_blend_data_t::masks_group_treeview, dt_iop_gui_blend_data_t::masks_ic_difference, dt_iop_gui_blend_data_t::masks_ic_exclusion, dt_iop_gui_blend_data_t::masks_ic_intersection, dt_iop_gui_blend_data_t::masks_ic_inverse, dt_iop_gui_blend_data_t::masks_ic_union, dt_iop_gui_blend_data_t::masks_inited, dt_iop_gui_blend_data_t::masks_invert_combo, dt_iop_gui_blend_data_t::masks_polarity, dt_iop_gui_blend_data_t::masks_shapes, dt_iop_gui_blend_data_t::masks_treeview, dt_iop_gui_blend_data_t::opacity_slider, dt_iop_gui_blend_data_t::raster_box, dt_iop_gui_blend_data_t::raster_combo, dt_iop_gui_blend_data_t::raster_content, dt_iop_gui_blend_data_t::raster_enable, dt_iop_gui_blend_data_t::raster_inited, dt_iop_gui_blend_data_t::raster_polarity, dt_iop_gui_blend_data_t::showmask, dt_iop_gui_blend_data_t::suppress, dt_iop_gui_blend_data_t::timeout_handle, dt_iop_gui_blend_data_t::top_content, dt_iop_gui_blend_data_t::top_enable, and dt_iop_gui_blend_data_t::wire_shape_toggle.

Referenced by _lib_masks_release_blending(), and dt_iop_gui_cleanup_blending().

◆ dt_iop_gui_init_blendif()

void dt_iop_gui_init_blendif ( GtkBox *  blendw,
dt_iop_module_t module 
)

gui related stuff

References _blendop_blendif_boost_factor_callback(), _blendop_blendif_enter(), _blendop_blendif_invert(), _blendop_blendif_key_press(), _blendop_blendif_leave(), _blendop_blendif_polarity_callback(), _blendop_blendif_reset(), _blendop_blendif_sliders_callback(), _blendop_blendif_sliders_reset_callback(), _blendop_blendif_tab_switch(), _update_gradient_slider_pickers(), darktable_t::bauhaus, dt_iop_module_t::blend_data, dt_iop_gui_blend_data_t::blendif_box, dt_iop_gui_blend_data_t::blendif_inited, dt_iop_gui_blend_data_t::blendif_support, dt_iop_gui_blendif_filter_t::box, dt_iop_gui_blend_data_t::channel_boost_factor_slider, dt_iop_gui_blend_data_t::channel_tabs, dt_iop_gui_blend_data_t::channel_tabs_csp, dt_iop_gui_blend_data_t::colorpicker, dt_iop_gui_blend_data_t::colorpicker_set_values, darktable, DEVELOP_BLEND_CS_NONE, dt_bauhaus_set_use_default_callback(), dt_bauhaus_slider_new_with_range(), dt_bauhaus_slider_set_format(), dt_bauhaus_slider_set_soft_range(), DT_BAUHAUS_SPACE, dt_bauhaus_widget_set_label(), DT_COLOR_PICKER_AREA, dt_color_picker_new(), DT_COLOR_PICKER_POINT_AREA, dt_get_help_url(), dt_gui_add_class(), dt_gui_add_help_link(), DT_GUI_MODULE, dt_iop_togglebutton_new(), DT_PIXEL_APPLY_DPI, dt_ui_label_new(), dtgtk_cairo_paint_colorpicker_set_values(), dtgtk_cairo_paint_invert(), dtgtk_cairo_paint_plusminus(), dtgtk_cairo_paint_reset(), DTGTK_GRADIENT_SLIDER_MULTIVALUE, dtgtk_gradient_slider_multivalue_new_with_name(), DTGTK_TOGGLEBUTTON, dtgtk_togglebutton_new(), dtgtk_togglebutton_set_paint(), FALSE, dt_iop_gui_blend_data_t::filter, dt_iop_gui_blendif_filter_t::head, dt_iop_gui_blendif_filter_t::label, dt_iop_gui_blendif_filter_t::picker_label, dt_iop_gui_blendif_filter_t::polarity, dt_iop_gui_blendif_filter_t::slider, slider_tooltip, dt_iop_gui_blend_data_t::tab, and TRUE.

Referenced by dt_iop_gui_init_blending_body().

◆ dt_iop_gui_init_blending()

◆ dt_iop_gui_init_blending_body()

void dt_iop_gui_init_blending_body ( GtkBox *  blendw,
dt_iop_module_t module 
)

References _blendif_options_callback(), _blendop_blend_mode_callback(), _blendop_blend_order_clicked(), _blendop_blendif_details_callback(), _blendop_blendif_showmask_clicked(), _blendop_blendif_suppress_toggled(), _blendop_blending_notebook_switch(), _blendop_create_enable_toggle(), _blendop_create_notebook_page(), _blendop_create_toggle_page(), _blendop_masks_combine_callback(), _blendop_masks_invert_callback(), _blendop_update_top_enable_label(), _combobox_new_from_list(), darktable_t::bauhaus, dt_iop_module_t::blend_data, BLEND_MASKMODE_CONF_KEY, dt_iop_gui_blend_data_t::blend_mode_parameter_slider, dt_iop_gui_blend_data_t::blend_modes_blend_order, dt_iop_gui_blend_data_t::blend_modes_combo, dt_develop_blend_params_t::blend_parameter, dt_iop_module_t::blend_params, dt_iop_gui_blend_data_t::blendif_box, dt_iop_gui_blend_data_t::blendif_content, dt_iop_gui_blend_data_t::blendif_enable, dt_iop_gui_blend_data_t::blendif_support, dt_iop_gui_blend_data_t::blending_body_box, dt_iop_gui_blend_data_t::blending_notebook, dt_develop_blend_params_t::blur_radius, dt_iop_gui_blend_data_t::blur_radius_slider, dt_iop_gui_blend_data_t::bottom_content, dt_develop_blend_params_t::brightness, dt_iop_gui_blend_data_t::brightness_slider, dt_develop_blend_params_t::contrast, dt_iop_gui_blend_data_t::contrast_slider, darktable, dt_iop_gui_blend_data_t::details_slider, DEVELOP_MASK_CONDITIONAL, DEVELOP_MASK_ENABLED, DEVELOP_MASK_MASK, DEVELOP_MASK_RASTER, dt_bauhaus_combobox_new(), dt_bauhaus_disable_accels(), dt_bauhaus_set_use_default_callback(), dt_bauhaus_slider_new_with_range(), dt_bauhaus_slider_set_format(), dt_bauhaus_slider_set_soft_range(), dt_bauhaus_widget_set_field(), dt_bauhaus_widget_set_label(), dt_conf_get_int(), dt_develop_combine_masks_names, dt_develop_feathering_guide_names, dt_develop_invert_mask_names, dt_get_help_url(), dt_gui_add_class(), dt_gui_add_help_link(), DT_GUI_MODULE, DT_INTROSPECTION_TYPE_FLOAT, dt_iop_gui_init_blendif(), dt_iop_gui_init_masks(), dt_iop_gui_init_raster(), dt_iop_togglebutton_new(), dt_ui_label_new(), dtgtk_button_new(), dtgtk_cairo_paint_eye_toggle(), dtgtk_cairo_paint_invert(), dtgtk_cairo_paint_presets(), dtgtk_cairo_paint_showmask(), FALSE, dt_develop_blend_params_t::feathering_guide, dt_develop_blend_params_t::feathering_radius, dt_iop_gui_blend_data_t::feathering_radius_slider, darktable_t::gui, IOP_FLAGS_SUPPORTS_BLENDING, dt_iop_gui_blend_data_t::masks_box, dt_iop_gui_blend_data_t::masks_combine_combo, dt_iop_gui_blend_data_t::masks_content, dt_iop_gui_blend_data_t::masks_enable, dt_iop_gui_blend_data_t::masks_feathering_guide_combo, dt_iop_gui_blend_data_t::masks_invert_combo, dt_develop_blend_params_t::opacity, dt_iop_gui_blend_data_t::opacity_slider, dt_iop_gui_blend_data_t::raster_box, dt_iop_gui_blend_data_t::raster_content, dt_iop_gui_blend_data_t::raster_enable, dt_gui_gtk_t::reset, dt_iop_gui_blend_data_t::showmask, dt_iop_gui_blend_data_t::suppress, dt_iop_gui_blend_data_t::top_content, dt_iop_gui_blend_data_t::top_enable, and TRUE.

Referenced by _lib_masks_blending_gui_changed_callback().

◆ dt_iop_gui_init_masks()

void dt_iop_gui_init_masks ( GtkBox *  blendw,
dt_iop_module_t module 
)

References _blendop_masks_all_button_pressed(), _blendop_masks_all_name_edited(), _blendop_masks_all_selection_changed(), _blendop_masks_all_toggled(), _blendop_masks_edit_list_toggle(), _blendop_masks_group_button_pressed(), _blendop_masks_group_name_activate(), _blendop_masks_group_name_focus_out(), _blendop_masks_group_selection_changed(), _blendop_masks_init_icons(), _blendop_masks_polarity_callback(), _blendop_masks_refresh_lists(), _blendop_masks_shape_buttons(), _blendop_masks_show_and_edit(), dt_iop_gui_blend_data_t::all_shapes_buttons, dt_iop_gui_blend_data_t::all_shapes_col, dt_iop_gui_blend_data_t::all_shapes_store, dt_iop_gui_blend_data_t::all_shapes_sw, dt_iop_module_t::blend_data, BLENDOP_MASKS_ALL_COL_ACTIVE, BLENDOP_MASKS_ALL_COL_COUNT, BLENDOP_MASKS_ALL_COL_MARKUP, BLENDOP_MASKS_ALL_COL_SENSITIVE, BLENDOP_MASKS_ALL_COL_STATUS_MARKUP, BLENDOP_MASKS_GROUP_COL_COUNT, BLENDOP_MASKS_GROUP_COL_INV_ICON, BLENDOP_MASKS_GROUP_COL_NAME, BLENDOP_MASKS_GROUP_COL_OP_ICON, dt_dev_get_masks_group_name(), dt_get_help_url(), dt_gui_add_class(), dt_gui_add_help_link(), dt_gui_widget_init_auto_height(), dt_iop_togglebutton_new(), DT_MASKS_EDIT_OFF, dtgtk_cairo_paint_masks_eye(), dtgtk_cairo_paint_plusminus(), DTGTK_TOGGLEBUTTON, dtgtk_togglebutton_set_paint(), FALSE, dt_iop_gui_blend_data_t::group_shapes_col, dt_iop_gui_blend_data_t::group_shapes_label, dt_iop_gui_blend_data_t::group_shapes_store, dt_iop_gui_blend_data_t::group_shapes_sw, dt_iop_gui_blend_data_t::lists_box, dt_iop_gui_blend_data_t::lists_stack, dt_iop_gui_blend_data_t::masks_box, dt_iop_gui_blend_data_t::masks_combo_ids, dt_iop_gui_blend_data_t::masks_edit, dt_iop_gui_blend_data_t::masks_group_treeview, dt_iop_gui_blend_data_t::masks_inited, dt_iop_gui_blend_data_t::masks_polarity, dt_iop_gui_blend_data_t::masks_shown, dt_iop_gui_blend_data_t::masks_support, dt_iop_gui_blend_data_t::masks_treeview, TREE_LIST_MAX_ROWS, TREE_LIST_MIN_ROWS, TRUE, and dt_iop_gui_blend_data_t::wire_shape_toggle.

Referenced by dt_iop_gui_init_blending_body().

◆ dt_iop_gui_init_raster()

◆ dt_iop_gui_update_blendif()

◆ dt_iop_gui_update_blending()

void dt_iop_gui_update_blending ( dt_iop_module_t module)

References _add_blendmode_combo(), _blendif_are_output_channels_used(), _blendif_blend_parameter_enabled(), _blendop_sync_toggle_state(), _blendop_toggle_button_set_active(), _blendop_update_top_enable_label(), dt_iop_gui_blend_data_t::altmode, dt_develop_blend_params_t::blend_cst, dt_iop_module_t::blend_data, dt_develop_blend_params_t::blend_mode, dt_iop_gui_blend_data_t::blend_mode_parameter_slider, dt_iop_gui_blend_data_t::blend_modes_blend_order, dt_iop_gui_blend_data_t::blend_modes_combo, dt_iop_gui_blend_data_t::blend_modes_csp, dt_develop_blend_params_t::blend_parameter, dt_iop_module_t::blend_params, dt_iop_gui_blend_data_t::blendif_content, dt_iop_gui_blend_data_t::blendif_enable, dt_iop_gui_blend_data_t::blendif_inited, dt_iop_gui_blend_data_t::blending_body_box, dt_iop_gui_blend_data_t::blending_notebook, dt_develop_blend_params_t::blur_radius, dt_iop_gui_blend_data_t::blur_radius_slider, dt_iop_gui_blend_data_t::bottom_content, dt_develop_blend_params_t::brightness, dt_iop_gui_blend_data_t::brightness_slider, dt_develop_blend_params_t::contrast, dt_iop_gui_blend_data_t::contrast_slider, dt_iop_gui_blend_data_t::csp, darktable, dt_develop_blend_params_t::details, dt_iop_gui_blend_data_t::details_slider, DEVELOP_BLEND_ADD, DEVELOP_BLEND_AVERAGE, DEVELOP_BLEND_BOUNDED, DEVELOP_BLEND_CHROMATICITY, DEVELOP_BLEND_COLOR, DEVELOP_BLEND_COLORADJUST, DEVELOP_BLEND_CS_LAB, DEVELOP_BLEND_CS_NONE, DEVELOP_BLEND_CS_RAW, DEVELOP_BLEND_CS_RGB_DISPLAY, DEVELOP_BLEND_CS_RGB_SCENE, DEVELOP_BLEND_DARKEN, DEVELOP_BLEND_DIFFERENCE2, DEVELOP_BLEND_DIVIDE, DEVELOP_BLEND_GEOMETRIC_MEAN, DEVELOP_BLEND_HARDLIGHT, DEVELOP_BLEND_HARMONIC_MEAN, DEVELOP_BLEND_HSV_COLOR, DEVELOP_BLEND_HSV_VALUE, DEVELOP_BLEND_HUE, DEVELOP_BLEND_LAB_A, DEVELOP_BLEND_LAB_B, DEVELOP_BLEND_LAB_COLOR, DEVELOP_BLEND_LAB_LIGHTNESS, DEVELOP_BLEND_LIGHTEN, DEVELOP_BLEND_LIGHTNESS, DEVELOP_BLEND_LINEARLIGHT, DEVELOP_BLEND_MULTIPLY, DEVELOP_BLEND_NORMAL2, DEVELOP_BLEND_OVERLAY, DEVELOP_BLEND_PINLIGHT, DEVELOP_BLEND_RGB_B, DEVELOP_BLEND_RGB_G, DEVELOP_BLEND_RGB_R, DEVELOP_BLEND_SCREEN, DEVELOP_BLEND_SOFTLIGHT, DEVELOP_BLEND_SUBTRACT, DEVELOP_BLEND_VIVIDLIGHT, DEVELOP_COMBINE_INCL, DEVELOP_COMBINE_INV, DEVELOP_MASK_CONDITIONAL, DEVELOP_MASK_ENABLED, DEVELOP_MASK_MASK, DEVELOP_MASK_RASTER, DEVELOP_MASKS_NB_SHAPES, dt_bauhaus_combobox_clear(), dt_bauhaus_combobox_set_from_value(), dt_bauhaus_slider_set(), dt_control_log(), dt_develop_blend_default_module_blend_colorspace(), dt_image_is_rawprepare_supported(), dt_iop_add_remove_mask_indicator(), dt_iop_color_picker_reset(), dt_iop_gui_update_blendif(), dt_iop_gui_update_raster(), dt_iop_set_cache_bypass(), DT_MASKS_EDIT_OFF, dt_masks_iop_update(), dt_masks_set_edit_mode(), FALSE, dt_develop_blend_params_t::feathering_guide, dt_develop_blend_params_t::feathering_radius, dt_iop_gui_blend_data_t::feathering_radius_slider, darktable_t::gui, IOP_CS_RAW, IOP_FLAGS_SUPPORTS_BLENDING, dt_develop_blend_params_t::mask_combine, dt_iop_gui_blend_data_t::masks_combine_combo, dt_iop_gui_blend_data_t::masks_content, dt_iop_gui_blend_data_t::masks_edit, dt_iop_gui_blend_data_t::masks_enable, dt_iop_gui_blend_data_t::masks_feathering_guide_combo, dt_iop_gui_blend_data_t::masks_inited, dt_iop_gui_blend_data_t::masks_invert_combo, dt_iop_gui_blend_data_t::masks_shapes, dt_iop_gui_blend_data_t::masks_support, n, dt_iop_module_t::op, dt_develop_blend_params_t::opacity, dt_iop_gui_blend_data_t::opacity_slider, dt_iop_gui_blend_data_t::output_channels_shown, dt_iop_gui_blend_data_t::raster_content, dt_iop_gui_blend_data_t::raster_enable, dt_iop_gui_blend_data_t::raster_inited, dt_gui_gtk_t::reset, dt_iop_gui_blend_data_t::showmask, dt_iop_gui_blend_data_t::suppress, dt_iop_gui_blend_data_t::top_content, dt_iop_gui_blend_data_t::top_enable, and TRUE.

Referenced by _blendop_blendif_invert(), _blendop_masks_mode_callback(), _lib_masks_blending_gui_changed_callback(), dt_iop_gui_duplicate(), and dt_iop_gui_update().

◆ dt_iop_gui_update_raster()

◆ dt_masks_iop_update()

◆ log10_scale_callback()

static float log10_scale_callback ( GtkWidget self,
float  inval,
int  dir 
)
static

◆ magnifier_scale_callback()

static float magnifier_scale_callback ( GtkWidget self,
float  inval,
int  dir 
)
static

Variable Documentation

◆ _gradient_a

const dt_iop_gui_blendif_colorstop_t _gradient_a[]
Initial value:
= {
{ 0.000f, { 0.0112790f, 0.7500000f, 0.5609999f, 1.0f } },
{ 0.250f, { 0.2888855f, 0.7500000f, 0.6318934f, 1.0f } },
{ 0.375f, { 0.4872486f, 0.7500000f, 0.6825501f, 1.0f } },
{ 0.500f, { 0.7500000f, 0.7499399f, 0.7496052f, 1.0f } },
{ 0.625f, { 0.7500000f, 0.5054633f, 0.5676756f, 1.0f } },
{ 0.750f, { 0.7500000f, 0.3423850f, 0.4463195f, 1.0f } },
{ 1.000f, { 0.7500000f, 0.1399815f, 0.2956989f, 1.0f } },
}

◆ _gradient_b

const dt_iop_gui_blendif_colorstop_t _gradient_b[]
Initial value:
= {
{ 0.000f, { 0.0162050f, 0.1968228f, 0.7500000f, 1.0f } },
{ 0.250f, { 0.2027354f, 0.3168822f, 0.7500000f, 1.0f } },
{ 0.375f, { 0.3645722f, 0.4210476f, 0.7500000f, 1.0f } },
{ 0.500f, { 0.6167146f, 0.5833379f, 0.7500000f, 1.0f } },
{ 0.625f, { 0.7500000f, 0.6172369f, 0.5412091f, 1.0f } },
{ 0.750f, { 0.7500000f, 0.5590797f, 0.3071980f, 1.0f } },
{ 1.000f, { 0.7500000f, 0.4963975f, 0.0549797f, 1.0f } },
}

◆ _gradient_blue

const dt_iop_gui_blendif_colorstop_t _gradient_blue[]
Initial value:
= {
{ 0.000f, { 0.0000000f, 0.0000000f, 0.0000000f, 1.0f } },
{ 0.125f, { 0.0000000f, 0.0000000f, 0.0937500f, 1.0f } },
{ 0.250f, { 0.0000000f, 0.0000000f, 0.1875000f, 1.0f } },
{ 0.500f, { 0.0000000f, 0.0000000f, 0.3750000f, 1.0f } },
{ 1.000f, { 0.0000000f, 0.0000000f, 0.7500000f, 1.0f } }
}

◆ _gradient_chroma

const dt_iop_gui_blendif_colorstop_t _gradient_chroma[]
Initial value:
= {
{ 0.000f, { 0.5000000f, 0.5000000f, 0.5000000f, 1.0f } },
{ 0.125f, { 0.5000000f, 0.4375000f, 0.5000000f, 1.0f } },
{ 0.250f, { 0.5000000f, 0.3750000f, 0.5000000f, 1.0f } },
{ 0.500f, { 0.5000000f, 0.2500000f, 0.5000000f, 1.0f } },
{ 1.000f, { 0.5000000f, 0.0000000f, 0.5000000f, 1.0f } }
}

◆ _gradient_gray

const dt_iop_gui_blendif_colorstop_t _gradient_gray[]
Initial value:
= { { 0.0f, { 0, 0, 0, 1.0 } },
{ 0.125f, { 0.5 / 8, 0.5 / 8, 0.5 / 8, 1.0 } },
{ 0.25f, { 0.5 / 4, 0.5 / 4, 0.5 / 4, 1.0 } },
{ 0.5f, { 0.5 / 2, 0.5 / 2, 0.5 / 2, 1.0 } },
{ 1.0f, { 0.5 , 0.5 , 0.5 , 1.0 } } }

◆ _gradient_green

const dt_iop_gui_blendif_colorstop_t _gradient_green[]
Initial value:
= {
{ 0.000f, { 0.0000000f, 0.0000000f, 0.0000000f, 1.0f } },
{ 0.125f, { 0.0000000f, 0.0937500f, 0.0000000f, 1.0f } },
{ 0.250f, { 0.0000000f, 0.1875000f, 0.0000000f, 1.0f } },
{ 0.500f, { 0.0000000f, 0.3750000f, 0.0000000f, 1.0f } },
{ 1.000f, { 0.0000000f, 0.7500000f, 0.0000000f, 1.0f } }
}

◆ _gradient_HSL_hue

const dt_iop_gui_blendif_colorstop_t _gradient_HSL_hue[]
Initial value:
= {
{ 0.000f, { 0.7500000f, 0.2500000f, 0.2500000f, 1.0f } },
{ 0.167f, { 0.7500000f, 0.7500000f, 0.2500000f, 1.0f } },
{ 0.333f, { 0.2500000f, 0.7500000f, 0.2500000f, 1.0f } },
{ 0.500f, { 0.2500000f, 0.7500000f, 0.7500000f, 1.0f } },
{ 0.667f, { 0.2500000f, 0.2500000f, 0.7500000f, 1.0f } },
{ 0.833f, { 0.7500000f, 0.2500000f, 0.7500000f, 1.0f } },
{ 1.000f, { 0.7500000f, 0.2500000f, 0.2500000f, 1.0f } },
}

◆ _gradient_JzCzhz_hue

const dt_iop_gui_blendif_colorstop_t _gradient_JzCzhz_hue[]
Initial value:
= {
{ 0.000f, { 0.7500000f, 0.1946971f, 0.3697612f, 1.0f } },
{ 0.082f, { 0.7500000f, 0.2278141f, 0.2291548f, 1.0f } },
{ 0.150f, { 0.7500000f, 0.3132381f, 0.1653960f, 1.0f } },
{ 0.275f, { 0.7483232f, 0.7500000f, 0.1939316f, 1.0f } },
{ 0.378f, { 0.2642865f, 0.7500000f, 0.2642768f, 1.0f } },
{ 0.570f, { 0.0233180f, 0.7493543f, 0.7500000f, 1.0f } },
{ 0.650f, { 0.1119025f, 0.5116763f, 0.7500000f, 1.0f } },
{ 0.762f, { 0.3331225f, 0.3337235f, 0.7500000f, 1.0f } },
{ 0.883f, { 0.7464700f, 0.2754816f, 0.7500000f, 1.0f } },
{ 1.000f, { 0.7500000f, 0.1946971f, 0.3697612f, 1.0f } },
}

◆ _gradient_L

const dt_iop_gui_blendif_colorstop_t _gradient_L[]
Initial value:
= { { 0.0f, { 0, 0, 0, 1.0 } },
{ 0.125f, { 0.5 / 8, 0.5 / 8, 0.5 / 8, 1.0 } },
{ 0.25f, { 0.5 / 4, 0.5 / 4, 0.5 / 4, 1.0 } },
{ 0.5f, { 0.5 / 2, 0.5 / 2, 0.5 / 2, 1.0 } },
{ 1.0f, { 0.5 , 0.5 , 0.5 , 1.0 } } }

Referenced by gui_init(), and gui_init().

◆ _gradient_LCh_hue

const dt_iop_gui_blendif_colorstop_t _gradient_LCh_hue[]
Initial value:
= {
{ 0.000f, { 0.7500000f, 0.2200405f, 0.4480174f, 1.0f } },
{ 0.104f, { 0.7500000f, 0.2475123f, 0.2488547f, 1.0f } },
{ 0.200f, { 0.7500000f, 0.3921083f, 0.2017670f, 1.0f } },
{ 0.295f, { 0.7500000f, 0.7440329f, 0.3011876f, 1.0f } },
{ 0.377f, { 0.3813996f, 0.7500000f, 0.3799668f, 1.0f } },
{ 0.503f, { 0.0747526f, 0.7500000f, 0.7489037f, 1.0f } },
{ 0.650f, { 0.0282981f, 0.3736209f, 0.7500000f, 1.0f } },
{ 0.803f, { 0.2583821f, 0.2591069f, 0.7500000f, 1.0f } },
{ 0.928f, { 0.7500000f, 0.2788102f, 0.7492077f, 1.0f } },
{ 1.000f, { 0.7500000f, 0.2200405f, 0.4480174f, 1.0f } },
}

◆ _gradient_red

const dt_iop_gui_blendif_colorstop_t _gradient_red[]
Initial value:
= {
{ 0.000f, { 0.0000000f, 0.0000000f, 0.0000000f, 1.0f } },
{ 0.125f, { 0.0937500f, 0.0000000f, 0.0000000f, 1.0f } },
{ 0.250f, { 0.1875000f, 0.0000000f, 0.0000000f, 1.0f } },
{ 0.500f, { 0.3750000f, 0.0000000f, 0.0000000f, 1.0f } },
{ 1.000f, { 0.7500000f, 0.0000000f, 0.0000000f, 1.0f } }
}

◆ dt_develop_blend_colorspace_names

const dt_develop_name_value_t dt_develop_blend_colorspace_names[]
Initial value:
= { { N_("default"), DEVELOP_BLEND_CS_NONE },
{ N_("RAW"), DEVELOP_BLEND_CS_RAW },
{ N_("Lab"), DEVELOP_BLEND_CS_LAB },
{ N_("RGB (display)"), DEVELOP_BLEND_CS_RGB_DISPLAY },
{ N_("RGB (scene)"), DEVELOP_BLEND_CS_RGB_SCENE },
{ "", 0 } }
@ DEVELOP_BLEND_CS_NONE
Definition blend.h:54
@ DEVELOP_BLEND_CS_LAB
Definition blend.h:56
@ DEVELOP_BLEND_CS_RGB_SCENE
Definition blend.h:58
@ DEVELOP_BLEND_CS_RGB_DISPLAY
Definition blend.h:57
@ DEVELOP_BLEND_CS_RAW
Definition blend.h:55

Referenced by _create_tooltip_text().

◆ dt_develop_blend_mode_flag_names

const dt_develop_name_value_t dt_develop_blend_mode_flag_names[]
Initial value:
= { { NC_("blendoperation", "normal"), 0 },
{ NC_("blendoperation", "reverse"), DEVELOP_BLEND_REVERSE },
{ "", 0 } }
@ DEVELOP_BLEND_REVERSE
Definition blend.h:106

Referenced by _create_tooltip_text().

◆ dt_develop_blend_mode_names

const dt_develop_name_value_t dt_develop_blend_mode_names[]

◆ dt_develop_combine_masks_names

const dt_develop_name_value_t dt_develop_combine_masks_names[]
Initial value:
= { { N_("exclusive"), DEVELOP_COMBINE_NORM_EXCL },
{ N_("inclusive"), DEVELOP_COMBINE_NORM_INCL },
{ N_("exclusive & inverted"), DEVELOP_COMBINE_INV_EXCL },
{ N_("inclusive & inverted"), DEVELOP_COMBINE_INV_INCL },
{ "", 0 } }
@ DEVELOP_COMBINE_NORM_INCL
Definition blend.h:128
@ DEVELOP_COMBINE_INV_INCL
Definition blend.h:130
@ DEVELOP_COMBINE_INV_EXCL
Definition blend.h:129
@ DEVELOP_COMBINE_NORM_EXCL
Definition blend.h:127

Referenced by _create_tooltip_text(), and dt_iop_gui_init_blending_body().

◆ dt_develop_feathering_guide_names

const dt_develop_name_value_t dt_develop_feathering_guide_names[]
Initial value:
= { { N_("output before blur"), DEVELOP_MASK_GUIDE_OUT_BEFORE_BLUR },
{ N_("input before blur"), DEVELOP_MASK_GUIDE_IN_BEFORE_BLUR },
{ N_("output after blur"), DEVELOP_MASK_GUIDE_OUT_AFTER_BLUR },
{ N_("input after blur"), DEVELOP_MASK_GUIDE_IN_AFTER_BLUR },
{ "", 0 } }
@ DEVELOP_MASK_GUIDE_OUT_BEFORE_BLUR
Definition blend.h:136
@ DEVELOP_MASK_GUIDE_IN_AFTER_BLUR
Definition blend.h:137
@ DEVELOP_MASK_GUIDE_OUT_AFTER_BLUR
Definition blend.h:138
@ DEVELOP_MASK_GUIDE_IN_BEFORE_BLUR
Definition blend.h:135

Referenced by _create_tooltip_text(), and dt_iop_gui_init_blending_body().

◆ dt_develop_invert_mask_names

const dt_develop_name_value_t dt_develop_invert_mask_names[]
Initial value:
= { { N_("off"), DEVELOP_COMBINE_NORM },
{ N_("on"), DEVELOP_COMBINE_INV },
{ "", 0 } }
@ DEVELOP_COMBINE_INV
Definition blend.h:123
@ DEVELOP_COMBINE_NORM
Definition blend.h:122

Referenced by _create_tooltip_text(), and dt_iop_gui_init_blending_body().

◆ dt_develop_mask_mode_names

const dt_develop_name_value_t dt_develop_mask_mode_names[]
Initial value:
= { { N_("None"), 0 },
{ N_("Uniform"), 1 },
{ N_("Parametric mask"), 2 },
{ N_("Drawn mask"), 3 },
{ N_("Drawn & parametric mask"), 4 },
{ N_("Reuse an existing mask"), 5 },
{ "", 0 } }

Referenced by _create_tooltip_text().

◆ Lab_channels

const dt_iop_gui_blendif_channel_t Lab_channels[]
Initial value:
= { { N_("L"), N_("sliders for L channel"), 1.0f / 100.0f, sizeof( _gradient_L ) / sizeof(dt_iop_gui_blendif_colorstop_t), _gradient_L , TRUE, 0.0f,
{ N_("a"), N_("sliders for a channel"), 1.0f / 256.0f, sizeof( _gradient_a ) / sizeof(dt_iop_gui_blendif_colorstop_t), _gradient_a , TRUE, 0.0f,
{ N_("b"), N_("sliders for b channel"), 1.0f / 256.0f, sizeof( _gradient_b ) / sizeof(dt_iop_gui_blendif_colorstop_t), _gradient_b , TRUE, 0.0f,
{ N_("C"), N_("sliders for chroma channel (of LCh)"), 1.0f / 100.0f, sizeof( _gradient_chroma ) / sizeof(dt_iop_gui_blendif_colorstop_t), _gradient_chroma ,
TRUE, 0.0f,
{ N_("h"), N_("sliders for hue channel (of LCh)"), 1.0f / 360.0f, sizeof( _gradient_LCh_hue ) / sizeof(dt_iop_gui_blendif_colorstop_t), _gradient_LCh_hue ,
FALSE, 0.0f,
_blendif_scale_print_hue, NULL, N_("hue") },
{ NULL } }
#define TRUE
Definition ashift_lsd.c:162
#define FALSE
Definition ashift_lsd.c:158
@ DEVELOP_BLENDIF_C_out
Definition blend.h:164
@ DEVELOP_BLENDIF_A_in
Definition blend.h:144
@ DEVELOP_BLENDIF_C_in
Definition blend.h:161
@ DEVELOP_BLENDIF_L_out
Definition blend.h:147
@ DEVELOP_BLENDIF_h_in
Definition blend.h:162
@ DEVELOP_BLENDIF_B_in
Definition blend.h:145
@ DEVELOP_BLENDIF_A_out
Definition blend.h:148
@ DEVELOP_BLENDIF_B_out
Definition blend.h:149
@ DEVELOP_BLENDIF_h_out
Definition blend.h:165
@ DEVELOP_BLENDIF_L_in
Definition blend.h:143
static void _blendif_scale_print_default(float value, float boost_factor, char *string, int n)
Definition blend_gui.c:471
const dt_iop_gui_blendif_colorstop_t _gradient_b[]
Definition blend_gui.c:184
static void _blendif_scale_print_hue(float value, float boost_factor, char *string, int n)
Definition blend_gui.c:466
const dt_iop_gui_blendif_colorstop_t _gradient_chroma[]
Definition blend_gui.c:226
const dt_iop_gui_blendif_colorstop_t _gradient_L[]
Definition blend_gui.c:164
const dt_iop_gui_blendif_colorstop_t _gradient_LCh_hue[]
Definition blend_gui.c:237
static int _blendop_blendif_disp_alternative_log(GtkWidget *widget, dt_iop_module_t *module, int mode)
Definition blend_gui.c:787
static int _blendop_blendif_disp_alternative_mag(GtkWidget *widget, dt_iop_module_t *module, int mode)
Definition blend_gui.c:782
const dt_iop_gui_blendif_colorstop_t _gradient_a[]
Definition blend_gui.c:172
static void _blendif_scale_print_ab(float value, float boost_factor, char *string, int n)
Definition blend_gui.c:460
@ DT_DEV_PIXELPIPE_DISPLAY_a
Definition develop.h:116
@ DT_DEV_PIXELPIPE_DISPLAY_L
Definition develop.h:115
@ DT_DEV_PIXELPIPE_DISPLAY_LCH_h
Definition develop.h:123
@ DT_DEV_PIXELPIPE_DISPLAY_LCH_C
Definition develop.h:122
@ DT_DEV_PIXELPIPE_DISPLAY_b
Definition develop.h:117
Definition blend.h:264

Referenced by dt_iop_gui_update_blendif().

◆ rgb_channels

const dt_iop_gui_blendif_channel_t rgb_channels[]
Initial value:
= { { N_("g"), N_("sliders for gray value"), 1.0f / 255.0f, sizeof( _gradient_gray ) / sizeof(dt_iop_gui_blendif_colorstop_t), _gradient_gray , TRUE, 0.0f,
{ N_("R"), N_("sliders for red channel"), 1.0f / 255.0f, sizeof( _gradient_red ) / sizeof(dt_iop_gui_blendif_colorstop_t), _gradient_red , TRUE, 0.0f,
{ N_("G"), N_("sliders for green channel"), 1.0f / 255.0f, sizeof( _gradient_green ) / sizeof(dt_iop_gui_blendif_colorstop_t), _gradient_green , TRUE, 0.0f,
{ N_("B"), N_("sliders for blue channel"), 1.0f / 255.0f, sizeof( _gradient_blue ) / sizeof(dt_iop_gui_blendif_colorstop_t), _gradient_blue , TRUE, 0.0f,
{ N_("H"), N_("sliders for hue channel (of HSL)"), 1.0f / 360.0f, sizeof( _gradient_HSL_hue ) / sizeof(dt_iop_gui_blendif_colorstop_t), _gradient_HSL_hue ,
FALSE, 0.0f,
_blendif_scale_print_hue, NULL, N_("hue") },
{ N_("S"), N_("sliders for chroma channel (of HSL)"), 1.0f / 100.0f, sizeof( _gradient_chroma ) / sizeof(dt_iop_gui_blendif_colorstop_t), _gradient_chroma ,
FALSE, 0.0f,
{ N_("L"), N_("sliders for value channel (of HSL)"), 1.0f / 100.0f, sizeof( _gradient_gray ) / sizeof(dt_iop_gui_blendif_colorstop_t), _gradient_gray ,
FALSE, 0.0f,
{ NULL } }
@ DEVELOP_BLENDIF_GRAY_out
Definition blend.h:156
@ DEVELOP_BLENDIF_S_out
Definition blend.h:172
@ DEVELOP_BLENDIF_RED_in
Definition blend.h:152
@ DEVELOP_BLENDIF_l_in
Definition blend.h:169
@ DEVELOP_BLENDIF_GREEN_in
Definition blend.h:153
@ DEVELOP_BLENDIF_H_in
Definition blend.h:167
@ DEVELOP_BLENDIF_RED_out
Definition blend.h:157
@ DEVELOP_BLENDIF_H_out
Definition blend.h:171
@ DEVELOP_BLENDIF_BLUE_in
Definition blend.h:154
@ DEVELOP_BLENDIF_BLUE_out
Definition blend.h:159
@ DEVELOP_BLENDIF_S_in
Definition blend.h:168
@ DEVELOP_BLENDIF_GRAY_in
Definition blend.h:151
@ DEVELOP_BLENDIF_GREEN_out
Definition blend.h:158
@ DEVELOP_BLENDIF_l_out
Definition blend.h:173
const dt_iop_gui_blendif_colorstop_t _gradient_HSL_hue[]
Definition blend_gui.c:253
const dt_iop_gui_blendif_colorstop_t _gradient_blue[]
Definition blend_gui.c:217
const dt_iop_gui_blendif_colorstop_t _gradient_green[]
Definition blend_gui.c:209
const dt_iop_gui_blendif_colorstop_t _gradient_gray[]
Definition blend_gui.c:195
const dt_iop_gui_blendif_colorstop_t _gradient_red[]
Definition blend_gui.c:201
@ DT_DEV_PIXELPIPE_DISPLAY_G
Definition develop.h:119
@ DT_DEV_PIXELPIPE_DISPLAY_HSL_H
Definition develop.h:124
@ DT_DEV_PIXELPIPE_DISPLAY_HSL_S
Definition develop.h:125
@ DT_DEV_PIXELPIPE_DISPLAY_HSL_l
Definition develop.h:126
@ DT_DEV_PIXELPIPE_DISPLAY_GRAY
Definition develop.h:121
@ DT_DEV_PIXELPIPE_DISPLAY_B
Definition develop.h:120
@ DT_DEV_PIXELPIPE_DISPLAY_R
Definition develop.h:118

Referenced by dt_iop_gui_update_blendif().

◆ rgbj_channels

const dt_iop_gui_blendif_channel_t rgbj_channels[]
Initial value:
= { { N_("g"), N_("sliders for gray value"), 1.0f / 255.0f, sizeof( _gradient_gray ) / sizeof(dt_iop_gui_blendif_colorstop_t), _gradient_gray , TRUE, 0.0f,
{ N_("R"), N_("sliders for red channel"), 1.0f / 255.0f, sizeof( _gradient_red ) / sizeof(dt_iop_gui_blendif_colorstop_t), _gradient_red , TRUE, 0.0f,
{ N_("G"), N_("sliders for green channel"), 1.0f / 255.0f, sizeof( _gradient_green ) / sizeof(dt_iop_gui_blendif_colorstop_t), _gradient_green , TRUE, 0.0f,
{ N_("B"), N_("sliders for blue channel"), 1.0f / 255.0f, sizeof( _gradient_blue ) / sizeof(dt_iop_gui_blendif_colorstop_t), _gradient_blue , TRUE, 0.0f,
{ N_("Jz"), N_("sliders for value channel (of JzCzhz)"), 1.0f / 100.0f, sizeof( _gradient_gray ) / sizeof(dt_iop_gui_blendif_colorstop_t), _gradient_gray ,
TRUE, -6.64385619f,
{ N_("Cz"), N_("sliders for chroma channel (of JzCzhz)"), 1.0f / 100.0f, sizeof( _gradient_chroma ) / sizeof(dt_iop_gui_blendif_colorstop_t), _gradient_chroma ,
TRUE, -6.64385619f,
{ N_("hz"), N_("sliders for hue channel (of JzCzhz)"), 1.0f / 360.0f, sizeof( _gradient_JzCzhz_hue ) / sizeof(dt_iop_gui_blendif_colorstop_t), _gradient_JzCzhz_hue ,
FALSE, 0.0f,
_blendif_scale_print_hue, NULL, N_("hue") },
{ NULL } }
@ DEVELOP_BLENDIF_hz_in
Definition blend.h:177
@ DEVELOP_BLENDIF_Cz_in
Definition blend.h:176
@ DEVELOP_BLENDIF_Jz_out
Definition blend.h:179
@ DEVELOP_BLENDIF_Cz_out
Definition blend.h:180
@ DEVELOP_BLENDIF_Jz_in
Definition blend.h:175
@ DEVELOP_BLENDIF_hz_out
Definition blend.h:181
const dt_iop_gui_blendif_colorstop_t _gradient_JzCzhz_hue[]
Definition blend_gui.c:266
@ DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_hz
Definition develop.h:129
@ DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_Cz
Definition develop.h:128
@ DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_Jz
Definition develop.h:127

Referenced by dt_iop_gui_update_blendif().

◆ slider_tooltip

const char* slider_tooltip[]
Initial value:
= { N_("adjustment based on input received by this module:\n* range defined by upper markers: "
"blend fully\n* range defined by lower markers: do not blend at all\n* range between "
"adjacent upper/lower markers: blend gradually"),
N_("adjustment based on unblended output of this module:\n* range defined by upper "
"markers: blend fully\n* range defined by lower markers: do not blend at all\n* range "
"between adjacent upper/lower markers: blend gradually") }

Referenced by dt_iop_gui_init_blendif().