summaryrefslogtreecommitdiff
path: root/liveengine/src/layers.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'liveengine/src/layers.cpp')
-rw-r--r--liveengine/src/layers.cpp56
1 files changed, 32 insertions, 24 deletions
diff --git a/liveengine/src/layers.cpp b/liveengine/src/layers.cpp
index 3ae7810..d2698ef 100644
--- a/liveengine/src/layers.cpp
+++ b/liveengine/src/layers.cpp
@@ -1,24 +1,5 @@
#include "layers.h"
-layer::layer() {}
-layer::layer(string _f)
-{
- load(_f);
-}
-
-void layer::load(string _f){
-}
-
-void layer::draw(float a) {
-
-}
-
-layer::~layer()
-{
- //dtor
-}
-
-
svglayer::svglayer() {
xo=0;yo=0;
}
@@ -45,6 +26,19 @@ void svglayer::draw(float a) {
svg.getPathAt(i).setFillColor(fills[i]*a);
svg.getPathAt(i).draw(xo,yo);
}
+}
+void svglayer::draw(float a,unsigned char* controllers) {
+ //draw layers tinted by controllers
+ for (int i=0;i<svg.getNumPath();i++) {
+ float h=fills[i].getHue();
+ float ha=h/42.7; //0-5
+ int h1=(int)ha;
+ int h2=h1+1;
+ float f2=ha-h1;
+ float f1=1.0f-f2;
+ svg.getPathAt(i).setFillColor(fills[i]*a*(((controllers[h1]*f1)+(controllers[h2]*f2))/127.0));;
+ svg.getPathAt(i).draw(xo,yo);
+ }
}
svglayer::~svglayer()
@@ -52,7 +46,9 @@ svglayer::~svglayer()
//dtor
}
-imglayer::imglayer() {}
+imglayer::imglayer() {
+ //img.setUseTexture(false);
+}
imglayer::imglayer(string _f)
{
load(_f);
@@ -62,12 +58,24 @@ void imglayer::load(string _f){
bool success=img.loadImage(_f);
printf("%s\n",success?"loaded":"not loaded");
}
+
+/*
+WTF is going on with the image drawing
+
+
+*/
+void imglayer::draw(float a) {
+ //if (img.isAllocated()) if (!img.isUsingTexture()) img.setUseTexture(true); //has to be done from the main thread? still doesn't work
+ img.draw(0,0,ofGetWidth(),ofGetHeight());
+ printf("drawing %f\n",ofGetElapsedTimef());
+}
+
+void imglayer::draw(float a,unsigned char* controllers) {
+ imglayer::draw(a);
+}
-void imglayer::draw(float a) {
- img.draw(0,0,ofGetWidth(),ofGetHeight());
-}
imglayer::~imglayer()
{
- //dtor
+ //img.setUseTexture(false); //free texture
}