diff --git a/src/Surfaces/SurfaceManager.cpp b/src/Surfaces/SurfaceManager.cpp index 2367fe3..98d0986 100644 --- a/src/Surfaces/SurfaceManager.cpp +++ b/src/Surfaces/SurfaceManager.cpp @@ -6,6 +6,20 @@ namespace piMapper { SurfaceManager::SurfaceManager(){ mediaServer = 0; selectedSurface = 0; + + // Test SurfaceStack + cout << "SurfaceStack.size: " << _surfaces.size() << endl; + _surfaces.push_back(new BaseSurface()); + cout << "SurfaceStack.size: " << _surfaces.size() << endl; + _surfaces.push_back(new BaseSurface()); + _surfaces.push_back(new BaseSurface()); + cout << "SurfaceStack addr: " << _surfaces[0] << ", " << _surfaces[1] << ", " << _surfaces[2] << endl; + _surfaces.swap(0, 1); + cout << "SurfaceStack addr: " << _surfaces[0] << ", " << _surfaces[1] << ", " << _surfaces[2] << endl; + _surfaces.erase(1); + cout << "SurfaceStack.size: " << _surfaces.size() << endl; + // Should throw "index out of bounds" + //cout << "SurfaceStack addr: " << _surfaces[0] << ", " << _surfaces[1] << ", " << _surfaces[2] << endl; } SurfaceManager::~SurfaceManager(){ diff --git a/src/Surfaces/SurfaceManager.h b/src/Surfaces/SurfaceManager.h index 3ece8d0..f6ed842 100644 --- a/src/Surfaces/SurfaceManager.h +++ b/src/Surfaces/SurfaceManager.h @@ -7,6 +7,7 @@ #include "MediaServer.h" #include "BaseSource.h" #include "SourceType.h" +#include "SurfaceStack.h" #include "ofEvents.h" #include "ofxXmlSettings.h" @@ -52,6 +53,8 @@ class SurfaceManager { BaseSurface * selectedSurface; ofxXmlSettings xmlSettings; MediaServer * mediaServer; + + SurfaceStack _surfaces; };