37 lines
745 B
C++
37 lines
745 B
C++
#pragma once
|
||
|
||
#include <QtGui/QImage>
|
||
#include <QtCore/QMap>
|
||
#include <QtCore/QPointF>
|
||
|
||
namespace LAMPMainWidget {
|
||
/**
|
||
* 用于图层的渲染数据提供,每个图层必须包含与其对应的provider。
|
||
*/
|
||
class LayerProvider : public QObject {
|
||
Q_OBJECT
|
||
|
||
public slots:
|
||
virtual void createTask(const QRectF &rect, int zoom) = 0;
|
||
|
||
public:
|
||
explicit LayerProvider(QObject *parent = nullptr)
|
||
: QObject(parent) {}
|
||
~LayerProvider() override = default;
|
||
|
||
public:
|
||
/**
|
||
* 返回可显示的图像内容
|
||
* @return 图像对象
|
||
*/
|
||
virtual const QImage preparedImage() const = 0;
|
||
|
||
/**
|
||
* 判断是否有数据可以使用
|
||
* @return 有数据时为true,否则fasle
|
||
*/
|
||
virtual bool hasContent() const = 0;
|
||
};
|
||
|
||
}
|