diff options
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_ID.h | 1 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_freestyle_types.h | 36 |
2 files changed, 34 insertions, 3 deletions
diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h index 7c3641db379..b8b35c6ba10 100644 --- a/source/blender/makesdna/DNA_ID.h +++ b/source/blender/makesdna/DNA_ID.h @@ -186,6 +186,7 @@ typedef struct PreviewImage { #define ID_PA MAKE_ID2('P', 'A') /* ParticleSettings */ #define ID_GD MAKE_ID2('G', 'D') /* GreasePencil */ #define ID_WM MAKE_ID2('W', 'M') /* WindowManager */ +#define ID_LS MAKE_ID2('L', 'S') /* FreestyleLineStyle */ /* NOTE! Fake IDs, needed for g.sipo->blocktype or outliner */ #define ID_SEQ MAKE_ID2('S', 'Q') diff --git a/source/blender/makesdna/DNA_freestyle_types.h b/source/blender/makesdna/DNA_freestyle_types.h index c49a47fc22a..8444f6bd29a 100644 --- a/source/blender/makesdna/DNA_freestyle_types.h +++ b/source/blender/makesdna/DNA_freestyle_types.h @@ -2,11 +2,39 @@ #define DNA_FREESTYLE_TYPES_H #include "DNA_listBase.h" +#include "DNA_ID.h" +/* FreestyleConfig::flags */ #define FREESTYLE_SUGGESTIVE_CONTOURS_FLAG 1 #define FREESTYLE_RIDGES_AND_VALLEYS_FLAG 2 #define FREESTYLE_MATERIAL_BOUNDARIES_FLAG 4 +/* FreestyleConfig::mode */ +#define FREESTYLE_CONTROL_SCRIPT_MODE 1 +#define FREESTYLE_CONTROL_EDITOR_MODE 2 + +/* FreestyleLineSet::flags */ +#define FREESTYLE_LINESET_CURRENT 1 +#define FREESTYLE_LINESET_ENABLED 2 + +typedef struct FreestyleLineStyle { + ID id; + +} FreestyleLineStyle; + +typedef struct FreestyleLineSet { + struct FreestyleLineSet *next, *prev; + + char name[32]; /* line set name */ + int flags; + int pad; + + FreestyleLineStyle *linestyle; /* line style */ + + ListBase objects; /* target objects on which stylized lines are drawn */ + +} FreestyleLineSet; + typedef struct FreestyleModuleConfig { struct FreestyleModuleConfig *next, *prev; @@ -19,14 +47,16 @@ typedef struct FreestyleModuleConfig { typedef struct FreestyleConfig { ListBase modules; - int flags; + int mode; /* scripting, editor */ + int flags; /* suggestive contours, ridges/valleys, material boundaries */ float sphere_radius; float dkr_epsilon; float crease_angle; + int pad; -} FreestyleConfig; - + ListBase linesets; +} FreestyleConfig; #endif |