RasterProcessTool/LAMPMainWidget/include/layerprovider.h

37 lines
745 B
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.

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