supercell-wx/scwx-qt/source/scwx/qt/map/layer_wrapper.hpp
2021-11-27 11:37:01 -06:00

36 lines
751 B
C++

#pragma once
#include <scwx/qt/map/generic_layer.hpp>
namespace scwx
{
namespace qt
{
namespace map
{
class LayerWrapperImpl;
class LayerWrapper : public QMapbox::CustomLayerHostInterface
{
public:
explicit LayerWrapper(std::shared_ptr<GenericLayer> layer);
~LayerWrapper();
LayerWrapper(const LayerWrapper&) = delete;
LayerWrapper& operator=(const LayerWrapper&) = delete;
LayerWrapper(LayerWrapper&&) noexcept;
LayerWrapper& operator=(LayerWrapper&&) noexcept;
void initialize() override final;
void render(const QMapbox::CustomLayerRenderParameters&) override final;
void deinitialize() override final;
private:
std::unique_ptr<LayerWrapperImpl> p;
};
} // namespace map
} // namespace qt
} // namespace scwx