Newer
Older
* This file is part of project OpenEmbroidery. It's copyrighted by
* the contributors recorded in the version control history of the file.
* Original project location https://code.electrolab.fr/openEmbroidery/openEmbroidery_software
*
* SPDX-License-Identifier: CECILL-2.1
* License-Filename: Licence_CeCILL_V2.1-en.txt
*/
#include "actions/OE_actionsStitchs.h"
#include "actions/OE_actionsLinkStitchs.h"
#include "OE_document.h"
///////// OE_actionAddPointLinkStitch ///////////////
/// \brief OE_actionAddPointLinkStitch::OE_actionAddPointLinkStitch
/// \param pos
/// \param point
OE_actionAddPointLinkStitch::OE_actionAddPointLinkStitch(OE_document* doc, OE_linkstitch* stitch, int _pos, vector_2d _point) :
OE_actions(doc), actionStitch(nullptr)
pos = _pos;
point = _point;
actionStitch = stitch;
OE_actionAddPointLinkStitch::~OE_actionAddPointLinkStitch()
{
}
void OE_actionAddPointLinkStitch::undo()
{
if (active)
{
3dsman
committed
actionStitch->delStepPt(pos);
active = false;
}
}
void OE_actionAddPointLinkStitch::redo()
{
if (!active)
{
3dsman
committed
void OE_actionAddPointLinkStitch::setOffset(vector_2d _offset)
{
3dsman
committed
offset = _offset;
3dsman
committed
}
///////// OE_actionMovePointLinkStitch ///////////////
/// \brief OE_actionMovePointLinkStitch::OE_actionMovePointLinkStitch
/// \param pos
/// \param offset
OE_actionMovePointLinkStitch::OE_actionMovePointLinkStitch(OE_document* doc, OE_linkstitch* stitch, int _pos, vector_2d _offset) :
OE_actions(doc), actionStitch(nullptr)
3dsman
committed
{
3dsman
committed
pos = _pos;
offset = _offset;
actionStitch = stitch;
oldPoint = actionStitch->getStepPt(pos);
3dsman
committed
}
OE_actionMovePointLinkStitch::~OE_actionMovePointLinkStitch()
{
}
3dsman
committed
void OE_actionMovePointLinkStitch::undo()
{
if (active)
{
3dsman
committed
active = false;
}
}
void OE_actionMovePointLinkStitch::redo()
{
if (!active)
{
3dsman
committed
active = true;
}
}
void OE_actionMovePointLinkStitch::setOffset(vector_2d _offset)
{
3dsman
committed
offset = _offset;
actionStitch->setStepPt(pos,oldPoint + offset);
}
///////// OE_actionDelPointLinkStitch ///////////////
/// \brief OE_actionDelPointLinkStitch::OE_actionDelPointLinkStitch
/// \param pos
OE_actionDelPointLinkStitch::OE_actionDelPointLinkStitch(OE_document* doc, OE_linkstitch* stitch, int _pos) :
OE_actions(doc), actionStitch(nullptr)
pos = _pos;
actionStitch = stitch;
point = actionStitch->getStepPt(pos);
actionStitch->delStepPt(pos);
}
OE_actionDelPointLinkStitch::~OE_actionDelPointLinkStitch()
{
}
void OE_actionDelPointLinkStitch::undo()
{
if (active)
{