33 lines
575 B
C++
33 lines
575 B
C++
#pragma once
|
|
#include "src/Core/Core.h"
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
namespace Nuake {
|
|
|
|
class Layer;
|
|
|
|
|
|
class LayerStack
|
|
{
|
|
public:
|
|
LayerStack();
|
|
~LayerStack() = default;
|
|
|
|
void PushLayer(Ref<Layer> layer);
|
|
void PopLayer(Ref<Layer> layer);
|
|
|
|
void PushOverlayLayer(Ref<Layer> layer);
|
|
void PopOverlayLayer(Ref<Layer> layer);
|
|
|
|
std::vector<Ref<Layer>>::iterator begin() { return m_Layers.begin(); }
|
|
std::vector<Ref<Layer>>::iterator end() { return m_Layers.end(); }
|
|
|
|
private:
|
|
std::vector<Ref<Layer>> m_Layers;
|
|
std::vector<Ref<Layer>>::iterator m_LayerInsert;
|
|
};
|
|
|
|
} |