package br.com.etyllica.gui.base;
import br.com.etyllica.core.graphics.Graphics;
import br.com.etyllica.gui.Label;
import br.com.etyllica.gui.label.BaseCheckerLabel;
/**
* Checkbox component
*
* @author yuripourre
*
*/
public class BaseCheckBox extends BaseButton {
protected boolean checked = false;
protected Label checker;
public BaseCheckBox(int x, int y) {
this(x, y, 22, 22);
}
public BaseCheckBox(int x, int y, int w, int h) {
super(x, y, w, h);
checker = new BaseCheckerLabel(x, y, w, h);
}
@Override
protected void leftClick() {
swapChecked();
}
private void swapChecked() {
checked = !checked;
}
@Override
public void draw(Graphics g) {
g.setColor(getTheme().getBackgroundColor());
g.fillRect(x, y, w, h);
if(!mouseOver) {
g.setColor(getTheme().getTextFieldWithoutFocusColor());
}else{
g.setColor(getTheme().getTextFieldOnMouseColor());
}
g.drawRect(x, y, w, h);
if(isChecked()) {
checker.draw(g);
}
}
public boolean isChecked() {
return checked;
}
public void setChecked(boolean checked) {
this.checked = checked;
}
public Label getChecker() {
return checker;
}
public void setChecker(Label checker) {
this.checker = checker;
checker.setX(x+(w/2-checker.getW()/2)+checker.getX());
checker.setY(y+(h/2-checker.getH()/2)+checker.getY());
checker.setContentBounds(x, y, w, h);
}
}