diff options
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(), |
