1#ifndef OSMSCOUT_CLIENT_QT_MAPRENDERER_H
2#define OSMSCOUT_CLIENT_QT_MAPRENDERER_H
26#include <osmscoutclient/DBThread.h>
46 QMap<QString,QMap<osmscout::TileKey,osmscout::TileRef>> tiles;
47 osmscout::MapParameter *drawParameter;
50 bool drawCanvasBackground;
53 std::vector<OverlayObjectRef> overlayObjects;
58 QMap<QString,QMap<osmscout::TileKey,osmscout::TileRef>> tiles,
59 osmscout::MapParameter *drawParameter,
61 std::vector<OverlayObjectRef> overlayObjects,
63 bool drawCanvasBackground=
true,
64 bool renderBasemap=
true,
65 bool renderDatabases=
true);
70 const std::list<DBInstanceRef> &allDatabases,
93#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
94 QMutex
lock{QMutex::Recursive};
127 [
this](
const double &d){
132 Slot<bool> renderSeaSlot{
133 [
this](
const bool &b){
138 Slot<std::string> fontNameSlot{
139 [
this](
const std::string &str){
140 fontNameSignal(QString::fromStdString(str));
144 Slot<double> fontSizeSlot{
145 [
this](
const double &d){
150 Slot<bool> showAltLanguageSlot{
151 [
this](
const bool &b){
152 showAltLanguageSignal(b);
156 Slot<std::string> unitsSlot{
157 [
this](
const std::string &str){
158 unitsSignal(QString::fromStdString(str));
162 Slot<> stylesheetFilenameChangedSlot{ std::bind(&MapRenderer::stylesheetFilenameChanged,
this) };
163 Slot<GeoBox> databaseLoadFinishedSlot{ std::bind(&MapRenderer::databaseLoadFinished,
this, std::placeholders::_1) };
188 osmscout::GeoBox requestBox)
const;
200 const MapViewStruct& request) = 0;
#define OSMSCOUT_CLIENT_QT_API
Definition ClientQtImportExport.h:45
~DBRenderJob() override=default
bool IsSuccess() const
Definition MapRenderer.h:73
void Run(const osmscout::BasemapDatabaseRef &basemapDatabase, const std::list< DBInstanceRef > &allDatabases, ReadLock &&locker) override
DBRenderJob(osmscout::MercatorProjection renderProjection, QMap< QString, QMap< osmscout::TileKey, osmscout::TileRef > > tiles, osmscout::MapParameter *drawParameter, QPainter *p, std::vector< OverlayObjectRef > overlayObjects, StyleConfigRef emptyStyleConfig, bool drawCanvasBackground=true, bool renderBasemap=true, bool renderDatabases=true)
void showAltLanguageSignal(bool)
void fontSizeSignal(double)
void getOverlayObjects(std::vector< OverlayObjectRef > &objs, osmscout::GeoBox requestBox) const
double fontSize
Definition MapRenderer.h:103
virtual void onShowAltLanguageChanged(bool)
osmscout::GeoBox overlayObjectsBox() const
QThread * thread
Definition MapRenderer.h:89
void databaseLoadFinished(const osmscout::GeoBox &geoBox)
void unitsSignal(QString)
void stylesheetFilenameChanged()
virtual void onRenderSeaChanged(bool)
void removeAllOverlayObjects()
bool showAltLanguage
Definition MapRenderer.h:105
virtual bool RenderMap(QPainter &painter, const MapViewStruct &request)=0
virtual void Initialize()=0
virtual void onFontNameChanged(const QString &)
QString units
Definition MapRenderer.h:106
void removeOverlayObject(int id)
void mapDpiChangeSignal(double)
void renderSeaSignal(bool)
void addOverlayObject(int id, const OverlayObjectRef &obj)
bool renderSea
Definition MapRenderer.h:100
double mapDpi
Definition MapRenderer.h:99
virtual void InvalidateVisualCache()=0
QMutex overlayLock
Definition MapRenderer.h:108
virtual void onUnitsChanged(const QString &)
MapRenderer(QThread *thread, SettingsRef settings, DBThreadRef dbThread, QString iconDirectory)
virtual void onFontSizeChanged(double)
virtual void onStylesheetFilenameChanged()
QString fontName
Definition MapRenderer.h:102
virtual void onMapDPIChange(double dpi)
void fontNameSignal(QString)
QString iconDirectory
Definition MapRenderer.h:104
std::map< int, OverlayObjectRef > getOverlayObjects() const
virtual void onDatabaseLoaded(osmscout::GeoBox boundingBox)=0
QRecursiveMutex lock
Definition MapRenderer.h:96
SettingsRef settings
Definition MapRenderer.h:90
DBThreadRef dbThread
Definition MapRenderer.h:91
std::map< int, OverlayObjectRef > overlayObjectMap
Definition MapRenderer.h:109
Definition MercatorProjection.h:40
Definition ReadWriteLock.h:115
std::shared_ptr< TypeConfig > TypeConfigRef
Definition TypeConfig.h:1396
std::shared_ptr< BasemapDatabase > BasemapDatabaseRef
Reference counted reference to an Database instance.
Definition BasemapDatabase.h:88
std::shared_ptr< StyleConfig > StyleConfigRef
Definition StyleConfig.h:859
std::shared_ptr< MapData > MapDataRef
Definition MapData.h:63
std::shared_ptr< OverlayObject > OverlayObjectRef
Definition OverlayObject.h:232
std::shared_ptr< MapRenderer > MapRendererRef
Definition MapRenderer.h:210