Manages an ordered stack of Layer pointers. Layers can be pushed or popped and the stack can be iterated in forward or reverse order.
More...
#include <LayerStack.h>
|
| | LayerStack () |
| | ~LayerStack () |
| void | PushLayer (Layer *layer) |
| | Adds the layer to the stack at the position before the first overlay.
|
| void | PushOverlay (Layer *overlay) |
| | Pushes the overlay layer on top of all other layers.
|
| void | PopLayer (Layer *layer) |
| | Removes the specified layer from the stack.
|
| void | PopOverlay (Layer *overlay) |
| | Removes the specified overlay layer from the stack.
|
| std::vector< Layer * >::iterator | begin () |
| | Returns an iterator to the beginning of the layer stack.
|
| std::vector< Layer * >::iterator | end () |
| | Returns an iterator to the end of the layer stack.
|
| std::vector< Layer * >::reverse_iterator | rbegin () |
| | Returns a reverse iterator to the beginning of the layer stack.
|
| std::vector< Layer * >::reverse_iterator | rend () |
| | Returns a reverse iterator to the end of the layer stack.
|
|
| std::vector< Layer * > | m_Layers |
| | Vector holding pointers to the layers in the stack.
|
| unsigned int | m_LayerInsertIndex = 0 |
| | Index indicating where to insert new layers (before overlays).
|
Manages an ordered stack of Layer pointers. Layers can be pushed or popped and the stack can be iterated in forward or reverse order.
- Todo
- Add layer priority system (maybe?)
◆ LayerStack()
| Vesper::LayerStack::LayerStack |
( |
| ) |
|
◆ ~LayerStack()
| Vesper::LayerStack::~LayerStack |
( |
| ) |
|
11 {
13 {
14 layer->OnDetach();
15 delete layer;
16 }
17 }
std::vector< Layer * > m_Layers
Vector holding pointers to the layers in the stack.
Definition LayerStack.h:53
◆ begin()
| std::vector< Layer * >::iterator Vesper::LayerStack::begin |
( |
| ) |
|
|
inline |
Returns an iterator to the beginning of the layer stack.
◆ end()
| std::vector< Layer * >::iterator Vesper::LayerStack::end |
( |
| ) |
|
|
inline |
Returns an iterator to the end of the layer stack.
◆ PopLayer()
| void Vesper::LayerStack::PopLayer |
( |
Layer * | layer | ) |
|
Removes the specified layer from the stack.
- Parameters
-
| layer | Pointer to the layer to be removed. |
33 {
37 {
40 }
41 }
#define VZ_PROFILE_FUNCTION()
Definition Instrumentor.h:240
unsigned int m_LayerInsertIndex
Index indicating where to insert new layers (before overlays).
Definition LayerStack.h:55
References m_LayerInsertIndex.
◆ PopOverlay()
| void Vesper::LayerStack::PopOverlay |
( |
Layer * | overlay | ) |
|
Removes the specified overlay layer from the stack.
- Parameters
-
| overlay | Pointer to the overlay layer to be removed. |
◆ PushLayer()
| void Vesper::LayerStack::PushLayer |
( |
Layer * | layer | ) |
|
Adds the layer to the stack at the position before the first overlay.
- Parameters
-
| layer | Pointer to the layer to be added. |
References m_LayerInsertIndex.
◆ PushOverlay()
| void Vesper::LayerStack::PushOverlay |
( |
Layer * | overlay | ) |
|
Pushes the overlay layer on top of all other layers.
- Parameters
-
| overlay | Pointer to the overlay layer to be added. |
◆ rbegin()
| std::vector< Layer * >::reverse_iterator Vesper::LayerStack::rbegin |
( |
| ) |
|
|
inline |
Returns a reverse iterator to the beginning of the layer stack.
◆ rend()
| std::vector< Layer * >::reverse_iterator Vesper::LayerStack::rend |
( |
| ) |
|
|
inline |
Returns a reverse iterator to the end of the layer stack.
◆ m_LayerInsertIndex
| unsigned int Vesper::LayerStack::m_LayerInsertIndex = 0 |
|
private |
Index indicating where to insert new layers (before overlays).
Referenced by PopLayer(), and PushLayer().
◆ m_Layers
| std::vector<Layer*> Vesper::LayerStack::m_Layers |
|
private |
Vector holding pointers to the layers in the stack.
The documentation for this class was generated from the following files: