Files
Archimedes/layers/layerstack.h
2024-10-02 00:49:38 -05:00

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;
};