This repository has been archived on 2023-10-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
blender-archive/source/blender/include/blendef.h

420 lines
9.9 KiB
C++

/* $Id$
*
* ***** BEGIN GPL/BL DUAL 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.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BLENDEF_H
#define BLENDEF_H
/* **************** MAX ********************* */
#define MAXFRAME 300000
#define MAXFRAMEF 300000.0f
#define MINFRAME 1
#define MINFRAMEF 1.0
#define MAXLAMP 32765
/* max length material array, 16 because of bits in matfrom */
#define MAXPICKBUF 10000
#define MAXSEQ 32
/* in Image struct */
#define MAXMIPMAP 10
/* in buttons.c */
#define MAX_EFFECT 20
#ifndef MAXFLOAT
#define MAXFLOAT ((float)3.40282347e+38)
#endif
/* also fill in structs itself, dna cannot handle defines, duplicate with utildefines.h still */
#ifndef FILE_MAXDIR
#define FILE_MAXDIR 160
#define FILE_MAXFILE 80
#endif
#include <float.h>
/* **************** GENERAL ********************* */
// return values
#define RET_OK 0
#define RET_ERROR 1
#define RET_CANCEL 2
#define RET_YES (1 == 1)
#define RET_NO (1 == 0)
#if defined(__sgi) || defined(__sparc) || defined(__sparc__) || defined (__PPC__) || defined (__ppc__) || defined (__BIG_ENDIAN__)
/* big endian */
#define MAKE_ID2(c, d) ( (c)<<8 | (d) )
#define MOST_SIG_BYTE 0
#define BBIG_ENDIAN
#else
/* little endian */
#define MAKE_ID2(c, d) ( (d)<<8 | (c) )
#define MOST_SIG_BYTE 1
#define BLITTLE_ENDIAN
#endif
#define SELECT 1
#define ACTIVE 2
#define DESELECT 0
#define NOT_YET 0
#define TESTBASE(base) ( ((base)->flag & SELECT) && ((base)->lay & G.vd->lay) )
#define TESTBASELIB(base) ( ((base)->flag & SELECT) && ((base)->lay & G.vd->lay) && ((base)->object->id.lib==0))
#define FIRSTBASE G.scene->base.first
#define LASTBASE G.scene->base.last
#define BASACT (G.scene->basact)
#define OBACT (BASACT? BASACT->object: 0)
#define ID_NEW(a) if( (a) && (a)->id.newid ) (a)= (void *)(a)->id.newid
#define ID_NEW_US(a) if( (a)->id.newid) {(a)= (void *)(a)->id.newid; (a)->id.us++;}
#define ID_NEW_US2(a) if( ((ID *)a)->newid) {(a)= ((ID *)a)->newid; ((ID *)a)->us++;}
#define CFRA (G.scene->r.cfra)
#define F_CFRA ((float)(G.scene->r.cfra))
#define SFRA (G.scene->r.sfra)
#define EFRA (G.scene->r.efra)
#define ISPOIN(a, b, c) ( (a->b) && (a->c) )
#define ISPOIN3(a, b, c, d) ( (a->b) && (a->c) && (a->d) )
#define ISPOIN4(a, b, c, d, e) ( (a->b) && (a->c) && (a->d) && (a->e) )
/* psfont */
#define FNT_PDRAW 1
#define FNT_HAEBERLI 2
/* getbutton */
/* do_global_buttons(event) */
// (first event)
#define B_LOCAL_ALONE 20
#define B_ACTLOCAL 24 /* __NLA */
#define B_ACTALONE 25 /* __NLA */
#define B_ARMLOCAL 26 /* __NLA */
#define B_ARMALONE 27 /* __NLA */
#define B_WORLDLOCAL 28
#define B_WORLDALONE 29
#define B_LATTLOCAL 30
#define B_MBALLLOCAL 31
#define B_CAMERALOCAL 32
#define B_OBLOCAL 33
#define B_IPOLOCAL 34
#define B_LAMPLOCAL 35
#define B_MATLOCAL 36
#define B_TEXLOCAL 37
#define B_MESHLOCAL 38
#define B_CURVELOCAL 39
#define B_LATTALONE 40
#define B_MBALLALONE 41
#define B_CAMERAALONE 42
#define B_OBALONE 43
#define B_IPOALONE 44
#define B_LAMPALONE 45
#define B_MATALONE 46
#define B_TEXALONE 47
#define B_MESHALONE 48
#define B_CURVEALONE 49
#define B_HEMESHALONE 50
/* EVENT < 50: alones en locals */
#define B_KEEPDATA 60
#define B_CONSOLETOG 61
#define B_DRAWINFO 62
#define B_REDRCURW3D 63
#define B_FLIPINFOMENU 64
#define B_FLIPFULLSCREEN 65
#define B_PLAINMENUS 66
#define B_SHOWSPLASH 70
#define B_RESETAUTOSAVE 71
#define B_SOUNDTOGGLE 72
#define B_MIPMAPCHANGED 73
#define B_CONSTRAINTBROWSE 74 /* __NLA */
#define B_ACTIONDELETE 75 /* __NLA */
#define B_ACTIONBROWSE 76 /* __NLA */
#define B_IMAGEDELETE 77
#define B_LTEXBROWSE 78
#define B_MESHBROWSE 79
#define B_EXTEXBROWSE 80
#define B_LOADTEMP 81
#define B_MATDELETE 82
#define B_TEXDELETE 83
#define B_IPODELETE 84
#define B_WORLDDELETE 85
#define B_WTEXBROWSE 86
#define B_WORLDBROWSE 87
#define B_IPOBROWSE 88
#define B_NEWFRAME 89
#define B_LAMPBROWSE 90
#define B_MATBROWSE 91
#define B_TEXBROWSE 92
#define B_EDITBROWSE 93
#define B_AUTOTEXNAME 94
#define B_AUTOMATNAME 95
#define B_MATLOCK 96
#define B_IDNAME 97
#define B_NEWSPACE 98
#define B_FULL 99
#define B_REDR 100
/* VIEW3D: 100 */
#define B_HOME 101
#define B_LAY 102
/* watch: codes 102-132 in in use for layers */
#define B_AUTOKEY 139
#define B_SCENELOCK 140
#define B_LOCALVIEW 141
#define B_U_CAPSLOCK 142
#define B_VIEWBUT 146
#define B_PERSP 147
#define B_PROPTOOL 148
#define B_VIEWRENDER 149
#define B_VIEWTRANS 150
#define B_VIEWZOOM 151
#define B_STARTGAME 152
#define B_MODESELECT 156
#define B_AROUND 157
#define B_SEL_VERT 158
#define B_SEL_EDGE 159
#define B_SEL_FACE 160
#define B_MAN_TRANS 161
#define B_MAN_ROT 162
#define B_MAN_SCALE 163
#define B_HEMESHBROWSE 164
#define B_HEMESHLOCAL 165
/* IPO: 200 */
#define B_IPOHOME 201
#define B_IPOBORDER 202
#define B_IPOCOPY 203
#define B_IPOPASTE 204
#define B_IPOCONT 205
#define B_IPOEXTRAP 206
#define B_IPOCYCLIC 207
#define B_IPOMAIN 208
#define B_IPOSHOWKEY 209
#define B_IPOCYCLICX 210
/* warn: also used for oops and seq */
#define B_VIEW2DZOOM 211
#define B_IPOPIN 212
#define B_IPO_ACTION_OB 213
#define B_IPO_ACTION_KEY 214
/* OOPS: 250 */
#define B_OOPSHOME 251
#define B_OOPSBORDER 252
#define B_NEWOOPS 253
#define B_OOPSVIEWSEL 254
/* INFO: 300 */
/* watch: also in filesel.c and editobject.c */
#define B_INFOSCR 301
#define B_INFODELSCR 302
#define B_INFOSCE 304
#define B_INFODELSCE 305
#define B_FILEMENU 306
#define B_PACKFILE 307
#define B_CONSOLEOUT 308
#define B_CONSOLENUMLINES 309
#define B_USERPREF 310
#define B_LOADUIFONT 311
#define B_SETLANGUAGE 312
#define B_SETFONTSIZE 313
#define B_SETENCODING 314
#define B_SETTRANSBUTS 315
#define B_DOLANGUIFONT 316
#define B_RESTOREFONT 317
#define B_USETEXTUREFONT 318
#define B_UITHEMECHANGED 320
#define B_UITHEMECOLORMOD 321
#define B_UITHEMERESET 322
#define B_UITHEMEIMPORT 323
#define B_UITHEMEEXPORT 324
#define B_MEMCACHELIMIT 325
/* Definitions for the fileselect buttons in user prefs */
#define B_FONTDIRFILESEL 330
#define B_TEXTUDIRFILESEL 331
#define B_PLUGTEXDIRFILESEL 332
#define B_PLUGSEQDIRFILESEL 333
#define B_RENDERDIRFILESEL 334
#define B_PYTHONDIRFILESEL 335
#define B_SOUNDDIRFILESEL 336
#define B_TEMPDIRFILESEL 337
/* yafray: for exportdir select */
#define B_YAFRAYDIRFILESEL 338
#define B_PYMENUEVAL 339 /* re-eval scripts registration in menus */
/* END Definitions for the fileselect buttons in user prefs */
/* IMAGE: 350 */
#define B_SIMAGEHOME 351
#define B_SIMABROWSE 352
#define B_SIMAGELOAD 353
#define B_SIMAGEDRAW 354
#define B_BE_SQUARE 355
#define B_SIMAGEDRAW1 356
#define B_TWINANIM 357
#define B_SIMAGEREPLACE 358
#define B_CLIP_UV 359
#define B_SIMAGELOAD1 360
#define B_SIMAGEREPLACE1 361
#define B_SIMAGEPAINTTOOL 362
#define B_SIMAPACKIMA 363
#define B_SIMAGESAVE 364
#define B_SIMACLONEBROWSE 365
#define B_SIMACLONEDELETE 366
#define B_SIMABRUSHCHANGE 367
#define B_SIMANOTHING 368
#define B_SIMACURVES 369
#define B_SIMARANGE 370
#define B_SIMA_USE_ALPHA 371
#define B_SIMA_SHOW_ALPHA 372
#define B_SIMA_SHOW_ZBUF 373
/* BUTS: 400 */
#define B_BUTSHOME 401
#define B_BUTSPREVIEW 402
#define B_MATCOPY 403
#define B_MATPASTE 404
#define B_MESHTYPE 405
#define B_CONTEXT_SWITCH 406
/* IMASEL: 450 */
/* in imasel.h */
/* TEXT: 500 */
#define B_TEXTBROWSE 501
#define B_TEXTALONE 502
#define B_TEXTLOCAL 503
#define B_TEXTDELETE 504
#define B_TEXTFONT 505
#define B_TEXTSTORE 506
#define B_TEXTLINENUM 507
#define B_TAB_NUMBERS 508
#define B_SYNTAX 509
/* SCRIPT: 525 */
#define B_SCRIPTBROWSE 526
#define B_SCRIPT2PREV 527
/* FILE: 550 */
#define B_SORTFILELIST 551
#define B_RELOADDIR 552
/* SEQUENCE: 600 */
#define B_SEQHOME 601
#define B_SEQCLEAR 602
/* SOUND: 650 */
#define B_SOUNDBROWSE 651
#define B_SOUNDBROWSE2 652
#define B_SOUNDHOME 653
#define B_PACKSOUND 654
/* ACTION: 701 - 750 */
#define B_ACTHOME 701
#define B_ACTCOPY 702
#define B_ACTPASTE 703
#define B_ACTPASTEFLIP 704
#define B_ACTCYCLIC 705
#define B_ACTCONT 706
#define B_ACTMAIN 707
#define B_ACTPIN 708
#define B_ACTBAKE 709
/* TIME: 751 - 800 */
#define B_TL_REW 751
#define B_TL_PLAY 752
#define B_TL_FF 753
#define B_TL_PREVKEY 754
#define B_TL_NEXTKEY 755
#define B_TL_STOP 756
/* NLA: 801-850 */
#define B_NLAHOME 801
/* NODE: 851-900 */
#define B_NODEHOME 851
#define B_NODE_USEMAT 852
#define B_NODE_USESCENE 853
/* FREE 901 - 999 */
#define B_NOTHING -1
#define B_NOP -1
/* editbutflag */
#define B_CLOCKWISE 1
#define B_KEEPORIG 2
#define B_BEAUTY 4
#define B_SMOOTH 8
#define B_BEAUTY_SHORT 16
#define B_AUTOFGON 32
#define B_KNIFE 0x80
#define B_PERCENTSUBD 0x40
#define B_MESH_X_MIRROR 0x100
/* DISPLAYMODE */
#define R_DISPLAYVIEW 0
#define R_DISPLAYWIN 1
#define R_DISPLAYAUTO 2
/* Gvp.flag and Gwp.flag */
#define VP_COLINDEX 1
#define VP_AREA 2
#define VP_SOFT 4
#define VP_NORMALS 8
#define VP_SPRAY 16
#define VP_MIRROR_X 32
#endif