fix for Qt6
MapView add contrast property MapView fix plugin
This commit is contained in:
@@ -81,6 +81,12 @@ void MapView::setZoom(double z) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MapView::setContrast(double value) {
|
||||||
|
contrast = piClampd(value, 0., 100.);
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
QString MapView::cachePath() const {
|
QString MapView::cachePath() const {
|
||||||
return cache->cacheRoot();
|
return cache->cacheRoot();
|
||||||
}
|
}
|
||||||
@@ -258,6 +264,11 @@ void MapView::wheelEvent(QWheelEvent * e) {
|
|||||||
void MapView::paintEvent(QPaintEvent *) {
|
void MapView::paintEvent(QPaintEvent *) {
|
||||||
QPainter p(this);
|
QPainter p(this);
|
||||||
p.drawPixmap(0, 0, background);
|
p.drawPixmap(0, 0, background);
|
||||||
|
if (contrast < 100.) {
|
||||||
|
auto col = palette().color(QPalette::Window);
|
||||||
|
col.setAlphaF(1. - contrast / 100.);
|
||||||
|
p.fillRect(rect(), col);
|
||||||
|
}
|
||||||
drawItems(p);
|
drawItems(p);
|
||||||
updateMouse(mapFromGlobal(QCursor::pos()));
|
updateMouse(mapFromGlobal(QCursor::pos()));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ class QAD_MAP_EXPORT MapView: public QWidget {
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
Q_PROPERTY(QPointF center READ center WRITE setCenter)
|
Q_PROPERTY(QPointF center READ center WRITE setCenter)
|
||||||
Q_PROPERTY(double zoom READ getZoom WRITE setZoom)
|
Q_PROPERTY(double zoom READ getZoom WRITE setZoom)
|
||||||
|
Q_PROPERTY(double contrast READ getContrast WRITE setContrast)
|
||||||
Q_PROPERTY(bool offlineMode READ isOfflineMode WRITE setOfflineMode)
|
Q_PROPERTY(bool offlineMode READ isOfflineMode WRITE setOfflineMode)
|
||||||
|
|
||||||
friend class MapViewTileDownloader;
|
friend class MapViewTileDownloader;
|
||||||
@@ -58,6 +59,12 @@ public:
|
|||||||
double getZoom() const { return zoom_; }
|
double getZoom() const { return zoom_; }
|
||||||
void setZoom(double z);
|
void setZoom(double z);
|
||||||
|
|
||||||
|
double getContrast() const { return contrast; }
|
||||||
|
|
||||||
|
/// 0 - 100
|
||||||
|
void setContrast(double value);
|
||||||
|
|
||||||
|
/// {lat, lng}
|
||||||
QPointF clickedCoordinate() const { return last_click_coord; }
|
QPointF clickedCoordinate() const { return last_click_coord; }
|
||||||
|
|
||||||
QString cachePath() const;
|
QString cachePath() const;
|
||||||
@@ -107,7 +114,7 @@ private:
|
|||||||
QVector<MapItemBase *> items_;
|
QVector<MapItemBase *> items_;
|
||||||
QBrush brush_tr;
|
QBrush brush_tr;
|
||||||
bool is_pan = false, is_downloading = false, is_offline = false;
|
bool is_pan = false, is_downloading = false, is_offline = false;
|
||||||
double zoom_ = 1., scale_ = 1., px2m = 1.;
|
double zoom_ = 1., scale_ = 1., px2m = 1., contrast = 100.;
|
||||||
int zoom_level = 0, tiles_side = 1, max_level = 19;
|
int zoom_level = 0, tiles_side = 1, max_level = 19;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
#include "mapview_types.h"
|
#include "mapview_types.h"
|
||||||
#include "qad_map_export.h"
|
#include "qad_map_export.h"
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
#include <QPixmap>
|
#include <QPixmap>
|
||||||
#include <pivaluetree.h>
|
#include <pivaluetree.h>
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#include "mapplugin.h"
|
#include "mapplugin.h"
|
||||||
|
|
||||||
#include "mapview.h"
|
#include "mapview.h"
|
||||||
|
#include "mapview_tile_provider_osm.h"
|
||||||
|
|
||||||
#include <QtCore/QtPlugin>
|
#include <QtCore/QtPlugin>
|
||||||
|
|
||||||
@@ -26,6 +27,7 @@ bool MapPlugin::isInitialized() const {
|
|||||||
|
|
||||||
QWidget * MapPlugin::createWidget(QWidget * parent) {
|
QWidget * MapPlugin::createWidget(QWidget * parent) {
|
||||||
MapView * w = new MapView(parent);
|
MapView * w = new MapView(parent);
|
||||||
|
w->setTileProvider(new MapViewTileProvider_OSM());
|
||||||
return w;
|
return w;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user