#ifndef GUI_MAPWIDGET_HXX
#define GUI_MAPWIDGET_HXX
+#include <map>
#include <simgear/compiler.h>
#include <simgear/math/SGMath.hxx>
#include <simgear/props/props.hxx>
void setProperty(SGPropertyNode_ptr prop);
private:
+ int zoom() const;
+
void handlePan(int x, int y);
void pan(const SGVec2d& delta);
MapData* getOrCreateDataForKey(void* key);
MapData* createDataForKey(void* key);
void setAnchorForKey(void* key, const SGVec2d& anchor);
+ void clearData();
SGVec2d project(const SGGeod& geod) const;
SGGeod unproject(const SGVec2d& p) const;
double currentScale() const;
+ int displayHeading(double trueHeading) const;
+
void circleAt(const SGVec2d& center, int nSides, double r);
void circleAtAlt(const SGVec2d& center, int nSides, double r, double r2);
void drawLine(const SGVec2d& p1, const SGVec2d& p2);
void drawLegendBox(const SGVec2d& pos, const std::string& t);
int _width, _height;
- int _zoom;
+ int _cachedZoom;
double _drawRangeNm;
double _upHeading; // true heading corresponding to +ve y-axis
bool _magneticHeadings;
+ bool _hasPanned;
SGGeod _projectionCenter;
+ bool _orthoAzimuthProject;
SGGeod _aircraft;
SGGeod _clickGeod;
SGVec2d _hitLocation;