Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/makesdna/DNA_gpencil_modifier_types.h')
-rw-r--r--source/blender/makesdna/DNA_gpencil_modifier_types.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_gpencil_modifier_types.h b/source/blender/makesdna/DNA_gpencil_modifier_types.h
index ca1eac0bde8..0932b7107bb 100644
--- a/source/blender/makesdna/DNA_gpencil_modifier_types.h
+++ b/source/blender/makesdna/DNA_gpencil_modifier_types.h
@@ -47,6 +47,7 @@ typedef enum GpencilModifierType {
eGpencilModifierType_WeightAngle = 23,
eGpencilModifierType_Shrinkwrap = 24,
eGpencilModifierType_Envelope = 25,
+ eGpencilModifierType_Outline = 26,
/* Keep last. */
NUM_GREASEPENCIL_MODIFIER_TYPES,
} GpencilModifierType;
@@ -201,8 +202,18 @@ typedef enum eThickGpencil_Flag {
GP_THICK_WEIGHT_FACTOR = (1 << 7),
} eThickGpencil_Flag;
+typedef struct TimeGpencilModifierSegment {
+ char name[64];
+ /* For path reference. */
+ struct TimeGpencilModifierData *gpmd;
+ int seg_start;
+ int seg_end;
+ int seg_mode;
+ int seg_repeat;
+} TimeGpencilModifierSegment;
typedef struct TimeGpencilModifierData {
GpencilModifierData modifier;
+ struct Material *material;
/** Layer name. */
char layername[64];
/** Custom index for passes. */
@@ -215,7 +226,13 @@ typedef struct TimeGpencilModifierData {
int mode;
/** Start and end frame for custom range. */
int sfra, efra;
+
char _pad[4];
+
+ TimeGpencilModifierSegment *segments;
+ int segments_len;
+ int segment_active_index;
+
} TimeGpencilModifierData;
typedef enum eTimeGpencil_Flag {
@@ -230,8 +247,15 @@ typedef enum eTimeGpencil_Mode {
GP_TIME_MODE_REVERSE = 1,
GP_TIME_MODE_FIX = 2,
GP_TIME_MODE_PINGPONG = 3,
+ GP_TIME_MODE_CHAIN = 4,
} eTimeGpencil_Mode;
+typedef enum eTimeGpencil_Seg_Mode {
+ GP_TIME_SEG_MODE_NORMAL = 0,
+ GP_TIME_SEG_MODE_REVERSE = 1,
+ GP_TIME_SEG_MODE_PINGPONG = 2,
+} eTimeGpencil_Seg_Mode;
+
typedef enum eModifyColorGpencil_Flag {
GP_MODIFY_COLOR_BOTH = 0,
GP_MODIFY_COLOR_STROKE = 1,
@@ -313,6 +337,38 @@ typedef enum eOpacityGpencil_Flag {
GP_OPACITY_WEIGHT_FACTOR = (1 << 8),
} eOpacityGpencil_Flag;
+typedef struct OutlineGpencilModifierData {
+ GpencilModifierData modifier;
+ /** Target stroke origin. */
+ struct Object *object;
+ /** Material for filtering. */
+ struct Material *material;
+ /** Layer name. */
+ char layername[64];
+ /** Custom index for passes. */
+ int pass_index;
+ /** Flags. */
+ int flag;
+ /** Thickness. */
+ int thickness;
+ /** Sample Length. */
+ float sample_length;
+ /** Subdivisions. */
+ int subdiv;
+ /** Custom index for passes. */
+ int layer_pass;
+ /** Material for outline. */
+ struct Material *outline_material;
+} OutlineGpencilModifierData;
+
+typedef enum eOutlineGpencil_Flag {
+ GP_OUTLINE_INVERT_LAYER = (1 << 0),
+ GP_OUTLINE_INVERT_PASS = (1 << 1),
+ GP_OUTLINE_INVERT_LAYERPASS = (1 << 2),
+ GP_OUTLINE_INVERT_MATERIAL = (1 << 3),
+ GP_OUTLINE_KEEP_SHAPE = (1 << 4),
+} eOutlineGpencil_Flag;
+
typedef struct ArrayGpencilModifierData {
GpencilModifierData modifier;
struct Object *object;