class radio_button{ float x; float y; float r; String label; boolean on; color on_color; color off_color; color text_color; int fontsize; radio_button(){ x = y = 100; r = 20; label = new String("Button"); on = false; on_color = color(0,255,0); off_color = color(255,0,0); text_color = color(0,0,0); fontsize = 16; } void set_position(float xp, float yp){ x = xp; y = yp; } void set_color(color onc, color offc){ on_color = onc; off_color = offc; } void set_position(float xp, float yp, float rp){ x = xp; y = yp; r = rp; } void set_text(String s){ label = s; } void set_value(boolean v){ on = v; } boolean get(){ return on; } void draw(){ if(on){ fill(on_color); } else{ fill(off_color); } ellipse(x,y,r,r); fill(text_color); textSize(fontsize); textAlign(LEFT,CENTER); text(label,x+5+0.5*r,y); } void clicked(){ if(sqrt(pow((x-mouseX),2)+pow((y-mouseY),2)) < r){ on = !on; } } };