diff options
Diffstat (limited to 'liveengine/src/layers.cpp')
| -rw-r--r-- | liveengine/src/layers.cpp | 56 |
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
}
|
