00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef GLOBAL_H
00026 #define GLOBAL_H
00027
00028
00029 #define WDSMAP_VERSION "0.3"
00030
00031 #ifdef WIN32
00032 #define WIN32_LEAN_AND_MEAN
00033
00034 #pragma warning(disable: 4786) // disable map warnings
00035
00036
00037 #define SHOW_TOOLTIPS
00038 #endif
00039
00040
00041 #include <wx/wx.h>
00042 #include <wx/image.h>
00043 #include <wx/glcanvas.h>
00044 #include <wx/busyinfo.h>
00045 #include <wx/tipwin.h>
00046 #include <wx/confbase.h>
00047 #include <wx/fileconf.h>
00048
00049 #define PI 3.1415926535897932384626433832795029
00050
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061 #include <algorithm>
00062 #include <iostream>
00063 #include <fstream>
00064 #include <string>
00065 #include <vector>
00066 #include <map>
00067
00068 using namespace std;
00069
00070
00071
00072 typedef unsigned int UINT;
00073 typedef unsigned char BYTE;
00074
00090 class Rect
00091 {
00092 public:
00094 Rect() {}
00102 Rect(int _x, int _y, int _w, int _h) : x(_x), y(_y), w(_w), h(_h) { }
00103
00105 int Left () const { return x; }
00107 int Top () const { return y; }
00109 int Right () const { return x+w; }
00111 int Bottom() const { return y+h; }
00112
00118 bool RectIntersect(const Rect *rcSrc ) const
00119 {
00120 return (max(x, rcSrc->x) < min(x + w, rcSrc->x + rcSrc->w) &&
00121 max(y, rcSrc->y) < min(y + h, rcSrc->y + rcSrc->h));
00122 }
00123
00129 void Inflate( int dx, int dy )
00130 {
00131 x -= dx;
00132 w += 2*dx;
00133 y -= dy;
00134 h += 2*dy;
00135 }
00136
00144 void Set( int x, int y, int w, int h )
00145 {
00146 this->x = x;
00147 this->y = y;
00148 this->w = w;
00149 this->h = h;
00150 }
00151
00152 public:
00153
00154 int x, y;
00155 int w, h;
00156 };
00157
00164 inline istream& eatwhite( istream& is )
00165 {
00166 char c;
00167 while( is.get(c) )
00168 {
00169 if( !isspace(c) )
00170 {
00171 is.putback(c);
00172 break;
00173 }
00174 }
00175 return is;
00176 }
00177
00178 #endif // GLOBAL_H
00179
00180