package wordcloud.bg;
import wordcloud.collide.Collidable;
import wordcloud.collide.Vector2d;
/**
* Created by kenny on 6/30/14.
*/
public class CircleBackground implements Background {
private final int radius;
public CircleBackground(int radius) {
this.radius = radius;
}
@Override
public boolean isInBounds(Collidable collidable) {
final Vector2d position = collidable.getPosition();
return inCircle(position.getX(), position.getY()) &&
inCircle(position.getX() + collidable.getWidth(), position.getY()) &&
inCircle(position.getX(), position.getY() + collidable.getHeight()) &&
inCircle(position.getX() + collidable.getWidth(), position.getY() + collidable.getHeight());
}
private boolean inCircle(int x, int y) {
x -= radius ;
y -= radius;
return x * x + y * y <= radius * radius;
}
}