svn merge -r 22371:22571 https://svn.blender.org/svnroot/bf-blender/branches/blender2...
[blender-staging.git] / source / blender / makesdna / DNA_scene_types.h
index a0f59338ac19b60024e0ad3d6e345f599c2b1aa1..6efd47d93487fc2bfd28def8419a6b5cd19c6e69 100644 (file)
@@ -434,8 +434,18 @@ typedef struct TimeMarker {
        unsigned int flag;
 } TimeMarker;
 
+typedef struct Paint {
+       /* Array of brushes selected for use in this paint mode */
+       Brush **brushes;
+       int active_brush_index, brush_count;
+       
+       /* WM handle */
+       void *paint_cursor;
+} Paint;
+
 typedef struct ImagePaintSettings {
-       struct Brush *brush;
+       Paint paint;
+
        short flag, tool;
        
        /* for projection painting only */
@@ -470,26 +480,23 @@ typedef struct TransformOrientation {
        float mat[3][3];
 } TransformOrientation;
 
-struct SculptSession;
-typedef struct Sculpt
-{
-       /* Note! a deep copy of this struct must be done header_info.c's copy_scene function */ 
-       /* Data stored only from entering sculptmode until exiting sculptmode */
-       struct SculptSession *session;
-       struct Brush *brush;
+typedef struct Sculpt {
+       Paint paint;
+       
+       /* WM handle */
+       void *cursor;
 
        /* For rotating around a pivot point */
        float pivot[3];
        int flags;
-       /* For the Brush Shape */
-       char texsep;
+
        /* Control tablet input */
        char tablet_size, tablet_strength;
-       char pad[5];
+       char pad[6];
 } Sculpt;
 
 typedef struct VPaint {
-       struct Brush *brush;
+       Paint paint;
 
        float gamma, mul;                       /* should become part of struct Brush? */
        short mode, flag;
@@ -627,6 +634,12 @@ typedef struct bStats {
        int totvert, totface;
 } bStats;
 
+typedef struct UnitSettings {
+       /* Display/Editing unit options for each scene */
+       float scale_length; /* maybe have other unit conversions? */
+       short system;
+       short flag; /* imperial, metric etc */
+} UnitSettings;
 
 typedef struct Scene {
        ID id;
@@ -647,7 +660,7 @@ typedef struct Scene {
        float twmin[3], twmax[3];       /* boundbox of selection for transform widget */
        unsigned int lay;
        
-       
+
        short flag;                                                             /* various settings */
        
        short use_nodes;
@@ -686,6 +699,10 @@ typedef struct Scene {
        /* Game Settings */
        struct GameFraming framing; // XXX  deprecated since 2.5
        struct GameData gm;
+
+       /* Units */
+       struct UnitSettings unit;
+
 } Scene;
 
 
@@ -1088,6 +1105,15 @@ typedef enum SculptFlags {
 #define        SK_RETARGET_ROLL_VIEW                   1
 #define        SK_RETARGET_ROLL_JOINT                  2
 
+/* UnitSettings */
+
+/* UnitSettings->system */
+#define        USER_UNIT_NONE                  0
+#define        USER_UNIT_METRIC                1
+#define        USER_UNIT_IMPERIAL              2
+/* UnitSettings->flag */
+#define        USER_UNIT_OPT_SPLIT             1
+
 
 #ifdef __cplusplus
 }