|
|
@ -5,13 +5,22 @@ namespace piMapper { |
|
|
|
|
|
|
|
SurfaceStack::SurfaceStack(){} |
|
|
|
|
|
|
|
void SurfaceStack::push_back(ofx::piMapper::BaseSurface & s){ |
|
|
|
void SurfaceStack::push_back(BaseSurface * s){ |
|
|
|
_surfaces.push_back(s); |
|
|
|
} |
|
|
|
|
|
|
|
void SurfaceStack::pop_back(){ |
|
|
|
if(_surfaces.size() > 0){ |
|
|
|
_surfaces.pop_back(); |
|
|
|
void SurfaceStack::erase(int i){ |
|
|
|
delete _surfaces[i]; |
|
|
|
_surfaces.erase(_surfaces.begin() + i); |
|
|
|
} |
|
|
|
|
|
|
|
void SurfaceStack::swap(int a, int b){ |
|
|
|
std::swap(_surfaces[a], _surfaces[b]); |
|
|
|
} |
|
|
|
|
|
|
|
void SurfaceStack::draw(){ |
|
|
|
for(int i = 0; i < _surfaces.size(); ++i){ |
|
|
|
_surfaces[i]->draw(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -19,12 +28,11 @@ int SurfaceStack::size(){ |
|
|
|
return _surfaces.size(); |
|
|
|
} |
|
|
|
|
|
|
|
void SurfaceStack::erase(int pos){ |
|
|
|
_surfaces.erase(_surfaces.begin() + pos); |
|
|
|
} |
|
|
|
|
|
|
|
void SurfaceStack::swap(ofx::piMapper::BaseSurface * a, ofx::piMapper::BaseSurface * b){ |
|
|
|
std::swap(a, b); |
|
|
|
BaseSurface * SurfaceStack::operator[](int i){ |
|
|
|
if(i >= _surfaces.size()){ |
|
|
|
throw runtime_error("SurfaceStack index out of bounds"); |
|
|
|
} |
|
|
|
return _surfaces[i]; |
|
|
|
} |
|
|
|
|
|
|
|
} // namespace piMapper
|
|
|
|