![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "common/iop_profile.h"#include "common/opencl.h"#include "develop/masks.h"#include "develop/pixelpipe.h"#include "dtgtk/button.h"#include "dtgtk/gradientslider.h"#include "gui/color_picker_proxy.h"#include "gui/gtk.h"
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_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 |
| #define DEVELOP_BLENDIF_PARAMETER_ITEMS 6 |
| typedef struct dt_blendop_cl_global_t dt_blendop_cl_global_t |
| typedef enum dt_develop_blend_mode_t dt_develop_blend_mode_t |
| typedef struct dt_develop_blend_params_t dt_develop_blend_params_t |
blend parameters current version
| typedef enum dt_develop_mask_mode_t dt_develop_mask_mode_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 |
blend gui data
| typedef struct dt_iop_gui_blendif_channel_t dt_iop_gui_blendif_channel_t |
| typedef struct dt_iop_gui_blendif_colorstop_t dt_iop_gui_blendif_colorstop_t |
| typedef struct dt_iop_gui_blendif_filter_t dt_iop_gui_blendif_filter_t |
| gboolean blend_color_picker_apply | ( | dt_iop_module_t * | module, |
| GtkWidget * | picker, | ||
| dt_dev_pixelpipe_t * | pipe, | ||
| dt_dev_pixelpipe_iop_t * | piece | ||
| ) |
Referenced by _iop_color_picker_data_ready_callback().
| dt_iop_colorspace_type_t dt_develop_blend_colorspace | ( | const dt_dev_pixelpipe_iop_t *const | piece, |
| dt_iop_colorspace_type_t | cst | ||
| ) |
returns the color space for the given module
Definition at line 179 of file blend.c.
References dt_develop_blend_params_t::blend_cst, dt_dev_pixelpipe_iop_t::blendop_data, DEVELOP_BLEND_CS_LAB, DEVELOP_BLEND_CS_RAW, DEVELOP_BLEND_CS_RGB_DISPLAY, DEVELOP_BLEND_CS_RGB_SCENE, IOP_CS_LAB, IOP_CS_RAW, IOP_CS_RGB, and IS_NULL_PTR.
Referenced by dt_dev_pixelpipe_transform_for_blend(), dt_develop_blend_process(), dt_develop_blend_process_cl(), pixelpipe_process_on_CPU(), and pixelpipe_process_on_GPU().
| dt_develop_blend_colorspace_t dt_develop_blend_default_module_blend_colorspace | ( | dt_iop_module_t * | module | ) |
returns the default blend color space for the given module
Definition at line 135 of file blend.c.
References _blend_default_module_blend_colorspace(), and TRUE.
Referenced by _blendif_change_blend_colorspace(), _blendif_options_callback(), dt_iop_gui_update_blending(), and dt_iop_load_default_params().
| void dt_develop_blend_free_cl_global | ( | dt_blendop_cl_global_t * | b | ) |
global cleanup of blendops
Definition at line 1603 of file blend.c.
References dt_free, dt_opencl_free_kernel(), and IS_NULL_PTR.
Referenced by dt_opencl_cleanup().
| void dt_develop_blend_get_mask_usage | ( | const dt_iop_module_t * | module, |
| const dt_develop_blend_params_t * | params, | ||
| gboolean * | top_enabled, | ||
| gboolean * | raster_used, | ||
| gboolean * | drawn_used, | ||
| gboolean * | parametric_used | ||
| ) |
Return effective mask usage for current blending parameters.
This inspects mask mode bits and payload state to decide whether raster, drawn and/or parametric masks are actually contributing, so callers can skip mask computation branches when modes are enabled but still at default.
State rules:
Definition at line 246 of file blend.c.
References ch, dt_iop_module_t::dev, DEVELOP_BLEND_CS_LAB, DEVELOP_BLENDIF_Lab_MASK, DEVELOP_BLENDIF_RGB_MASK, DEVELOP_BLENDIF_SIZE, DEVELOP_MASK_ENABLED, DEVELOP_MASK_PARAMETRIC, DEVELOP_MASK_RASTER, DEVELOP_MASK_SHAPE, dt_masks_get_from_id(), DT_MASKS_GROUP, FALSE, IS_NULL_PTR, dt_masks_form_t::points, dt_iop_module_t::raster_mask, dt_iop_module_t::sink, dt_iop_module_t::source, top, and dt_masks_form_t::type.
Referenced by _mask_indicator_get_usage(), dt_develop_blend_process(), dt_develop_blend_process_cl(), dt_iop_module_needs_mask_history(), and dt_iop_set_mask_mode().
| 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
Definition at line 157 of file blend.c.
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().
| void dt_develop_blend_init_blendif_parameters | ( | dt_develop_blend_params_t * | blend_params, |
| dt_develop_blend_colorspace_t | cst | ||
| ) |
initializes the default blendif parameters for the given color space in blend_params
Definition at line 165 of file blend.c.
References _blend_init_blendif_boost_parameters(), _default_blendop_params, 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, and dt_develop_blend_params_t::blendif_parameters.
Referenced by _blendif_change_blend_colorspace().
| dt_blendop_cl_global_t * dt_develop_blend_init_cl_global | ( | void | ) |
global init of blendops
Definition at line 1570 of file blend.c.
References dt_opencl_create_kernel().
Referenced by dt_opencl_init().
| 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
Definition at line 1694 of file blend.c.
References _blend_default_module_blend_colorspace(), _blend_legacy_blend_mode(), DEVELOP_BLEND_DISABLED_OBSOLETE, DEVELOP_BLENDIF_active, DEVELOP_BLENDIF_SIZE, DEVELOP_MASK_DISABLED, DEVELOP_MASK_ENABLED, DEVELOP_MASK_PARAMETRIC, dt_develop_blend_init_blend_parameters(), dt_develop_blend_params_is_all_zero(), i, mask_id, dt_develop_blend_params_t::mask_mode, and n.
Referenced by _dt_styles_apply_item_to_module(), _init_presets(), _sync_blendop_params(), dt_develop_blend_legacy_params_from_so(), and dt_gui_presets_apply_preset().
| 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 | ||
| ) |
Definition at line 2180 of file blend.c.
References dt_develop_blend_legacy_params(), dt_develop_blend_version(), dt_free, dt_iop_cleanup_module(), and dt_iop_load_module_by_so().
Referenced by add_preset().
| gboolean dt_develop_blend_params_is_all_zero | ( | const void * | params, |
| size_t | length | ||
| ) |
| int dt_develop_blend_process | ( | struct dt_iop_module_t * | self, |
| struct dt_dev_pixelpipe_t * | pipe, | ||
| const struct dt_dev_pixelpipe_iop_t * | piece, | ||
| const void *const | i, | ||
| void *const | o | ||
| ) |
apply blend. Return 0 if ok, 1 if error
Definition at line 641 of file blend.c.
References _develop_blend_combine_masks(), _develop_blend_init_drawn_mask(), _develop_blend_init_raster_mask(), _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_dev_pixelpipe_iop_t::blendop_data, dt_dev_pixelpipe_t::bypass_blendif, ch, dt_iop_buffer_dsc_t::channels, d, darktable, 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_MASK_POST_BLUR, DEVELOP_MASK_POST_FEATHER_IN, DEVELOP_MASK_POST_FEATHER_OUT, DEVELOP_MASK_POST_TONE_CURVE, dt_dev_pixelpipe_iop_t::dsc_in, dt_control_log(), DT_DEBUG_MASKS, dt_dev_pixelpipe_cache_get(), dt_dev_pixelpipe_cache_ref_count_entry(), dt_dev_pixelpipe_cache_remove(), dt_dev_pixelpipe_cache_wrlock_entry(), DT_DEV_PIXELPIPE_DISPLAY_CHANNEL, DT_DEV_PIXELPIPE_DISPLAY_MASK, DT_DEV_PIXELPIPE_DISPLAY_NONE, dt_dev_pixelpipe_raster_mask_hash(), dt_develop_blend_colorspace(), dt_develop_blend_get_mask_usage(), 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_gaussian_blur(), dt_gaussian_free(), dt_gaussian_init(), dt_iop_colorspace_is_rgb(), dt_iop_image_fill(), dt_iop_image_mul_const(), dt_iop_is_raster_mask_used(), dt_pipe_type_to_str(), dt_pixelpipe_cache_alloc_align_float, dt_pixelpipe_cache_free_align, dt_print(), FALSE, g, dt_develop_t::gui_attached, dt_develop_t::gui_module, dt_iop_roi_t::height, IOP_CS_NONE, IS_NULL_PTR, iscale, dt_dev_pixelpipe_t::mask_display, dt_iop_module_t::op, ovoid, dt_develop_t::pipe, darktable_t::pixelpipe_cache, dt_dev_pixelpipe_t::raster_mask_hashes, dt_iop_module_t::request_mask_display, dt_dev_pixelpipe_iop_t::roi_in, dt_dev_pixelpipe_iop_t::roi_out, dt_iop_roi_t::scale, sigma, dt_dev_pixelpipe_t::store_all_raster_masks, TRUE, dt_dev_pixelpipe_t::type, dt_iop_roi_t::width, dt_iop_roi_t::x, and dt_iop_roi_t::y.
Referenced by pixelpipe_process_on_CPU(), and pixelpipe_process_on_GPU().
| int dt_develop_blend_process_cl | ( | struct dt_iop_module_t * | self, |
| struct dt_dev_pixelpipe_t * | pipe, | ||
| const struct dt_dev_pixelpipe_iop_t * | piece, | ||
| cl_mem | dev_in, | ||
| cl_mem | dev_out | ||
| ) |
apply blend for opencl modules. Return 0 if ok, 1 on error
Definition at line 1087 of file blend.c.
References _blend_process_cl_exchange(), _develop_blend_combine_masks(), _develop_blend_init_drawn_mask(), _develop_blend_init_raster_mask(), _develop_mask_get_post_operations(), _refine_with_detail_mask_cl(), dt_opencl_t::blendop, dt_dev_pixelpipe_iop_t::blendop_data, dt_dev_pixelpipe_t::bypass_blendif, ch, dt_iop_buffer_dsc_t::channels, d, darktable, dt_iop_module_t::dev, DEVELOP_BLEND_CS_LAB, DEVELOP_BLEND_CS_RAW, DEVELOP_BLEND_CS_RGB_DISPLAY, DEVELOP_BLEND_CS_RGB_SCENE, DEVELOP_BLENDIF_PARAMETER_ITEMS, DEVELOP_BLENDIF_SIZE, DEVELOP_COMBINE_INCL, DEVELOP_MASK_POST_BLUR, DEVELOP_MASK_POST_FEATHER_IN, DEVELOP_MASK_POST_FEATHER_OUT, DEVELOP_MASK_POST_TONE_CURVE, dt_dev_pixelpipe_t::devid, dt_dev_pixelpipe_iop_t::dsc_in, DT_ALIGNED_ARRAY, dt_control_log(), DT_DEBUG_MASKS, DT_DEBUG_OPENCL, dt_dev_pixelpipe_cache_get(), dt_dev_pixelpipe_cache_ref_count_entry(), dt_dev_pixelpipe_cache_remove(), dt_dev_pixelpipe_cache_wrlock_entry(), DT_DEV_PIXELPIPE_DISPLAY_ANY, DT_DEV_PIXELPIPE_DISPLAY_CHANNEL, DT_DEV_PIXELPIPE_DISPLAY_MASK, DT_DEV_PIXELPIPE_DISPLAY_NONE, dt_dev_pixelpipe_raster_mask_hash(), dt_develop_blend_colorspace(), dt_develop_blend_get_mask_usage(), dt_develop_blendif_init_masking_profile(), dt_develop_blendif_process_parameters(), dt_gaussian_blur_cl(), dt_gaussian_free_cl(), dt_gaussian_init_cl(), dt_iop_colorspace_is_rgb(), dt_iop_image_fill(), dt_iop_image_mul_const(), dt_iop_is_raster_mask_used(), dt_ioppr_build_iccprofile_params_cl(), dt_ioppr_free_iccprofile_params_cl(), dt_ioppr_get_pipe_work_profile_info(), dt_opencl_alloc_device(), dt_opencl_copy_device_to_host(), dt_opencl_copy_host_to_device_constant(), dt_opencl_enqueue_copy_image(), dt_opencl_enqueue_kernel_2d(), dt_opencl_release_mem_object(), dt_opencl_set_kernel_arg(), dt_opencl_write_host_to_device(), dt_pipe_type_to_str(), dt_pixelpipe_cache_alloc_align_float, dt_pixelpipe_cache_free_align, dt_print(), error(), FALSE, g, dt_develop_t::gui_attached, dt_develop_t::gui_module, guided_filter_cl(), dt_iop_roi_t::height, IOP_CS_NONE, IS_NULL_PTR, iscale, kernel(), dt_blendop_cl_global_t::kernel_blendop_display_channel, dt_blendop_cl_global_t::kernel_blendop_Lab, dt_blendop_cl_global_t::kernel_blendop_mask_Lab, dt_blendop_cl_global_t::kernel_blendop_mask_RAW, dt_blendop_cl_global_t::kernel_blendop_mask_rgb_hsl, dt_blendop_cl_global_t::kernel_blendop_mask_rgb_jzczhz, dt_blendop_cl_global_t::kernel_blendop_mask_tone_curve, dt_blendop_cl_global_t::kernel_blendop_RAW, dt_blendop_cl_global_t::kernel_blendop_rgb_hsl, dt_blendop_cl_global_t::kernel_blendop_rgb_jzczhz, dt_blendop_cl_global_t::kernel_blendop_set_mask, dt_dev_pixelpipe_t::mask_display, dt_iop_module_t::op, darktable_t::opencl, dt_develop_t::pipe, darktable_t::pixelpipe_cache, dt_dev_pixelpipe_t::raster_mask_hashes, dt_iop_module_t::request_mask_display, dt_dev_pixelpipe_iop_t::roi_in, dt_dev_pixelpipe_iop_t::roi_out, ROUNDUPDHT, ROUNDUPDWD, dt_iop_roi_t::scale, sigma, dt_dev_pixelpipe_t::store_all_raster_masks, TRUE, dt_dev_pixelpipe_t::type, dt_iop_roi_t::width, dt_iop_roi_t::x, and dt_iop_roi_t::y.
Referenced by pixelpipe_process_on_GPU().
| int dt_develop_blend_version | ( | void | ) |
get blend version
blend version
Definition at line 1630 of file blend.c.
References DEVELOP_BLEND_VERSION.
Referenced by _dt_styles_apply_item_to_module(), _edit_preset_response(), _init_presets(), _menuitem_update_preset(), _sync_blendop_params(), add_preset(), dt_dev_history_item_update_from_params(), dt_dev_write_history_item(), dt_develop_blend_legacy_params_from_so(), dt_gui_presets_add_with_blendop(), and dt_gui_presets_apply_preset().
| int dt_develop_blendif_init_masking_profile | ( | const struct dt_dev_pixelpipe_t * | pipe, |
| const 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.
Definition at line 306 of file blend.c.
References DEVELOP_BLEND_CS_RGB_SCENE, dt_ioppr_get_iop_work_profile_info(), dt_ioppr_get_pipe_current_profile_info(), i, IS_NULL_PTR, M, 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 x.
Referenced by dt_develop_blend_process_cl(), 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().
| void dt_develop_blendif_lab_blend | ( | const struct dt_dev_pixelpipe_t * | pipe, |
| const struct dt_dev_pixelpipe_iop_t * | piece, | ||
| const float *const | a, | ||
| float *const | b, | ||
| const float *const | mask, | ||
| const dt_dev_pixelpipe_display_mask_t | request_mask_display | ||
| ) |
Referenced by dt_develop_blend_process().
| void dt_develop_blendif_lab_make_mask | ( | const struct dt_dev_pixelpipe_iop_t * | piece, |
| const float *const | a, | ||
| const float *const | b, | ||
| float *const | mask | ||
| ) |
Referenced by dt_develop_blend_process().
| 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)
| void dt_develop_blendif_raw_blend | ( | const struct dt_dev_pixelpipe_t * | pipe, |
| const struct dt_dev_pixelpipe_iop_t * | piece, | ||
| const float *const | a, | ||
| float *const | b, | ||
| const float *const | mask, | ||
| const dt_dev_pixelpipe_display_mask_t | request_mask_display | ||
| ) |
color blending operators
Referenced by dt_develop_blend_process().
| void dt_develop_blendif_raw_make_mask | ( | const struct dt_dev_pixelpipe_iop_t * | piece, |
| const float *const | a, | ||
| const float *const | b, | ||
| float *const | mask | ||
| ) |
color blending mask generation functions
Referenced by dt_develop_blend_process().
| void dt_develop_blendif_rgb_hsl_blend | ( | const struct dt_dev_pixelpipe_t * | pipe, |
| const struct dt_dev_pixelpipe_iop_t * | piece, | ||
| const float *const | a, | ||
| float *const | b, | ||
| const float *const | mask, | ||
| const dt_dev_pixelpipe_display_mask_t | request_mask_display | ||
| ) |
Referenced by dt_develop_blend_process().
| void dt_develop_blendif_rgb_hsl_make_mask | ( | const struct dt_dev_pixelpipe_t * | pipe, |
| const struct dt_dev_pixelpipe_iop_t * | piece, | ||
| const float *const | a, | ||
| const float *const | b, | ||
| float *const | mask | ||
| ) |
Referenced by dt_develop_blend_process().
| void dt_develop_blendif_rgb_jzczhz_blend | ( | const struct dt_dev_pixelpipe_t * | pipe, |
| const struct dt_dev_pixelpipe_iop_t * | piece, | ||
| const float *const | a, | ||
| float *const | b, | ||
| const float *const | mask, | ||
| const dt_dev_pixelpipe_display_mask_t | request_mask_display | ||
| ) |
Referenced by dt_develop_blend_process().
| void dt_develop_blendif_rgb_jzczhz_make_mask | ( | const struct dt_dev_pixelpipe_t * | pipe, |
| const struct dt_dev_pixelpipe_iop_t * | piece, | ||
| const float *const | a, | ||
| const float *const | b, | ||
| float *const | mask | ||
| ) |
Referenced by dt_develop_blend_process().
| void dt_iop_gui_blending_lose_focus | ( | dt_iop_module_t * | module | ) |
Definition at line 4624 of file blend_gui.c.
References _blendop_blendif_sync_channel_display_buttons(), _blendop_toggle_button_set_active(), dt_iop_module_t::blend_data, darktable, dt_iop_module_t::dev, DT_DEV_PIXELPIPE_DISPLAY_NONE, dt_dev_pixelpipe_update_history_main, dt_iop_set_cache_bypass(), DT_MASKS_EDIT_OFF, dt_masks_set_edit_mode(), dt_masks_shape_buttons_deactivate_all(), dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), FALSE, darktable_t::gui, IOP_FLAGS_SUPPORTS_BLENDING, IS_NULL_PTR, dt_iop_gui_blend_data_t::lock, dt_iop_gui_blend_data_t::masks_edit, dt_iop_gui_blend_data_t::masks_support, dt_gui_gtk_t::reset, dt_iop_gui_blend_data_t::save_for_leave, dt_iop_gui_blend_data_t::showmask, and dt_iop_gui_blend_data_t::timeout_handle.
Referenced by dt_iop_request_focus().
| void dt_iop_gui_blending_reload_defaults | ( | dt_iop_module_t * | module | ) |
Definition at line 4685 of file blend_gui.c.
References dt_iop_gui_blend_data_t::blendif_inited, dt_iop_gui_blend_data_t::blendif_support, FALSE, IS_NULL_PTR, and dt_iop_gui_blend_data_t::output_channels_shown.
Referenced by dt_iop_load_default_params().
| void dt_iop_gui_cleanup_blending | ( | dt_iop_module_t * | module | ) |
Definition at line 4185 of file blend_gui.c.
References _blendop_masks_handler_callback(), dt_iop_module_t::blend_data, darktable, DT_DEBUG_CONTROL_SIGNAL_DISCONNECT, dt_free, dt_iop_gui_cleanup_blending_body(), dt_pthread_mutex_destroy(), dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), IS_NULL_PTR, dt_iop_gui_blend_data_t::lock, dt_iop_gui_blend_data_t::masks_combo_ids, darktable_t::signals, and dt_iop_gui_blend_data_t::timeout_handle.
Referenced by _init_module_so(), and dt_iop_gui_cleanup_module().
| void dt_iop_gui_cleanup_blending_body | ( | dt_iop_module_t * | module | ) |
Definition at line 4693 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_store, dt_iop_gui_blend_data_t::all_shapes_sw, dt_iop_module_t::blend_data, dt_iop_gui_blend_data_t::blend_mode_parameter_slider, dt_iop_gui_blend_data_t::blend_modes_blend_order, dt_iop_gui_blend_data_t::blend_modes_combo, dt_iop_gui_blend_data_t::blend_modes_csp, dt_iop_gui_blend_data_t::blendif_box, dt_iop_gui_blend_data_t::blendif_content, dt_iop_gui_blend_data_t::blendif_enable, dt_iop_gui_blend_data_t::blendif_inited, dt_iop_gui_blend_data_t::blending_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, 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, 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 _lib_masks_release_blending(), and dt_iop_gui_cleanup_blending().
| void dt_iop_gui_init_blendif | ( | GtkBox * | blendw, |
| dt_iop_module_t * | module, | ||
| GtkWidget * | header | ||
| ) |
gui related stuff
Definition at line 3573 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(), 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_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, darktable, DEVELOP_BLEND_CS_NONE, dt_bauhaus_disable_module_list(), 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_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().
| void dt_iop_gui_init_blending | ( | dt_iop_module_t * | module | ) |
Definition at line 5023 of file blend_gui.c.
References _blendop_masks_handler_callback(), dt_iop_module_t::blend_data, dt_iop_gui_blend_data_t::blend_modes_csp, dt_iop_gui_blend_data_t::blendif_support, dt_iop_gui_blend_data_t::channel_tabs_csp, dt_iop_gui_blend_data_t::csp, darktable, DEVELOP_BLEND_CS_NONE, DT_DEBUG_CONTROL_SIGNAL_CONNECT, dt_iop_colorspace_is_rgb(), dt_pthread_mutex_init(), dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), DT_SIGNAL_MASK_CHANGED, IOP_CS_LAB, IOP_FLAGS_SUPPORTS_BLENDING, dt_iop_gui_blend_data_t::lock, dt_iop_gui_blend_data_t::masks_support, and darktable_t::signals.
Referenced by _init_module_so(), and dt_iop_gui_set_expander().
| void dt_iop_gui_init_blending_body | ( | GtkWidget * | container, |
| dt_iop_module_t * | module | ||
| ) |
Definition at line 4787 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(), darktable_t::bauhaus, dt_iop_module_t::blend_data, BLEND_MASKMODE_CONF_KEY, dt_iop_gui_blend_data_t::blend_mode_parameter_slider, dt_iop_gui_blend_data_t::blend_modes_blend_order, dt_iop_gui_blend_data_t::blend_modes_combo, dt_develop_blend_params_t::blend_parameter, dt_iop_module_t::blend_params, dt_iop_gui_blend_data_t::blendif_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, darktable, 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_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_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, darktable_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_gui_gtk_t::reset, dt_iop_gui_blend_data_t::showmask, dt_iop_gui_blend_data_t::top_enable, and TRUE.
Referenced by _lib_masks_blending_gui_changed_callback().
| void dt_iop_gui_update_blendif | ( | dt_iop_module_t * | module | ) |
Definition at line 3484 of file blend_gui.c.
References _blendop_blendif_update_tab(), dt_iop_gui_blend_data_t::blendif_inited, dt_iop_gui_blend_data_t::blendif_support, dt_iop_gui_blendif_filter_t::box, ch, dt_iop_gui_blend_data_t::channel, dt_iop_gui_blend_data_t::channel_tabs, dt_iop_gui_blend_data_t::channel_tabs_csp, dt_iop_gui_blend_data_t::csp, darktable, dt_iop_module_t::dev, DEVELOP_BLEND_CS_LAB, DEVELOP_BLEND_CS_RGB_DISPLAY, DEVELOP_BLEND_CS_RGB_SCENE, DT_DEV_PIXELPIPE_DISPLAY_NONE, DT_DEV_PIXELPIPE_DISPLAY_STICKY, dt_dev_pixelpipe_update_history_all, dt_gui_container_destroy_children(), dt_iop_add_remove_mask_indicator(), dt_iop_color_picker_reset(), dt_iop_set_cache_bypass(), dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), dt_ui_notebook_page(), FALSE, dt_iop_gui_blend_data_t::filter, darktable_t::gui, IS_NULL_PTR, Lab_channels, dt_iop_gui_blend_data_t::lock, dt_iop_gui_blend_data_t::output_channels_shown, dt_iop_module_t::request_mask_display, dt_gui_gtk_t::reset, rgb_channels, rgbj_channels, dt_iop_gui_blend_data_t::save_for_leave, dt_iop_gui_blend_data_t::tab, dt_iop_gui_blend_data_t::timeout_handle, and TRUE.
Referenced by _blendop_blendif_reset(), _pop_undo(), and dt_iop_gui_update_blending().
| void dt_iop_gui_update_blending | ( | dt_iop_module_t * | module | ) |
Definition at line 4336 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_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_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_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_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(), 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, darktable_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_gui_gtk_t::reset, 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(), _lib_masks_blending_gui_changed_callback(), dt_iop_gui_duplicate(), and dt_iop_gui_update().
|
extern |
Definition at line 128 of file blend_gui.c.
Referenced by _create_tooltip_text().
|
extern |
Definition at line 123 of file blend_gui.c.
Referenced by _create_tooltip_text().
|
extern |
Definition at line 81 of file blend_gui.c.
Referenced by _add_blendmode_combo(), and _create_tooltip_text().
|
extern |
Definition at line 145 of file blend_gui.c.
Referenced by _create_tooltip_text(), and dt_iop_gui_init_blending_body().
|
extern |
Definition at line 152 of file blend_gui.c.
Referenced by _create_tooltip_text(), and dt_iop_gui_init_blending_body().
|
extern |
Definition at line 159 of file blend_gui.c.
Referenced by _create_tooltip_text().
|
extern |
Definition at line 136 of file blend_gui.c.
Referenced by _create_tooltip_text().