1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2024-10-06 06:43:22 +02:00

Do not have a separate class/file for ENC style retrieving, move

the stuff to the ENC raster tile constructor
This commit is contained in:
Martin Tůma 2023-12-21 16:57:11 +01:00
parent 6f32c73684
commit 502a7b4129
7 changed files with 33 additions and 37 deletions

View File

@ -134,7 +134,6 @@ HEADERS += src/common/config.h \
src/map/encjob.h \
src/map/encmap.h \
src/map/ENC/iso8211.h \
src/map/encstyle.h \
src/map/gemfmap.h \
src/map/gmifile.h \
src/map/oruxmap.h \
@ -350,7 +349,6 @@ SOURCES += src/main.cpp \
src/map/encatlas.cpp \
src/map/encmap.cpp \
src/map/ENC/iso8211.cpp \
src/map/encstyle.cpp \
src/map/gemfmap.cpp \
src/map/gmifile.cpp \
src/map/oruxmap.cpp \

View File

@ -17,6 +17,12 @@ typedef QSet<Coordinates> PointSet;
static const float C1 = 0.866025f; /* sqrt(3)/2 */
static const QColor haloColor(Qt::white);
static const Style *style()
{
static ENC::Style s;
return &s;
}
static double area(const QVector<Coordinates> &polygon)
{
double area = 0;
@ -397,3 +403,23 @@ void RasterTile::render()
_valid = true;
}
RasterTile::RasterTile(const Projection &proj, const Transform &transform,
const MapData *data, int zoom, const Range &zoomRange, const QRect &rect,
qreal ratio) :
_proj(proj), _transform(transform), _map(data), _atlas(0), _zoom(zoom),
_zoomRange(zoomRange), _rect(rect), _ratio(ratio),
_pixmap(rect.width() * ratio, rect.height() * ratio), _valid(false)
{
_style = style();
}
RasterTile::RasterTile(const Projection &proj, const Transform &transform,
AtlasData *data, int zoom, const Range &zoomRange, const QRect &rect,
qreal ratio) :
_proj(proj), _transform(transform), _map(0), _atlas(data), _zoom(zoom),
_zoomRange(zoomRange), _rect(rect), _ratio(ratio),
_pixmap(rect.width() * ratio, rect.height() * ratio), _valid(false)
{
_style = style();
}

View File

@ -18,17 +18,11 @@ class RasterTile
{
public:
RasterTile(const Projection &proj, const Transform &transform,
const Style *style, const MapData *data, int zoom, const Range &zoomRange,
const QRect &rect, qreal ratio) : _proj(proj), _transform(transform),
_style(style), _map(data), _atlas(0), _zoom(zoom), _zoomRange(zoomRange),
_rect(rect), _ratio(ratio), _pixmap(rect.width() * ratio, rect.height()
* ratio), _valid(false) {}
const MapData *data, int zoom, const Range &zoomRange, const QRect &rect,
qreal ratio);
RasterTile(const Projection &proj, const Transform &transform,
const Style *style, AtlasData *data, int zoom, const Range &zoomRange,
const QRect &rect, qreal ratio) : _proj(proj), _transform(transform),
_style(style), _map(0), _atlas(data), _zoom(zoom), _zoomRange(zoomRange),
_rect(rect), _ratio(ratio), _pixmap(rect.width() * ratio, rect.height()
* ratio), _valid(false) {}
AtlasData *data, int zoom, const Range &zoomRange, const QRect &rect,
qreal ratio);
int zoom() const {return _zoom;}
QPoint xy() const {return _rect.topLeft();}

View File

@ -5,7 +5,6 @@
#include "rectd.h"
#include "pcs.h"
#include "encjob.h"
#include "encstyle.h"
#include "encatlas.h"
using namespace ENC;
@ -358,7 +357,7 @@ void ENCAtlas::draw(QPainter *painter, const QRectF &rect, Flags flags)
painter->drawPixmap(ttl, pm);
else
tiles.append(RasterTile(_projection, _transform,
ENCStyle::style(), _data.value(_usage), _zoom, zooms(_usage),
_data.value(_usage), _zoom, zooms(_usage),
QRect(ttl, QSize(TILE_SIZE, TILE_SIZE)), _tileRatio));
}
}

View File

@ -5,7 +5,6 @@
#include "rectd.h"
#include "pcs.h"
#include "encjob.h"
#include "encstyle.h"
#include "encmap.h"
@ -324,9 +323,8 @@ void ENCMap::draw(QPainter *painter, const QRectF &rect, Flags flags)
if (QPixmapCache::find(key(_zoom, ttl), &pm))
painter->drawPixmap(ttl, pm);
else
tiles.append(RasterTile(_projection, _transform,
ENCStyle::style(), _data, _zoom, _zooms,
QRect(ttl, QSize(TILE_SIZE, TILE_SIZE)), _tileRatio));
tiles.append(RasterTile(_projection, _transform, _data, _zoom,
_zooms, QRect(ttl, QSize(TILE_SIZE, TILE_SIZE)), _tileRatio));
}
}

View File

@ -1,7 +0,0 @@
#include "encstyle.h"
const ENC::Style *ENCStyle::style()
{
static ENC::Style s;
return &s;
}

View File

@ -1,12 +0,0 @@
#ifndef ENCSTYLE_H
#define ENCSTYLE_H
#include "ENC/style.h"
class ENCStyle
{
public:
static const ENC::Style *style();
};
#endif // ENCSTYLE_H