MCPcopy Create free account
hub / github.com/JeanPhilippeKernel/RendererEngine / LayerStack

Class LayerStack

ZEngine/include/ZEngine/Layers/LayerStack.h:9–48  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7 class Layer;
8
9 class LayerStack {
10 public:
11 LayerStack() = default;
12 ~LayerStack();
13
14 void PushLayer(const Ref<Layer>& layer);
15 void PushLayer(Ref<Layer>&& layer);
16
17 void PushOverlayLayer(const Ref<Layer>& layer);
18 void PushOverlayLayer(Ref<Layer>&& layer);
19
20 void PopLayer(const Ref<Layer>& layer);
21 void PopLayer(Ref<Layer>&& layer);
22
23 void PopLayer();
24
25 void PopOverlayLayer();
26
27 void PopOverlayLayer(const Ref<Layer>& layer);
28 void PopOverlayLayer(Ref<Layer>&& layer);
29
30 public:
31 std::vector<Ref<Layer>>::iterator begin() {
32 return std::begin(m_layers);
33 }
34 std::vector<Ref<Layer>>::iterator end() {
35 return std::end(m_layers);
36 }
37
38 std::vector<Ref<Layer>>::reverse_iterator rbegin() {
39 return std::rbegin(m_layers);
40 }
41 std::vector<Ref<Layer>>::reverse_iterator rend() {
42 return std::rend(m_layers);
43 }
44
45 private:
46 std::vector<Ref<Layer>> m_layers;
47 std::vector<Ref<Layer>>::iterator current_it;
48 };
49} // namespace ZEngine::Layers

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected