RasterProcessTool/RasterMainWidgetGUI/RasterMainWidget/mapcanvasmap.cpp

42 lines
1.1 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#include <QtCore/QDebug>
#include <QtGui/QPainter>
#include <QtWidgets/QGraphicsSceneMouseEvent>
#include <mapcanvasmap.h>
#include <mapcanvas.h>
#include <maplayer.h>
#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) {
if (!mLayer->provider().hasContent()) {
return;
}
painter->drawImage(mViewExtent.topLeft(), mLayer->provider().preparedImage());
}
QRectF MapCanvasMap::boundingRect() const {
auto width = mViewExtent.size().width();
auto height = mViewExtent.size().height();
return mViewExtent + QMarginsF(1024, 1024, 1024, 1024);
}
void MapCanvasMap::setViewExtent(const QRectF& rect) {
//qDebug() << "更新图层显示对象边界=>" << rect;
if (rect != mViewExtent) {
prepareGeometryChange();
mViewExtent = rect;
}
}
}