Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
blend_gui.h
Go to the documentation of this file.
1/*
2 This file is part of darktable,
3 Copyright (C) 2011-2021 the darktable developers.
4 Copyright (C) 2026 Aurélien PIERRE.
5
6 darktable is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 darktable is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with darktable. If not, see <http://www.gnu.org/licenses/>.
18*/
19
31#ifndef DT_DEVELOP_BLEND_GUI_H
32#define DT_DEVELOP_BLEND_GUI_H
33
34#include "develop/blend.h"
35#include "develop/masks_types.h" // DEVELOP_MASKS_NB_SHAPES
36#include "develop/imageop.h"
40
41#include <gtk/gtk.h>
42
43#ifdef __cplusplus
44extern "C" {
45#endif
46
52
68
80
81
84{
90
92 dt_iop_module_t *module;
93
104 GtkBox *blendif_box;
105 GtkBox *masks_box;
106 GtkBox *raster_box;
107
123
126
128 int tab;
129 int altmode[8][2];
134
137
167 // Mouse-wheel mapping grid: application-wide state (masks_gui.h), so this holds no value of
168 // its own -- it reads conf when shown and writes it when toggled.
170
171
174
178
180 dt_pthread_mutex_t lock;
182
193
202
224
227
228#ifdef __cplusplus
229}
230#endif
231
232#endif // DT_DEVELOP_BLEND_GUI_H
233
234// clang-format off
235// modelines: These editor modelines have been set for all relevant files by tools/update_modelines.py
236// vim: shiftwidth=2 expandtab tabstop=2 cindent
237// kate: tab-indents: off; indent-width 2; replace-tabs on; indent-mode cstyle; remove-trailing-spaces modified;
238// clang-format on
uint32_t container(dt_lib_module_t *self)
dt_develop_blend_colorspace_t
Definition blend.h:53
dt_develop_blendif_channels_t
Definition blend.h:142
gboolean blend_color_picker_apply(dt_iop_module_t *module, GtkWidget *picker, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece)
void dt_iop_gui_init_blending(dt_iop_module_t *module)
Definition blend_gui.c:5170
void dt_iop_gui_blend_masks_update(dt_iop_module_t *module)
Definition blend_gui.c:3701
void dt_iop_gui_init_blendif(GtkBox *blendw, dt_iop_module_t *module, GtkWidget *header)
Definition blend_gui.c:3528
void dt_iop_gui_init_blending_body(GtkWidget *container, dt_iop_module_t *module)
Definition blend_gui.c:4930
void dt_iop_gui_update_blending(dt_iop_module_t *module)
Definition blend_gui.c:4467
gboolean dt_iop_gui_blend_set_drawn_mask_group(dt_iop_module_t *module, int group_id)
Definition blend_gui.c:1745
void dt_iop_gui_blending_lose_focus(dt_iop_module_t *module)
Definition blend_gui.c:4764
void dt_iop_gui_cleanup_blending_body(dt_iop_module_t *module)
Definition blend_gui.c:4835
void dt_iop_gui_cleanup_blending(dt_iop_module_t *module)
Definition blend_gui.c:4316
void dt_iop_gui_blending_reload_defaults(dt_iop_module_t *module)
Definition blend_gui.c:4825
void dt_iop_gui_update_blendif(dt_iop_module_t *module)
Definition blend_gui.c:3439
typedef void((*dt_cache_allocate_t)(void *userdata, dt_cache_entry_t *entry))
struct _GtkWidget GtkWidget
GtkWidget, opaque, spelled exactly as GTK spells it.
Definition colorspaces.h:98
dt_dev_pixelpipe_display_mask_t
Definition develop.h:121
float dt_boundingbox_t[4]
Definition image.h:83
static const dt_dev_pixelpipe_t * pipe
Definition layers.h:49
static const dt_dev_pixelpipe_t const dt_dev_pixelpipe_iop_t * piece
Definition layers.h:50
The masks vocabulary: the enumerations a caller needs to NAME a shape or an operation,...
#define DEVELOP_MASKS_NB_SHAPES
Definition masks_types.h:58
static const dt_aligned_pixel_simd_t value
Definition simd.h:144
GtkWidget * raster_enable
Definition blend_gui.h:98
GtkWidget * blendif_enable
Definition blend_gui.h:99
dt_gui_collapsible_section_t scroll_cs
Definition blend_gui.h:169
GtkWidget * masks_content
Definition blend_gui.h:100
GtkWidget * masks_treeview
Definition blend_gui.h:147
GtkWidget * channel_boost_factor_slider
Definition blend_gui.h:135
GtkWidget * opacity_slider
Definition blend_gui.h:117
GtkWidget * raster_polarity
Definition blend_gui.h:173
GtkWidget * all_shapes_sw
Definition blend_gui.h:157
GtkWidget * blur_radius_slider
Definition blend_gui.h:120
GdkPixbuf * masks_ic_intersection
Definition blend_gui.h:161
GtkWidget * feathering_radius_slider
Definition blend_gui.h:119
GtkWidget * details_slider
Definition blend_gui.h:136
dt_iop_gui_blendif_filter_t filter[2]
Definition blend_gui.h:110
GtkWidget * all_shapes_buttons
Definition blend_gui.h:164
GtkWidget * colorpicker
Definition blend_gui.h:108
GtkWidget * colorpicker_set_values
Definition blend_gui.h:109
GdkPixbuf * masks_ic_union
Definition blend_gui.h:160
GdkPixbuf * masks_ic_inverse
Definition blend_gui.h:159
GtkWidget * masks_group_treeview
Definition blend_gui.h:148
GtkWidget * masks_combo
Definition blend_gui.h:138
int masks_type[DEVELOP_MASKS_NB_SHAPES]
Definition blend_gui.h:140
GdkPixbuf * masks_ic_difference
Definition blend_gui.h:162
GtkTreeViewColumn * group_shapes_col
Definition blend_gui.h:150
GtkWidget * lists_stack
Definition blend_gui.h:158
dt_boundingbox_t picker_set_values_box
Definition blend_gui.h:176
GtkWidget * contrast_slider
Definition blend_gui.h:121
GtkWidget * blend_modes_blend_order
Definition blend_gui.h:114
GtkWidget * masks_combine_combo
Definition blend_gui.h:112
dt_develop_blend_colorspace_t channel_tabs_csp
Definition blend_gui.h:125
gboolean picker_set_values_manual_boost_lock
Definition blend_gui.h:177
GtkWidget * blend_mode_parameter_slider
Definition blend_gui.h:115
GtkWidget * group_shapes_label
Definition blend_gui.h:142
GtkWidget * masks_feathering_guide_combo
Definition blend_gui.h:118
const dt_iop_gui_blendif_channel_t * channel
Definition blend_gui.h:127
dt_pthread_mutex_t lock
Definition blend_gui.h:180
GtkWidget * brightness_slider
Definition blend_gui.h:122
GtkWidget * masks_shapes[DEVELOP_MASKS_NB_SHAPES]
Definition blend_gui.h:139
GtkWidget * raster_content
Definition blend_gui.h:101
GtkWidget * blend_modes_combo
Definition blend_gui.h:113
GtkWidget * contours_content
Definition blend_gui.h:103
dt_develop_blend_colorspace_t csp
Definition blend_gui.h:91
dt_iop_module_t *GtkWidget * blending_box
Definition blend_gui.h:94
GtkTreeViewColumn * group_delete_col
Definition blend_gui.h:152
GtkWidget * group_shapes_sw
Definition blend_gui.h:154
dt_gui_collapsible_section_t masks_cs
Definition blend_gui.h:166
GtkWidget * blending_notebook
Definition blend_gui.h:95
GtkWidget * blendif_content
Definition blend_gui.h:102
GtkWidget * masks_invert_combo
Definition blend_gui.h:116
gboolean output_channels_shown
Definition blend_gui.h:133
GdkPixbuf * masks_ic_exclusion
Definition blend_gui.h:163
GtkWidget * raster_combo
Definition blend_gui.h:172
GtkListStore * all_shapes_store
Definition blend_gui.h:153
GtkWidget * masks_polarity
Definition blend_gui.h:143
GtkTreeViewColumn * all_shapes_col
Definition blend_gui.h:155
GtkWidget * top_enable
Definition blend_gui.h:96
GtkWidget * masks_enable
Definition blend_gui.h:97
GtkTreeStore * group_shapes_store
Definition blend_gui.h:149
dt_dev_pixelpipe_display_mask_t save_for_leave
Definition blend_gui.h:130
GtkWidget * wire_shape_toggle
Definition blend_gui.h:144
GtkTreeViewColumn * all_shapes_delete_col
Definition blend_gui.h:156
GtkNotebook * channel_tabs
Definition blend_gui.h:132
gboolean picker_set_values_box_valid
Definition blend_gui.h:175
dt_develop_blend_colorspace_t blend_modes_csp
Definition blend_gui.h:124
GtkTreeViewColumn * group_unlink_col
Definition blend_gui.h:151
const dt_iop_gui_blendif_colorstop_t * colorstops
Definition blend_gui.h:59
void(* scale_print)(float value, float boost_factor, char *string, int n)
Definition blend_gui.h:64
int(* altdisplay)(GtkWidget *, dt_iop_module_t *, int)
Definition blend_gui.h:65
dt_develop_blendif_channels_t param_channels[2]
Definition blend_gui.h:62
dt_dev_pixelpipe_display_mask_t display_channel
Definition blend_gui.h:63
GtkDarktableGradientSlider * slider
Definition blend_gui.h:71