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.cpp38
1 files changed, 32 insertions, 6 deletions
diff --git a/gui/src/chainImage.cpp b/gui/src/chainImage.cpp
index e2ee598..275b107 100644
--- a/gui/src/chainImage.cpp
+++ b/gui/src/chainImage.cpp
@@ -113,7 +113,7 @@ void chainImage::makeThumbnail(){
thumbnail.setAnchorPoint(thumbnail.getWidth()/2,thumbnail.getHeight()/2);
}
-void chainImage::drawChain(float fadeIn){
+void chainImage::drawChain(float fadeIn,bool additive, float intensity){
//printf("Drawing chain transition: %f\n",transition);
//we are correctly geting to 1
@@ -121,9 +121,20 @@ void chainImage::drawChain(float fadeIn){
glPushMatrix();
- ofDisableAlphaBlending();
+ if (additive){
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE);
+ ofSetColor(255,255,255,255*(1.0f-min(1.0,transition/fadeIn))*intensity);
+ }
+ else {
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ ofSetColor(255,255,255,255*intensity);
+ }
- ofSetColor(255,255,255,255);
+ //ofDisableAlphaBlending();
+
+
setAnchorPoint(getWidth()/2,getHeight()/2);
@@ -135,14 +146,18 @@ void chainImage::drawChain(float fadeIn){
glScalef(linkScale,linkScale,linkScale);
- ofEnableAlphaBlending();
+ //ofEnableAlphaBlending();
+ glEnable(GL_BLEND);
- ofSetColor(255,255,255,255*min(1.0,transition/fadeIn));
+ ofSetColor(255,255,255,255*min(1.0,transition/fadeIn)*intensity);
link->setAnchorPoint(link->getWidth()/2,link->getHeight()/2);
link->draw(0,0,link->getWidth(),link->getHeight());
+ glDisable(GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+
glPopMatrix();
}
@@ -173,8 +188,15 @@ void chainImageSet::drawOutput(){
float camera_throw= (float)outputSize.y/(float)outputSize.x; //the ratio of z distance to x width
+ camera_throw*=0.9; //fudge factor to allow tweening
+
if (images.size()){
+/*
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ glOrtho(-ofGetWidth()/2, ofGetWidth()/2, ofGetHeight()/2, -ofGetHeight()/2, 0.0f, 5000.0f);
+*/
glMatrixMode ( GL_MODELVIEW );
glLoadIdentity ( );
gluLookAt( currentImage->getTransform().x,
@@ -188,7 +210,7 @@ void chainImageSet::drawOutput(){
0);
- currentImage->drawChain();
+ currentImage->drawChain(DEFAULT_FADEIN,additive,intensity);
}
@@ -391,6 +413,7 @@ void chainImageSet::keyPressed(ofKeyEventArgs &keyargs){
break;
case OF_KEY_BACKSPACE:{
images.clear();
+ filename.clear();
/*
auto previous=selected;
previous--;
@@ -463,6 +486,9 @@ void chainImageSet::mouseDragged(int x, int y, int button){
case OF_MOUSE_BUTTON_3:
//control-click
dragScale=(y-clickPoint.y)/(selected->thumbnail.getHeight());
+ //if (dragScale*selected->linkScale<0.15){
+ // dragScale=0.15/selected->linkScale;
+ //}
break;
}
}