RasterProcessTool/RasterMainWidgetGUI/RasterMainWidget/mapcanvasmap.h

42 lines
723 B
C++

#pragma once
#include <QGraphicsItem>
namespace LAMPMainWidget {
class MapLayer;
/**
* 地图容器中的地图
*/
class MapCanvasMap : public QGraphicsItem {
public:
explicit MapCanvasMap(MapLayer *layer, QGraphicsItem *parent = nullptr)
: mLayer(layer), QGraphicsItem(parent) {}
~MapCanvasMap() override = default;
public:
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override;
QRectF boundingRect() const override;
/**
* 设置图层显示区域
* @param rect
*/
void setViewExtent(const QRectF &rect);
protected:
/**
* 所属图层
*/
const MapLayer *mLayer;
/**
* 图层的显示区域
*/
QRectF mViewExtent;
};
}