Files
MapLibreParticleLab/include/mbgl/renderer/layer_tweaker.hpp
2023-08-31 15:36:19 +02:00

34 lines
610 B
C++

#pragma once
#include <mbgl/util/immutable.hpp>
#include <memory>
namespace mbgl {
namespace style {
class LayerProperties;
} // namespace style
class PaintParameters;
class LayerGroup;
/**
Base class for layer tweakers, which manipulate layer group per frame
*/
class LayerTweaker {
protected:
LayerTweaker() = delete;
LayerTweaker(Immutable<style::LayerProperties> properties);
public:
virtual ~LayerTweaker() = default;
virtual void execute(LayerGroup&, const PaintParameters&) = 0;
protected:
Immutable<style::LayerProperties> evaluatedProperties;
};
} // namespace mbgl