diff --git a/src/Commands/DeselectTexCoordCmd.cpp b/src/Commands/DeselectTexCoordCmd.cpp new file mode 100644 index 0000000..ec91bd1 --- /dev/null +++ b/src/Commands/DeselectTexCoordCmd.cpp @@ -0,0 +1,35 @@ +#include "DeselectTexCoordCmd.h" + +namespace ofx { +namespace piMapper { + +DeselectTexCoordCmd::DeselectTexCoordCmd(TextureEditor * te){ + _textureEditor = te; +} + +void DeselectTexCoordCmd::exec(){ + ofLogNotice("DeselectTexCoordCmd", "exec"); + + _selectedTexCoord = -1; + vector joints = _textureEditor->getJoints(); + for(unsigned int i = 0; i < joints.size(); ++i){ + if(joints[i]->isSelected()){ + _selectedTexCoord = i; + } + } + + _textureEditor->unselectAllJoints(); +} + +void DeselectTexCoordCmd::undo(){ + ofLogNotice("DeselectTexCoordCmd", "undo"); + if(_selectedTexCoord == -1){ + return; + } + + _textureEditor->getJoints()[_selectedTexCoord]->select(); +} + +} // namespace piMapper +} // namespace ofx + diff --git a/src/Commands/DeselectTexCoordCmd.h b/src/Commands/DeselectTexCoordCmd.h new file mode 100644 index 0000000..48b7975 --- /dev/null +++ b/src/Commands/DeselectTexCoordCmd.h @@ -0,0 +1,27 @@ +#pragma once + +#include "BaseCmd.h" +#include "TextureEditor.h" +#include "CircleJoint.h" + +class ofxPiMapper; + +namespace ofx { +namespace piMapper { + +class DeselectTexCoordCmd : public BaseUndoCmd { + + public: + DeselectTexCoordCmd(TextureEditor * te); + void exec(); + void undo(); + + private: + TextureEditor * _textureEditor; + int _selectedTexCoord; + +}; + +} // namespace piMapper +} // namespace ofx +