Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
blend_gui.c File Reference
#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/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/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 COLORSTOPS(gradient)   sizeof(gradient) / sizeof(dt_iop_gui_blendif_colorstop_t), gradient
 

Typedefs

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
}
 

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_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 uint32_t _mask_modes_combobox_to_flags (const int selected)
 
static int _mask_modes_flags_to_combobox (uint32_t mask_mode)
 
static gboolean _blendop_masks_mode_changed (GtkWidget *widget, 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)
 
gboolean blend_color_picker_apply (dt_iop_module_t *module, GtkWidget *picker, 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)
 
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_init_blending (GtkWidget *iopw, 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

◆ COLORSTOPS

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

◆ NEUTRAL_GRAY

#define NEUTRAL_GRAY   0.5

Typedef Documentation

◆ raster_combo_entry_t

Enumeration Type Documentation

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

static gboolean _add_blendmode_combo ( GtkWidget *  combobox,
dt_develop_blend_mode_t  mode 
)
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

Referenced by _blendif_scale_print_ab().

◆ _blendif_print_digits_default()

static int _blendif_print_digits_default ( float  value)
inlinestatic

◆ _blendif_print_digits_picker()

static int _blendif_print_digits_picker ( float  value)
inlinestatic

◆ _blendif_scale()

◆ _blendif_scale_print_ab()

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

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

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

static gboolean _blendop_blend_order_clicked ( GtkWidget *  button,
GdkEventButton *  event,
dt_iop_module_t module 
)
static

◆ _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
Todo:
: there are more than 3 functions getting clever about how to setup module->request_mask_display depending on user input.

References DT_DEV_PIXELPIPE_DISPLAY_NONE, DT_DEV_PIXELPIPE_DISPLAY_STICKY, dt_iop_refresh_center(), dt_iop_set_cache_bypass(), dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), FALSE, and dt_iop_module_t::request_mask_display.

Referenced by _blendop_blendif_leave().

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

◆ _blendop_masks_combine_callback()

◆ _blendop_masks_invert_callback()

◆ _blendop_masks_mode_callback()

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

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

◆ _mask_modes_combobox_to_flags()

static uint32_t _mask_modes_combobox_to_flags ( const int  selected)
static

◆ _mask_modes_flags_to_combobox()

static int _mask_modes_flags_to_combobox ( uint32_t  mask_mode)
static

◆ _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_iop_t piece 
)

◆ dt_iop_gui_blending_lose_focus()

◆ dt_iop_gui_blending_reload_defaults()

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

◆ dt_iop_gui_init_blending()

void dt_iop_gui_init_blending ( GtkWidget *  iopw,
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_masks_combine_callback(), _blendop_masks_invert_callback(), _blendop_masks_mode_changed(), _combobox_new_from_list(), darktable_t::bauhaus, dt_iop_module_t::blend_data, dt_iop_gui_blend_data_t::blend_inited, 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_box, dt_iop_gui_blend_data_t::blendif_support, dt_develop_blend_params_t::blur_radius, dt_iop_gui_blend_data_t::blur_radius_slider, dt_iop_gui_blend_data_t::bottom_box, dt_develop_blend_params_t::brightness, dt_iop_gui_blend_data_t::brightness_slider, dt_iop_gui_blend_data_t::channel_tabs_csp, dt_develop_blend_params_t::contrast, dt_iop_gui_blend_data_t::contrast_slider, dt_iop_gui_blend_data_t::csp, darktable, dt_iop_gui_blend_data_t::details_slider, DEVELOP_BLEND_CS_NONE, 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_develop_combine_masks_names, dt_develop_feathering_guide_names, dt_develop_invert_mask_names, dt_develop_mask_mode_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_pthread_mutex_init(), dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), 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_CS_LAB, IOP_CS_RGB, IOP_FLAGS_SUPPORTS_BLENDING, dt_iop_gui_blend_data_t::iopw, dt_iop_gui_blend_data_t::lock, dt_iop_gui_blend_data_t::mask_mode_combo, dt_iop_gui_blend_data_t::masks_box, dt_iop_gui_blend_data_t::masks_combine_combo, dt_iop_gui_blend_data_t::masks_feathering_guide_combo, dt_iop_gui_blend_data_t::masks_invert_combo, dt_iop_gui_blend_data_t::masks_modes_box, dt_iop_gui_blend_data_t::masks_support, 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_box, dt_gui_gtk_t::reset, dt_iop_gui_blend_data_t::save_for_leave, 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_box, and TRUE.

Referenced by _init_module_so(), and dt_iop_gui_set_expander().

◆ dt_iop_gui_init_masks()

◆ 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(), _mask_modes_flags_to_combobox(), dt_iop_gui_blend_data_t::altmode, dt_develop_blend_params_t::blend_cst, dt_iop_module_t::blend_data, dt_iop_gui_blend_data_t::blend_inited, 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_box, dt_iop_gui_blend_data_t::blendif_inited, dt_develop_blend_params_t::blur_radius, dt_iop_gui_blend_data_t::blur_radius_slider, dt_iop_gui_blend_data_t::bottom_box, 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, dt_bauhaus_combobox_clear(), dt_bauhaus_combobox_set(), 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, dt_iop_module_t::hide_enable_button, IOP_CS_RAW, IOP_FLAGS_SUPPORTS_BLENDING, dt_develop_blend_params_t::mask_combine, dt_develop_blend_params_t::mask_mode, dt_iop_gui_blend_data_t::mask_mode_combo, dt_iop_gui_blend_data_t::masks_box, dt_iop_gui_blend_data_t::masks_combine_combo, 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_modes_box, 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_box, 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, and dt_iop_gui_blend_data_t::top_box.

Referenced by _add_module_expander(), _blendop_blendif_invert(), dt_iop_gui_duplicate(), and dt_iop_gui_update().

◆ dt_iop_gui_update_raster()

◆ dt_masks_iop_update()

void dt_masks_iop_update ( dt_iop_module_t module)

◆ 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:36
@ DEVELOP_BLEND_CS_LAB
Definition blend.h:38
@ DEVELOP_BLEND_CS_RGB_SCENE
Definition blend.h:40
@ DEVELOP_BLEND_CS_RGB_DISPLAY
Definition blend.h:39
@ DEVELOP_BLEND_CS_RAW
Definition blend.h:37

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:88

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:110
@ DEVELOP_COMBINE_INV_INCL
Definition blend.h:112
@ DEVELOP_COMBINE_INV_EXCL
Definition blend.h:111
@ DEVELOP_COMBINE_NORM_EXCL
Definition blend.h:109

Referenced by _create_tooltip_text(), and dt_iop_gui_init_blending().

◆ 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:118
@ DEVELOP_MASK_GUIDE_IN_AFTER_BLUR
Definition blend.h:119
@ DEVELOP_MASK_GUIDE_OUT_AFTER_BLUR
Definition blend.h:120
@ DEVELOP_MASK_GUIDE_IN_BEFORE_BLUR
Definition blend.h:117

Referenced by _create_tooltip_text(), and dt_iop_gui_init_blending().

◆ 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:105
@ DEVELOP_COMBINE_NORM
Definition blend.h:104

Referenced by _create_tooltip_text(), and dt_iop_gui_init_blending().

◆ 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(), and dt_iop_gui_init_blending().

◆ 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:151
#define FALSE
Definition ashift_lsd.c:147
@ DEVELOP_BLENDIF_C_out
Definition blend.h:146
@ DEVELOP_BLENDIF_A_in
Definition blend.h:126
@ DEVELOP_BLENDIF_C_in
Definition blend.h:143
@ DEVELOP_BLENDIF_L_out
Definition blend.h:129
@ DEVELOP_BLENDIF_h_in
Definition blend.h:144
@ DEVELOP_BLENDIF_B_in
Definition blend.h:127
@ DEVELOP_BLENDIF_A_out
Definition blend.h:130
@ DEVELOP_BLENDIF_B_out
Definition blend.h:131
@ DEVELOP_BLENDIF_h_out
Definition blend.h:147
@ DEVELOP_BLENDIF_L_in
Definition blend.h:125
static void _blendif_scale_print_default(float value, float boost_factor, char *string, int n)
Definition blend_gui.c:436
const dt_iop_gui_blendif_colorstop_t _gradient_b[]
Definition blend_gui.c:149
static void _blendif_scale_print_hue(float value, float boost_factor, char *string, int n)
Definition blend_gui.c:431
const dt_iop_gui_blendif_colorstop_t _gradient_chroma[]
Definition blend_gui.c:191
const dt_iop_gui_blendif_colorstop_t _gradient_L[]
Definition blend_gui.c:129
const dt_iop_gui_blendif_colorstop_t _gradient_LCh_hue[]
Definition blend_gui.c:202
static int _blendop_blendif_disp_alternative_log(GtkWidget *widget, dt_iop_module_t *module, int mode)
Definition blend_gui.c:864
static int _blendop_blendif_disp_alternative_mag(GtkWidget *widget, dt_iop_module_t *module, int mode)
Definition blend_gui.c:859
const dt_iop_gui_blendif_colorstop_t _gradient_a[]
Definition blend_gui.c:137
static void _blendif_scale_print_ab(float value, float boost_factor, char *string, int n)
Definition blend_gui.c:425
@ DT_DEV_PIXELPIPE_DISPLAY_a
Definition develop.h:86
@ DT_DEV_PIXELPIPE_DISPLAY_L
Definition develop.h:85
@ DT_DEV_PIXELPIPE_DISPLAY_LCH_h
Definition develop.h:93
@ DT_DEV_PIXELPIPE_DISPLAY_LCH_C
Definition develop.h:92
@ DT_DEV_PIXELPIPE_DISPLAY_b
Definition develop.h:87
Definition blend.h:246

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:138
@ DEVELOP_BLENDIF_S_out
Definition blend.h:154
@ DEVELOP_BLENDIF_RED_in
Definition blend.h:134
@ DEVELOP_BLENDIF_l_in
Definition blend.h:151
@ DEVELOP_BLENDIF_GREEN_in
Definition blend.h:135
@ DEVELOP_BLENDIF_H_in
Definition blend.h:149
@ DEVELOP_BLENDIF_RED_out
Definition blend.h:139
@ DEVELOP_BLENDIF_H_out
Definition blend.h:153
@ DEVELOP_BLENDIF_BLUE_in
Definition blend.h:136
@ DEVELOP_BLENDIF_BLUE_out
Definition blend.h:141
@ DEVELOP_BLENDIF_S_in
Definition blend.h:150
@ DEVELOP_BLENDIF_GRAY_in
Definition blend.h:133
@ DEVELOP_BLENDIF_GREEN_out
Definition blend.h:140
@ DEVELOP_BLENDIF_l_out
Definition blend.h:155
const dt_iop_gui_blendif_colorstop_t _gradient_HSL_hue[]
Definition blend_gui.c:218
const dt_iop_gui_blendif_colorstop_t _gradient_blue[]
Definition blend_gui.c:182
const dt_iop_gui_blendif_colorstop_t _gradient_green[]
Definition blend_gui.c:174
const dt_iop_gui_blendif_colorstop_t _gradient_gray[]
Definition blend_gui.c:160
const dt_iop_gui_blendif_colorstop_t _gradient_red[]
Definition blend_gui.c:166
@ DT_DEV_PIXELPIPE_DISPLAY_G
Definition develop.h:89
@ DT_DEV_PIXELPIPE_DISPLAY_HSL_H
Definition develop.h:94
@ DT_DEV_PIXELPIPE_DISPLAY_HSL_S
Definition develop.h:95
@ DT_DEV_PIXELPIPE_DISPLAY_HSL_l
Definition develop.h:96
@ DT_DEV_PIXELPIPE_DISPLAY_GRAY
Definition develop.h:91
@ DT_DEV_PIXELPIPE_DISPLAY_B
Definition develop.h:90
@ DT_DEV_PIXELPIPE_DISPLAY_R
Definition develop.h:88

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:159
@ DEVELOP_BLENDIF_Cz_in
Definition blend.h:158
@ DEVELOP_BLENDIF_Jz_out
Definition blend.h:161
@ DEVELOP_BLENDIF_Cz_out
Definition blend.h:162
@ DEVELOP_BLENDIF_Jz_in
Definition blend.h:157
@ DEVELOP_BLENDIF_hz_out
Definition blend.h:163
const dt_iop_gui_blendif_colorstop_t _gradient_JzCzhz_hue[]
Definition blend_gui.c:231
@ DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_hz
Definition develop.h:99
@ DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_Cz
Definition develop.h:98
@ DT_DEV_PIXELPIPE_DISPLAY_JzCzhz_Jz
Definition develop.h:97

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