restructure project for dynamic linking
This commit is contained in:
32
modules/gui/layers/layerstack.h
Executable file
32
modules/gui/layers/layerstack.h
Executable file
@@ -0,0 +1,32 @@
|
||||
#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;
|
||||
};
|
||||
Reference in New Issue
Block a user