From ae10d52ba0ea4e2498b30398c37d477cdd3aa4a5 Mon Sep 17 00:00:00 2001 From: Krisjanis Rijnieks Date: Wed, 3 Feb 2016 21:38:53 +0100 Subject: [PATCH] Add `SelPrevSurfaceCmd` --- src/Commands/SelPrevSurfaceCmd.cpp | 23 +++++++++++++++++++++++ src/Commands/SelPrevSurfaceCmd.h | 29 +++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 src/Commands/SelPrevSurfaceCmd.cpp create mode 100644 src/Commands/SelPrevSurfaceCmd.h diff --git a/src/Commands/SelPrevSurfaceCmd.cpp b/src/Commands/SelPrevSurfaceCmd.cpp new file mode 100644 index 0000000..da63b0d --- /dev/null +++ b/src/Commands/SelPrevSurfaceCmd.cpp @@ -0,0 +1,23 @@ +#include "SelPrevSurfaceCmd.h" + +namespace ofx { +namespace piMapper { + +SelPrevSurfaceCmd::SelPrevSurfaceCmd(SurfaceManager * surfaceManager){ + _surfaceManager = surfaceManager; +} + +void SelPrevSurfaceCmd::exec(){ + _prevSelectedSurface = _surfaceManager->getSelectedSurface(); + _surfaceManager->selectPrevSurface(); +} + +void SelPrevSurfaceCmd::undo(){ + ofLogNotice("SelPrevSurfaceCmd", "undo"); + _surfaceManager->selectSurface(_prevSelectedSurface); + _prevSelectedSurface = 0; +} + +} // namespace piMapper +} // namespace ofx + diff --git a/src/Commands/SelPrevSurfaceCmd.h b/src/Commands/SelPrevSurfaceCmd.h new file mode 100644 index 0000000..c9ec97a --- /dev/null +++ b/src/Commands/SelPrevSurfaceCmd.h @@ -0,0 +1,29 @@ +// SelPrevSurfaceCmd +// Selects previous surface in the projection mapping mode +// Created by Krisjanis Rijnieks 2016-02-03 + +#pragma once + +#include "BaseCmd.h" +#include "BaseSurface.h" +#include "SurfaceManager.h" + +namespace ofx { +namespace piMapper { + +class SelPrevSurfaceCmd : public BaseUndoCmd { + + public: + SelPrevSurfaceCmd(SurfaceManager * surfaceManager); + void exec(); + void undo(); + + private: + SurfaceManager * _surfaceManager; + BaseSurface * _prevSelectedSurface; + +}; + +} // namespace piMapper +} // namespace ofx +