]> git.mxchange.org Git - flightgear.git/blobdiff - src/GUI/MapWidget.hxx
Support for multiple data dirs.
[flightgear.git] / src / GUI / MapWidget.hxx
index 73990f078900245622341eff0708a60221f181b6..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);
@@ -68,7 +74,9 @@ private:
   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);
@@ -89,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);
   
@@ -100,7 +109,7 @@ private:
   bool _hasPanned;
   
   SGGeod _projectionCenter;
-  bool _orthoAzimuthProject;
+  Projection _projection;
   SGGeod _aircraft;
   SGGeod _clickGeod;
   SGVec2d _hitLocation;