Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
blend_gui.c File Reference
#include "system/macros.h"
#include "system/mem_alloc.h"
#include "system/simd.h"
#include "control/signal.h"
#include "common/usermanual_url.h"
#include "develop/blend.h"
#include "develop/blend_gui.h"
#include "widgets/bauhaus.h"
#include "widgets/accelerators.h"
#include "gui/bauhaus_conf.h"
#include "system/dtpthread.h"
#include "math/math.h"
#include "develop/iop_profile.h"
#include "common/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/masks_group.h"
#include "develop/masks_gui.h"
#include "widgets/button.h"
#include "widgets/gradientslider.h"
#include "gui/actions/menu.h"
#include "gui/application.h"
#include "libs/colorpicker.h"
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include "widgets/collapsible_section.h"
#include "widgets/container.h"
#include "widgets/label.h"
#include "widgets/notebook.h"
#include "widgets/popup.h"
#include "widgets/scroll_wrap.h"
#include "widgets/widget_style.h"
#include "widgets/togglebutton.h"
+ Include dependency graph for blend_gui.c:

Go to the source code of this file.

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
 
#define BLENDOP_SCROLL_DATA_ROW   "blendop-scroll-row"
 
#define BLENDOP_SCROLL_DATA_INTERACTION   "blendop-scroll-interaction"
 

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 void _blendop_blendif_sync_channel_display_buttons (dt_iop_module_t *module)
 Synchronize input/output channel toggles from the active preview request.
 
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 void _blendop_compositing_changed (GtkWidget *combobox, dt_iop_gui_blend_data_t *data)
 
static void _blendop_masks_combine_callback (GtkWidget *combo, dt_iop_gui_blend_data_t *data)
 
static void _blendop_masks_invert_toggled (GtkToggleButton *togglebutton, 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 void _blendop_blendif_log_scale_toggled (GtkToggleButton *button, dt_iop_module_t *module)
 Toggle the alternative scale of one parametric-mask slider.
 
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_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_shape_can_start (GtkWidget *button, dt_iop_module_t *module, dt_masks_type_t type, gpointer user_data)
 
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_develop_t *dev, dt_masks_form_t *mask_form)
 
static dt_masks_form_t_blendop_masks_group_create (dt_iop_module_t *module)
 
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 (dt_develop_t *dev, const dt_masks_form_t *mask_form)
 
static gboolean _blendop_masks_is_group_with_shapes (const dt_develop_t *dev, 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)
 
gboolean dt_iop_gui_blend_set_drawn_mask_group (dt_iop_module_t *module, const int group_id)
 
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 (dt_iop_module_t *module, const int formid)
 
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_develop_t *dev, 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_group_duplicate_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_create_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_group_unlink (dt_iop_module_t *module, const int formid, const int parentid)
 
static void _blendop_masks_group_delete (dt_iop_module_t *module, const int formid, const int parentid)
 
static gboolean _blendop_masks_group_handle_action_click (GtkWidget *treeview, GtkTreePath *path, GtkTreeViewColumn *column, dt_iop_module_t *module)
 
static gboolean _blendop_masks_group_query_tooltip (GtkWidget *treeview, gint x, gint y, gboolean keyboard_tip, GtkTooltip *tooltip, dt_iop_module_t *module)
 
static gboolean _blendop_masks_group_find_row (GtkTreeModel *model, GtkTreeIter *parent, const int formid, const int parentid, GtkTreeIter *out)
 
static void _blendop_masks_group_update_row (dt_iop_module_t *module, const int formid, const int parentid)
 
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 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_append_colorspace_item (GtkMenu *menu, dt_iop_module_t *module, const char *label, const dt_develop_blend_colorspace_t cst)
 
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 void _blendop_blendif_channel_display_toggled (GtkToggleButton *button, dt_iop_module_t *module)
 Persistently display the current parametric input or output channel.
 
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, GtkWidget *blendif_header)
 
void dt_iop_gui_init_contours (GtkBox *blendw, dt_iop_module_t *module)
 
void dt_iop_gui_blend_masks_update (dt_iop_module_t *module)
 
static void _blendop_masks_scroll_toggled (GtkToggleButton *button, gpointer user_data)
 
static void _blendop_masks_scroll_sync (GtkWidget *grid, gpointer user_data)
 
static GtkWidget_blendop_masks_create_scroll_grid (void)
 
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, gchar *help_url, GtkWidget **content)
 
static GtkWidget_blendop_create_toggle_page (GtkWidget *notebook, const gchar *label, gchar *help_url, 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 (GtkWidget *container, dt_iop_module_t *module)
 
void dt_iop_gui_init_blending (dt_iop_module_t *module)
 

Variables

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 []
 
static const dt_masks_interaction_t _blendop_scroll_columns []
 

Macro Definition Documentation

◆ BLEND_MASKMODE_CONF_KEY

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

Definition at line 90 of file blend_gui.c.

◆ BLENDOP_SCROLL_DATA_INTERACTION

#define BLENDOP_SCROLL_DATA_INTERACTION   "blendop-scroll-interaction"

Definition at line 3786 of file blend_gui.c.

◆ BLENDOP_SCROLL_DATA_ROW

#define BLENDOP_SCROLL_DATA_ROW   "blendop-scroll-row"

Definition at line 3785 of file blend_gui.c.

◆ COLORSTOPS

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

Definition at line 3355 of file blend_gui.c.

◆ NEUTRAL_GRAY

#define NEUTRAL_GRAY   0.5

Definition at line 89 of file blend_gui.c.

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 

Definition at line 1365 of file blend_gui.c.

◆ _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 

Definition at line 1376 of file blend_gui.c.

◆ _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 

Definition at line 210 of file blend_gui.c.

Function Documentation

◆ _add_blendmode_combo()

static gboolean _add_blendmode_combo ( GtkWidget combobox,
dt_develop_blend_mode_t  mode 
)
static

◆ _blendif_append_colorspace_item()

static void _blendif_append_colorspace_item ( GtkMenu *  menu,
dt_iop_module_t module,
const char *  label,
const dt_develop_blend_colorspace_t  cst 
)
static

◆ _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

Definition at line 385 of file blend_gui.c.

References value.

Referenced by _blendif_scale_print_ab().

◆ _blendif_print_digits_default()

static int _blendif_print_digits_default ( float  value)
inlinestatic

Definition at line 374 of file blend_gui.c.

References value.

Referenced by _blendif_scale_print_default().

◆ _blendif_print_digits_picker()

static int _blendif_print_digits_picker ( float  value)
inlinestatic

Definition at line 790 of file blend_gui.c.

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

Definition at line 394 of file blend_gui.c.

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

Definition at line 405 of file blend_gui.c.

References _blendif_print_digits_default(), n, and value.

◆ _blendif_scale_print_hue()

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

Definition at line 400 of file blend_gui.c.

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_blendif_boost_factor_callback()

◆ _blendop_blendif_channel_display_toggled()

static void _blendop_blendif_channel_display_toggled ( GtkToggleButton *  button,
dt_iop_module_t module 
)
static

◆ _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

Definition at line 729 of file blend_gui.c.

References _blendop_blendif_disp_alternative_worker(), and void().

Referenced by _blendop_blendif_update_tab().

◆ _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()

static gboolean _blendop_blendif_key_press ( GtkWidget widget,
GdkEventKey *  event,
dt_iop_module_t module 
)
static

◆ _blendop_blendif_leave()

◆ _blendop_blendif_leave_delayed()

static gboolean _blendop_blendif_leave_delayed ( gpointer  data)
static

◆ _blendop_blendif_log_scale_toggled()

static void _blendop_blendif_log_scale_toggled ( GtkToggleButton *  button,
dt_iop_module_t module 
)
static

Toggle the alternative scale of one parametric-mask slider.

Input and output sliders keep independent scale states for every channel tab. Most channels use a logarithmic scale; signed opponent channels use the existing centered magnifier because a logarithm is not defined across zero.

Definition at line 741 of file blend_gui.c.

References dt_iop_gui_blendif_channel_t::altdisplay, dt_iop_gui_blend_data_t::altmode, dt_iop_gui_blend_data_t::channel, dt_gui_widgets_suppressed(), dt_iop_gui_blend_data_t::filter, IS_NULL_PTR, dt_iop_gui_blendif_filter_t::log_scale, dt_iop_gui_blendif_filter_t::slider, and dt_iop_gui_blend_data_t::tab.

Referenced by dt_iop_gui_init_blendif().

◆ _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_sync_channel_display_buttons()

static void _blendop_blendif_sync_channel_display_buttons ( dt_iop_module_t module)
static

Synchronize input/output channel toggles from the active preview request.

Channel selection is encoded in module->request_mask_display: CHANNEL enables channel rendering and OUTPUT selects the unblended module output. The GUI reset guard prevents programmatic synchronization from invalidating the pipeline through the user-facing toggle callbacks.

Definition at line 3128 of file blend_gui.c.

References dt_iop_gui_blendif_filter_t::channel_display, dt_gui_freeze_begin, dt_gui_freeze_end, dt_iop_gui_blend_data_t::filter, and IS_NULL_PTR.

Referenced by _blendop_blendif_channel_mask_view(), _blendop_blendif_channel_mask_view_toggle(), _blendop_blendif_leave_delayed(), _blendop_blendif_showmask_clicked(), _blendop_blendif_update_tab(), dt_iop_gui_blending_lose_focus(), and dt_iop_gui_update_blending().

◆ _blendop_blendif_tab_switch()

◆ _blendop_blendif_update_tab()

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

Definition at line 870 of file blend_gui.c.

References _blendop_blendif_disp_alternative_reset(), _blendop_blendif_sync_channel_display_buttons(), _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, ch, dt_iop_gui_blend_data_t::channel, dt_iop_gui_blend_data_t::channel_boost_factor_slider, dt_iop_gui_blend_data_t::channel_tabs, dt_iop_gui_blendif_colorstop_t::color, dt_iop_gui_blendif_channel_t::colorstops, dt_iop_module_t::dev, dt_iop_gui_blendif_channel_t::display_channel, dt_bauhaus_slider_set(), DT_DEV_PIXELPIPE_DISPLAY_CHANNEL, DT_DEV_PIXELPIPE_DISPLAY_OUTPUT, dt_dev_pixelpipe_update_history_main, dt_free, dt_gui_freeze_begin, dt_gui_freeze_end, dt_iop_set_cache_bypass(), 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(), FALSE, 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, dt_iop_gui_blendif_channel_t::increment, IS_NULL_PTR, k, dt_iop_gui_blendif_channel_t::label, dt_iop_gui_blendif_filter_t::label, dt_iop_gui_blend_data_t::lock, dt_iop_gui_blendif_filter_t::log_scale, dt_iop_gui_blendif_channel_t::numberstops, dt_iop_gui_blendif_channel_t::param_channels, dt_iop_gui_blendif_filter_t::polarity, dt_iop_module_t::request_mask_display, dt_iop_gui_blendif_channel_t::scale_print, dt_iop_gui_blendif_filter_t::slider, dt_iop_gui_blendif_colorstop_t::stoppoint, and TRUE.

Referenced by _blendop_blendif_boost_factor_callback(), _blendop_blendif_sliders_reset_callback(), _blendop_blendif_tab_switch(), _blendop_masks_combine_callback(), 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.

Definition at line 1042 of file blend_gui.c.

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

Referenced by dt_iop_gui_init_blending_body().

◆ _blendop_compositing_changed()

◆ _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,
gchar *  help_url,
GtkWidget **  content 
)
static

◆ _blendop_create_toggle_page()

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

◆ _blendop_masks_all_button_pressed()

◆ _blendop_masks_all_delete()

◆ _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()

◆ _blendop_masks_all_toggled()

◆ _blendop_masks_apply_and_commit()

◆ _blendop_masks_check_id()

static void _blendop_masks_check_id ( dt_develop_t dev,
dt_masks_form_t mask_form 
)
static

Definition at line 1395 of file blend_gui.c.

References dt_masks_form_t::formid, dt_develop_t::forms, and IS_NULL_PTR.

Referenced by _blendop_masks_group_create().

◆ _blendop_masks_combine_callback()

◆ _blendop_masks_create_scroll_grid()

◆ _blendop_masks_create_shape_buttons()

static GtkWidget * _blendop_masks_create_shape_buttons ( dt_iop_module_t module,
dt_iop_gui_blend_data_t bd 
)
static

◆ _blendop_masks_edit_list_toggle()

static void _blendop_masks_edit_list_toggle ( GtkToggleButton *  togglebutton,
dt_iop_module_t module 
)
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

Definition at line 1585 of file blend_gui.c.

References FALSE, IS_NULL_PTR, 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_delete()

◆ _blendop_masks_group_duplicate_callback()

◆ _blendop_masks_group_find_row()

static gboolean _blendop_masks_group_find_row ( GtkTreeModel *  model,
GtkTreeIter *  parent,
const int  formid,
const int  parentid,
GtkTreeIter *  out 
)
static

◆ _blendop_masks_group_from_module()

◆ _blendop_masks_group_handle_action_click()

◆ _blendop_masks_group_move_by_index()

static gboolean _blendop_masks_group_move_by_index ( dt_develop_t dev,
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

Definition at line 1799 of file blend_gui.c.

References _blendop_masks_group_name_commit().

Referenced by dt_iop_gui_init_masks().

◆ _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

Definition at line 1805 of file blend_gui.c.

References _blendop_masks_group_name_commit(), FALSE, and void().

Referenced by dt_iop_gui_init_masks().

◆ _blendop_masks_group_operation_callback()

◆ _blendop_masks_group_query_tooltip()

static gboolean _blendop_masks_group_query_tooltip ( GtkWidget treeview,
gint  x,
gint  y,
gboolean  keyboard_tip,
GtkTooltip *  tooltip,
dt_iop_module_t module 
)
static

◆ _blendop_masks_group_selection_changed()

◆ _blendop_masks_group_tree_append()

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

◆ _blendop_masks_group_tree_append_entry()

◆ _blendop_masks_group_unlink()

◆ _blendop_masks_group_update_row()

◆ _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_toggled()

static void _blendop_masks_invert_toggled ( GtkToggleButton *  togglebutton,
dt_iop_gui_blend_data_t data 
)
static

◆ _blendop_masks_is_group_with_shapes()

◆ _blendop_masks_is_single_group_wrapper()

static gboolean _blendop_masks_is_single_group_wrapper ( dt_develop_t dev,
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_scroll_sync()

static void _blendop_masks_scroll_sync ( GtkWidget grid,
gpointer  user_data 
)
static

◆ _blendop_masks_scroll_toggled()

static void _blendop_masks_scroll_toggled ( GtkToggleButton *  button,
gpointer  user_data 
)
static

◆ _blendop_masks_shape_can_start()

static gboolean _blendop_masks_shape_can_start ( GtkWidget button,
dt_iop_module_t module,
dt_masks_type_t  type,
gpointer  user_data 
)
static

◆ _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

Definition at line 4456 of file blend_gui.c.

References _blendop_toggle_button_set_active(), and enabled.

Referenced by dt_iop_gui_update_blending().

◆ _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

Definition at line 4370 of file blend_gui.c.

References notebook, and TRUE.

Referenced by _blendop_create_notebook_page(), and _blendop_create_toggle_page().

◆ _raster_combo_populate()

◆ _raster_polarity_callback()

◆ _raster_value_changed_callback()

◆ _update_gradient_slider_pickers()

◆ dt_iop_gui_blend_masks_update()

void dt_iop_gui_blend_masks_update ( dt_iop_module_t module)

Refresh the blend GUI's mask widgets (shape combo, edit/polarity toggles, shape buttons and the mask list) from the module's current mask group.

Declared here because this is where it lives and what it touches: dt_iop_gui_blend_data_t, which is the blend GUI's own. It spent years declared in develop/masks.h under a dt_masks_ name while its body sat in blend_gui.c – a masks symbol that the masks module did not implement and could not have, since every widget it drives is private to this one.

Definition at line 3700 of file blend_gui.c.

References _blendop_masks_refresh_lists(), dt_iop_module_t::blend_params, dt_masks_form_gui_t::creation, dt_masks_form_gui_t::creation_module, dt_masks_form_gui_t::creation_type, dt_iop_module_t::dev, DEVELOP_COMBINE_MASKS_POS, DEVELOP_MASKS_NB_SHAPES, dt_bauhaus_combobox_add(), dt_bauhaus_combobox_clear(), dt_bauhaus_combobox_set(), dt_gui_freeze_begin, dt_gui_freeze_end, dt_iop_add_remove_mask_indicator(), DT_MASKS_EDIT_OFF, dt_masks_get_from_id(), dt_masks_get_visible_form(), DT_MASKS_GROUP, DT_MASKS_NONE, dt_masks_set_edit_mode(), FALSE, IS_NULL_PTR, dt_develop_blend_params_t::mask_combine, dt_develop_blend_params_t::mask_id, dt_iop_gui_blend_data_t::masks_combo, dt_iop_gui_blend_data_t::masks_edit, dt_iop_gui_blend_data_t::masks_inited, dt_iop_gui_blend_data_t::masks_polarity, dt_iop_gui_blend_data_t::masks_shapes, dt_iop_gui_blend_data_t::masks_shown, dt_iop_gui_blend_data_t::masks_support, dt_iop_gui_blend_data_t::masks_type, n, dt_masks_form_t::points, TRUE, and dt_masks_form_t::type.

Referenced by _blendop_masks_apply_and_commit(), _brush_events_button_released(), _menu_add_exist(), _menu_no_masks(), _refresh_owning_modules(), _tree_duplicate_shape(), _tree_row_assign_to_modules(), dt_iop_gui_blend_set_drawn_mask_group(), dt_iop_gui_update_blending(), dt_masks_form_delete(), dt_masks_form_exit_creation(), dt_masks_group_update_name(), dt_masks_gui_form_save_creation(), and dt_masks_iop_value_changed_callback().

◆ dt_iop_gui_blend_set_drawn_mask_group()

gboolean dt_iop_gui_blend_set_drawn_mask_group ( dt_iop_module_t module,
int  group_id 
)

Make group the module's drawn mask and switch drawn blending on.

The sequence a module needs to start using a drawn mask – point blend_params->mask_id at the group, raise DEVELOP_MASK_ENABLED | DEVELOP_MASK_SHAPE, refresh the raster-mask source table, and repaint whatever of the blend GUI exists – lived only inside this file's own widget callbacks, so anything else wanting to attach a mask had to write blend_params by hand. It is one function now, and the blend GUI's own callbacks are not its only caller.

The module's blend GUI need not have been built: a module the user has never expanded has no dt_iop_gui_blend_data_t, and this only refreshes the widgets that exist.

Nothing is committed to history – a caller attaching one group to several modules commits once, at the end.

Takes the group's id rather than the group: a caller outside develop/masks has no business reaching into a dt_masks_form_t to read one, and the id is what blend_params stores anyway.

Returns
TRUE if anything actually changed, FALSE if the module already used that group with drawn blending on, or if it cannot carry a drawn mask at all.

Definition at line 1745 of file blend_gui.c.

References dt_iop_module_gui_t::blend_data, dt_iop_module_t::blend_params, dt_iop_gui_blend_data_t::blending_box, dt_iop_module_t::dev, DEVELOP_MASK_ENABLED, DEVELOP_MASK_SHAPE, dt_iop_add_remove_mask_indicator(), dt_iop_gui_blend_masks_update(), dt_iop_gui_update_blending(), dt_iop_gui_update_header(), dt_iop_module_supports_drawn_mask(), dt_iop_set_mask_mode(), dt_masks_get_from_id(), DT_MASKS_GROUP, FALSE, dt_iop_module_t::gui, IS_NULL_PTR, dt_develop_blend_params_t::mask_mode, TRUE, and dt_masks_form_t::type.

Referenced by _module_create_own_mask().

◆ 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)

Definition at line 4834 of file blend_gui.c.

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_delete_col, dt_iop_gui_blend_data_t::all_shapes_store, dt_iop_gui_blend_data_t::all_shapes_sw, dt_iop_module_gui_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_box, dt_iop_gui_blend_data_t::blending_notebook, dt_iop_gui_blend_data_t::blur_radius_slider, 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::contours_content, dt_iop_gui_blend_data_t::contrast_slider, dt_iop_gui_blend_data_t::details_slider, DEVELOP_BLEND_CS_NONE, dt_free_align, dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), FALSE, dt_iop_gui_blend_data_t::feathering_radius_slider, dt_iop_gui_blend_data_t::filter, dt_iop_gui_blend_data_t::group_delete_col, 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::group_unlink_col, dt_iop_module_t::gui, IS_NULL_PTR, 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::picker_set_values_box, dt_iop_gui_blend_data_t::picker_set_values_box_valid, dt_iop_gui_blend_data_t::picker_set_values_manual_boost_lock, 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::timeout_handle, dt_iop_gui_blend_data_t::top_enable, and dt_iop_gui_blend_data_t::wire_shape_toggle.

Referenced by _release(), and dt_iop_gui_cleanup_blending().

◆ dt_iop_gui_init_blendif()

void dt_iop_gui_init_blendif ( GtkBox *  blendw,
dt_iop_module_t module,
GtkWidget header 
)

gui related stuff

Definition at line 3527 of file blend_gui.c.

References _blendop_blendif_boost_factor_callback(), _blendop_blendif_channel_display_toggled(), _blendop_blendif_enter(), _blendop_blendif_invert(), _blendop_blendif_key_press(), _blendop_blendif_leave(), _blendop_blendif_log_scale_toggled(), _blendop_blendif_polarity_callback(), _blendop_blendif_reset(), _blendop_blendif_sliders_callback(), _blendop_blendif_sliders_reset_callback(), _blendop_blendif_tab_switch(), _update_gradient_slider_pickers(), dt_iop_module_gui_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_blendif_filter_t::channel_display, 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, CPF_ALTER, DEVELOP_BLEND_CS_NONE, dt_bauhaus_disable_module_list(), dt_bauhaus_get_global(), 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_label(), DT_COLOR_PICKER_AREA, dt_color_picker_new(), DT_COLOR_PICKER_POINT_AREA, dt_free, dt_gui_add_class(), DT_GUI_BOX_SPACING, DT_GUI_MODULE, dt_history_item_get_name(), dt_iop_togglebutton_new_no_register(), dt_ui_label_new(), dtgtk_cairo_paint_colorpicker(), dtgtk_cairo_paint_eye_toggle(), dtgtk_cairo_paint_invert(), 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_module_t::gui, dt_iop_gui_blendif_filter_t::head, k, dt_iop_gui_blendif_filter_t::label, dt_iop_gui_blendif_filter_t::log_scale, 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 ( GtkWidget container,
dt_iop_module_t module 
)

Definition at line 4929 of file blend_gui.c.

References _blendif_options_callback(), _blendop_blend_mode_callback(), _blendop_blendif_details_callback(), _blendop_blendif_showmask_clicked(), _blendop_blending_notebook_switch(), _blendop_compositing_changed(), _blendop_create_enable_toggle(), _blendop_create_notebook_page(), _blendop_create_toggle_page(), _blendop_masks_combine_callback(), _blendop_masks_invert_toggled(), _blendop_toggle_button_set_active(), _blendop_update_top_enable_label(), _combobox_new_from_list(), dt_iop_module_gui_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_content, dt_iop_gui_blend_data_t::blendif_enable, dt_iop_gui_blend_data_t::blendif_support, dt_iop_gui_blend_data_t::blending_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_develop_blend_params_t::brightness, dt_iop_gui_blend_data_t::brightness_slider, container(), dt_iop_gui_blend_data_t::contours_content, dt_develop_blend_params_t::contrast, dt_iop_gui_blend_data_t::contrast_slider, dt_iop_gui_blend_data_t::details_slider, DEVELOP_MASK_ENABLED, DEVELOP_MASK_PARAMETRIC, DEVELOP_MASK_RASTER, DEVELOP_MASK_SHAPE, dt_bauhaus_combobox_add_full(), DT_BAUHAUS_COMBOBOX_ALIGN_RIGHT, dt_bauhaus_combobox_new(), dt_bauhaus_disable_accels(), dt_bauhaus_disable_module_list(), dt_bauhaus_get_global(), 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_get_help_url(), dt_gui_add_help_link(), DT_GUI_BOX_SPACING, dt_gui_freeze_begin, dt_gui_freeze_end, DT_GUI_MODULE, dt_gui_update_collapsible_section(), DT_INTROSPECTION_TYPE_FLOAT, dt_iop_gui_init_blendif(), dt_iop_gui_init_contours(), dt_iop_gui_init_masks(), dt_iop_gui_init_raster(), dt_iop_togglebutton_new_no_register(), dtgtk_button_new(), 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, dt_iop_module_t::gui, IOP_FLAGS_SUPPORTS_BLENDING, IS_NULL_PTR, dt_iop_gui_blend_data_t::masks_combine_combo, dt_iop_gui_blend_data_t::masks_content, dt_iop_gui_blend_data_t::masks_cs, 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_develop_blend_params_t::opacity, dt_iop_gui_blend_data_t::opacity_slider, dt_iop_gui_blend_data_t::raster_content, dt_iop_gui_blend_data_t::raster_enable, dt_iop_gui_blend_data_t::scroll_cs, dt_iop_gui_blend_data_t::showmask, dt_iop_gui_blend_data_t::top_enable, and TRUE.

Referenced by _gui_changed_callback().

◆ dt_iop_gui_init_contours()

◆ dt_iop_gui_init_masks()

void dt_iop_gui_init_masks ( GtkBox *  blendw,
dt_iop_module_t module 
)

Definition at line 3923 of file blend_gui.c.

References _blendop_masks_all_button_pressed(), _blendop_masks_all_name_edited(), _blendop_masks_all_selection_changed(), _blendop_masks_all_toggled(), _blendop_masks_create_scroll_grid(), _blendop_masks_create_shape_buttons(), _blendop_masks_edit_list_toggle(), _blendop_masks_group_button_pressed(), _blendop_masks_group_name_activate(), _blendop_masks_group_name_focus_out(), _blendop_masks_group_query_tooltip(), _blendop_masks_group_selection_changed(), _blendop_masks_init_icons(), _blendop_masks_polarity_callback(), _blendop_masks_refresh_lists(), _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_delete_col, dt_iop_gui_blend_data_t::all_shapes_store, dt_iop_gui_blend_data_t::all_shapes_sw, dt_iop_module_gui_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_gui_collapsible_section_t::container, dt_bauhaus_combobox_from_conf(), dt_bauhaus_get_global(), dt_free, dt_gui_add_class(), DT_GUI_BOX_SPACING, DT_GUI_MODULE, dt_gui_new_collapsible_section(), dt_history_item_get_name(), dt_iop_togglebutton_new_no_register(), DT_MASKS_EDIT_OFF, dt_masks_group_name_for_module(), DT_PIXEL_APPLY_DPI, DT_UI_RESIZE_DYNAMIC, dt_ui_scroll_wrap(), dtgtk_cairo_paint_invert(), dtgtk_cairo_paint_masks_edit(), DTGTK_TOGGLEBUTTON, dtgtk_togglebutton_set_paint(), dt_gui_collapsible_section_t::expander, FALSE, dt_iop_gui_blend_data_t::group_delete_col, 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::group_unlink_col, dt_iop_module_t::gui, 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_cs, 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, dt_iop_gui_blend_data_t::scroll_cs, 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)

Definition at line 4466 of file blend_gui.c.

References _add_blendmode_combo(), _blendif_are_output_channels_used(), _blendif_blend_parameter_enabled(), _blendop_blendif_sync_channel_display_buttons(), _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_gui_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_box, dt_develop_blend_params_t::blur_radius, dt_iop_gui_blend_data_t::blur_radius_slider, dt_iop_gui_blendif_channel_t::boost_factor_enabled, dt_develop_blend_params_t::brightness, dt_iop_gui_blend_data_t::brightness_slider, dt_iop_gui_blend_data_t::channel, dt_iop_gui_blend_data_t::channel_boost_factor_slider, dt_iop_gui_blend_data_t::contours_content, dt_develop_blend_params_t::contrast, dt_iop_gui_blend_data_t::contrast_slider, dt_iop_gui_blend_data_t::csp, 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_ENABLED, DEVELOP_MASK_PARAMETRIC, DEVELOP_MASK_RASTER, DEVELOP_MASK_SHAPE, 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_gui_freeze_begin, dt_gui_freeze_end, dt_iop_add_remove_mask_indicator(), dt_iop_color_picker_reset(), dt_iop_gui_blend_masks_update(), dt_iop_gui_update_blendif(), dt_iop_gui_update_raster(), dt_iop_set_cache_bypass(), DT_MASKS_EDIT_OFF, dt_masks_set_edit_mode(), dt_masks_shape_buttons_deactivate_all(), FALSE, dt_develop_blend_params_t::feathering_guide, dt_develop_blend_params_t::feathering_radius, dt_iop_gui_blend_data_t::feathering_radius_slider, dt_iop_module_t::gui, IOP_CS_RAW, IOP_FLAGS_SUPPORTS_BLENDING, IS_NULL_PTR, 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_support, 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_iop_gui_blend_data_t::showmask, dt_iop_gui_blend_data_t::tab, dt_iop_gui_blend_data_t::top_enable, and TRUE.

Referenced by _blendop_blendif_invert(), _blendop_masks_mode_callback(), _gui_changed_callback(), dt_iop_gui_blend_set_drawn_mask_group(), dt_iop_gui_duplicate(), and dt_iop_gui_update().

◆ dt_iop_gui_update_raster()

◆ log10_scale_callback()

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

Definition at line 652 of file blend_gui.c.

References GRADIENT_SLIDER_GET, GRADIENT_SLIDER_SET, and M_LN10.

Referenced by _blendop_blendif_disp_alternative_log().

◆ magnifier_scale_callback()

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

Definition at line 673 of file blend_gui.c.

References eps, GRADIENT_SLIDER_GET, and GRADIENT_SLIDER_SET.

Referenced by _blendop_blendif_disp_alternative_mag().

Variable Documentation

◆ _blendop_scroll_columns

const dt_masks_interaction_t _blendop_scroll_columns[]
static
Initial value:

Definition at line 3790 of file blend_gui.c.

Referenced by _blendop_masks_create_scroll_grid().

◆ _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 } },
}

Definition at line 103 of file blend_gui.c.

◆ _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 } },
}

Definition at line 115 of file blend_gui.c.

◆ _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 } }
}

Definition at line 148 of file blend_gui.c.

◆ _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 } }
}

Definition at line 157 of file blend_gui.c.

◆ _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 } } }

Definition at line 125 of file blend_gui.c.

◆ _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 } }
}

Definition at line 140 of file blend_gui.c.

◆ _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 } },
}

Definition at line 184 of file blend_gui.c.

◆ _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 } },
}

Definition at line 197 of file blend_gui.c.

◆ _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 } } }

Definition at line 94 of file blend_gui.c.

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 } },
}

Definition at line 168 of file blend_gui.c.

◆ _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 } }
}

Definition at line 132 of file blend_gui.c.

◆ 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:405
const dt_iop_gui_blendif_colorstop_t _gradient_b[]
Definition blend_gui.c:115
static void _blendif_scale_print_hue(float value, float boost_factor, char *string, int n)
Definition blend_gui.c:400
const dt_iop_gui_blendif_colorstop_t _gradient_chroma[]
Definition blend_gui.c:157
const dt_iop_gui_blendif_colorstop_t _gradient_L[]
Definition blend_gui.c:95
const dt_iop_gui_blendif_colorstop_t _gradient_LCh_hue[]
Definition blend_gui.c:168
static int _blendop_blendif_disp_alternative_log(GtkWidget *widget, dt_iop_module_t *module, int mode)
Definition blend_gui.c:724
static int _blendop_blendif_disp_alternative_mag(GtkWidget *widget, dt_iop_module_t *module, int mode)
Definition blend_gui.c:719
const dt_iop_gui_blendif_colorstop_t _gradient_a[]
Definition blend_gui.c:103
static void _blendif_scale_print_ab(float value, float boost_factor, char *string, int n)
Definition blend_gui.c:394
@ DT_DEV_PIXELPIPE_DISPLAY_a
Definition develop.h:127
@ DT_DEV_PIXELPIPE_DISPLAY_L
Definition develop.h:126
@ DT_DEV_PIXELPIPE_DISPLAY_LCH_h
Definition develop.h:134
@ DT_DEV_PIXELPIPE_DISPLAY_LCH_C
Definition develop.h:133
@ DT_DEV_PIXELPIPE_DISPLAY_b
Definition develop.h:128

Definition at line 3357 of file blend_gui.c.

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:184
const dt_iop_gui_blendif_colorstop_t _gradient_blue[]
Definition blend_gui.c:148
const dt_iop_gui_blendif_colorstop_t _gradient_green[]
Definition blend_gui.c:140
const dt_iop_gui_blendif_colorstop_t _gradient_gray[]
Definition blend_gui.c:126
const dt_iop_gui_blendif_colorstop_t _gradient_red[]
Definition blend_gui.c:132
@ DT_DEV_PIXELPIPE_DISPLAY_G
Definition develop.h:130
@ DT_DEV_PIXELPIPE_DISPLAY_HSL_H
Definition develop.h:135
@ DT_DEV_PIXELPIPE_DISPLAY_HSL_S
Definition develop.h:136
@ DT_DEV_PIXELPIPE_DISPLAY_HSL_l
Definition develop.h:137
@ DT_DEV_PIXELPIPE_DISPLAY_GRAY
Definition develop.h:132
@ DT_DEV_PIXELPIPE_DISPLAY_B
Definition develop.h:131
@ DT_DEV_PIXELPIPE_DISPLAY_R
Definition develop.h:129

Definition at line 3377 of file blend_gui.c.

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:197
@ DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_hz
Definition develop.h:140
@ DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_Cz
Definition develop.h:139
@ DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_Jz
Definition develop.h:138

Definition at line 3404 of file blend_gui.c.

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") }

Definition at line 3431 of file blend_gui.c.

Referenced by dt_iop_gui_init_blendif().