Browse Source

Add cloneActivePreset()

master
Krisjanis Rijnieks 9 years ago
parent
commit
52725a033e
  1. 10
      src/Surfaces/SurfaceManager.cpp
  2. 1
      src/Surfaces/SurfaceManager.h
  3. 9
      src/Surfaces/SurfaceStack.cpp
  4. 2
      src/Surfaces/SurfaceStack.h
  5. 5
      src/ofxPiMapper.cpp
  6. 1
      src/ofxPiMapper.h

10
src/Surfaces/SurfaceManager.cpp

@ -434,5 +434,15 @@ void SurfaceManager::setActivePreset(unsigned int i){
_activePresetIndex = i;
}
void SurfaceManager::cloneActivePreset(){
if(_presets.size() <= 1){
return;
}
SurfaceStack * preset = _presets[_activePresetIndex]->clone();
_presets.push_back(preset);
_activePresetIndex = _presets.size() - 1;
}
} // namespace piMapper
} // namespace ofx

1
src/Surfaces/SurfaceManager.h

@ -72,6 +72,7 @@ class SurfaceManager {
void setNextPreset();
void setActivePreset(unsigned int i);
void cloneActivePreset();
private:
BaseSurface * selectedSurface;

9
src/Surfaces/SurfaceStack.cpp

@ -67,5 +67,14 @@ void SurfaceStack::onVertexChanged(int & i){
ofNotifyEvent(vertexChangedEvent, i, this);
}
SurfaceStack * SurfaceStack::clone(){
SurfaceStack * stack = new SurfaceStack();
for(unsigned int i = 0; i < _surfaces.size(); ++i){
BaseSurface * surface = _surfaces[i]->clone();
stack->push_back(surface);
}
return stack;
}
} // namespace piMapper
} // namespace ofx

2
src/Surfaces/SurfaceStack.h

@ -29,6 +29,8 @@ class SurfaceStack {
vector<BaseSurface *> & getSurfaces(){ return _surfaces; };
SurfaceStack * clone();
private:
vector<BaseSurface *> _surfaces;
};

5
src/ofxPiMapper.cpp

@ -31,6 +31,11 @@ void ofxPiMapper::setNextPreset(){
_application.getSurfaceManager()->setNextPreset();
}
void ofxPiMapper::cloneActivePreset(){
_application.getSurfaceManager()->deselectSurface();
_application.getSurfaceManager()->cloneActivePreset();
}
bool ofxPiMapper::loadXmlSettings(string fileName){
return _application.loadXmlSettings(fileName);
}

1
src/ofxPiMapper.h

@ -40,6 +40,7 @@ class ofxPiMapper {
void registerFboSource(ofx::piMapper::FboSource * fboSource);
void setActivePreset(unsigned int i);
void setNextPreset();
void cloneActivePreset();
bool loadXmlSettings(string fileName);

Loading…
Cancel
Save