Browse Source

Integrate TranslateCanvasCmd into Application

master
Krisjanis Rijnieks 9 years ago
parent
commit
342aa95974
  1. 10
      src/Application/States/TextureMappingState.cpp
  2. 2
      src/Application/States/TextureMappingState.h

10
src/Application/States/TextureMappingState.cpp

@ -90,6 +90,7 @@ void TextureMappingState::onBackgroundPressed(Application * app, GuiBackgroundEv
void TextureMappingState::onMousePressed(Application * app, ofMouseEventArgs & args){ void TextureMappingState::onMousePressed(Application * app, ofMouseEventArgs & args){
_clickPosition = ofPoint(args.x, args.y); _clickPosition = ofPoint(args.x, args.y);
_prevCanvasTranslate = _canvasTranslate;
// Alter mouse event args to match canvas translation // Alter mouse event args to match canvas translation
args.x -= _canvasTranslate.x; args.x -= _canvasTranslate.x;
@ -100,6 +101,15 @@ void TextureMappingState::onMousePressed(Application * app, ofMouseEventArgs & a
void TextureMappingState::onMouseReleased(Application * app, ofMouseEventArgs & args){ void TextureMappingState::onMouseReleased(Application * app, ofMouseEventArgs & args){
_bTranslateCanvas = false; _bTranslateCanvas = false;
// If translation has happened, create an undoable command
if(_prevCanvasTranslate != _canvasTranslate){
app->getCmdManager()->exec(
new TranslateCanvasCmd(
app,
_prevCanvasTranslate,
_canvasTranslate));
}
_clickCanvasTranslate = _canvasTranslate; _clickCanvasTranslate = _canvasTranslate;
// Alter mouse event args to match canvas translation // Alter mouse event args to match canvas translation

2
src/Application/States/TextureMappingState.h

@ -10,6 +10,7 @@
#include "SetNextSourceCmd.h" #include "SetNextSourceCmd.h"
#include "SelNextSurfaceCmd.h" #include "SelNextSurfaceCmd.h"
#include "ToggleAnimatedSourceCmd.h" #include "ToggleAnimatedSourceCmd.h"
#include "TranslateCanvasCmd.h"
#include "Gui.h" #include "Gui.h"
namespace ofx { namespace ofx {
@ -40,6 +41,7 @@ class TextureMappingState : public ApplicationBaseState {
ofPoint _clickPosition; ofPoint _clickPosition;
ofPoint _canvasTranslate; ofPoint _canvasTranslate;
ofPoint _prevCanvasTranslate; // Canvas translate before TranslateCanvasCmd command exec
ofPoint _clickCanvasTranslate; ofPoint _clickCanvasTranslate;
}; };

Loading…
Cancel
Save