RasterProcessTool/RasterMainWidgetGUI/RasterMainWidget/mapcanvasmap.cpp

42 lines
1.1 KiB
C++
Raw Normal View History

2025-02-07 09:16:22 +00:00
#include <QtCore/QDebug>
#include <QtGui/QPainter>
#include <QtWidgets/QGraphicsSceneMouseEvent>
#include <mapcanvasmap.h>
#include <mapcanvas.h>
#include <maplayer.h>
2025-02-07 09:16:22 +00:00
#include <QDateTime>
#pragma execution_character_set("utf-8")
namespace LAMPMainWidget {
/// <summary>
/// 重写paint函数绘制图层的内容
/// </summary>
/// <param name="painter"></param>
/// <param name="option"></param>
/// <param name="widget"></param>
void MapCanvasMap::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) {
2025-04-01 10:23:24 +00:00
if (!mLayer->provider().hasContent()) {
return;
}
painter->drawImage(mViewExtent.topLeft(), mLayer->provider().preparedImage());
}
2025-02-07 09:16:22 +00:00
QRectF MapCanvasMap::boundingRect() const {
2025-04-01 10:23:24 +00:00
auto width = mViewExtent.size().width();
auto height = mViewExtent.size().height();
return mViewExtent + QMarginsF(1024, 1024, 1024, 1024);
}
2025-02-07 09:16:22 +00:00
2025-04-01 10:23:24 +00:00
void MapCanvasMap::setViewExtent(const QRectF& rect) {
//qDebug() << "更新图层显示对象边界=>" << rect;
if (rect != mViewExtent) {
prepareGeometryChange();
mViewExtent = rect;
}
}
2025-02-07 09:16:22 +00:00
}