diff --git a/src/Commands/DuplicateSurfaceCmd.cpp b/src/Commands/DuplicateSurfaceCmd.cpp index 3de0293..124b898 100644 --- a/src/Commands/DuplicateSurfaceCmd.cpp +++ b/src/Commands/DuplicateSurfaceCmd.cpp @@ -9,16 +9,15 @@ DuplicateSurfaceCmd::DuplicateSurfaceCmd(BaseSurface * surface, SurfaceManager * } void DuplicateSurfaceCmd::exec(){ - //_prevSelectedSurface = _surfaceManager->getSelectedSurface(); - //_surfaceManager->selectPrevSurface(); - _surfaceManager->duplicateSurface(_surface); + _duplicate = _surfaceManager->duplicateSurface(_surface); + _duplicate->moveBy(ofVec2f(10.0f, 10.0f)); + _surfaceManager->selectSurface(_duplicate); } void DuplicateSurfaceCmd::undo(){ ofLogNotice("DuplicateSurfaceCmd", "undo"); - //_surfaceManager->selectSurface(_prevSelectedSurface); - //_prevSelectedSurface = 0; - //_surfaceManager->d + _surfaceManager->selectSurface(_surface); + _surfaceManager->deleteSurface(_duplicate); } } // namespace piMapper diff --git a/src/Commands/DuplicateSurfaceCmd.h b/src/Commands/DuplicateSurfaceCmd.h index 3cfe859..9e5c927 100644 --- a/src/Commands/DuplicateSurfaceCmd.h +++ b/src/Commands/DuplicateSurfaceCmd.h @@ -20,6 +20,7 @@ class DuplicateSurfaceCmd : public BaseUndoCmd { private: BaseSurface * _surface; + BaseSurface * _duplicate; SurfaceManager * _surfaceManager; };