00001
00009 #ifndef _LGIDEFS_H_
00010 #define _LGIDEFS_H_
00011
00012
00013 typedef unsigned char uchar;
00014 typedef unsigned short ushort;
00015 typedef unsigned int uint;
00016 typedef unsigned long ulong;
00017
00018
00019
00020 #ifndef BEOS
00021
00022 typedef char int8;
00024 typedef unsigned char uint8;
00025 #endif
00026
00027 typedef short int16;
00029 typedef unsigned short uint16;
00030 #ifndef BEOS
00031
00032 typedef int int32;
00034 typedef unsigned int uint32;
00035 #endif
00036
00037 #ifdef _MSC_VER
00038
00039 typedef signed __int64 int64;
00041 typedef unsigned __int64 uint64;
00042 #else
00043
00044 typedef signed long long int64;
00046 typedef unsigned long long uint64;
00047 #endif
00048
00049 #if defined(WIN32)
00050 #if defined _MSC_VER
00051 typedef unsigned short char16;
00052 #else
00053 typedef wchar_t char16;
00054 #endif
00055 #elif defined(MAC)
00056 typedef unsigned short char16;
00057 #else
00092 typedef unsigned int char16;
00093 #endif
00094
00095
00096
00097 #define min(a,b) (((a) < (b)) ? (a) : (b))
00098 #define max(a,b) (((a) > (b)) ? (a) : (b))
00099 #define limit(i,l,u) (((i)<(l)) ? (l) : (((i)>(u)) ? (u) : (i)))
00100 #define makelong(a, b) ((a)<<16 | (b&0xFFFF))
00101 #define loword(a) (a&0xFFFF)
00102 #define hiword(a) (a>>16)
00103 #define LgiSwap(a, b) { int n = a; a = b; b = n; }
00104
00105
00106 #define NOT !
00107 #define AND &&
00108 #define OR ||
00109
00110
00111 #ifndef NULL
00112 #define NULL 0
00113 #endif
00114
00115
00116 #define ZeroObj(obj) memset(&obj, 0, sizeof(obj))
00117 #define CountOf(array) (sizeof(array)/sizeof(array[0]))
00118 #define StrEmpty(s) (s)[0] = 0
00119 #define IsStrEmpty(s) ((NOT s) OR ((s)[0] == 0))
00120
00121 #ifndef MEMORY_DEBUG
00122
00123 #define NEW(obj) new obj
00124 #define DeleteObj(obj) if (obj) { delete obj; obj = 0; }
00125 #define DeleteArray(obj) if (obj) { delete [] obj; obj = 0; }
00126
00127 #endif
00128
00129
00130 #ifdef WIN32
00131
00132 #include "assert.h"
00133 #define LgiAssert(a) assert(a)
00134
00135 #else
00136
00137 extern void _lgi_assert(bool b, char *test, char *file, int line);
00138 #define LgiAssert(b) _lgi_assert(b, #b, __FILE__, __LINE__)
00139
00140 #endif
00141
00142
00143 #define SetFlag(i, f) (i) |= (f)
00144 #define ClearFlag(i, f) (i) &= ~(f)
00145 #define TestFlag(i, f) (((i) & (f)) != 0)
00146
00147
00148
00151 #define LGI_OS_UNKNOWN 0
00154 #define LGI_OS_WIN9X 1
00157 #define LGI_OS_WINNT 2
00160 #define LGI_OS_BEOS 3
00163 #define LGI_OS_LINUX 4
00166 #define LGI_OS_ATHEOS 5
00169 #define LGI_OS_MAC_OS_9 6
00172 #define LGI_OS_MAC_OS_X 7
00173
00174 #define LGI_OS_MAX 8
00175
00176
00177
00179 #define LC_BLACK LgiColour(0)
00180
00181 #define LC_DKGREY LgiColour(1)
00182
00183 #define LC_MIDGREY LgiColour(2)
00184
00185 #define LC_LTGREY LgiColour(3)
00186
00187 #define LC_WHITE LgiColour(4)
00188
00190 #define LC_SHADOW LgiColour(5)
00191
00192 #define LC_LOW LgiColour(6)
00193
00194 #define LC_MED LgiColour(7)
00195
00196 #define LC_HIGH LgiColour(8)
00197
00198 #define LC_LIGHT LgiColour(9)
00199
00201 #define LC_DIALOG LgiColour(10)
00202
00203 #define LC_WORKSPACE LgiColour(11)
00204
00205 #define LC_TEXT LgiColour(12)
00206
00207 #define LC_SELECTION LgiColour(13)
00208
00209 #define LC_SEL_TEXT LgiColour(14)
00210
00211 #define LC_ACTIVE_TITLE LgiColour(15)
00212 #define LC_ACTIVE_TITLE_TEXT LgiColour(16)
00213 #define LC_INACTIVE_TITLE LgiColour(17)
00214 #define LC_INACTIVE_TITLE_TEXT LgiColour(18)
00215
00216 #define LC_MENU_BACKGROUND LgiColour(19)
00217 #define LC_MENU_TEXT LgiColour(20)
00218
00219 #define LC_MAXIMUM 21
00220
00221
00222
00224 #define LCUR_Normal 0
00225
00226 #define LCUR_UpArrow 1
00227
00228 #define LCUR_Cross 2
00229
00230 #define LCUR_Wait 3
00231
00232 #define LCUR_Ibeam 4
00233
00234 #define LCUR_SizeVer 5
00235
00236 #define LCUR_SizeHor 6
00237
00238 #define LCUR_SizeBDiag 7
00239
00240 #define LCUR_SizeFDiag 8
00241
00242 #define LCUR_SizeAll 9
00243
00244 #define LCUR_Blank 10
00245
00246 #define LCUR_SplitV 11
00247
00248 #define LCUR_SplitH 12
00249
00250 #define LCUR_PointingHand 13
00251
00252 #define LCUR_Forbidden 14
00253
00254 #define LCUR_DropCopy 15
00255
00256 #define LCUR_DropMove 16
00257
00258
00259 #define LGI_EF_LCTRL 0x00000001
00260 #define LGI_EF_RCTRL 0x00000002
00261 #define LGI_EF_CTRL (LGI_EF_LCTRL | LGI_EF_RCTRL)
00262
00263 #define LGI_EF_LALT 0x00000004
00264 #define LGI_EF_RALT 0x00000008
00265 #define LGI_EF_ALT (LGI_EF_LALT | LGI_EF_RALT)
00266
00267 #define LGI_EF_LSHIFT 0x00000010
00268 #define LGI_EF_RSHIFT 0x00000020
00269 #define LGI_EF_SHIFT (LGI_EF_LSHIFT | LGI_EF_RSHIFT)
00270
00271 #define LGI_EF_DOWN 0x00000040
00272 #define LGI_EF_DOUBLE 0x00000080
00273 #define LGI_EF_CAPS_LOCK 0x00000100
00274 #define LGI_EF_IS_CHAR 0x00000200
00275 #define LGI_EF_IS_NOT_CHAR 0x00000400
00276
00277
00278 #define LGI_EF_LEFT 0x00001000
00279 #define LGI_EF_MIDDLE 0x00002000
00280 #define LGI_EF_RIGHT 0x00004000
00281
00282
00283
00284
00287 #define LGI_MET_DECOR_X 1
00290 #define LGI_MET_DECOR_Y 2
00293 #define LGI_MET_MENU 3
00294
00295
00296 #ifdef _DEBUG
00297 #define DeclDebugArgs , char *_file, int _line
00298 #define PassDebugArgs , __FILE__, __LINE__
00299 #else
00300 #define DeclDebugArgs
00301 #define PassDebugArgs
00302 #endif
00303
00304
00305 #ifdef MAC
00306 #define LGI_LITTLE_ENDIAN 0
00307 #define LGI_BIG_ENDIAN 1
00308 #else
00309 #define LGI_LITTLE_ENDIAN 1
00310 #define LGI_BIG_ENDIAN 0
00311 #endif
00312
00313 #endif