GUI: add action to move selected content

in pattern editor

TODO: CHECK FOR CVE
This commit is contained in:
tildearrow 2024-05-06 23:24:57 -05:00
parent d16e940c4d
commit 542206bbb7
5 changed files with 44 additions and 0 deletions

View file

@ -1842,6 +1842,25 @@ void FurnaceGUI::doDrag() {
makeUndo(GUI_UNDO_PATTERN_DRAG);
}
void FurnaceGUI::moveSelected(int x, int y) {
prepareUndo(GUI_UNDO_PATTERN_DRAG);
// copy and clear
String c=doCopy(true,false,selStart,selEnd);
logV("copy: %s",c);
// replace
selStart.xCoarse+=x;
selEnd.xCoarse+=x;
selStart.y+=y;
selEnd.y+=y;
cursor=selStart;
doPaste(GUI_PASTE_MODE_NORMAL,0,false,c);
makeUndo(GUI_UNDO_PATTERN_DRAG);
}
void FurnaceGUI::doUndo() {
if (undoHist.empty()) return;
UndoStep& us=undoHist.back();