// // slider_class.pde // // // Created by Karin Gauch and Fabien Schwartz on 10.06.07. // Copyright 2007 Karin Gauch and Fabien Schwartz. All rights reserved. // class slider { int value; int lower, upper; int sliderWidth; int posX,posY; int left, right, top, bottom; boolean dragged = false; boolean active = true; // constructor slider(int x, int y, int w, int l, int u, int v) { value = v; lower = l; upper = u; sliderWidth = w; posX = x; posY = y; left = posX-10; right = posX + sliderWidth+10; top = posY - 10; bottom = posY + 10; } // method to draw the slider void draw() { if(active) stroke(200); else stroke(220); line(posX-2,posY,posX+sliderWidth+2,posY); stroke(150); if(active) fill(200); else { fill(240); stroke(220); } rect(posX+(int)map(value, lower, upper, 0, sliderWidth)-2,posY-10,4,20); //ellipse(posX+(int)map(value, lower, upper, 0, sliderWidth),posY,10,10); } // method to drag the slider void drag(int pos) { if(pos < posX) pos = posX; if(pos > posX+sliderWidth) pos = posX+sliderWidth; value = (int)map(pos, posX, posX+sliderWidth, lower, upper); } }