00001 // 00002 // drawing fns for nav fn 00003 // 00004 00005 #include <sys/time.h> 00006 #include <stdio.h> 00007 #include <stdlib.h> 00008 00009 #include <FL/Fl.H> 00010 #include <FL/Fl_Double_Window.H> 00011 #include <FL/Fl_Group.H> 00012 #include <FL/Fl_Window.H> 00013 #include <FL/fl_draw.H> 00014 00015 #include "navfn.h" 00016 00017 namespace navfn { 00018 class NavWin 00019 : public Fl_Double_Window 00020 { 00021 public: 00022 NavWin(int w, int h, const char *name); 00023 ~NavWin(); 00024 00025 int nw,nh; // width and height of image 00026 int pw,ph; // width and height of pot field 00027 int dec, inc; // decimation or expansion for display 00028 00029 float maxval; // max potential value 00030 void drawPot(NavFn *nav); // draw everything... 00031 00032 void drawOverlay(); 00033 00034 uchar *im; // image for drawing 00035 int *pc, *pn, *po; // priority buffers 00036 int pce, pne, poe; // buffer sizes 00037 int goal[2]; 00038 int start[2]; 00039 int *path; // path buffer, cell indices 00040 int pathlen; // how many we have 00041 int pathbuflen; // how big the path buffer is 00042 00043 void draw(); // draw the image 00044 }; 00045 };