Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
masks.c File Reference
#include "develop/masks.h"
#include "bauhaus/bauhaus.h"
#include "common/darktable.h"
#include "common/debug.h"
#include "common/styles.h"
#include "control/conf.h"
#include "control/control.h"
#include "develop/develop.h"
#include "develop/imageop.h"
#include "dtgtk/button.h"
#include "gui/draw.h"
#include "gui/gtk.h"
#include "gui/styles.h"
#include "libs/lib.h"
#include "libs/lib_api.h"
+ Include dependency graph for libs/masks.c:

Data Structures

struct  dt_lib_masks_t
 

Typedefs

typedef struct dt_lib_masks_t dt_lib_masks_t
 
typedef enum dt_masks_tree_cols_t dt_masks_tree_cols_t
 

Enumerations

enum  dt_masks_tree_cols_t {
  TREE_TEXT = 0 ,
  TREE_MODULE ,
  TREE_GROUPID ,
  TREE_FORMID ,
  TREE_EDITABLE ,
  TREE_IC_OP ,
  TREE_IC_OP_VISIBLE ,
  TREE_IC_INVERSE ,
  TREE_IC_INVERSE_VISIBLE ,
  TREE_IC_USED ,
  TREE_IC_USED_VISIBLE ,
  TREE_USED_TEXT ,
  TREE_COUNT
}
 

Functions

static void _lib_masks_recreate_list (dt_lib_module_t *self)
 
static void _lib_masks_update_list (dt_lib_module_t *self)
 
const char * name (struct dt_lib_module_t *self)
 
const char ** views (dt_lib_module_t *self)
 
uint32_t container (dt_lib_module_t *self)
 
int position ()
 
static void _lib_masks_get_values (GtkTreeModel *model, GtkTreeIter *iter, dt_iop_module_t **module, int *groupid, int *formid)
 
static void _lib_masks_inactivate_icons (dt_lib_module_t *self)
 
static void _tree_add_circle (GtkButton *button, dt_iop_module_t *module)
 
static void _bt_add_circle (GtkWidget *widget, GdkEventButton *event, dt_lib_module_t *self)
 
static void _tree_add_ellipse (GtkButton *button, dt_iop_module_t *module)
 
static void _bt_add_ellipse (GtkWidget *widget, GdkEventButton *event, dt_lib_module_t *self)
 
static void _tree_add_path (GtkButton *button, dt_iop_module_t *module)
 
static void _bt_add_path (GtkWidget *widget, GdkEventButton *event, dt_lib_module_t *self)
 
static void _tree_add_gradient (GtkButton *button, dt_iop_module_t *module)
 
static void _bt_add_gradient (GtkWidget *widget, GdkEventButton *event, dt_lib_module_t *self)
 
static void _tree_add_brush (GtkButton *button, dt_iop_module_t *module)
 
static void _bt_add_brush (GtkWidget *widget, GdkEventButton *event, dt_lib_module_t *self)
 
static void _tree_add_exist (GtkButton *button, dt_masks_form_t *grp)
 
static void _tree_group (GtkButton *button, dt_lib_module_t *self)
 
static void _set_iter_name (dt_lib_masks_t *lm, dt_masks_form_t *form, int state, float opacity, GtkTreeModel *model, GtkTreeIter *iter)
 
static void _tree_cleanup (GtkButton *button, dt_lib_module_t *self)
 
static void _add_masks_history_item (dt_lib_masks_t *lm)
 
static void _tree_inverse (GtkButton *button, dt_lib_module_t *self)
 
static void _tree_intersection (GtkButton *button, dt_lib_module_t *self)
 
static void _tree_difference (GtkButton *button, dt_lib_module_t *self)
 
static void _tree_exclusion (GtkButton *button, dt_lib_module_t *self)
 
static void _tree_union (GtkButton *button, dt_lib_module_t *self)
 
static void _tree_moveup (GtkButton *button, dt_lib_module_t *self)
 
static void _tree_movedown (GtkButton *button, dt_lib_module_t *self)
 
static void _tree_delete_shape (GtkButton *button, dt_lib_module_t *self)
 
static void _tree_duplicate_shape (GtkButton *button, dt_lib_module_t *self)
 
static void _tree_cell_edited (GtkCellRendererText *cell, gchar *path_string, gchar *new_text, dt_lib_module_t *self)
 
static void _tree_selection_change (GtkTreeSelection *selection, dt_lib_masks_t *self)
 
static int _tree_button_pressed (GtkWidget *treeview, GdkEventButton *event, dt_lib_module_t *self)
 
static gboolean _tree_restrict_select (GtkTreeSelection *selection, GtkTreeModel *model, GtkTreePath *path, gboolean path_currently_selected, gpointer data)
 
static gboolean _tree_query_tooltip (GtkWidget *widget, gint x, gint y, gboolean keyboard_tip, GtkTooltip *tooltip, gpointer data)
 
static void _is_form_used (int formid, dt_masks_form_t *grp, char *text, size_t text_length, int *nb)
 
static void _lib_masks_list_recurs (GtkTreeStore *treestore, GtkTreeIter *toplevel, dt_masks_form_t *form, int grp_id, dt_iop_module_t *module, int gstate, float opacity, dt_lib_masks_t *lm)
 
gboolean _find_mask_iter_by_values (GtkTreeModel *model, GtkTreeIter *iter, const dt_iop_module_t *module, const int formid, const int level)
 
GList * _lib_masks_get_selected (dt_lib_module_t *self)
 
static gboolean _update_foreach (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
 
static gboolean _remove_foreach (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
 
static void _lib_masks_remove_item (dt_lib_module_t *self, int formid, int parentid)
 
static gboolean _lib_masks_selection_change_r (GtkTreeModel *model, GtkTreeSelection *selection, GtkTreeIter *iter, struct dt_iop_module_t *module, const int selectid, int throw_event, const int level)
 
static void _lib_masks_selection_change (dt_lib_module_t *self, struct dt_iop_module_t *module, const int selectid, const int throw_event)
 
static GdkPixbuf * _get_pixbuf_from_cairo (DTGTKCairoPaintIconFunc paint, const int width, const int height)
 
void gui_init (dt_lib_module_t *self)
 
void gui_cleanup (dt_lib_module_t *self)
 

Typedef Documentation

◆ dt_lib_masks_t

◆ dt_masks_tree_cols_t

Enumeration Type Documentation

◆ dt_masks_tree_cols_t

Enumerator
TREE_TEXT 
TREE_MODULE 
TREE_GROUPID 
TREE_FORMID 
TREE_EDITABLE 
TREE_IC_OP 
TREE_IC_OP_VISIBLE 
TREE_IC_INVERSE 
TREE_IC_INVERSE_VISIBLE 
TREE_IC_USED 
TREE_IC_USED_VISIBLE 
TREE_USED_TEXT 
TREE_COUNT 

Function Documentation

◆ _add_masks_history_item()

◆ _bt_add_brush()

static void _bt_add_brush ( GtkWidget *  widget,
GdkEventButton *  event,
dt_lib_module_t self 
)
static

◆ _bt_add_circle()

static void _bt_add_circle ( GtkWidget *  widget,
GdkEventButton *  event,
dt_lib_module_t self 
)
static

◆ _bt_add_ellipse()

static void _bt_add_ellipse ( GtkWidget *  widget,
GdkEventButton *  event,
dt_lib_module_t self 
)
static

◆ _bt_add_gradient()

static void _bt_add_gradient ( GtkWidget *  widget,
GdkEventButton *  event,
dt_lib_module_t self 
)
static

◆ _bt_add_path()

static void _bt_add_path ( GtkWidget *  widget,
GdkEventButton *  event,
dt_lib_module_t self 
)
static

◆ _find_mask_iter_by_values()

gboolean _find_mask_iter_by_values ( GtkTreeModel *  model,
GtkTreeIter *  iter,
const dt_iop_module_t module,
const int  formid,
const int  level 
)

◆ _get_pixbuf_from_cairo()

static GdkPixbuf * _get_pixbuf_from_cairo ( DTGTKCairoPaintIconFunc  paint,
const int  width,
const int  height 
)
static

◆ _is_form_used()

static void _is_form_used ( int  formid,
dt_masks_form_t grp,
char *  text,
size_t  text_length,
int *  nb 
)
static

◆ _lib_masks_get_selected()

GList * _lib_masks_get_selected ( dt_lib_module_t self)

◆ _lib_masks_get_values()

◆ _lib_masks_inactivate_icons()

◆ _lib_masks_list_recurs()

◆ _lib_masks_recreate_list()

◆ _lib_masks_remove_item()

static void _lib_masks_remove_item ( dt_lib_module_t self,
int  formid,
int  parentid 
)
static

◆ _lib_masks_selection_change()

static void _lib_masks_selection_change ( dt_lib_module_t self,
struct dt_iop_module_t module,
const int  selectid,
const int  throw_event 
)
static

◆ _lib_masks_selection_change_r()

static gboolean _lib_masks_selection_change_r ( GtkTreeModel *  model,
GtkTreeSelection *  selection,
GtkTreeIter *  iter,
struct dt_iop_module_t module,
const int  selectid,
int  throw_event,
const int  level 
)
static

◆ _lib_masks_update_list()

static void _lib_masks_update_list ( dt_lib_module_t self)
static

◆ _remove_foreach()

static gboolean _remove_foreach ( GtkTreeModel *  model,
GtkTreePath *  path,
GtkTreeIter *  iter,
gpointer  data 
)
static

References _lib_masks_get_values(), and model.

Referenced by _lib_masks_remove_item().

◆ _set_iter_name()

◆ _tree_add_brush()

◆ _tree_add_circle()

◆ _tree_add_ellipse()

◆ _tree_add_exist()

◆ _tree_add_gradient()

◆ _tree_add_path()

◆ _tree_button_pressed()

◆ _tree_cell_edited()

static void _tree_cell_edited ( GtkCellRendererText *  cell,
gchar *  path_string,
gchar *  new_text,
dt_lib_module_t self 
)
static

◆ _tree_cleanup()

static void _tree_cleanup ( GtkButton *  button,
dt_lib_module_t self 
)
static

◆ _tree_delete_shape()

◆ _tree_difference()

◆ _tree_duplicate_shape()

◆ _tree_exclusion()

◆ _tree_group()

◆ _tree_intersection()

◆ _tree_inverse()

◆ _tree_movedown()

◆ _tree_moveup()

◆ _tree_query_tooltip()

static gboolean _tree_query_tooltip ( GtkWidget *  widget,
gint  x,
gint  y,
gboolean  keyboard_tip,
GtkTooltip *  tooltip,
gpointer  data 
)
static

◆ _tree_restrict_select()

static gboolean _tree_restrict_select ( GtkTreeSelection *  selection,
GtkTreeModel *  model,
GtkTreePath *  path,
gboolean  path_currently_selected,
gpointer  data 
)
static

References dt_lib_masks_t::gui_reset, items, and TRUE.

Referenced by gui_init().

◆ _tree_selection_change()

◆ _tree_union()

◆ _update_foreach()

static gboolean _update_foreach ( GtkTreeModel *  model,
GtkTreePath *  path,
GtkTreeIter *  iter,
gpointer  data 
)
static

◆ container()

uint32_t container ( dt_lib_module_t self)

◆ gui_cleanup()

void gui_cleanup ( dt_lib_module_t self)

References dt_lib_module_t::data.

◆ gui_init()

void gui_init ( dt_lib_module_t self)

References _bt_add_brush(), _bt_add_circle(), _bt_add_ellipse(), _bt_add_gradient(), _bt_add_path(), _get_pixbuf_from_cairo(), _lib_masks_recreate_list(), _lib_masks_remove_item(), _lib_masks_selection_change(), _lib_masks_update_list(), _tree_button_pressed(), _tree_cell_edited(), _tree_query_tooltip(), _tree_restrict_select(), _tree_selection_change(), dt_lib_masks_t::bt_brush, dt_lib_masks_t::bt_circle, dt_lib_masks_t::bt_ellipse, dt_lib_masks_t::bt_gradient, dt_lib_masks_t::bt_path, darktable, dt_lib_module_t::data, darktable_t::develop, DT_PIXEL_APPLY_DPI, dt_ui_scroll_wrap(), dtgtk_cairo_paint_masks_brush(), dtgtk_cairo_paint_masks_circle(), dtgtk_cairo_paint_masks_difference(), dtgtk_cairo_paint_masks_ellipse(), dtgtk_cairo_paint_masks_exclusion(), dtgtk_cairo_paint_masks_gradient(), dtgtk_cairo_paint_masks_intersection(), dtgtk_cairo_paint_masks_inverse(), dtgtk_cairo_paint_masks_path(), dtgtk_cairo_paint_masks_union(), dtgtk_cairo_paint_masks_used(), dtgtk_togglebutton_new(), FALSE, dt_lib_masks_t::gui_reset, dt_lib_masks_t::ic_difference, dt_lib_masks_t::ic_exclusion, dt_lib_masks_t::ic_intersection, dt_lib_masks_t::ic_inverse, dt_lib_masks_t::ic_union, dt_lib_masks_t::ic_used, dt_develop_t::list_change, dt_develop_t::list_remove, dt_develop_t::list_update, dt_develop_t::masks, dt_develop_t::proxy, dt_develop_t::selection_change, TREE_EDITABLE, TREE_IC_INVERSE, TREE_IC_INVERSE_VISIBLE, TREE_IC_OP, TREE_IC_OP_VISIBLE, TREE_IC_USED, TREE_IC_USED_VISIBLE, TREE_TEXT, dt_lib_masks_t::treeview, TRUE, and dt_lib_module_t::widget.

◆ name()

const char * name ( struct dt_lib_module_t self)

◆ position()

int position ( )

◆ views()

const char ** views ( dt_lib_module_t self)