Elevate Engine
1
Loading...
Searching...
No Matches
LayerStack.cpp
Go to the documentation of this file.
1
#include <algorithm>
2
3
#include <
ElevateEngine/Core/Layers/LayerStack.h
>
4
#include <
ElevateEngine/Core/Layers/Layer.h
>
5
6
Elevate::LayerStack::LayerStack
()
7
{
8
}
9
10
Elevate::LayerStack::~LayerStack
()
11
{
12
for
(
Layer
* layer : m_Layers)
13
delete
layer;
14
}
15
16
void
Elevate::LayerStack::PushLayer
(
Layer
* layer)
17
{
18
m_Layers.emplace(m_Layers.begin() + m_LayerInsertIndex, layer);
19
m_LayerInsertIndex++;
20
}
21
22
void
Elevate::LayerStack::PushOverlay
(
Layer
* overlay)
23
{
24
m_Layers.emplace_back(overlay);
25
}
26
27
void
Elevate::LayerStack::PopLayer
(
Layer
* layer)
28
{
29
auto
it = std::find(m_Layers.begin(), m_Layers.end(), layer);
30
if
(it != m_Layers.end())
31
{
32
m_Layers.erase(it);
33
m_LayerInsertIndex--;
34
}
35
}
36
37
void
Elevate::LayerStack::PopOverlay
(
Layer
* overlay)
38
{
39
auto
it = std::find(m_Layers.begin(), m_Layers.end(), overlay);
40
if
(it != m_Layers.end())
41
{
42
m_Layers.erase(it);
43
}
44
}
LayerStack.h
Layer.h
Elevate::LayerStack::PopLayer
void PopLayer(Layer *layer)
Definition
LayerStack.cpp:27
Elevate::LayerStack::PushOverlay
void PushOverlay(Layer *overlay)
Definition
LayerStack.cpp:22
Elevate::LayerStack::LayerStack
LayerStack()
Definition
LayerStack.cpp:6
Elevate::LayerStack::~LayerStack
~LayerStack()
Definition
LayerStack.cpp:10
Elevate::LayerStack::PushLayer
void PushLayer(Layer *layer)
Definition
LayerStack.cpp:16
Elevate::LayerStack::PopOverlay
void PopOverlay(Layer *overlay)
Definition
LayerStack.cpp:37
Elevate::Layer
Definition
Layer.h:10
ElevateEngine
src
ElevateEngine
Core
Layers
LayerStack.cpp
Generated by
1.9.8