Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
rgblevels.c File Reference
+ Include dependency graph for rgblevels.c:

Data Structures

struct  dt_iop_rgblevels_params_t
 
struct  dt_iop_rgblevels_gui_data_t
 
struct  dt_iop_rgblevels_data_t
 
struct  dt_iop_rgblevels_global_data_t
 

Macros

#define DT_GUI_CURVE_EDITOR_INSET   DT_PIXEL_APPLY_DPI(5)
 
#define RGBLEVELS_MIN   0.f
 
#define RGBLEVELS_MID   0.5f
 
#define RGBLEVELS_MAX   1.f
 

Typedefs

typedef enum dt_iop_rgblevels_channel_t dt_iop_rgblevels_channel_t
 
typedef enum dt_iop_rgblevels_autoscale_t dt_iop_rgblevels_autoscale_t
 
typedef struct dt_iop_rgblevels_params_t dt_iop_rgblevels_params_t
 
typedef struct dt_iop_rgblevels_gui_data_t dt_iop_rgblevels_gui_data_t
 
typedef struct dt_iop_rgblevels_data_t dt_iop_rgblevels_data_t
 
typedef struct dt_iop_rgblevels_global_data_t dt_iop_rgblevels_global_data_t
 

Enumerations

enum  dt_iop_rgblevels_channel_t {
  DT_IOP_RGBLEVELS_R = 0 ,
  DT_IOP_RGBLEVELS_G = 1 ,
  DT_IOP_RGBLEVELS_B = 2 ,
  DT_IOP_RGBLEVELS_MAX_CHANNELS = 3
}
 
enum  dt_iop_rgblevels_autoscale_t {
  DT_IOP_RGBLEVELS_LINKED_CHANNELS = 0 ,
  DT_IOP_RGBLEVELS_INDEPENDENT_CHANNELS = 1
}
 

Functions

const char * name ()
 
int default_group ()
 
int flags ()
 
int default_colorspace (dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece)
 
const char ** description (struct dt_iop_module_t *self)
 
static void _turn_select_region_off (struct dt_iop_module_t *self)
 
static void _turn_selregion_picker_off (struct dt_iop_module_t *self)
 
static void _develop_ui_pipe_finished_callback (gpointer instance, dt_iop_module_t *self)
 
static void _compute_lut (dt_dev_pixelpipe_iop_t *piece)
 
static void _rgblevels_show_hide_controls (dt_iop_rgblevels_params_t *p, dt_iop_rgblevels_gui_data_t *g)
 
int mouse_moved (struct dt_iop_module_t *self, double x, double y, double pressure, int which)
 
int button_released (struct dt_iop_module_t *self, double x, double y, int which, uint32_t state)
 
int button_pressed (struct dt_iop_module_t *self, double x, double y, double pressure, int which, int type, uint32_t state)
 
void gui_post_expose (struct dt_iop_module_t *self, cairo_t *cr, int32_t width, int32_t height, int32_t pointerx, int32_t pointery)
 
static gboolean _area_leave_notify_callback (GtkWidget *widget, GdkEventCrossing *event, dt_iop_module_t *self)
 
static gboolean _area_draw_callback (GtkWidget *widget, cairo_t *crf, dt_iop_module_t *self)
 
static void _rgblevels_move_handle (dt_iop_module_t *self, const int handle_move, const float new_pos, float *levels, const float drag_start_percentage)
 
static gboolean _area_motion_notify_callback (GtkWidget *widget, GdkEventMotion *event, dt_iop_module_t *self)
 
static gboolean _area_button_press_callback (GtkWidget *widget, GdkEventButton *event, dt_iop_module_t *self)
 
static gboolean _area_button_release_callback (GtkWidget *widget, GdkEventButton *event, dt_iop_module_t *self)
 
static gboolean _area_scroll_callback (GtkWidget *widget, GdkEventScroll *event, dt_iop_module_t *self)
 
static void _auto_levels_callback (GtkButton *button, dt_iop_module_t *self)
 
static void _select_region_toggled_callback (GtkToggleButton *togglebutton, dt_iop_module_t *self)
 
void gui_changed (dt_iop_module_t *self, GtkWidget *w, void *previous)
 
static void _tab_switch_callback (GtkNotebook *notebook, GtkWidget *page, guint page_num, dt_iop_module_t *self)
 
static void _color_picker_callback (GtkWidget *button, dt_iop_module_t *self)
 
void color_picker_apply (dt_iop_module_t *self, GtkWidget *picker, dt_dev_pixelpipe_iop_t *piece)
 
void commit_params (dt_iop_module_t *self, dt_iop_params_t *p1, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece)
 
void init_pipe (dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece)
 
void cleanup_pipe (dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece)
 
void gui_update (dt_iop_module_t *self)
 
void gui_focus (struct dt_iop_module_t *self, gboolean in)
 
void gui_reset (struct dt_iop_module_t *self)
 
void init (dt_iop_module_t *self)
 
void init_global (dt_iop_module_so_t *self)
 
void cleanup_global (dt_iop_module_so_t *self)
 
void change_image (struct dt_iop_module_t *self)
 
void gui_init (dt_iop_module_t *self)
 
void gui_cleanup (dt_iop_module_t *self)
 
static void _get_selected_area (struct dt_iop_module_t *self, dt_dev_pixelpipe_iop_t *piece, dt_iop_rgblevels_gui_data_t *g, const dt_iop_roi_t *const roi_in, int *box_out)
 
static void _auto_levels (const float *const img, const int width, const int height, int *box_area, dt_iop_rgblevels_params_t *p, const int _channel, const dt_iop_order_iccprofile_info_t *const work_profile)
 
void process (dt_iop_module_t *self, dt_dev_pixelpipe_iop_t *piece, const void *const ivoid, void *const ovoid, const dt_iop_roi_t *const roi_in, const dt_iop_roi_t *const roi_out)
 

Macro Definition Documentation

◆ DT_GUI_CURVE_EDITOR_INSET

#define DT_GUI_CURVE_EDITOR_INSET   DT_PIXEL_APPLY_DPI(5)

◆ RGBLEVELS_MAX

#define RGBLEVELS_MAX   1.f

◆ RGBLEVELS_MID

#define RGBLEVELS_MID   0.5f

◆ RGBLEVELS_MIN

#define RGBLEVELS_MIN   0.f

Typedef Documentation

◆ dt_iop_rgblevels_autoscale_t

◆ dt_iop_rgblevels_channel_t

◆ dt_iop_rgblevels_data_t

◆ dt_iop_rgblevels_global_data_t

◆ dt_iop_rgblevels_gui_data_t

◆ dt_iop_rgblevels_params_t

Enumeration Type Documentation

◆ dt_iop_rgblevels_autoscale_t

Enumerator
DT_IOP_RGBLEVELS_LINKED_CHANNELS 
DT_IOP_RGBLEVELS_INDEPENDENT_CHANNELS 

◆ dt_iop_rgblevels_channel_t

Enumerator
DT_IOP_RGBLEVELS_R 
DT_IOP_RGBLEVELS_G 
DT_IOP_RGBLEVELS_B 
DT_IOP_RGBLEVELS_MAX_CHANNELS 

Function Documentation

◆ _area_button_press_callback()

◆ _area_button_release_callback()

static gboolean _area_button_release_callback ( GtkWidget *  widget,
GdkEventButton *  event,
dt_iop_module_t self 
)
static

References FALSE, dt_iop_module_t::gui_data, and TRUE.

Referenced by gui_init().

◆ _area_draw_callback()

◆ _area_leave_notify_callback()

static gboolean _area_leave_notify_callback ( GtkWidget *  widget,
GdkEventCrossing *  event,
dt_iop_module_t self 
)
static

References dt_iop_module_t::gui_data, and TRUE.

Referenced by gui_init().

◆ _area_motion_notify_callback()

static gboolean _area_motion_notify_callback ( GtkWidget *  widget,
GdkEventMotion *  event,
dt_iop_module_t self 
)
static

◆ _area_scroll_callback()

◆ _auto_levels()

static void _auto_levels ( const float *const  img,
const int  width,
const int  height,
int *  box_area,
dt_iop_rgblevels_params_t p,
const int  _channel,
const dt_iop_order_iccprofile_info_t *const  work_profile 
)
static

◆ _auto_levels_callback()

◆ _color_picker_callback()

static void _color_picker_callback ( GtkWidget *  button,
dt_iop_module_t self 
)
static

References _turn_select_region_off().

Referenced by gui_init().

◆ _compute_lut()

◆ _develop_ui_pipe_finished_callback()

static void _develop_ui_pipe_finished_callback ( gpointer  instance,
dt_iop_module_t self 
)
static

◆ _get_selected_area()

◆ _rgblevels_move_handle()

static void _rgblevels_move_handle ( dt_iop_module_t self,
const int  handle_move,
const float  new_pos,
float *  levels,
const float  drag_start_percentage 
)
static

◆ _rgblevels_show_hide_controls()

static void _rgblevels_show_hide_controls ( dt_iop_rgblevels_params_t p,
dt_iop_rgblevels_gui_data_t g 
)
static

◆ _select_region_toggled_callback()

◆ _tab_switch_callback()

static void _tab_switch_callback ( GtkNotebook *  notebook,
GtkWidget *  page,
guint  page_num,
dt_iop_module_t self 
)
static

◆ _turn_select_region_off()

static void _turn_select_region_off ( struct dt_iop_module_t self)
static

◆ _turn_selregion_picker_off()

◆ button_pressed()

◆ button_released()

◆ change_image()

void change_image ( struct dt_iop_module_t self)

References DT_IOP_RGBLEVELS_R, and dt_iop_module_t::gui_data.

Referenced by gui_init().

◆ cleanup_global()

◆ cleanup_pipe()

void cleanup_pipe ( dt_iop_module_t self,
dt_dev_pixelpipe_t pipe,
dt_dev_pixelpipe_iop_t piece 
)

◆ color_picker_apply()

◆ commit_params()

◆ default_colorspace()

int default_colorspace ( dt_iop_module_t self,
dt_dev_pixelpipe_t pipe,
dt_dev_pixelpipe_iop_t piece 
)

References IOP_CS_RGB.

◆ default_group()

int default_group ( )

References IOP_GROUP_COLOR.

◆ description()

const char ** description ( struct dt_iop_module_t self)

◆ flags()

int flags ( )

◆ gui_changed()

◆ gui_cleanup()

◆ gui_focus()

void gui_focus ( struct dt_iop_module_t self,
gboolean  in 
)

◆ gui_init()

◆ gui_post_expose()

◆ gui_reset()

◆ gui_update()

◆ init()

◆ init_global()

◆ init_pipe()

◆ mouse_moved()

◆ name()

const char * name ( )

◆ process()