1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2024-10-07 07:13:21 +02:00
GPXSee/src/map/mapsource.h

60 lines
924 B
C
Raw Normal View History

2018-01-29 00:19:57 +01:00
#ifndef MAPSOURCE_H
#define MAPSOURCE_H
#include <QList>
#include "common/range.h"
#include "common/rectc.h"
class Map;
class QXmlStreamReader;
2018-01-29 00:19:57 +01:00
class MapSource
{
public:
2018-02-20 23:37:19 +01:00
Map *loadFile(const QString &path);
const QString &errorString() const {return _errorString;}
private:
enum Type {
TMS,
WMTS
};
struct TMSConfig {
Range zooms;
RectC bounds;
TMSConfig();
};
struct WMTSConfig {
QString layer;
QString style;
QString set;
QString format;
bool rest;
bool yx;
2018-03-11 10:31:41 +01:00
QList<QPair<QString, QString> > dimensions;
WMTSConfig() : format("image/png"), rest(false), yx(false) {}
};
struct Config {
QString name;
QString url;
Type type;
WMTSConfig wmts;
TMSConfig tms;
Config() : type(TMS) {}
};
2018-02-27 21:50:29 +01:00
RectC bounds(QXmlStreamReader &reader);
Range zooms(QXmlStreamReader &reader);
void map(QXmlStreamReader &reader, Config &config);
QString _errorString;
};
2018-01-29 00:19:57 +01:00
#endif // MAPSOURCE_H