class CircleButton extends Button { float mRadius; CircleButton( float posX, float posY, float radius ) { super( posX, posY ); setRadius( radius ); } void setRadius( float radius ) { mRadius = radius; } void drawShape() { float scale = calcScale(); ellipse( mPosX, mPosY, mRadius * 2 * scale, mRadius * 2 * scale ); } boolean isHit() { float dx = mouseX - mPosX; float dy = mouseY - mPosY; if( dx * dx + dy * dy < mRadius * mRadius ) { return true; } return false; } };