Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
group.c File Reference
#include "common/debug.h"
#include "control/conf.h"
#include "control/control.h"
#include "develop/blend.h"
#include "develop/imageop.h"
#include "develop/masks.h"
+ Include dependency graph for group.c:

Functions

static int _group_events_mouse_scrolled (struct dt_iop_module_t *module, float pzx, float pzy, int up, uint32_t state, dt_masks_form_t *form, int unused1, dt_masks_form_gui_t *gui, int unused, dt_masks_interaction_t interaction)
 
static int _group_events_button_pressed (struct dt_iop_module_t *module, float pzx, float pzy, double pressure, int which, int type, uint32_t state, dt_masks_form_t *form, int unused1, dt_masks_form_gui_t *gui, int unused2)
 
static int _group_events_button_released (struct dt_iop_module_t *module, float pzx, float pzy, int which, uint32_t state, dt_masks_form_t *form, int unused1, dt_masks_form_gui_t *gui, int unused2)
 
static int _group_events_mouse_moved (struct dt_iop_module_t *module, float pzx, float pzy, double pressure, int which, dt_masks_form_t *form, int unused1, dt_masks_form_gui_t *gui, int unused2)
 
void dt_group_events_post_expose (cairo_t *cr, float zoom_scale, dt_masks_form_t *form, dt_masks_form_gui_t *gui)
 
static void _inverse_mask (const dt_iop_module_t *const module, const dt_dev_pixelpipe_iop_t *const piece, dt_masks_form_t *const form, float **buffer, int *width, int *height, int *posx, int *posy)
 
static int _group_get_mask (const dt_iop_module_t *const module, const dt_dev_pixelpipe_iop_t *const piece, dt_masks_form_t *const form, float **buffer, int *width, int *height, int *posx, int *posy)
 
static void _combine_masks_union (float *const restrict dest, float *const restrict newmask, const size_t npixels, const float opacity, const int inverted)
 
static void _combine_masks_intersect (float *const restrict dest, float *const restrict newmask, const size_t npixels, const float opacity, const int inverted)
 
static int both_positive (const float val1, const float val2)
 
static void _combine_masks_difference (float *const restrict dest, float *const restrict newmask, const size_t npixels, const float opacity, const int inverted)
 
static void _combine_masks_exclusion (float *const restrict dest, float *const restrict newmask, const size_t npixels, const float opacity, const int inverted)
 
static int _group_get_mask_roi (const dt_iop_module_t *const restrict module, const dt_dev_pixelpipe_iop_t *const restrict piece, dt_masks_form_t *const form, const dt_iop_roi_t *const roi, float *const restrict buffer)
 
int dt_masks_group_render_roi (dt_iop_module_t *module, dt_dev_pixelpipe_iop_t *piece, dt_masks_form_t *form, const dt_iop_roi_t *roi, float *buffer)
 
static void _group_duplicate_points (dt_develop_t *const dev, dt_masks_form_t *const base, dt_masks_form_t *const dest)
 

Variables

const dt_masks_functions_t dt_masks_functions_group
 

Function Documentation

◆ _combine_masks_difference()

static void _combine_masks_difference ( float *const restrict  dest,
float *const restrict  newmask,
const size_t  npixels,
const float  opacity,
const int  inverted 
)
static

References both_positive().

Referenced by _group_get_mask_roi().

◆ _combine_masks_exclusion()

static void _combine_masks_exclusion ( float *const restrict  dest,
float *const restrict  newmask,
const size_t  npixels,
const float  opacity,
const int  inverted 
)
static

References both_positive(), and MAX.

Referenced by _group_get_mask_roi().

◆ _combine_masks_intersect()

static void _combine_masks_intersect ( float *const restrict  dest,
float *const restrict  newmask,
const size_t  npixels,
const float  opacity,
const int  inverted 
)
static

References MAX, and MIN.

Referenced by _group_get_mask_roi().

◆ _combine_masks_union()

static void _combine_masks_union ( float *const restrict  dest,
float *const restrict  newmask,
const size_t  npixels,
const float  opacity,
const int  inverted 
)
static

References MAX.

Referenced by _group_get_mask_roi().

◆ _group_duplicate_points()

◆ _group_events_button_pressed()

static int _group_events_button_pressed ( struct dt_iop_module_t module,
float  pzx,
float  pzy,
double  pressure,
int  which,
int  type,
uint32_t  state,
dt_masks_form_t form,
int  unused1,
dt_masks_form_gui_t gui,
int  unused2 
)
static

◆ _group_events_button_released()

◆ _group_events_mouse_moved()

◆ _group_events_mouse_scrolled()

static int _group_events_mouse_scrolled ( struct dt_iop_module_t module,
float  pzx,
float  pzy,
int  up,
uint32_t  state,
dt_masks_form_t form,
int  unused1,
dt_masks_form_gui_t gui,
int  unused,
dt_masks_interaction_t  interaction 
)
static

◆ _group_get_mask()

◆ _group_get_mask_roi()

◆ _inverse_mask()

static void _inverse_mask ( const dt_iop_module_t *const  module,
const dt_dev_pixelpipe_iop_t *const  piece,
dt_masks_form_t *const  form,
float **  buffer,
int *  width,
int *  height,
int *  posx,
int *  posy 
)
static

◆ both_positive()

static int both_positive ( const float  val1,
const float  val2 
)
inlinestatic

◆ dt_group_events_post_expose()

◆ dt_masks_group_render_roi()

int dt_masks_group_render_roi ( dt_iop_module_t module,
dt_dev_pixelpipe_iop_t piece,
dt_masks_form_t form,
const dt_iop_roi_t roi,
float *  buffer 
)

Variable Documentation

◆ dt_masks_functions_group

const dt_masks_functions_t dt_masks_functions_group
Initial value:
= {
.point_struct_size = sizeof(struct dt_masks_point_group_t),
.sanitize_config = NULL,
.set_form_name = NULL,
.set_hint_message = NULL,
.duplicate_points = _group_duplicate_points,
.initial_source_pos = NULL,
.get_distance = NULL,
.get_points = NULL,
.get_points_border = NULL,
.get_mask = _group_get_mask,
.get_mask_roi = _group_get_mask_roi,
.get_area = NULL,
.get_source_area = NULL,
.mouse_moved = _group_events_mouse_moved,
.mouse_scrolled = _group_events_mouse_scrolled,
.button_pressed = _group_events_button_pressed,
.button_released = _group_events_button_released,
}
static int _group_get_mask_roi(const dt_iop_module_t *const restrict module, const dt_dev_pixelpipe_iop_t *const restrict piece, dt_masks_form_t *const form, const dt_iop_roi_t *const roi, float *const restrict buffer)
Definition group.c:557
static int _group_events_button_pressed(struct dt_iop_module_t *module, float pzx, float pzy, double pressure, int which, int type, uint32_t state, dt_masks_form_t *form, int unused1, dt_masks_form_gui_t *gui, int unused2)
Definition group.c:40
static void _group_duplicate_points(dt_develop_t *const dev, dt_masks_form_t *const base, dt_masks_form_t *const dest)
Definition group.c:653
static int _group_events_mouse_moved(struct dt_iop_module_t *module, float pzx, float pzy, double pressure, int which, dt_masks_form_t *form, int unused1, dt_masks_form_gui_t *gui, int unused2)
Definition group.c:133
static int _group_get_mask(const dt_iop_module_t *const module, const dt_dev_pixelpipe_iop_t *const piece, dt_masks_form_t *const form, float **buffer, int *width, int *height, int *posx, int *posy)
Definition group.c:218
static int _group_events_mouse_scrolled(struct dt_iop_module_t *module, float pzx, float pzy, int up, uint32_t state, dt_masks_form_t *form, int unused1, dt_masks_form_gui_t *gui, int unused, dt_masks_interaction_t interaction)
Definition group.c:25
static int _group_events_button_released(struct dt_iop_module_t *module, float pzx, float pzy, int which, uint32_t state, dt_masks_form_t *form, int unused1, dt_masks_form_gui_t *gui, int unused2)
Definition group.c:56
Definition masks.h:166

Referenced by dt_masks_create().