]> git.mxchange.org Git - flightgear.git/blobdiff - src/GUI/MapWidget.hxx
Support for multiple data dirs.
[flightgear.git] / src / GUI / MapWidget.hxx
index e855a2fce16d891c341296a0f0fa74049602c3af..0a826f761b61884c79c0db3b2a2460ef0d173e55 100644 (file)
@@ -33,6 +33,12 @@ public:
     
   void setProperty(SGPropertyNode_ptr prop);
 private:
+    enum Projection {
+        PROJECTION_SAMSON_FLAMSTEED,
+        PROJECTION_ORTHO_AZIMUTH,
+        PROJECTION_SPHERICAL
+    };
+    
   int zoom() const;
   
   void handlePan(int x, int y);
@@ -63,9 +69,14 @@ private:
   void drawILS(bool tuned, FGRunway* rwy);
   
   void drawNavaids();
+  void drawPOIs();
   void drawNDB(bool tuned, FGNavRecord* nav);
   void drawVOR(bool tuned, FGNavRecord* nav);
   void drawFix(FGFix* fix);
+
+  void drawCountries(FGNavRecord* rec);
+  void drawCities(FGNavRecord* rec);
+  void drawTowns(FGNavRecord* rec);
   
   void drawTraffic();
   void drawAIAircraft(const SGPropertyNode* model, const SGGeod& pos, double hdg);
@@ -86,6 +97,7 @@ private:
   
   void circleAt(const SGVec2d& center, int nSides, double r);
   void circleAtAlt(const SGVec2d& center, int nSides, double r, double r2);
+  void squareAt(const SGVec2d& center, double r);
   void drawLine(const SGVec2d& p1, const SGVec2d& p2);
   void drawLegendBox(const SGVec2d& pos, const std::string& t);
   
@@ -97,7 +109,7 @@ private:
   bool _hasPanned;
   
   SGGeod _projectionCenter;
-  bool _orthoAzimuthProject;
+  Projection _projection;
   SGGeod _aircraft;
   SGGeod _clickGeod;
   SGVec2d _hitLocation;