Blender V4.3
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
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
41
42typedef struct MaskParent {
43 //* /* Parenting flags */ /* not used. */
44 // int flag;
48 int type;
58 char parent[64];
63 char sub_parent[64];
68 float parent_orig[2];
69
73
74typedef struct MaskSplinePointUW {
76 float u, w;
78 int flag;
80
92
113
114/* one per frame */
115typedef struct MaskLayerShape {
117
119 float *data;
123 int frame;
125 char flag;
126 char _pad[7];
128
129/* cast to this for convenience, not saved */
130#define MASK_OBJECT_SHAPE_ELEM_SIZE 8 /* 3x 2D points + weight + radius == 8 */
131
132#
133#
137
138typedef struct MaskLayer {
139 struct MaskLayer *next, *prev;
140
142 char name[64];
143
147
157
158 /* blending options */
159 float alpha;
160 char blend;
163 char _pad[7];
164
166 char flag;
170
171// /** #MaskParent::flag */
172// enum {
173// MASK_PARENT_ACTIVE = 1 << 0, /* UNUSED. */
174// };
175
176/* MaskParent->type */
177enum {
178 MASK_PARENT_POINT_TRACK = 0, /* parenting happens to point track */
179 MASK_PARENT_PLANE_TRACK = 1, /* parenting happens to plane track */
180};
181
182/* MaskSpline->flag */
183/* reserve (1 << 0) for SELECT */
184enum {
188};
189
190/* MaskSpline->weight_interp */
191enum {
194};
195
196/* MaskSpline->offset_mode */
197enum {
200};
201
202/* MaskLayer->visibility_flag */
203enum {
207};
208
209/* SpaceClip->mask_draw_flag */
210enum {
211 MASK_DRAWFLAG_SMOOTH_DEPRECATED = 1 << 0, /* Deprecated. */
214};
215
216/* copy of eSpaceImage_UVDT */
217/* SpaceClip->mask_draw_type */
218enum {
223};
224
225/* MaskSpaceInfo->overlay_mode */
230
231/* masklay->blend */
232enum {
242};
243
244/* masklay->blend_flag */
245enum {
247};
248
249/* masklay->flag */
250enum {
253
254 /* no holes */
257};
258
259/* masklay_shape->flag */
260enum {
262};
263
264/* mask->flag */
265enum {
267};
ID and Library types, which are fundamental for SDNA.
These structs are the foundation for all linked lists in the library system.
@ 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_OFFSET_SMOOTH
@ MASK_SPLINE_OFFSET_EVEN
struct MaskParent MaskParent
struct Mask Mask
@ MASK_ANIMF_EXPAND
struct MaskLayer MaskLayer
#define MASK_OBJECT_SHAPE_ELEM_SIZE
eMaskOverlayMode
@ MASK_OVERLAY_COMBINED
@ MASK_OVERLAY_ALPHACHANNEL
@ MASK_SPLINE_CYCLIC
@ MASK_SPLINE_NOINTERSECT
@ MASK_SPLINE_NOFILL
struct MaskSplinePoint MaskSplinePoint
@ MASK_DT_BLACK
@ MASK_DT_WHITE
@ MASK_DT_DASH
@ MASK_DT_OUTLINE
struct MaskSplinePointUW MaskSplinePointUW
struct MaskSpline MaskSpline
@ MASK_PARENT_PLANE_TRACK
@ MASK_PARENT_POINT_TRACK
@ MASK_HIDE_SELECT
@ MASK_HIDE_RENDER
@ MASK_HIDE_VIEW
@ MASK_SPLINE_INTERP_EASE
@ MASK_SPLINE_INTERP_LINEAR
struct MaskLayerShapeElem MaskLayerShapeElem
@ MASK_BLENDFLAG_INVERT
@ MASK_DRAWFLAG_SPLINE
@ MASK_DRAWFLAG_OVERLAY
@ MASK_DRAWFLAG_SMOOTH_DEPRECATED
struct MaskLayerShape MaskLayerShape
@ MASK_LAYERFLAG_LOCKED
@ MASK_LAYERFLAG_FILL_OVERLAP
@ MASK_LAYERFLAG_FILL_DISCRETE
@ MASK_LAYERFLAG_SELECT
@ MASK_SHAPE_SELECT
Definition DNA_ID.h:413
struct MaskLayerShape * prev
struct MaskLayerShape * next
struct MaskLayer * next
ListBase splines_shapes
char visibility_flag
ListBase splines
struct MaskLayer * prev
struct MaskSplinePoint * act_point
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
ListBase masklayers
DrawDataList drawdata
int masklay_tot
struct AnimData * adt
char _pad[4]
int masklay_act