Merging trunk up to r38932.
[blender.git] / source / blender / makesdna / DNA_userdef_types.h
index 4757c112b09ecf82f97c925e89145923e9886cee..b5a1a36e1265f008199eff43e7e50b8fa716dc7d 100644 (file)
@@ -197,7 +197,7 @@ typedef struct ThemeSpace {
        char grid[4]; 
        
        char wire[4], select[4];
        char grid[4]; 
        
        char wire[4], select[4];
-       char lamp[4];
+       char lamp[4], speaker[4], pad2[4];
        char active[4], group[4], group_active[4], transform[4];
        char vertex[4], vertex_select[4];
        char edge[4], edge_select[4];
        char active[4], group[4], group_active[4], transform[4];
        char vertex[4], vertex_select[4];
        char edge[4], edge_select[4];
@@ -365,7 +365,6 @@ typedef struct UserDef {
        short recent_files;             /* maximum number of recently used files to remember  */
        short smooth_viewtx;    /* miliseconds to spend spinning the view */
        short glreslimit;
        short recent_files;             /* maximum number of recently used files to remember  */
        short smooth_viewtx;    /* miliseconds to spend spinning the view */
        short glreslimit;
-       short ndof_pan, ndof_rotate;
        short curssize;
        short color_picker_type;
        short ipo_new;                  /* interpolation mode for newly added F-Curves */
        short curssize;
        short color_picker_type;
        short ipo_new;                  /* interpolation mode for newly added F-Curves */
@@ -376,6 +375,10 @@ typedef struct UserDef {
        
        short widget_unit;              /* defaults to 20 for 72 DPI setting */
        short anisotropic_filter;
        
        short widget_unit;              /* defaults to 20 for 72 DPI setting */
        short anisotropic_filter;
+       /*short pad[3];                 */
+
+       float ndof_sensitivity; /* overall sensitivity of 3D mouse */
+       int ndof_flag;                  /* flags for 3D mouse */
 
        char versemaster[160];
        char verseuser[160];
 
        char versemaster[160];
        char verseuser[160];
@@ -384,7 +387,7 @@ typedef struct UserDef {
        short autokey_mode;             /* autokeying mode */
        short autokey_flag;             /* flags for autokeying */
        
        short autokey_mode;             /* autokeying mode */
        short autokey_flag;             /* flags for autokeying */
        
-       short text_render, pad9;                /*options for text rendering*/
+       short text_render, pad9[3];             /*options for text rendering*/
 
        struct ColorBand coba_weight;   /* from texture.h */
 
 
        struct ColorBand coba_weight;   /* from texture.h */
 
@@ -578,6 +581,28 @@ extern UserDef U; /* from blenkernel blender.c */
 #define TH_OLDSKOOL    3
 #define TH_SHADED      4
 
 #define TH_OLDSKOOL    3
 #define TH_SHADED      4
 
+/* ndof_flag (3D mouse options) */
+#define NDOF_SHOW_GUIDE     (1 << 0)
+#define NDOF_FLY_HELICOPTER (1 << 1)
+#define NDOF_LOCK_HORIZON   (1 << 2)
+/* the following might not need to be saved between sessions,
+   but they do need to live somewhere accessible... */
+#define NDOF_SHOULD_PAN     (1 << 3)
+#define NDOF_SHOULD_ZOOM    (1 << 4)
+#define NDOF_SHOULD_ROTATE  (1 << 5)
+/* orbit navigation modes
+   only two options, so it's sort of a hyrbrid bool/enum
+   if ((U.ndof_flag & NDOF_ORBIT_MODE) == NDOF_OM_OBJECT)... */
+/*
+#define NDOF_ORBIT_MODE     (1 << 6)
+#define NDOF_OM_TARGETCAMERA 0
+#define NDOF_OM_OBJECT      NDOF_ORBIT_MODE
+*/
+/* actually... users probably don't care about what the mode
+   is called, just that it feels right */
+#define NDOF_ORBIT_INVERT_AXES (1 << 6)
+
+
 #ifdef __cplusplus
 }
 #endif
 #ifdef __cplusplus
 }
 #endif