Blender V4.5
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
46 void *_pad1;
47
50
51typedef struct MaskParent {
52 //* /* Parenting flags */ /* not used. */
53 // int flag;
57 int type;
67 char parent[64];
72 char sub_parent[64];
77 float parent_orig[2];
78
82
83typedef struct MaskSplinePointUW {
85 float u, w;
87 int flag;
89
101
122
123/* one per frame */
124typedef struct MaskLayerShape {
126
128 float *data;
132 int frame;
134 char flag;
135 char _pad[7];
137
138/* cast to this for convenience, not saved */
139#define MASK_OBJECT_SHAPE_ELEM_SIZE 8 /* 3x 2D points + weight + radius == 8 */
140
141#
142#
146
147typedef struct MaskLayer {
148 struct MaskLayer *next, *prev;
149
151 char name[/*MAX_NAME*/ 64];
152
156
166
167 /* blending options */
168 float alpha;
169 char blend;
172 char _pad[7];
173
175 char flag;
179
180// /** #MaskParent::flag */
181// enum {
182// MASK_PARENT_ACTIVE = 1 << 0, /* UNUSED. */
183// };
184
185/* MaskParent->type */
186enum {
187 MASK_PARENT_POINT_TRACK = 0, /* parenting happens to point track */
188 MASK_PARENT_PLANE_TRACK = 1, /* parenting happens to plane track */
189};
190
191/* MaskSpline->flag */
192/* reserve (1 << 0) for SELECT */
193enum {
197};
198
199/* MaskSpline->weight_interp */
200enum {
203};
204
205/* MaskSpline->offset_mode */
206enum {
209};
210
211/* MaskLayer->visibility_flag */
212enum {
216};
217
218/* SpaceClip->mask_draw_flag */
219enum {
220 MASK_DRAWFLAG_SMOOTH_DEPRECATED = 1 << 0, /* Deprecated. */
223};
224
225/* copy of eSpaceImage_UVDT */
226/* SpaceClip->mask_draw_type */
227enum {
232};
233
234/* MaskSpaceInfo->overlay_mode */
239
240/* masklay->blend */
241enum {
251};
252
253/* masklay->blend_flag */
254enum {
256};
257
258/* masklay->flag */
259enum {
262
263 /* no holes */
266};
267
268/* masklay_shape->flag */
269enum {
271};
272
273/* mask->flag */
274enum {
276};
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_DT_BLACK
@ MASK_DT_WHITE
@ MASK_DT_DASH
@ MASK_DT_OUTLINE
@ MASK_BLENDFLAG_INVERT
@ MASK_SPLINE_CYCLIC
@ MASK_SPLINE_NOINTERSECT
@ MASK_SPLINE_NOFILL
@ MASK_SHAPE_SELECT
@ MASK_HIDE_SELECT
@ MASK_HIDE_RENDER
@ MASK_HIDE_VIEW
@ MASK_SPLINE_OFFSET_SMOOTH
@ MASK_SPLINE_OFFSET_EVEN
#define MASK_OBJECT_SHAPE_ELEM_SIZE
eMaskOverlayMode
@ MASK_OVERLAY_COMBINED
@ MASK_OVERLAY_ALPHACHANNEL
@ MASK_DRAWFLAG_SPLINE
@ MASK_DRAWFLAG_OVERLAY
@ MASK_DRAWFLAG_SMOOTH_DEPRECATED
@ 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_SPLINE_INTERP_EASE
@ MASK_SPLINE_INTERP_LINEAR
@ MASK_ANIMF_EXPAND
@ MASK_PARENT_PLANE_TRACK
@ MASK_PARENT_POINT_TRACK
@ MASK_LAYERFLAG_LOCKED
@ MASK_LAYERFLAG_FILL_OVERLAP
@ MASK_LAYERFLAG_FILL_DISCRETE
@ MASK_LAYERFLAG_SELECT
unsigned long long int uint64_t
Definition DNA_ID.h:404
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
void * _pad1
int masklay_tot
struct AnimData * adt
char _pad[4]
int masklay_act