summaryrefslogtreecommitdiff
path: root/gui/src/chainImageSet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gui/src/chainImageSet.cpp')
-rw-r--r--gui/src/chainImageSet.cpp16
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(),