2015-11-23 02:33:01 +01:00
|
|
|
#ifndef MAP_H
|
|
|
|
#define MAP_H
|
|
|
|
|
2017-03-18 01:30:31 +01:00
|
|
|
#include <QObject>
|
|
|
|
#include <QString>
|
|
|
|
#include <QRectF>
|
2017-09-15 00:07:09 +02:00
|
|
|
#include <QColor>
|
2018-03-06 19:28:07 +01:00
|
|
|
#include "common/coordinates.h"
|
2015-11-26 00:21:11 +01:00
|
|
|
|
2017-03-18 01:30:31 +01:00
|
|
|
class QPainter;
|
2017-06-29 22:29:27 +02:00
|
|
|
class RectC;
|
2017-02-07 23:36:06 +01:00
|
|
|
|
2015-11-23 02:33:01 +01:00
|
|
|
class Map : public QObject
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
2018-03-06 19:28:07 +01:00
|
|
|
Map(QObject *parent = 0) : QObject(parent), _backgroundColor(Qt::white) {}
|
2018-03-08 00:57:09 +01:00
|
|
|
virtual ~Map() {}
|
2015-11-23 02:33:01 +01:00
|
|
|
|
2017-03-18 01:30:31 +01:00
|
|
|
virtual const QString &name() const = 0;
|
2016-04-01 19:25:34 +02:00
|
|
|
|
2017-03-18 01:30:31 +01:00
|
|
|
virtual QRectF bounds() const = 0;
|
2018-02-28 22:19:46 +01:00
|
|
|
virtual qreal resolution(const QRectF &rect) const = 0;
|
2015-11-23 02:33:01 +01:00
|
|
|
|
2018-02-28 22:19:46 +01:00
|
|
|
virtual int zoom() const = 0;
|
|
|
|
virtual int zoomFit(const QSize &size, const RectC &br) = 0;
|
|
|
|
virtual int zoomIn() = 0;
|
|
|
|
virtual int zoomOut() = 0;
|
2015-11-23 02:33:01 +01:00
|
|
|
|
2017-04-30 00:19:53 +02:00
|
|
|
virtual QPointF ll2xy(const Coordinates &c) = 0;
|
|
|
|
virtual Coordinates xy2ll(const QPointF &p) = 0;
|
2016-05-19 01:10:40 +02:00
|
|
|
|
2017-03-18 01:30:31 +01:00
|
|
|
virtual void draw(QPainter *painter, const QRectF &rect) = 0;
|
2016-05-19 01:10:40 +02:00
|
|
|
|
2017-03-18 01:30:31 +01:00
|
|
|
virtual void setBlockingMode(bool block) {Q_UNUSED(block);}
|
|
|
|
virtual void clearCache() {}
|
|
|
|
virtual void load() {}
|
|
|
|
virtual void unload() {}
|
2017-02-07 23:36:06 +01:00
|
|
|
|
2017-09-15 00:07:09 +02:00
|
|
|
void setBackgroundColor(const QColor &color) {_backgroundColor = color;}
|
|
|
|
|
2018-02-20 23:37:19 +01:00
|
|
|
virtual bool isValid() const {return true;}
|
|
|
|
virtual QString errorString() const {return QString();}
|
|
|
|
|
2017-03-18 01:30:31 +01:00
|
|
|
signals:
|
|
|
|
void loaded();
|
2017-09-15 00:07:09 +02:00
|
|
|
|
|
|
|
protected:
|
|
|
|
QColor _backgroundColor;
|
2015-11-23 02:33:01 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // MAP_H
|