BlenderDev/GGlobalVariable
Wikipedia,自由的百科全书
-- DeveloperWikiJeremyWall - 23 Dec 2004
typedef struct Global {
/* active pointers */ struct View3D *vd; struct View2D *v2d; struct SpaceIpo *sipo; struct SpaceButs *buts; struct SpaceImage *sima; struct SpaceOops *soops; struct SpaceSound *ssound; struct SpaceAction *saction; /* __NLA */ struct SpaceNla *snla; struct Main *main; struct Scene *scene; /* denk aan file.c */ struct bScreen *curscreen; struct Object *obedit; /* fonts, allocated global data */ struct BMF_Font *font, *fonts, *fontss; /* strings: lastsaved */ char ima[160], sce[160], lib[160]; /* totalen */ short totobj, totlamp, totobjsel, totcurve, totmesh, totmat; int totvert, totface, totvertsel, totfacesel; short machine, afbreek, moving, colact, zbuf; short qual, background, imagewin, animspeed; /** * The current version of Blender. */ short version; short simulf, fields, order, rt; int f;
/* Editmode lists */ struct EditMesh *editMesh; float textcurs[4][2]; /* Frank's variables */ int renderd; int real_sfra, real_efra; int save_over;
/* Reevan's __NLA variables */ struct Object *obpose; /* Current posable object */ struct ListBase edbo; /* Armature Editmode bones */ /* Rob's variables */ int have_quicktime; int ui_international;
/* this variable is written to / read from FileGlobal->fileflags */ int fileflags; /* save the allowed windowstate of blender when using -W or -w */ int windowstate;
/* Janco's playing ground */ struct bSoundListener* listener;
/* Test thingy for Nzc */ int magic; /* toggle use of experimental render pipe */ int compat; /* toggle compatibility mode for edge rendering */ int notonlysolid;/* T-> also edge-render transparent faces */ int useRscale; /* bitflag for using colour scaling */ int useGscale; /* bitflag for using colour scaling */ int useBscale; /* bitflag for using colour scaling */ float cscale[4]; /* sliders for colour scaling */ int Rhisto; /* flags for making histograms */ int Ghisto; int Bhisto;
/* special versions */ short special1, special2;
int flags;
} Global;
/* **************** GLOBAL ********************* */
/* G.f */
#define G_DISABLE_OK 1
#define G_PLAYANIM 2
#define G_TEST_DUPLI 4
#define G_SIMULATION 8
#define G_BACKBUFSEL 16
#define G_PICKSEL 32
#define G_DRAWNORMALS 64
#define G_DRAWFACES 128
#define G_FACESELECT 256
#define G_DRAW_EXT 512
#define G_VERTEXPAINT 1024
#define G_ALLEDGES 2048
#define G_DEBUG 4096
#define G_SCENESCRIPT 8192
#define G_PROPORTIONAL 16384
#define G_WEIGHTPAINT 32768 /* __NLA */
#define G_TEXTUREPAINT 65536
#define G_NOFROZEN (1 << 17) // frozen modules inactive
#define G_DRAWEDGES (1 << 18)
#define G_DRAWCREASES (1 << 19)
#define G_DRAWSEAMS (1 << 20)
#define G_HIDDENEDGES (1 << 21)
/* G.fileflags */
#define G_AUTOPACK_BIT 0
#define G_FILE_COMPRESS_BIT 1
#define G_FILE_AUTOPLAY_BIT 2
#define G_FILE_ENABLE_ALL_FRAMES_BIT 3
#define G_FILE_SHOW_DEBUG_PROPS_BIT 4
#define G_FILE_SHOW_FRAMERATE_BIT 5
#define G_FILE_SHOW_PROFILE_BIT 6
#define G_FILE_LOCK_BIT 7
#define G_FILE_SIGN_BIT 8
#define G_FILE_PUBLISH_BIT 9
#define G_FILE_NO_UI_BIT 10
#define G_AUTOPACK (1 << G_AUTOPACK_BIT)
#define G_FILE_COMPRESS (1 << G_FILE_COMPRESS_BIT)
#define G_FILE_AUTOPLAY (1 << G_FILE_AUTOPLAY_BIT)
#define G_FILE_ENABLE_ALL_FRAMES (1 << G_FILE_ENABLE_ALL_FRAMES_BIT)
#define G_FILE_SHOW_DEBUG_PROPS (1 << G_FILE_SHOW_DEBUG_PROPS_BIT)
#define G_FILE_SHOW_FRAMERATE (1 << G_FILE_SHOW_FRAMERATE_BIT)
#define G_FILE_SHOW_PROFILE (1 << G_FILE_SHOW_PROFILE_BIT)
#define G_FILE_LOCK (1 << G_FILE_LOCK_BIT)
#define G_FILE_SIGN (1 << G_FILE_SIGN_BIT)
#define G_FILE_PUBLISH (1 << G_FILE_PUBLISH_BIT)
#define G_FILE_NO_UI (1 << G_FILE_NO_UI_BIT)
/* G.windowstate */
#define G_WINDOWSTATE_USERDEF 0
#define G_WINDOWSTATE_BORDER 1
#define G_WINDOWSTATE_FULLSCREEN 2
/* G.simulf */
#define G_LOADFILE 2
#define G_RESTART 4
#define G_QUIT 8
#define G_SETSCENE 16
/* G.flags: double? */
#define G_FLAGS_AUTOPLAY_BIT 2
#define G_FLAGS_AUTOPLAY (1 << G_FLAGS_AUTOPLAY_BIT)
/* G.qual */
#define R_SHIFTKEY 1
#define L_SHIFTKEY 2
#define LR_SHIFTKEY 3
#define R_ALTKEY 4
#define L_ALTKEY 8
#define LR_ALTKEY 12
#define R_CTRLKEY 16
#define L_CTRLKEY 32
#define LR_CTRLKEY 48
#define LR_COMMANDKEY 64
/* G.order: indicates what endianness the platform where the file was * written had. */
#define L_ENDIAN 1
#define B_ENDIAN 0
