version 2.13.0

add Map library (MapView with OSM maps and items) and mapviewer util
This commit is contained in:
2023-01-20 09:16:42 +03:00
parent 10212e2ebd
commit 958c81fb1d
46 changed files with 2383 additions and 1 deletions

38
libs/map/mapitemimage.cpp Normal file
View File

@@ -0,0 +1,38 @@
#include "mapitemimage.h"
MapItemImage::MapItemImage(const QPixmap & p) {
setPixmap(p);
}
void MapItemImage::setPixmap(const QPixmap & p) {
m_pixmap = p;
updateParent();
}
void MapItemImage::setAlignment(Qt::Alignment a) {
m_alignment = a;
updateParent();
}
void MapItemImage::draw(QPainter * p) {
if (m_pixmap.isNull()) return;
QRectF pr(QPointF(0, 0), QSizeF(m_pixmap.size()));
if (m_alignment.testFlag(Qt::AlignHCenter)) {
pr.translate(-pr.center().x(), 0.);
}
if (m_alignment.testFlag(Qt::AlignRight)) {
pr.translate(-pr.width(), 0.);
}
if (m_alignment.testFlag(Qt::AlignVCenter)) {
pr.translate(0., -pr.center().y());
}
if (m_alignment.testFlag(Qt::AlignBottom)) {
pr.translate(0., -pr.height());
}
p->drawPixmap(pr, m_pixmap, m_pixmap.rect());
setBoundingRect(pr);
}