merge trunk 16118 -> 116886
[blender.git] / source / blender / blenkernel / BKE_global.h
index 98a0cb99942d0e4f44a400ab290282ee7a4eb008..1cc336db69e640be86dabada852f7bef973426ce 100644 (file)
@@ -7,15 +7,12 @@
  *
  * $Id$ 
  *
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
+ * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License.  See http://www.blender.org/BL/ for information
- * about this.
+ * of the License, or (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -33,7 +30,7 @@
  *
  * Contributor(s): none yet.
  *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
+ * ***** END GPL LICENSE BLOCK *****
  */
 #ifndef BKE_GLOBAL_H
 #define BKE_GLOBAL_H
@@ -62,6 +59,7 @@ struct Object;
 struct bSoundListener;
 struct BMF_Font;
 struct EditMesh;
+struct BME_Glob;
 
 typedef struct Global {
 
@@ -111,6 +109,9 @@ typedef struct Global {
 
        /* Editmode lists */
        struct EditMesh *editMesh;
+       
+       /* Used for BMesh transformations */
+       struct BME_Glob *editBMesh;
     
        float textcurs[4][2];
     
@@ -145,6 +146,9 @@ typedef struct Global {
        int compat;      /* toggle compatibility mode for edge rendering */
        int notonlysolid;/* T-> also edge-render transparent faces       */
        
+       /* ndof device found ? */
+       int ndofdevice;
+       
        /* confusing... G.f and G.flags */
        int flags;
 
@@ -171,25 +175,33 @@ typedef struct Global {
 #define G_WEIGHTPAINT  (1 << 15)       
 #define G_TEXTUREPAINT (1 << 16)
 /* #define G_NOFROZEN  (1 << 17) also removed */
+#define G_GREASEPENCIL         (1 << 17)
 #define G_DRAWEDGES            (1 << 18)
 #define G_DRAWCREASES  (1 << 19)
 #define G_DRAWSEAMS     (1 << 20)
 #define G_HIDDENEDGES   (1 << 21)
-
 /* Measurement info Drawing */
 #define G_DRAW_EDGELEN  (1 << 22) 
 #define G_DRAW_FACEAREA (1 << 23)
 #define G_DRAW_EDGEANG  (1 << 24)
 
-#define G_RECORDKEYS   (1 << 25)
-
+/* #define G_RECORDKEYS        (1 << 25)   also removed */
 /*#ifdef WITH_VERSE*/
 #define G_VERSE_CONNECTED  (1 << 26)
 #define G_DRAW_VERSE_DEBUG (1 << 27)
 /*#endif*/
-
 #define G_DRAWSHARP     (1 << 28) /* draw edges with the sharp flag */
 #define G_SCULPTMODE    (1 << 29)
+#define G_PARTICLEEDIT (1 << 30)
+
+/* #define G_AUTOMATKEYS       (1 << 30)   also removed */
+#define G_HIDDENHANDLES (1 << 31) /* used for curves only */
+#define G_DRAWBWEIGHTS (1 << 31)
+
+/* macro for testing face select mode
+ * Texture paint could be removed since selected faces are not used
+ * however hiding faces is useful */
+#define FACESEL_PAINT_TEST ((G.f&G_FACESELECT) && (G.f & (G_VERTEXPAINT|G_WEIGHTPAINT|G_TEXTUREPAINT))) 
 
 /* G.fileflags */
 
@@ -206,8 +218,15 @@ typedef struct Global {
 #define G_FILE_NO_UI                    (1 << 10)
 #define G_FILE_GAME_TO_IPO              (1 << 11)
 #define G_FILE_GAME_MAT                         (1 << 12)
-#define G_FILE_DIAPLAY_LISTS    (1 << 13)
+#define G_FILE_DISPLAY_LISTS    (1 << 13)
 #define G_FILE_SHOW_PHYSICS             (1 << 14)
+#define G_FILE_GAME_MAT_GLSL    (1 << 15)
+#define G_FILE_GLSL_NO_LIGHTS   (1 << 16)
+#define G_FILE_GLSL_NO_SHADERS  (1 << 17)
+#define G_FILE_GLSL_NO_SHADOWS  (1 << 18)
+#define G_FILE_GLSL_NO_RAMPS    (1 << 19)
+#define G_FILE_GLSL_NO_NODES    (1 << 20)
+#define G_FILE_GLSL_NO_EXTRA_TEX (1 << 21)
 
 /* G.windowstate */
 #define G_WINDOWSTATE_USERDEF          0
@@ -238,9 +257,10 @@ typedef struct Global {
 #define B_ENDIAN       0
 
 /* G.moving, signals drawing in (3d) window to denote transform */
-#define G_TRANSFORM_OBJ                1
-#define G_TRANSFORM_EDIT       2
-#define G_TRANSFORM_MANIP      4
+#define G_TRANSFORM_OBJ                        1
+#define G_TRANSFORM_EDIT               2
+#define G_TRANSFORM_MANIP              4
+#define G_TRANSFORM_PARTICLE   8
 
 /* G.special1 */
 
@@ -253,3 +273,4 @@ extern Global G;
        
 #endif
 
+