This feature is not really used yet but will help in the future simplify the propegation of events
22 lines
525 B
C++
22 lines
525 B
C++
#pragma once
|
|
#include "Layer.h"
|
|
#include <vector>
|
|
|
|
class LayerStack{
|
|
public:
|
|
LayerStack() = default;
|
|
~LayerStack();
|
|
|
|
void PushLayer(Layer* layer);
|
|
void PopLayer(Layer* layer);
|
|
|
|
std::vector<Layer*>::iterator begin() { return layers.begin(); }
|
|
std::vector<Layer*>::iterator end() { return layers.end(); }
|
|
std::vector<Layer*>::reverse_iterator rbegin() { return layers.rbegin(); }
|
|
std::vector<Layer*>::reverse_iterator rend() { return layers.rend(); }
|
|
|
|
|
|
private:
|
|
std::vector<Layer*> layers;
|
|
int insertion_index = 0;
|
|
}; |