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 {
|
||||
return cache->cacheRoot();
|
||||
}
|
||||
@@ -258,6 +264,11 @@ void MapView::wheelEvent(QWheelEvent * e) {
|
||||
void MapView::paintEvent(QPaintEvent *) {
|
||||
QPainter p(this);
|
||||
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);
|
||||
updateMouse(mapFromGlobal(QCursor::pos()));
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ class QAD_MAP_EXPORT MapView: public QWidget {
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(QPointF center READ center WRITE setCenter)
|
||||
Q_PROPERTY(double zoom READ getZoom WRITE setZoom)
|
||||
Q_PROPERTY(double contrast READ getContrast WRITE setContrast)
|
||||
Q_PROPERTY(bool offlineMode READ isOfflineMode WRITE setOfflineMode)
|
||||
|
||||
friend class MapViewTileDownloader;
|
||||
@@ -58,6 +59,12 @@ public:
|
||||
double getZoom() const { return zoom_; }
|
||||
void setZoom(double z);
|
||||
|
||||
double getContrast() const { return contrast; }
|
||||
|
||||
/// 0 - 100
|
||||
void setContrast(double value);
|
||||
|
||||
/// {lat, lng}
|
||||
QPointF clickedCoordinate() const { return last_click_coord; }
|
||||
|
||||
QString cachePath() const;
|
||||
@@ -107,7 +114,7 @@ private:
|
||||
QVector<MapItemBase *> items_;
|
||||
QBrush brush_tr;
|
||||
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;
|
||||
|
||||
public slots:
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "mapview_types.h"
|
||||
#include "qad_map_export.h"
|
||||
|
||||
#include <QObject>
|
||||
#include <QPixmap>
|
||||
#include <pivaluetree.h>
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "mapplugin.h"
|
||||
|
||||
#include "mapview.h"
|
||||
#include "mapview_tile_provider_osm.h"
|
||||
|
||||
#include <QtCore/QtPlugin>
|
||||
|
||||
@@ -26,6 +27,7 @@ bool MapPlugin::isInitialized() const {
|
||||
|
||||
QWidget * MapPlugin::createWidget(QWidget * parent) {
|
||||
MapView * w = new MapView(parent);
|
||||
w->setTileProvider(new MapViewTileProvider_OSM());
|
||||
return w;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user