1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2024-11-24 19:55:53 +01:00
GPXSee/src/map/tile.h

58 lines
1.1 KiB
C
Raw Normal View History

#ifndef TILE_H
#define TILE_H
2018-06-04 23:40:42 +02:00
#include <QVariant>
#include <QPixmap>
#include <QPoint>
2017-11-14 22:15:46 +01:00
#include <QDebug>
#include "rectd.h"
2022-07-06 14:58:41 +02:00
class FetchTile
{
public:
2022-07-06 14:58:41 +02:00
FetchTile() {}
FetchTile(const QPoint &xy, const QVariant &zoom, const RectD &bbox = RectD())
2019-05-20 23:23:24 +02:00
: _xy(xy), _zoom(zoom), _bbox(bbox) {}
const QVariant &zoom() const {return _zoom;}
const QPoint &xy() const {return _xy;}
const RectD &bbox() const {return _bbox;}
2023-05-06 16:14:49 +02:00
QPixmap &pixmap() {return _pixmap;}
private:
QPoint _xy;
QVariant _zoom;
RectD _bbox;
QPixmap _pixmap;
};
2022-07-06 14:58:41 +02:00
class RenderTile
{
public:
RenderTile(const QPoint &xy, const QByteArray &data, const QString &key)
: _xy(xy), _data(data), _key(key) {}
const QPoint &xy() const {return _xy;}
const QString &key() const {return _key;}
const QPixmap &pixmap() const {return _pixmap;}
void load() {_pixmap.loadFromData(_data);}
private:
QPoint _xy;
QByteArray _data;
QString _key;
QPixmap _pixmap;
};
#ifndef QT_NO_DEBUG
2022-07-06 14:58:41 +02:00
inline QDebug operator<<(QDebug dbg, const FetchTile &tile)
2017-11-14 22:15:46 +01:00
{
dbg.nospace() << "Tile(" << tile.zoom() << ", " << tile.xy() << ", "
<< tile.bbox() << ")";
2018-01-21 11:19:46 +01:00
return dbg.space();
2017-11-14 22:15:46 +01:00
}
#endif // QT_NO_DEBUG
2017-11-14 22:15:46 +01:00
#endif // TILE_H