33 lines
701 B
C++
Executable File
33 lines
701 B
C++
Executable File
#pragma once
|
|
|
|
#include "engine.h"
|
|
|
|
#include "layer.h"
|
|
|
|
|
|
class LayerStack {
|
|
|
|
public:
|
|
LayerStack();
|
|
~LayerStack();
|
|
|
|
void pushLayer(Layer*);
|
|
void pushOverlay(Layer*);
|
|
void popLayer(Layer*);
|
|
void popOverlay(Layer*);
|
|
|
|
void propagateEvent(const Event*);
|
|
void updateLayers();
|
|
void shutdown();
|
|
|
|
inline Layer* getLayer(unsigned long i) { return layers.at(i); }
|
|
|
|
std::vector<Layer*>::iterator begin() {return layers.begin();}
|
|
std::vector<Layer*>::iterator end() {return layers.end();}
|
|
|
|
private:
|
|
std::vector<Layer*> layers;
|
|
std::vector<Layer*>::iterator insert;
|
|
bool eventHandled;
|
|
};
|