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;
|
|||
|
};
|
|||
|
|
|||
|
}
|