00001
00002
00003
00004
00005
00006
00007
00008 #ifndef RouteMaker_Header
00009 #define RouteMaker_Header
00010
00011 #include <iostream>
00012 #include <string>
00013 #include <sstream>
00014
00015 #include <qapplication.h>
00016 #include <qmainwindow.h>
00017 #include <qcanvas.h>
00018 #include <qpainter.h>
00019 #include <qpixmap.h>
00020 #include <qstring.h>
00021 #include <qrect.h>
00022 #include <qimage.h>
00023 #include <qlayout.h>
00024 #include <qdatastream.h>
00025 #include <qbuffer.h>
00026 #include <qcstring.h>
00027 #include <qdatastream.h>
00028 #include <qiodevice.h>
00029 #include <qvariant.h>
00030 #include <qfont.h>
00031
00032
00033 #include <math.h>
00034 #include <stdio.h>
00035 #include <float.h>
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047 using namespace std;
00048
00049
00050 const int Z1 = 1;
00051 const int Z2 = 3;
00052 const int Z3 = 6;
00053 const int Z4 = 9;
00054 const int Z5 = 12;
00055 const int Z6 = 15;
00056 const int Z7 = 18;
00057 const int Z8 = 21;
00058 const int Z9 = 24;
00059 const int Z10 = 30;
00060
00062 class RouteMaker : public QMainWindow {
00063
00064 Q_OBJECT
00065
00066 public:
00067
00069 RouteMaker(int x, int y, int zoom);
00070 virtual ~RouteMaker();
00072 void loadTiles(int x,int y, int zoom);
00074 void drawRoute(double xa, double ya, double xb, double yb);
00076 void drawText(string road,double fx,double fy,double x, double y);
00078 string createPNG();
00080 void icon(double x, double y, int icon);
00081
00082 protected:
00083
00084 private:
00085
00087 QCanvas* m_canvas;
00089 int m_zoom;
00090
00091 int m_xOff;
00092 int m_yOff;
00094 QPen* m_pen;
00096 QPixmap* m_pix;
00097
00099 QCanvasPixmapArray* m_s;
00101 QCanvasPixmapArray* m_e;
00103 QCanvasPixmapArray* m_p;
00105 QCanvasSprite* m_start;
00107 QCanvasSprite* m_end;
00109 QCanvasSprite* m_star;
00111 QCanvasSprite* m_star1;
00112
00113 };
00114
00115 #endif