package com.pixelmaid.dresscode.app.ui.tools;
import com.pixelmaid.dresscode.drawing.primitive2d.Ellipse;
import com.pixelmaid.dresscode.events.CustomEvent;
public class EllipseTool extends Tool {
private boolean created;
public EllipseTool(){
}
public void init(){
}
public void reset(){
createdDrawable = null;
created = false;
}
@Override
public void setActive(boolean a){
this.reset();
active = a;
}
@Override
public void mouseReleased(double mouseX, double mouseY, boolean special) {
if (created){
this.fireToolEvent(CustomEvent.ELLIPSE_ADDED);
}
}
@Override
public void mousePressed(double mouseX, double mouseY, boolean special) {
created=true;
createdDrawable = new Ellipse(mouseX+4, mouseY+6,1,1);
this.fireToolEvent(CustomEvent.DRAWABLE_CREATED);
this.fireToolEvent(CustomEvent.REDRAW_REQUEST);
}
@Override
public void mouseDragged(double mouseX, double mouseY, boolean special) {
if(created){
((Ellipse)(createdDrawable)).setWidth(1);
((Ellipse)(createdDrawable)).setHeight(1);
double scaleX = Math.abs(mouseX+4-createdDrawable.getOrigin().getX())*2;
double scaleY = Math.abs(mouseY+5-createdDrawable.getOrigin().getY())*2;
createdDrawable.scale(scaleX,scaleY,createdDrawable.getOrigin(),true);
System.out.println(createdDrawable.getWidth()+","+createdDrawable.getHeight());
this.fireToolEvent(CustomEvent.REDRAW_REQUEST);
}
}
}