summaryrefslogtreecommitdiff
path: root/gui/src/chainImage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gui/src/chainImage.cpp')
-rw-r--r--gui/src/chainImage.cpp68
1 files changed, 59 insertions, 9 deletions
diff --git a/gui/src/chainImage.cpp b/gui/src/chainImage.cpp
index 02f3b32..44aaace 100644
--- a/gui/src/chainImage.cpp
+++ b/gui/src/chainImage.cpp
@@ -242,8 +242,9 @@ if not make a symbolic link
return false;
}
-void chainImageSet::keyPressed(int key){
- switch(key){
+void chainImageSet::keyPressed(ofKeyEventArgs &keyargs){
+ //printf("Got key %i, modifiers:%i\n",keyargs.key,keyargs.modifiers);
+ switch(keyargs.key){
case '[':
if (selected==images.begin()){
selected=--images.end();
@@ -268,6 +269,43 @@ void chainImageSet::keyPressed(int key){
case OF_KEY_RIGHT:
selected->linkPos.x++;
break;
+ case 's':
+ case 83: {
+ //printf("Saving... keyargs modifiers:%i\n",keyargs.modifiers);
+ //saves over last filename or use control to choose a new one
+ if (!filename.length()||keyargs.hasModifier(OF_KEY_CONTROL)){
+ ofFileDialogResult saveFileResult = ofSystemSaveDialog(ofGetTimestampString() + ".json" , "Save your file");
+ if (saveFileResult.bSuccess){
+ filename=saveFileResult.filePath;
+ //printf("Got filename: %s\n",filename.c_str());
+ }
+ //else printf("ofSystemSaveDialog failed.\n");
+ }
+ if (filename.length()){
+ //printf("Saving %s\n",filename.c_str());
+ saveJson(filename);
+ }
+
+ break;
+ }
+ case 'l':{
+ //load_chain();
+ ofFileDialogResult openFileResult= ofSystemLoadDialog("Select a json preset");
+
+ //Check if the user opened a file
+ if (openFileResult.bSuccess){
+
+ ofLogVerbose("Selected %s\n",openFileResult.filePath);
+
+ //We have a file, check it and process it
+ //processOpenFileSelection(openFileResult);
+
+ }else {
+ ofLogVerbose("User hit cancel");
+ }
+ break;
+
+ }
}
}
@@ -279,7 +317,7 @@ void chainImageSet::mouseDragged(int x, int y, int button){
break;
case OF_MOUSE_BUTTON_2:
//alt-click
- dragRotate=((x-clickPoint.x)/(selected->thumbnail.getWidth() ))*180.0f;
+ dragRotate=((clickPoint.x-x)/(selected->thumbnail.getWidth()))*180.0f;
break;
case OF_MOUSE_BUTTON_3:
//control-click
@@ -290,17 +328,29 @@ void chainImageSet::mouseDragged(int x, int y, int button){
//--------------------------------------------------------------
void chainImageSet::mousePressed(int x, int y, int button){
+ //todo: select
clickPoint=ofPoint(x,y);
}
//--------------------------------------------------------------
void chainImageSet::mouseReleased(int x, int y, int button){
- selected->linkPos+=dragPoint;
- dragPoint=ofPoint(0,0);
- selected->linkScale*=(1.0f+dragScale);
- dragScale=0.0f;
- selected->linkRot+=dragRotate;
- dragRotate=0.0f;
+ if (images.size()){
+ selected->linkPos+=dragPoint;
+ dragPoint=ofPoint(0,0);
+ selected->linkScale*=(1.0f+dragScale);
+ dragScale=0.0f;
+ selected->linkRot+=dragRotate;
+ dragRotate=0.0f;
+ }
}
+bool chainImageSet::saveJson(std::string filename){
+
+}
+bool chainImageSet::loadJson(std::string filename){
+
+}
+
+
+