diff --git a/src/Application/Application.cpp b/src/Application/Application.cpp index a6d81e5..a1c5227 100644 --- a/src/Application/Application.cpp +++ b/src/Application/Application.cpp @@ -361,6 +361,29 @@ void Application::moveLayerDown(){ } } +void Application::scaleUp(){ + if(getSurfaceManager()->getSelectedSurface() != 0){ + getCmdManager()->exec( + new ScaleSurfaceFromToCmd( + getSurfaceManager()->getSelectedSurface(), + getSurfaceManager()->getSelectedSurface()->getScale(), + getSurfaceManager()->getSelectedSurface()->getScale() + 0.2f)); + } +} + +void Application::scaleDown(){ + if(getSurfaceManager()->getSelectedSurface() != 0){ + if(getSurfaceManager()->getSelectedSurface()->getScale() <= 0.21f){ + return; + } + getCmdManager()->exec( + new ScaleSurfaceFromToCmd( + getSurfaceManager()->getSelectedSurface(), + getSurfaceManager()->getSelectedSurface()->getScale(), + getSurfaceManager()->getSelectedSurface()->getScale() - 0.2f)); + } +} + void Application::duplicateSurface(){ if(getSurfaceManager()->getSelectedSurface() != 0){ getCmdManager()->exec( diff --git a/src/Application/Application.h b/src/Application/Application.h index c117dce..82fed4f 100644 --- a/src/Application/Application.h +++ b/src/Application/Application.h @@ -22,6 +22,7 @@ #include "DuplicateSurfaceCmd.h" #include "TogglePerspectiveCmd.h" #include "SetNextSourceCmd.h" +#include "ScaleSurfaceFromToCmd.h" // Modes #include "ApplicationBaseMode.h" @@ -93,6 +94,8 @@ class Application : public KeyListener { void setSourceMode(); void moveLayerUp(); void moveLayerDown(); + void scaleUp(); + void scaleDown(); void duplicateSurface(); void setNextSource(); diff --git a/src/Application/Modes/ProjectionMappingMode.cpp b/src/Application/Modes/ProjectionMappingMode.cpp index 509a0f3..c967043 100644 --- a/src/Application/Modes/ProjectionMappingMode.cpp +++ b/src/Application/Modes/ProjectionMappingMode.cpp @@ -210,26 +210,11 @@ void ProjectionMappingMode::onKeyPressed(Application * app, ofKeyEventArgs & arg break; case '+': // Scale surface up - if(app->getSurfaceManager()->getSelectedSurface() != 0){ - app->getCmdManager()->exec( - new ScaleSurfaceFromToCmd( - app->getSurfaceManager()->getSelectedSurface(), - app->getSurfaceManager()->getSelectedSurface()->getScale(), - app->getSurfaceManager()->getSelectedSurface()->getScale() + 0.2f)); - } + app->scaleUp(); break; case '-': // Scale surface down - if(app->getSurfaceManager()->getSelectedSurface() != 0){ - if(app->getSurfaceManager()->getSelectedSurface()->getScale() <= 0.21f){ - break; - } - app->getCmdManager()->exec( - new ScaleSurfaceFromToCmd( - app->getSurfaceManager()->getSelectedSurface(), - app->getSurfaceManager()->getSelectedSurface()->getScale(), - app->getSurfaceManager()->getSelectedSurface()->getScale() - 0.2f)); - } + app->scaleDown(); break; case 'l': diff --git a/src/Application/Modes/ProjectionMappingMode.h b/src/Application/Modes/ProjectionMappingMode.h index fcc99b4..e7e7cc7 100644 --- a/src/Application/Modes/ProjectionMappingMode.h +++ b/src/Application/Modes/ProjectionMappingMode.h @@ -19,7 +19,6 @@ #include "StartDragSurfaceCmd.h" #include "DeselectSurfaceCmd.h" #include "ToggleAnimatedSourceCmd.h" -#include "ScaleSurfaceFromToCmd.h" #include "MvSurfaceVertCmd.h" #include "SurfaceType.h" #include "Gui.h" diff --git a/src/ofxPiMapper.cpp b/src/ofxPiMapper.cpp index 74023ce..a8803f3 100644 --- a/src/ofxPiMapper.cpp +++ b/src/ofxPiMapper.cpp @@ -115,6 +115,14 @@ void ofxPiMapper::moveLayerDown(){ _application.moveLayerDown(); } +void ofxPiMapper::scaleUp(){ + _application.scaleUp(); +} + +void ofxPiMapper::scaleDown(){ + _application.scaleDown(); +} + void ofxPiMapper::togglePauseForSurface(unsigned int i){ ofx::piMapper::BaseSource * s = _application.getSurfaceManager()->getActivePreset()->getSurfaces().at(i)->getSource(); diff --git a/src/ofxPiMapper.h b/src/ofxPiMapper.h index ecd0b7b..728e444 100644 --- a/src/ofxPiMapper.h +++ b/src/ofxPiMapper.h @@ -56,6 +56,8 @@ class ofxPiMapper { void selectPrevVertex(); void moveLayerUp(); void moveLayerDown(); + void scaleUp(); + void scaleDown(); void togglePauseForSurface(unsigned int i); void moveSelection(ofVec2f by); void createSurface(ofx::piMapper::SurfaceType type);