48#ifndef DT_DEVELOP_MASKS_MASKS_GROUP_H
49#define DT_DEVELOP_MASKS_MASKS_GROUP_H
181 gboolean *has_shapes);
198 int *holder_id, guint *index,
199 char *holder_name,
size_t holder_name_size);
const dt_colormatrix_t dt_aligned_pixel_t out
_lib_location_type_t type
dt_masks_result_t dt_masks_group_contains(struct dt_develop_t *dev, int container_id, int needle_id)
Whether container_id holds needle_id, at any depth (and trivially when they are the same id).
const char * dt_masks_type_name(dt_masks_type_t type)
The stable, untranslated token for a shape kind: circle, ellipse, polygon, brush, gradient,...
guint dt_masks_group_copy_members(const struct dt_masks_form_t *group, dt_masks_member_t *out, guint out_max)
Copy a group's membership rows, in order, into caller storage.
dt_masks_result_t dt_masks_group_set_member_operation(struct dt_develop_t *dev, int group_id, int formid, dt_masks_state_t operation, dt_masks_member_t *out)
Set a group member's combination operator, or toggle its inversion.
gboolean dt_masks_form_get_info(const struct dt_masks_form_t *form, dt_masks_form_info_t *out)
Describe a form: identity, kind, and – for a group – how many members it holds.
gchar * dt_masks_group_name_for_module(const struct dt_iop_module_t *module)
The name a module's own mask group carries: "Group <module>", after the module's multi-instance name ...
dt_masks_result_t dt_masks_group_first_use(struct dt_develop_t *dev, int root_id, int formid, int *holder_id, guint *index, char *holder_name, size_t holder_name_size)
Where the mask rooted at root_id FIRST applies formid.
dt_masks_result_t dt_masks_group_covers_shapes(struct dt_develop_t *dev, int group_id, int target_id, gboolean *has_shapes)
Whether every shape group_id ultimately holds is also held by target_id.
dt_masks_result_t dt_masks_group_set_name_from_module(struct dt_develop_t *dev, int group_id, struct dt_iop_module_t *module)
Name a group after the module that renders it, by id.
dt_masks_result_t dt_masks_group_set_member_opacity(struct dt_develop_t *dev, int group_id, int formid, float opacity, dt_masks_member_t *out)
Set a group member's opacity.
guint dt_masks_group_list(struct dt_develop_t *dev, dt_masks_form_info_t *out, guint out_max)
Describe every group of the live list, in dev->forms order, into caller storage.
dt_masks_result_t dt_masks_group_get_member(struct dt_develop_t *dev, int group_id, int formid, dt_masks_member_t *out)
Read one group member by identity.
int dt_masks_group_find_holder(struct dt_develop_t *dev, int formid)
Which group references formid, searching every group in dev->forms depth-first.
The masks vocabulary: the enumerations a caller needs to NAME a shape or an operation,...
dt_masks_result_t
What a request that may change the masks model did.
struct dt_develop_t * dev
One shape's membership of one group, BY VALUE.