Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
blend.h File Reference
+ Include dependency graph for blend.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  dt_develop_blend_params_t
 
struct  dt_blendop_cl_global_t
 
struct  dt_iop_gui_blendif_colorstop_t
 
struct  dt_iop_gui_blendif_channel_t
 
struct  dt_iop_gui_blendif_filter_t
 
struct  dt_iop_blend_name_value_t
 
struct  dt_iop_gui_blend_data_t
 

Macros

#define DEVELOP_BLEND_VERSION   (11)
 
#define DEVELOP_MASKS_NB_SHAPES   5
 
#define DEVELOP_BLENDIF_PARAMETER_ITEMS   6
 

Typedefs

typedef enum dt_develop_blend_colorspace_t dt_develop_blend_colorspace_t
 
typedef enum dt_develop_blend_mode_t dt_develop_blend_mode_t
 
typedef enum dt_develop_mask_mode_t dt_develop_mask_mode_t
 
typedef enum dt_develop_mask_combine_mode_t dt_develop_mask_combine_mode_t
 
typedef enum dt_develop_mask_feathering_guide_t dt_develop_mask_feathering_guide_t
 
typedef enum dt_develop_blendif_channels_t dt_develop_blendif_channels_t
 
typedef struct dt_develop_blend_params_t dt_develop_blend_params_t
 
typedef struct dt_blendop_cl_global_t dt_blendop_cl_global_t
 
typedef struct dt_iop_gui_blendif_colorstop_t dt_iop_gui_blendif_colorstop_t
 
typedef struct dt_iop_gui_blendif_channel_t dt_iop_gui_blendif_channel_t
 
typedef struct dt_iop_gui_blendif_filter_t dt_iop_gui_blendif_filter_t
 
typedef struct dt_iop_blend_name_value_t dt_develop_name_value_t
 
typedef struct dt_iop_gui_blend_data_t dt_iop_gui_blend_data_t
 

Enumerations

enum  dt_develop_blend_colorspace_t {
  DEVELOP_BLEND_CS_NONE = 0 ,
  DEVELOP_BLEND_CS_RAW = 1 ,
  DEVELOP_BLEND_CS_LAB = 2 ,
  DEVELOP_BLEND_CS_RGB_DISPLAY = 3 ,
  DEVELOP_BLEND_CS_RGB_SCENE = 4
}
 
enum  dt_develop_blend_mode_t {
  DEVELOP_BLEND_DISABLED_OBSOLETE = 0x00 ,
  DEVELOP_BLEND_NORMAL_OBSOLETE = 0x01 ,
  DEVELOP_BLEND_LIGHTEN = 0x02 ,
  DEVELOP_BLEND_DARKEN = 0x03 ,
  DEVELOP_BLEND_MULTIPLY = 0x04 ,
  DEVELOP_BLEND_AVERAGE = 0x05 ,
  DEVELOP_BLEND_ADD = 0x06 ,
  DEVELOP_BLEND_SUBTRACT = 0x07 ,
  DEVELOP_BLEND_DIFFERENCE = 0x08 ,
  DEVELOP_BLEND_SCREEN = 0x09 ,
  DEVELOP_BLEND_OVERLAY = 0x0A ,
  DEVELOP_BLEND_SOFTLIGHT = 0x0B ,
  DEVELOP_BLEND_HARDLIGHT = 0x0C ,
  DEVELOP_BLEND_VIVIDLIGHT = 0x0D ,
  DEVELOP_BLEND_LINEARLIGHT = 0x0E ,
  DEVELOP_BLEND_PINLIGHT = 0x0F ,
  DEVELOP_BLEND_LIGHTNESS = 0x10 ,
  DEVELOP_BLEND_CHROMATICITY = 0x11 ,
  DEVELOP_BLEND_HUE = 0x12 ,
  DEVELOP_BLEND_COLOR = 0x13 ,
  DEVELOP_BLEND_INVERSE_OBSOLETE = 0x14 ,
  DEVELOP_BLEND_UNBOUNDED_OBSOLETE = 0x15 ,
  DEVELOP_BLEND_COLORADJUST = 0x16 ,
  DEVELOP_BLEND_DIFFERENCE2 = 0x17 ,
  DEVELOP_BLEND_NORMAL2 = 0x18 ,
  DEVELOP_BLEND_BOUNDED = 0x19 ,
  DEVELOP_BLEND_LAB_LIGHTNESS = 0x1A ,
  DEVELOP_BLEND_LAB_COLOR = 0x1B ,
  DEVELOP_BLEND_HSV_VALUE = 0x1C ,
  DEVELOP_BLEND_HSV_COLOR = 0x1D ,
  DEVELOP_BLEND_LAB_L = 0x1E ,
  DEVELOP_BLEND_LAB_A = 0x1F ,
  DEVELOP_BLEND_LAB_B = 0x20 ,
  DEVELOP_BLEND_RGB_R = 0x21 ,
  DEVELOP_BLEND_RGB_G = 0x22 ,
  DEVELOP_BLEND_RGB_B = 0x23 ,
  DEVELOP_BLEND_MULTIPLY_REVERSE_OBSOLETE = 0x24 ,
  DEVELOP_BLEND_SUBTRACT_INVERSE = 0x25 ,
  DEVELOP_BLEND_DIVIDE = 0x26 ,
  DEVELOP_BLEND_DIVIDE_INVERSE = 0x27 ,
  DEVELOP_BLEND_GEOMETRIC_MEAN = 0x28 ,
  DEVELOP_BLEND_HARMONIC_MEAN = 0x29 ,
  DEVELOP_BLEND_REVERSE = 0x80000000 ,
  DEVELOP_BLEND_MODE_MASK = 0xFF
}
 
enum  dt_develop_mask_mode_t {
  DEVELOP_MASK_DISABLED = 0 ,
  DEVELOP_MASK_ENABLED = 1 ,
  DEVELOP_MASK_MASK = 1 << 1 ,
  DEVELOP_MASK_CONDITIONAL = 1 << 2 ,
  DEVELOP_MASK_RASTER = 1 << 3 ,
  DEVELOP_MASK_MASK_CONDITIONAL = (DEVELOP_MASK_MASK | DEVELOP_MASK_CONDITIONAL)
}
 
enum  dt_develop_mask_combine_mode_t {
  DEVELOP_COMBINE_NORM = 0x00 ,
  DEVELOP_COMBINE_INV = 0x01 ,
  DEVELOP_COMBINE_EXCL = 0x00 ,
  DEVELOP_COMBINE_INCL = 0x02 ,
  DEVELOP_COMBINE_MASKS_POS = 0x04 ,
  DEVELOP_COMBINE_NORM_EXCL = (DEVELOP_COMBINE_NORM | DEVELOP_COMBINE_EXCL) ,
  DEVELOP_COMBINE_NORM_INCL = (DEVELOP_COMBINE_NORM | DEVELOP_COMBINE_INCL) ,
  DEVELOP_COMBINE_INV_EXCL = (DEVELOP_COMBINE_INV | DEVELOP_COMBINE_EXCL) ,
  DEVELOP_COMBINE_INV_INCL = (DEVELOP_COMBINE_INV | DEVELOP_COMBINE_INCL)
}
 
enum  dt_develop_mask_feathering_guide_t {
  DEVELOP_MASK_GUIDE_IN_BEFORE_BLUR = 0x01 ,
  DEVELOP_MASK_GUIDE_OUT_BEFORE_BLUR = 0x02 ,
  DEVELOP_MASK_GUIDE_IN_AFTER_BLUR = 0x05 ,
  DEVELOP_MASK_GUIDE_OUT_AFTER_BLUR = 0x06
}
 
enum  dt_develop_blendif_channels_t {
  DEVELOP_BLENDIF_L_in = 0 ,
  DEVELOP_BLENDIF_A_in = 1 ,
  DEVELOP_BLENDIF_B_in = 2 ,
  DEVELOP_BLENDIF_L_out = 4 ,
  DEVELOP_BLENDIF_A_out = 5 ,
  DEVELOP_BLENDIF_B_out = 6 ,
  DEVELOP_BLENDIF_GRAY_in = 0 ,
  DEVELOP_BLENDIF_RED_in = 1 ,
  DEVELOP_BLENDIF_GREEN_in = 2 ,
  DEVELOP_BLENDIF_BLUE_in = 3 ,
  DEVELOP_BLENDIF_GRAY_out = 4 ,
  DEVELOP_BLENDIF_RED_out = 5 ,
  DEVELOP_BLENDIF_GREEN_out = 6 ,
  DEVELOP_BLENDIF_BLUE_out = 7 ,
  DEVELOP_BLENDIF_C_in = 8 ,
  DEVELOP_BLENDIF_h_in = 9 ,
  DEVELOP_BLENDIF_C_out = 12 ,
  DEVELOP_BLENDIF_h_out = 13 ,
  DEVELOP_BLENDIF_H_in = 8 ,
  DEVELOP_BLENDIF_S_in = 9 ,
  DEVELOP_BLENDIF_l_in = 10 ,
  DEVELOP_BLENDIF_H_out = 12 ,
  DEVELOP_BLENDIF_S_out = 13 ,
  DEVELOP_BLENDIF_l_out = 14 ,
  DEVELOP_BLENDIF_Jz_in = 8 ,
  DEVELOP_BLENDIF_Cz_in = 9 ,
  DEVELOP_BLENDIF_hz_in = 10 ,
  DEVELOP_BLENDIF_Jz_out = 12 ,
  DEVELOP_BLENDIF_Cz_out = 13 ,
  DEVELOP_BLENDIF_hz_out = 14 ,
  DEVELOP_BLENDIF_MAX = 14 ,
  DEVELOP_BLENDIF_unused = 15 ,
  DEVELOP_BLENDIF_active = 31 ,
  DEVELOP_BLENDIF_SIZE = 16 ,
  DEVELOP_BLENDIF_Lab_MASK = 0x3377 ,
  DEVELOP_BLENDIF_RGB_MASK = 0x77FF ,
  DEVELOP_BLENDIF_OUTPUT_MASK = 0xF0F0
}
 

Functions

dt_blendop_cl_global_tdt_develop_blend_init_cl_global (void)
 
void dt_develop_blend_free_cl_global (dt_blendop_cl_global_t *b)
 
int dt_develop_blend_process (struct dt_iop_module_t *self, struct dt_dev_pixelpipe_iop_t *piece, const void *const i, void *const o, const struct dt_iop_roi_t *const roi_in, const struct dt_iop_roi_t *const roi_out)
 
int dt_develop_blend_version (void)
 
dt_develop_blend_colorspace_t dt_develop_blend_default_module_blend_colorspace (dt_iop_module_t *module)
 
void dt_develop_blend_init_blend_parameters (dt_develop_blend_params_t *blend_params, dt_develop_blend_colorspace_t cst)
 
void dt_develop_blend_init_blendif_parameters (dt_develop_blend_params_t *blend_params, dt_develop_blend_colorspace_t cst)
 
dt_iop_colorspace_type_t dt_develop_blend_colorspace (const dt_dev_pixelpipe_iop_t *const piece, dt_iop_colorspace_type_t cst)
 
gboolean dt_develop_blend_params_is_all_zero (const void *params, size_t length)
 
int dt_develop_blend_legacy_params (dt_iop_module_t *module, const void *const old_params, const int old_version, void *new_params, const int new_version, const int length)
 
int dt_develop_blend_legacy_params_from_so (dt_iop_module_so_t *module_so, const void *const old_params, const int old_version, void *new_params, const int new_version, const int length)
 
void dt_develop_blendif_process_parameters (float *const parameters, const dt_develop_blend_params_t *const params)
 
int dt_develop_blendif_init_masking_profile (struct dt_dev_pixelpipe_iop_t *piece, dt_iop_order_iccprofile_info_t *blending_profile, dt_develop_blend_colorspace_t cst)
 
void dt_develop_blendif_raw_make_mask (struct dt_dev_pixelpipe_iop_t *piece, const float *const a, const float *const b, const struct dt_iop_roi_t *const roi_in, const struct dt_iop_roi_t *const roi_out, float *const mask)
 
void dt_develop_blendif_lab_make_mask (struct dt_dev_pixelpipe_iop_t *piece, const float *const a, const float *const b, const struct dt_iop_roi_t *const roi_in, const struct dt_iop_roi_t *const roi_out, float *const mask)
 
void dt_develop_blendif_rgb_hsl_make_mask (struct dt_dev_pixelpipe_iop_t *piece, const float *const a, const float *const b, const struct dt_iop_roi_t *const roi_in, const struct dt_iop_roi_t *const roi_out, float *const mask)
 
void dt_develop_blendif_rgb_jzczhz_make_mask (struct dt_dev_pixelpipe_iop_t *piece, const float *const a, const float *const b, const struct dt_iop_roi_t *const roi_in, const struct dt_iop_roi_t *const roi_out, float *const mask)
 
void dt_develop_blendif_raw_blend (struct dt_dev_pixelpipe_iop_t *piece, const float *const a, float *const b, const struct dt_iop_roi_t *const roi_in, const struct dt_iop_roi_t *const roi_out, const float *const mask, const dt_dev_pixelpipe_display_mask_t request_mask_display)
 
void dt_develop_blendif_lab_blend (struct dt_dev_pixelpipe_iop_t *piece, const float *const a, float *const b, const struct dt_iop_roi_t *const roi_in, const struct dt_iop_roi_t *const roi_out, const float *const mask, const dt_dev_pixelpipe_display_mask_t request_mask_display)
 
void dt_develop_blendif_rgb_hsl_blend (struct dt_dev_pixelpipe_iop_t *piece, const float *const a, float *const b, const struct dt_iop_roi_t *const roi_in, const struct dt_iop_roi_t *const roi_out, const float *const mask, const dt_dev_pixelpipe_display_mask_t request_mask_display)
 
void dt_develop_blendif_rgb_jzczhz_blend (struct dt_dev_pixelpipe_iop_t *piece, const float *const a, float *const b, const struct dt_iop_roi_t *const roi_in, const struct dt_iop_roi_t *const roi_out, const float *const mask, const dt_dev_pixelpipe_display_mask_t request_mask_display)
 
void dt_iop_gui_init_blendif (GtkBox *blendw, dt_iop_module_t *module)
 
void dt_iop_gui_init_blending (GtkWidget *iopw, dt_iop_module_t *module)
 
void dt_iop_gui_update_blending (dt_iop_module_t *module)
 
void dt_iop_gui_update_blendif (dt_iop_module_t *module)
 
void dt_iop_gui_cleanup_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)
 
gboolean blend_color_picker_apply (dt_iop_module_t *module, GtkWidget *picker, dt_dev_pixelpipe_iop_t *piece)
 

Variables

const dt_develop_name_value_t dt_develop_blend_colorspace_names []
 
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_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 []
 

Macro Definition Documentation

◆ DEVELOP_BLEND_VERSION

#define DEVELOP_BLEND_VERSION   (11)

◆ DEVELOP_BLENDIF_PARAMETER_ITEMS

#define DEVELOP_BLENDIF_PARAMETER_ITEMS   6

color blending utility functions

◆ DEVELOP_MASKS_NB_SHAPES

#define DEVELOP_MASKS_NB_SHAPES   5

Typedef Documentation

◆ dt_blendop_cl_global_t

◆ dt_develop_blend_colorspace_t

◆ dt_develop_blend_mode_t

◆ dt_develop_blend_params_t

blend parameters current version

◆ dt_develop_blendif_channels_t

◆ dt_develop_mask_combine_mode_t

◆ dt_develop_mask_feathering_guide_t

◆ dt_develop_mask_mode_t

◆ dt_develop_name_value_t

◆ dt_iop_gui_blend_data_t

blend gui data

◆ dt_iop_gui_blendif_channel_t

◆ dt_iop_gui_blendif_colorstop_t

◆ dt_iop_gui_blendif_filter_t

Enumeration Type Documentation

◆ dt_develop_blend_colorspace_t

Enumerator
DEVELOP_BLEND_CS_NONE 
DEVELOP_BLEND_CS_RAW 
DEVELOP_BLEND_CS_LAB 
DEVELOP_BLEND_CS_RGB_DISPLAY 
DEVELOP_BLEND_CS_RGB_SCENE 

◆ dt_develop_blend_mode_t

Enumerator
DEVELOP_BLEND_DISABLED_OBSOLETE 
DEVELOP_BLEND_NORMAL_OBSOLETE 
DEVELOP_BLEND_LIGHTEN 
DEVELOP_BLEND_DARKEN 
DEVELOP_BLEND_MULTIPLY 
DEVELOP_BLEND_AVERAGE 
DEVELOP_BLEND_ADD 
DEVELOP_BLEND_SUBTRACT 
DEVELOP_BLEND_DIFFERENCE 
DEVELOP_BLEND_SCREEN 
DEVELOP_BLEND_OVERLAY 
DEVELOP_BLEND_SOFTLIGHT 
DEVELOP_BLEND_HARDLIGHT 
DEVELOP_BLEND_VIVIDLIGHT 
DEVELOP_BLEND_LINEARLIGHT 
DEVELOP_BLEND_PINLIGHT 
DEVELOP_BLEND_LIGHTNESS 
DEVELOP_BLEND_CHROMATICITY 
DEVELOP_BLEND_HUE 
DEVELOP_BLEND_COLOR 
DEVELOP_BLEND_INVERSE_OBSOLETE 
DEVELOP_BLEND_UNBOUNDED_OBSOLETE 
DEVELOP_BLEND_COLORADJUST 
DEVELOP_BLEND_DIFFERENCE2 
DEVELOP_BLEND_NORMAL2 
DEVELOP_BLEND_BOUNDED 
DEVELOP_BLEND_LAB_LIGHTNESS 
DEVELOP_BLEND_LAB_COLOR 
DEVELOP_BLEND_HSV_VALUE 
DEVELOP_BLEND_HSV_COLOR 
DEVELOP_BLEND_LAB_L 
DEVELOP_BLEND_LAB_A 
DEVELOP_BLEND_LAB_B 
DEVELOP_BLEND_RGB_R 
DEVELOP_BLEND_RGB_G 
DEVELOP_BLEND_RGB_B 
DEVELOP_BLEND_MULTIPLY_REVERSE_OBSOLETE 
DEVELOP_BLEND_SUBTRACT_INVERSE 
DEVELOP_BLEND_DIVIDE 
DEVELOP_BLEND_DIVIDE_INVERSE 
DEVELOP_BLEND_GEOMETRIC_MEAN 
DEVELOP_BLEND_HARMONIC_MEAN 
DEVELOP_BLEND_REVERSE 
DEVELOP_BLEND_MODE_MASK 

◆ dt_develop_blendif_channels_t

Enumerator
DEVELOP_BLENDIF_L_in 
DEVELOP_BLENDIF_A_in 
DEVELOP_BLENDIF_B_in 
DEVELOP_BLENDIF_L_out 
DEVELOP_BLENDIF_A_out 
DEVELOP_BLENDIF_B_out 
DEVELOP_BLENDIF_GRAY_in 
DEVELOP_BLENDIF_RED_in 
DEVELOP_BLENDIF_GREEN_in 
DEVELOP_BLENDIF_BLUE_in 
DEVELOP_BLENDIF_GRAY_out 
DEVELOP_BLENDIF_RED_out 
DEVELOP_BLENDIF_GREEN_out 
DEVELOP_BLENDIF_BLUE_out 
DEVELOP_BLENDIF_C_in 
DEVELOP_BLENDIF_h_in 
DEVELOP_BLENDIF_C_out 
DEVELOP_BLENDIF_h_out 
DEVELOP_BLENDIF_H_in 
DEVELOP_BLENDIF_S_in 
DEVELOP_BLENDIF_l_in 
DEVELOP_BLENDIF_H_out 
DEVELOP_BLENDIF_S_out 
DEVELOP_BLENDIF_l_out 
DEVELOP_BLENDIF_Jz_in 
DEVELOP_BLENDIF_Cz_in 
DEVELOP_BLENDIF_hz_in 
DEVELOP_BLENDIF_Jz_out 
DEVELOP_BLENDIF_Cz_out 
DEVELOP_BLENDIF_hz_out 
DEVELOP_BLENDIF_MAX 
DEVELOP_BLENDIF_unused 
DEVELOP_BLENDIF_active 
DEVELOP_BLENDIF_SIZE 
DEVELOP_BLENDIF_Lab_MASK 
DEVELOP_BLENDIF_RGB_MASK 
DEVELOP_BLENDIF_OUTPUT_MASK 

◆ dt_develop_mask_combine_mode_t

Enumerator
DEVELOP_COMBINE_NORM 
DEVELOP_COMBINE_INV 
DEVELOP_COMBINE_EXCL 
DEVELOP_COMBINE_INCL 
DEVELOP_COMBINE_MASKS_POS 
DEVELOP_COMBINE_NORM_EXCL 
DEVELOP_COMBINE_NORM_INCL 
DEVELOP_COMBINE_INV_EXCL 
DEVELOP_COMBINE_INV_INCL 

◆ dt_develop_mask_feathering_guide_t

Enumerator
DEVELOP_MASK_GUIDE_IN_BEFORE_BLUR 
DEVELOP_MASK_GUIDE_OUT_BEFORE_BLUR 
DEVELOP_MASK_GUIDE_IN_AFTER_BLUR 
DEVELOP_MASK_GUIDE_OUT_AFTER_BLUR 

◆ dt_develop_mask_mode_t

Enumerator
DEVELOP_MASK_DISABLED 
DEVELOP_MASK_ENABLED 
DEVELOP_MASK_MASK 
DEVELOP_MASK_CONDITIONAL 
DEVELOP_MASK_RASTER 
DEVELOP_MASK_MASK_CONDITIONAL 

Function Documentation

◆ blend_color_picker_apply()

gboolean blend_color_picker_apply ( dt_iop_module_t module,
GtkWidget *  picker,
dt_dev_pixelpipe_iop_t piece 
)

◆ dt_develop_blend_colorspace()

◆ dt_develop_blend_default_module_blend_colorspace()

dt_develop_blend_colorspace_t dt_develop_blend_default_module_blend_colorspace ( dt_iop_module_t module)

◆ dt_develop_blend_free_cl_global()

void dt_develop_blend_free_cl_global ( dt_blendop_cl_global_t b)

global cleanup of blendops

References dt_opencl_free_kernel().

◆ dt_develop_blend_init_blend_parameters()

void dt_develop_blend_init_blend_parameters ( dt_develop_blend_params_t blend_params,
dt_develop_blend_colorspace_t  cst 
)

initializes the default blend parameters for the given color space in blend_params

References _blend_init_blendif_boost_parameters(), _default_blendop_params, and dt_develop_blend_params_t::blend_cst.

Referenced by dt_develop_blend_legacy_params(), dt_gui_presets_add_generic(), and dt_iop_load_default_params().

◆ dt_develop_blend_init_blendif_parameters()

◆ dt_develop_blend_init_cl_global()

dt_blendop_cl_global_t * dt_develop_blend_init_cl_global ( void  )

global init of blendops

References dt_opencl_create_kernel().

◆ dt_develop_blend_legacy_params()

int dt_develop_blend_legacy_params ( dt_iop_module_t module,
const void *const  old_params,
const int  old_version,
void new_params,
const int  new_version,
const int  length 
)

update blendop params from older versions

blend legacy parameters version 1

blend legacy parameters version 2

blending mode

mixing opacity

id of mask in current pipeline

blendif mask

blendif parameters

blend legacy parameters version 3

blending mode

mixing opacity

id of mask in current pipeline

blendif mask

blendif parameters

blend legacy parameters version 4

blending mode

mixing opacity

id of mask in current pipeline

blendif mask

blur radius

blendif parameters

blend legacy parameters version 5 (identical to version 6)

what kind of masking to use: off, non-mask (uniformly), hand-drawn mask and/or conditional mask

blending mode

mixing opacity

how masks are combined

id of mask in current pipeline

blendif mask

blur radius

some reserved fields for future use

blendif parameters

blend legacy parameters version 6 (identical to version 7)

what kind of masking to use: off, non-mask (uniformly), hand-drawn mask and/or conditional mask

blending mode

mixing opacity

how masks are combined

id of mask in current pipeline

blendif mask

blur radius

some reserved fields for future use

blendif parameters

blend legacy parameters version 7

what kind of masking to use: off, non-mask (uniformly), hand-drawn mask and/or conditional mask

blending mode

mixing opacity

how masks are combined

id of mask in current pipeline

blendif mask

blur radius

some reserved fields for future use

blendif parameters

blend legacy parameters version 8

what kind of masking to use: off, non-mask (uniformly), hand-drawn mask and/or conditional mask

blending mode

mixing opacity

how masks are combined

id of mask in current pipeline

blendif mask

feathering radius

feathering guide

blur radius

mask contrast enhancement

mask brightness adjustment

some reserved fields for future use

blendif parameters

blend legacy parameters version 9

what kind of masking to use: off, non-mask (uniformly), hand-drawn mask and/or conditional mask or raster mask

blending mode

mixing opacity

how masks are combined

id of mask in current pipeline

blendif mask

feathering radius

feathering guide

blur radius

mask contrast enhancement

mask brightness adjustment

some reserved fields for future use

blendif parameters

blend legacy parameters version 10

what kind of masking to use: off, non-mask (uniformly), hand-drawn mask and/or conditional mask or raster mask

blending color space type

blending mode

parameter for the blending

mixing opacity

how masks are combined

id of mask in current pipeline

blendif mask

feathering radius

feathering guide

blur radius

mask contrast enhancement

mask brightness adjustment

some reserved fields for future use

blendif parameters

References _blend_default_module_blend_colorspace(), _blend_legacy_blend_mode(), dt_develop_blend_params_t::blend_cst, dt_develop_blend_params_t::blend_mode, dt_develop_blend_params_t::blend_parameter, dt_develop_blend_params_t::blendif, dt_develop_blend_params_t::blendif_boost_factors, dt_develop_blend_params_t::blendif_parameters, dt_develop_blend_params_t::blur_radius, dt_develop_blend_params_t::brightness, dt_develop_blend_params_t::contrast, dt_develop_blend_params_t::details, DEVELOP_BLEND_DISABLED_OBSOLETE, DEVELOP_BLENDIF_active, DEVELOP_BLENDIF_SIZE, DEVELOP_MASK_CONDITIONAL, DEVELOP_MASK_DISABLED, DEVELOP_MASK_ENABLED, dt_develop_blend_init_blend_parameters(), dt_develop_blend_params_is_all_zero(), dt_develop_blend_params_t::feathering_guide, dt_develop_blend_params_t::feathering_radius, dt_develop_blend_params_t::mask_combine, dt_develop_blend_params_t::mask_id, mask_id, dt_develop_blend_params_t::mask_mode, dt_develop_blend_params_t::opacity, dt_develop_blend_params_t::raster_mask_id, dt_develop_blend_params_t::raster_mask_instance, dt_develop_blend_params_t::raster_mask_invert, and dt_develop_blend_params_t::raster_mask_source.

Referenced by _init_presets(), _sync_blendop_params(), dt_develop_blend_legacy_params_from_so(), dt_gui_presets_apply_preset(), and dt_styles_apply_style_item().

◆ dt_develop_blend_legacy_params_from_so()

int dt_develop_blend_legacy_params_from_so ( dt_iop_module_so_t module_so,
const void *const  old_params,
const int  old_version,
void new_params,
const int  new_version,
const int  length 
)

◆ dt_develop_blend_params_is_all_zero()

gboolean dt_develop_blend_params_is_all_zero ( const void params,
size_t  length 
)

check if content of params is all zero, indicating a non-initialized set of blend parameters which needs special care.

References FALSE, and TRUE.

Referenced by dt_develop_blend_legacy_params().

◆ dt_develop_blend_process()

int dt_develop_blend_process ( struct dt_iop_module_t self,
struct dt_dev_pixelpipe_iop_t piece,
const void *const  i,
void *const  o,
const struct dt_iop_roi_t *const  roi_in,
const struct dt_iop_roi_t *const  roi_out 
)

apply blend. Return 0 if ok, 1 if error

Todo:
: should we skip raster masks?

References _develop_blend_process_copy_region(), _develop_blend_process_feather(), _develop_blend_process_free_region(), _develop_blend_process_mask_tone_curve(), _develop_mask_get_post_operations(), _refine_with_detail_mask(), dt_develop_blend_params_t::blend_cst, dt_dev_pixelpipe_iop_t::blendop_data, dt_develop_blend_params_t::blur_radius, dt_develop_blend_params_t::brightness, dt_dev_pixelpipe_iop_t::colors, dt_develop_blend_params_t::contrast, dt_develop_blend_params_t::details, dt_iop_module_t::dev, DEVELOP_BLEND_CS_LAB, DEVELOP_BLEND_CS_RAW, DEVELOP_BLEND_CS_RGB_DISPLAY, DEVELOP_BLEND_CS_RGB_SCENE, DEVELOP_COMBINE_INCL, DEVELOP_COMBINE_MASKS_POS, DEVELOP_MASK_ENABLED, DEVELOP_MASK_MASK, DEVELOP_MASK_MASK_CONDITIONAL, DEVELOP_MASK_POST_BLUR, DEVELOP_MASK_POST_FEATHER_IN, DEVELOP_MASK_POST_FEATHER_OUT, DEVELOP_MASK_POST_TONE_CURVE, DEVELOP_MASK_RASTER, dt_alloc_align_float(), dt_control_log(), DT_DEBUG_MASKS, dt_dev_get_raster_mask(), DT_DEV_PIXELPIPE_DISPLAY_CHANNEL, DT_DEV_PIXELPIPE_DISPLAY_MASK, DT_DEV_PIXELPIPE_DISPLAY_NONE, dt_develop_blend_colorspace(), dt_develop_blendif_lab_blend(), dt_develop_blendif_lab_make_mask(), dt_develop_blendif_raw_blend(), dt_develop_blendif_raw_make_mask(), dt_develop_blendif_rgb_hsl_blend(), dt_develop_blendif_rgb_hsl_make_mask(), dt_develop_blendif_rgb_jzczhz_blend(), dt_develop_blendif_rgb_jzczhz_make_mask(), dt_free_align, dt_gaussian_blur(), dt_gaussian_free(), dt_gaussian_init(), dt_iop_image_fill(), dt_iop_image_invert(), dt_iop_image_scaled_copy(), dt_iop_is_raster_mask_used(), dt_masks_get_from_id_ext(), dt_masks_group_render_roi(), dt_print(), FALSE, dt_develop_blend_params_t::feathering_radius, dt_dev_pixelpipe_iop_t::global_mask_hash, dt_develop_t::gui_attached, dt_develop_t::gui_module, dt_iop_roi_t::height, dt_iop_module_t::id, IOP_CS_NONE, IOP_CS_RGB, IOP_FLAGS_NO_MASKS, iscale, dt_dev_pixelpipe_iop_t::iscale, dt_develop_blend_params_t::mask_combine, dt_develop_blend_params_t::mask_id, dt_develop_blend_params_t::mask_mode, dt_iop_module_t::op, dt_develop_blend_params_t::opacity, dt_develop_t::pipe, dt_dev_pixelpipe_iop_t::pipe, dt_iop_module_t::raster_mask, dt_develop_blend_params_t::raster_mask_invert, dt_dev_pixelpipe_iop_t::raster_masks, dt_iop_module_t::request_mask_display, dt_iop_roi_t::scale, dt_iop_module_t::sink, dt_iop_module_t::source, dt_iop_module_t::suppress_mask, dt_iop_roi_t::width, dt_iop_roi_t::x, and dt_iop_roi_t::y.

Referenced by pixelpipe_process_on_CPU().

◆ dt_develop_blend_version()

◆ dt_develop_blendif_init_masking_profile()

int dt_develop_blendif_init_masking_profile ( struct dt_dev_pixelpipe_iop_t piece,
dt_iop_order_iccprofile_info_t blending_profile,
dt_develop_blend_colorspace_t  cst 
)

Set up a profile adapted to the blending.

darktable built-in color profiles are chroma-adjusted such that they define a [D65 RGB -> D50 XYZ] transform, which is expected by CIE Lab and the ICC pipeline. Since JzAzBz expects an XYZ vector adjusted for D65, we apply a Bradford transform on the profile primaries to output D65 XYZ. The updated primaries are stored in matrix_out. This is valid only in the context of blending with JzAzBz color space. The resulting XYZ is used only to define masks and not re-injected into the pipeline.

The initialized profile may only be used to convert from RGB to XYZ.

References DEVELOP_BLEND_CS_RGB_SCENE, dt_ioppr_get_iop_work_profile_info(), dt_ioppr_get_pipe_current_profile_info(), dt_iop_order_iccprofile_info_t::matrix_in, dt_iop_order_iccprofile_info_t::matrix_out, dt_iop_order_iccprofile_info_t::matrix_out_transposed, and dt_dev_pixelpipe_iop_t::pipe.

Referenced by dt_develop_blendif_rgb_hsl_blend(), dt_develop_blendif_rgb_hsl_make_mask(), dt_develop_blendif_rgb_jzczhz_blend(), and dt_develop_blendif_rgb_jzczhz_make_mask().

◆ dt_develop_blendif_lab_blend()

void dt_develop_blendif_lab_blend ( struct dt_dev_pixelpipe_iop_t piece,
const float *const  a,
float *const  b,
const struct dt_iop_roi_t *const  roi_in,
const struct dt_iop_roi_t *const  roi_out,
const float *const  mask,
const dt_dev_pixelpipe_display_mask_t  request_mask_display 
)

◆ dt_develop_blendif_lab_make_mask()

void dt_develop_blendif_lab_make_mask ( struct dt_dev_pixelpipe_iop_t piece,
const float *const  a,
const float *const  b,
const struct dt_iop_roi_t *const  roi_in,
const struct dt_iop_roi_t *const  roi_out,
float *const  mask 
)

◆ dt_develop_blendif_process_parameters()

void dt_develop_blendif_process_parameters ( float *const  parameters,
const dt_develop_blend_params_t *const  params 
)

initializes the parameter array (of size DEVELOP_BLENDIF_PARAMETER_ITEMS * DEVELOP_BLENDIF_SIZE)

◆ dt_develop_blendif_raw_blend()

void dt_develop_blendif_raw_blend ( struct dt_dev_pixelpipe_iop_t piece,
const float *const  a,
float *const  b,
const struct dt_iop_roi_t *const  roi_in,
const struct dt_iop_roi_t *const  roi_out,
const float *const  mask,
const dt_dev_pixelpipe_display_mask_t  request_mask_display 
)

color blending operators

Referenced by dt_develop_blend_process().

◆ dt_develop_blendif_raw_make_mask()

void dt_develop_blendif_raw_make_mask ( struct dt_dev_pixelpipe_iop_t piece,
const float *const  a,
const float *const  b,
const struct dt_iop_roi_t *const  roi_in,
const struct dt_iop_roi_t *const  roi_out,
float *const  mask 
)

color blending mask generation functions

Referenced by dt_develop_blend_process().

◆ dt_develop_blendif_rgb_hsl_blend()

void dt_develop_blendif_rgb_hsl_blend ( struct dt_dev_pixelpipe_iop_t piece,
const float *const  a,
float *const  b,
const struct dt_iop_roi_t *const  roi_in,
const struct dt_iop_roi_t *const  roi_out,
const float *const  mask,
const dt_dev_pixelpipe_display_mask_t  request_mask_display 
)

◆ dt_develop_blendif_rgb_hsl_make_mask()

void dt_develop_blendif_rgb_hsl_make_mask ( struct dt_dev_pixelpipe_iop_t piece,
const float *const  a,
const float *const  b,
const struct dt_iop_roi_t *const  roi_in,
const struct dt_iop_roi_t *const  roi_out,
float *const  mask 
)

◆ dt_develop_blendif_rgb_jzczhz_blend()

void dt_develop_blendif_rgb_jzczhz_blend ( struct dt_dev_pixelpipe_iop_t piece,
const float *const  a,
float *const  b,
const struct dt_iop_roi_t *const  roi_in,
const struct dt_iop_roi_t *const  roi_out,
const float *const  mask,
const dt_dev_pixelpipe_display_mask_t  request_mask_display 
)

◆ dt_develop_blendif_rgb_jzczhz_make_mask()

void dt_develop_blendif_rgb_jzczhz_make_mask ( struct dt_dev_pixelpipe_iop_t piece,
const float *const  a,
const float *const  b,
const struct dt_iop_roi_t *const  roi_in,
const struct dt_iop_roi_t *const  roi_out,
float *const  mask 
)

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

Variable Documentation

◆ dt_develop_blend_colorspace_names

const dt_develop_name_value_t dt_develop_blend_colorspace_names[]
extern

Referenced by _create_tooltip_text().

◆ dt_develop_blend_mode_flag_names

const dt_develop_name_value_t dt_develop_blend_mode_flag_names[]
extern

Referenced by _create_tooltip_text().

◆ dt_develop_blend_mode_names

const dt_develop_name_value_t dt_develop_blend_mode_names[]
extern

◆ dt_develop_combine_masks_names

const dt_develop_name_value_t dt_develop_combine_masks_names[]
extern

◆ dt_develop_feathering_guide_names

const dt_develop_name_value_t dt_develop_feathering_guide_names[]
extern

◆ dt_develop_invert_mask_names

const dt_develop_name_value_t dt_develop_invert_mask_names[]
extern

◆ dt_develop_mask_mode_names

const dt_develop_name_value_t dt_develop_mask_mode_names[]
extern