diff --git a/src/Commands/TogglePerspectiveCmd.cpp b/src/Commands/TogglePerspectiveCmd.cpp new file mode 100644 index 0000000..0756c87 --- /dev/null +++ b/src/Commands/TogglePerspectiveCmd.cpp @@ -0,0 +1,24 @@ +#include "TogglePerspectiveCmd.h" + +namespace ofx { +namespace piMapper { + +TogglePerspectiveCmd::TogglePerspectiveCmd(QuadSurface * surface){ + _surface = surface; +} + +void TogglePerspectiveCmd::exec(){ + ofLogNotice("TogglePerspectiveCmd", "exec"); + _perspectiveBeforeExec = _surface->getPerspectiveWarping(); + _surface->setPerspectiveWarping(!_perspectiveBeforeExec); +} + +void TogglePerspectiveCmd::undo(){ + ofLogNotice("TogglePerspectiveCmd", "undo"); + _surface->setPerspectiveWarping(_perspectiveBeforeExec); + _surface = 0; +} + +} // namespace piMapper +} // namespace ofx + diff --git a/src/Commands/TogglePerspectiveCmd.h b/src/Commands/TogglePerspectiveCmd.h new file mode 100644 index 0000000..546be1e --- /dev/null +++ b/src/Commands/TogglePerspectiveCmd.h @@ -0,0 +1,27 @@ +#pragma once + +#include "BaseCmd.h" +#include "QuadSurface.h" +#include "SourcesEditor.h" + +namespace ofx { +namespace piMapper { + +class SourcesEditor; + +class TogglePerspectiveCmd : public BaseUndoCmd { + + public: + TogglePerspectiveCmd(QuadSurface * surface); + void exec(); + void undo(); + + private: + QuadSurface * _surface; + bool _perspectiveBeforeExec; + +}; + +} // namespace piMapper +} // namespace ofx +