Blender V5.0
DNA_mask_types.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2012 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
11
12#pragma once
13
14#include "DNA_ID.h"
15#include "DNA_curve_types.h"
16#include "DNA_defs.h"
17#include "DNA_listBase.h"
18
19typedef struct Mask_Runtime {
20 /* The Depsgraph::update_count when this ID was last updated. Covers any IDRecalcFlag. */
23
24typedef struct Mask {
25#ifdef __cplusplus
27 static constexpr ID_Type id_type = ID_MSK;
28#endif
29
31 struct AnimData *adt;
38
40 int sfra, efra;
41
43 int flag;
44 char _pad[4];
45
48
49typedef struct MaskParent {
50 //* /* Parenting flags */ /* not used. */
51 // int flag;
55 int type;
65 char parent[64];
70 char sub_parent[64];
75 float parent_orig[2];
76
80
81typedef struct MaskSplinePointUW {
83 float u, w;
85 int flag;
87
99
120
121/* one per frame */
122typedef struct MaskLayerShape {
124
126 float *data;
130 int frame;
132 char flag;
133 char _pad[7];
135
136/* cast to this for convenience, not saved */
137#define MASK_OBJECT_SHAPE_ELEM_SIZE 8 /* 3x 2D points + weight + radius == 8 */
138
139#
140#
144
145typedef struct MaskLayer {
146 struct MaskLayer *next, *prev;
147
149 char name[/*MAX_NAME*/ 64];
150
154
164
165 /* blending options */
166 float alpha;
167 char blend;
170 char _pad[7];
171
173 char flag;
177
178// /** #MaskParent::flag */
179// enum {
180// MASK_PARENT_ACTIVE = 1 << 0, /* UNUSED. */
181// };
182
183/* MaskParent->type */
184enum {
185 MASK_PARENT_POINT_TRACK = 0, /* parenting happens to point track */
186 MASK_PARENT_PLANE_TRACK = 1, /* parenting happens to plane track */
187};
188
189/* MaskSpline->flag */
190/* reserve (1 << 0) for SELECT */
191enum {
195};
196
197/* MaskSpline->weight_interp */
198enum {
201};
202
203/* MaskSpline->offset_mode */
204enum {
207};
208
209/* MaskLayer->visibility_flag */
210enum {
214};
215
216/* SpaceClip->mask_draw_flag */
217enum {
218 MASK_DRAWFLAG_SMOOTH_DEPRECATED = 1 << 0, /* Deprecated. */
221};
222
223/* copy of eSpaceImage_UVDT */
224/* SpaceClip->mask_draw_type */
225enum {
230};
231
232/* MaskSpaceInfo->overlay_mode */
237
238/* masklay->blend */
239enum {
249};
250
251/* masklay->blend_flag */
252enum {
254};
255
256/* masklay->flag */
257enum {
260
261 /* no holes */
264};
265
266/* masklay_shape->flag */
267enum {
269};
270
271/* mask->flag */
272enum {
274};
ID and Library types, which are fundamental for SDNA.
ID_Type
@ ID_MSK
These structs are the foundation for all linked lists in the library system.
@ MASK_BLENDFLAG_INVERT
@ MASK_PARENT_PLANE_TRACK
@ MASK_PARENT_POINT_TRACK
@ MASK_BLEND_ADD
@ MASK_BLEND_REPLACE
@ MASK_BLEND_DARKEN
@ MASK_BLEND_DIFFERENCE
@ MASK_BLEND_LIGHTEN
@ MASK_BLEND_MERGE_ADD
@ MASK_BLEND_SUBTRACT
@ MASK_BLEND_MUL
@ MASK_BLEND_MERGE_SUBTRACT
@ MASK_HIDE_SELECT
@ MASK_HIDE_RENDER
@ MASK_HIDE_VIEW
#define MASK_OBJECT_SHAPE_ELEM_SIZE
eMaskOverlayMode
@ MASK_OVERLAY_COMBINED
@ MASK_OVERLAY_ALPHACHANNEL
@ MASK_ANIMF_EXPAND
@ MASK_DRAWFLAG_SPLINE
@ MASK_DRAWFLAG_OVERLAY
@ MASK_DRAWFLAG_SMOOTH_DEPRECATED
@ MASK_DT_BLACK
@ MASK_DT_WHITE
@ MASK_DT_DASH
@ MASK_DT_OUTLINE
@ MASK_LAYERFLAG_LOCKED
@ MASK_LAYERFLAG_FILL_OVERLAP
@ MASK_LAYERFLAG_FILL_DISCRETE
@ MASK_LAYERFLAG_SELECT
@ MASK_SHAPE_SELECT
@ MASK_SPLINE_CYCLIC
@ MASK_SPLINE_NOINTERSECT
@ MASK_SPLINE_NOFILL
@ MASK_SPLINE_INTERP_EASE
@ MASK_SPLINE_INTERP_LINEAR
@ MASK_SPLINE_OFFSET_SMOOTH
@ MASK_SPLINE_OFFSET_EVEN
unsigned long long int uint64_t
Definition DNA_ID.h:414
float value[MASK_OBJECT_SHAPE_ELEM_SIZE]
struct MaskLayerShape * prev
struct MaskLayerShape * next
struct MaskLayer * next
ListBase splines_shapes
char visibility_flag
ListBase splines
struct MaskLayer * prev
struct MaskSplinePoint * act_point
char name[64]
struct MaskSpline * act_spline
char parent[64]
float parent_orig[2]
float parent_corners_orig[4][2]
char sub_parent[64]
MaskSplinePointUW * uw
MaskParent parent
MaskParent parent
struct MaskSpline * prev
MaskSplinePoint * points_deform
struct MaskSpline * next
MaskSplinePoint * points
uint64_t last_update
ListBase masklayers
Mask_Runtime runtime
int masklay_tot
struct AnimData * adt
char _pad[4]
int masklay_act