]> git.mxchange.org Git - flightgear.git/blobdiff - src/GUI/MapWidget.hxx
Support for multiple data dirs.
[flightgear.git] / src / GUI / MapWidget.hxx
index 0025357172825c99eca084e08eadcd630eee29f3..0a826f761b61884c79c0db3b2a2460ef0d173e55 100644 (file)
@@ -13,6 +13,7 @@
 // forward decls
 class FGRouteMgr;
 class FGRunway;
+class FGHelipad;
 class FGAirport;
 class FGNavRecord;
 class FGFix;
@@ -32,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);
@@ -43,6 +50,7 @@ private:
   void paintAircraftLocation(const SGGeod& aircraftPos);
   void paintRoute();
   void paintRuler();
+  void drawFlightHistory();
   
   void drawGPSData();
   void drawNavRadio(SGPropertyNode_ptr radio);
@@ -57,12 +65,18 @@ private:
   int scoreAirportRunways(FGAirport* apt);
   void drawRunwayPre(FGRunway* rwy);
   void drawRunway(FGRunway* rwy);
+  void drawHelipad(FGHelipad* hp);
   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);
@@ -83,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);
   
@@ -94,7 +109,7 @@ private:
   bool _hasPanned;
   
   SGGeod _projectionCenter;
-  bool _orthoAzimuthProject;
+  Projection _projection;
   SGGeod _aircraft;
   SGGeod _clickGeod;
   SGVec2d _hitLocation;