diff options
| author | Tim Redfern <tim@getdrop.com> | 2017-10-27 16:34:53 +0100 |
|---|---|---|
| committer | Tim Redfern <tim@getdrop.com> | 2017-10-27 16:34:53 +0100 |
| commit | 4d3ec3d2ef37102e5b233704deb4cd7af727e1a3 (patch) | |
| tree | c5cd84a3dca801dc13c6ad2667f2c80090dd4cde /gui/src/chainImageSet.cpp | |
| parent | 3426aeebba3ec51e6b6bf7e1f0de947c97f97a36 (diff) | |
moving images with no glitches
Diffstat (limited to 'gui/src/chainImageSet.cpp')
| -rw-r--r-- | gui/src/chainImageSet.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gui/src/chainImageSet.cpp b/gui/src/chainImageSet.cpp index 7e6e351..dd43fec 100644 --- a/gui/src/chainImageSet.cpp +++ b/gui/src/chainImageSet.cpp @@ -380,14 +380,23 @@ void chainImageSet::mouseDragged(int x, int y, int button){ switch (button){ case OF_MOUSE_BUTTON_1: dragPoint=ofPoint(x-clickPoint.x,y-clickPoint.y)*((*selected)->getHeight()/ofGetWindowHeight()); + if (images.size()){ + (*selected)->dragPos=dragPoint; + } break; case OF_MOUSE_BUTTON_2: //alt-click dragRotate=((clickPoint.x-x)/((*selected)->thumbnail.getWidth()))*180.0f; + if (images.size()){ + (*selected)->dragRot=dragRotate; + } break; case OF_MOUSE_BUTTON_3: //control-click dragScale=(y-clickPoint.y)/((*selected)->thumbnail.getHeight()); + if (images.size()){ + (*selected)->dragScale=dragScale; + } //if (dragScale*selected->linkScale<0.15){ // dragScale=0.15/selected->linkScale; //} @@ -406,10 +415,15 @@ void chainImageSet::mouseReleased(int x, int y, int button){ if (images.size()){ (*selected)->linkPos+=dragPoint; dragPoint=ofPoint(0,0); + (*selected)->dragPos=dragPoint; + (*selected)->linkScale*=(1.0f+dragScale); dragScale=0.0f; + (*selected)->dragScale=dragScale; + (*selected)->linkRot+=dragRotate; dragRotate=0.0f; + (*selected)->dragRot=dragRotate; } } @@ -489,6 +503,8 @@ void chainImageSet::updateOutput(){ (*images.begin())->linked=&(*(*images.rbegin())); (*images.rbegin())->setUseTexture(true); + (*images.rbegin())->linkRot=(*images.rbegin())->linked->linkRot; + (*images.rbegin())->linkScale=(*images.rbegin())->linked->linkScale; printf("Linked: %s -> %s <- %s\n", (*images.rbegin())->filename.c_str(), |
