Merging trunk up to r38932.
[blender.git] / source / blender / makesdna / DNA_userdef_types.h
index 16a3b95..b5a1a36 100644 (file)
@@ -1,6 +1,4 @@
-/**
- * blenkernel/DNA_userdef_types.h (mar-2001 nzc)
- *
+/*
  *     $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
 
 #ifndef DNA_USERDEF_TYPES_H
 #define DNA_USERDEF_TYPES_H
+/** \file DNA_userdef_types.h
+ *  \ingroup DNA
+ *  \since mar-2001
+ *  \author nzc
+ *
+ */
 
 #include "DNA_listBase.h"
-#include "DNA_texture_types.h"
+#include "DNA_texture_types.h" /* ColorBand */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 /* themes; defines in BIF_resource.h */
 struct ColorBand;
@@ -45,7 +53,7 @@ struct ColorBand;
 
 /* default uifont_id offered by Blender */
 #define UIFONT_DEFAULT 0
-#define UIFONT_BITMAP  1
+/*#define UIFONT_BITMAP        1*/ /*UNUSED*/
 /* free slots */
 #define UIFONT_CUSTOM1 2
 #define UIFONT_CUSTOM2 3
@@ -84,6 +92,7 @@ typedef struct uiFontStyle {
 
 
 /* this is fed to the layout engine and widget code */
+
 typedef struct uiStyle {
        struct uiStyle *next, *prev;
        
@@ -154,13 +163,13 @@ typedef struct ThemeSpace {
        /* main window colors */
        char back[4];
        char title[4];
-       char text[4];   
+       char text[4];
        char text_hi[4];
        
        /* header colors */
        char header[4];
        char header_title[4];
-       char header_text[4];    
+       char header_text[4];
        char header_text_hi[4];
 
        /* button/tool regions */
@@ -172,7 +181,7 @@ typedef struct ThemeSpace {
        /* listview regions */
        char list[4];
        char list_title[4];
-       char list_text[4];      
+       char list_text[4];
        char list_text_hi[4];
        
        /* float panel */
@@ -188,13 +197,14 @@ typedef struct ThemeSpace {
        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 edge_seam[4], edge_sharp[4], edge_facesel[4], edge_crease[4];
        char face[4], face_select[4];   // solid faces
        char face_dot[4];                               // selected color
+       char extra_edge_len[4], extra_face_angle[4], extra_face_area[4], pad3[4];
        char normal[4];
        char vertex_normal[4];
        char bone_solid[4], bone_pose[4];
@@ -209,8 +219,8 @@ typedef struct ThemeSpace {
        char console_output[4], console_input[4], console_info[4], console_error[4];
        char console_cursor[4];
        
-       char vertex_size, facedot_size;
-       char bpad[2];
+       char vertex_size, outline_width, facedot_size;
+       char bpad;
 
        char syntaxl[4], syntaxn[4], syntaxb[4]; // syntax for textwindow and nodes
        char syntaxv[4], syntaxc[4];
@@ -295,7 +305,7 @@ typedef struct UserDef {
        int savetime;
        char tempdir[160];      // FILE_MAXDIR length
        char fontdir[160];
-       char renderdir[160];
+       char renderdir[240]; // FILE_MAX length
        char textudir[160];
        char plugtexdir[160];
        char plugseqdir[160];
@@ -343,7 +353,8 @@ typedef struct UserDef {
        struct SolidLight light[3];
        short tw_hotspot, tw_flag, tw_handlesize, tw_size;
        short textimeout,texcollectrate;
-       short wmdrawmethod, wmpad;
+       short wmdrawmethod; /* removed wmpad */
+       short dragthreshold;
        int memcachelimit;
        int prefetchframes;
        short frameserverport;
@@ -354,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 ndof_pan, ndof_rotate;
        short curssize;
        short color_picker_type;
        short ipo_new;                  /* interpolation mode for newly added F-Curves */
@@ -363,7 +373,12 @@ typedef struct UserDef {
        short scrcastfps;               /* frame rate for screencast to be played back */
        short scrcastwait;              /* milliseconds between screencast snapshots */
        
-       short propwidth, pad[3]; /* Value for Dual/Single Column UI */
+       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];
@@ -371,8 +386,15 @@ typedef struct UserDef {
        
        short autokey_mode;             /* autokeying mode */
        short autokey_flag;             /* flags for autokeying */
+       
+       short text_render, pad9[3];             /*options for text rendering*/
 
        struct ColorBand coba_weight;   /* from texture.h */
+
+       float sculpt_paint_overlay_col[3];
+       int pad3;
+
+       char author[80];        /* author name for file formats supporting it */
 } UserDef;
 
 extern UserDef U; /* from blenkernel blender.c */
@@ -390,16 +412,16 @@ extern UserDef U; /* from blenkernel blender.c */
 
 /* flag */
 #define USER_AUTOSAVE                  (1 << 0)
-#define USER_AUTOGRABGRID              (1 << 1)
-#define USER_AUTOROTGRID               (1 << 2)
-#define USER_AUTOSIZEGRID              (1 << 3)
+/*#define USER_AUTOGRABGRID            (1 << 1)        deprecated */
+/*#define USER_AUTOROTGRID             (1 << 2)        deprecated */
+/*#define USER_AUTOSIZEGRID            (1 << 3)        deprecated */
 #define USER_SCENEGLOBAL               (1 << 4)
 #define USER_TRACKBALL                 (1 << 5)
-#define USER_DUPLILINK                 (1 << 6)
-#define USER_FSCOLLUM                  (1 << 7)
+/*#define USER_DUPLILINK               (1 << 6)        deprecated */
+/*#define USER_FSCOLLUM                        (1 << 7)        deprecated */
 #define USER_MAT_ON_OB                 (1 << 8)
 /*#define USER_NO_CAPSLOCK             (1 << 9)*/ /* not used anywhere */
-#define USER_VIEWMOVE                  (1 << 10)
+/*#define USER_VIEWMOVE                        (1 << 10)*/ /* not used anywhere */
 #define USER_TOOLTIPS                  (1 << 11)
 #define USER_TWOBUTTONMOUSE            (1 << 12)
 #define USER_NONUMPAD                  (1 << 13)
@@ -415,6 +437,8 @@ extern UserDef U; /* from blenkernel blender.c */
 #define USER_FILENOUI                  (1 << 23)
 #define USER_NONEGFRAMES               (1 << 24)
 #define USER_TXT_TABSTOSPACES_DISABLE  (1 << 25)
+#define USER_TOOLTIPS_PYTHON    (1 << 26)
+#define USER_NO_RECENTLOAD_UPDATE (1 << 27)
 
 /* helper macro for checking frame clamping */
 #define FRAMENUMBER_MIN_CLAMP(cfra) \
@@ -436,10 +460,10 @@ extern UserDef U; /* from blenkernel blender.c */
 #define USER_DRAWVIEWINFO              (1 << 4)
 #define USER_PLAINMENUS                        (1 << 5)                // old EVTTOCONSOLE print ghost events, here for tuhopuu compat. --phase
                                                                // old flag for hide pulldown was here 
-#define USER_FLIPFULLSCREEN            (1 << 7)
+/*#define USER_FLIPFULLSCREEN          (1 << 7)*/ /* deprecated */
 #define USER_ALLWINCODECS              (1 << 8)
 #define USER_MENUOPENAUTO              (1 << 9)
-#define USER_PANELPINNED               (1 << 10)
+/*#define USER_PANELPINNED             (1 << 10)               deprecated */
 #define USER_AUTOPERSP                 (1 << 11)
 #define USER_LOCKAROUND        (1 << 12)
 #define USER_GLOBALUNDO        (1 << 13)
@@ -449,15 +473,17 @@ extern UserDef U; /* from blenkernel blender.c */
 #define USER_HIDE_DOT                  (1 << 16)
 #define USER_SHOW_ROTVIEWICON  (1 << 17)
 #define USER_SHOW_VIEWPORTNAME (1 << 18)
-// old flag for #define USER_KEYINSERTNEED             (1 << 19)
+#define USER_CAM_LOCK_NO_PARENT        (1 << 19)
 #define USER_ZOOM_TO_MOUSEPOS  (1 << 20)
 #define USER_SHOW_FPS                  (1 << 21)
 #define USER_MMB_PASTE                 (1 << 22)
 #define USER_MENUFIXEDORDER            (1 << 23)
 #define USER_CONTINUOUS_MOUSE  (1 << 24)
 #define USER_ZOOM_INVERT               (1 << 25)
-#define USER_ZOOM_DOLLY_HORIZ  (1 << 26)
+#define USER_ZOOM_HORIZ                (1 << 26) /* for CONTINUE and DOLLY zoom */
 #define USER_SPLASH_DISABLE            (1 << 27)
+#define USER_HIDE_RECENT               (1 << 28)
+#define USER_SHOW_THUMBNAILS   (1 << 29)
 
 /* Auto-Keying mode */
        /* AUTOKEY_ON is a bitflag */
@@ -474,20 +500,20 @@ extern UserDef U; /* from blenkernel blender.c */
 #define                AUTOKEY_FLAG_INSERTNEEDED       (1<<1)
 #define                AUTOKEY_FLAG_AUTOMATKEY         (1<<2)
 #define                AUTOKEY_FLAG_XYZ2RGB            (1<<3)
-       /* U.autokey_flag (strictly autokeying only) */
+
+/* toolsettings->autokey_flag */
 #define        AUTOKEY_FLAG_ONLYKEYINGSET      (1<<6)
-       /* toolsettings->autokey_flag */
 #define        ANIMRECORD_FLAG_WITHNLA         (1<<10)
 
 /* transopts */
 #define        USER_TR_TOOLTIPS                (1 << 0)
 #define        USER_TR_BUTTONS                 (1 << 1)
 #define USER_TR_MENUS                  (1 << 2)
-#define USER_TR_FILESELECT             (1 << 3)
-#define USER_TR_TEXTEDIT               (1 << 4)
+/*#define USER_TR_FILESELECT   (1 << 3)        deprecated*/
+/*#define USER_TR_TEXTEDIT             (1 << 4)        deprecated*/
 #define USER_DOTRANSLATE               (1 << 5)
 #define USER_USETEXTUREFONT            (1 << 6)
-#define CONVERT_TO_UTF8                        (1 << 7)
+/*#define CONVERT_TO_UTF8                      (1 << 7)        deprecated*/
 
 /* dupflag */
 #define USER_DUP_MESH                  (1 << 0)
@@ -504,7 +530,7 @@ extern UserDef U; /* from blenkernel blender.c */
 #define        USER_DUP_PSYS                   (1 << 11)
 
 /* gameflags */
-#define USER_DEPRECATED_FLAG   1
+// #define USER_DEPRECATED_FLAG        1
 // #define USER_DISABLE_SOUND          2 deprecated, don't use without checking for
 // backwards compatibilty in do_versions!
 #define USER_DISABLE_MIPMAP            4
@@ -518,6 +544,9 @@ extern UserDef U; /* from blenkernel blender.c */
 #define USER_DRAW_AUTOMATIC            3
 #define USER_DRAW_OVERLAP_FLIP 4
 
+/* text draw options*/
+#define USER_TEXT_DISABLE_AA   (1 << 0)
+
 /* tw_flag (transform widget) */
 
 /* gp_settings (Grease Pencil Settings) */
@@ -552,4 +581,30 @@ extern UserDef U; /* from blenkernel blender.c */
 #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
+
 #endif