class Button{ float x,y; int textsize; boolean over =false; boolean pressed = false; color baseC; color overC; color pressC; String description; boolean active; Button(float xpos, float ypos, int tsize, color b, color o, color p, String desc){ x = xpos; y = ypos; textsize = tsize; baseC = b; overC = o; pressC = p; description = desc; active = true; } void update(){ if (active == true){ if ((mouseX >= x) && (mouseX <= x+textWidth(description)) && (mouseY >= y-textsize) && (mouseY <= y)){ over = true; } else { over = false; } } } boolean press(){ if (active == false){ return false; } else if (over == true){ pressed = true; return true; } else { return false; } } void release(){ if (active == true){ pressed = false; } } void display(){ if (active == true){ if (pressed == true){ fill(pressC); } else if (over == true) { fill(overC); } else { fill(baseC); } textFont(sfont); textSize(textsize); text(description, x, y); // rect(x,y,breite,hoehe); } } }