From 8df88a51634740773c0dbde526e2758c4b7414d8 Mon Sep 17 00:00:00 2001 From: Krisjanis Rijnieks Date: Mon, 4 Jan 2016 18:01:20 +0100 Subject: [PATCH] Add simple `SurfaceStack` test --- src/Surfaces/SurfaceManager.cpp | 14 ++++++++++++++ src/Surfaces/SurfaceManager.h | 3 +++ 2 files changed, 17 insertions(+) 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; };