package shipmaker.knobs;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics2D;
import render.RenderPreferences;
import shipmaker.partplacer.BlueprintPositionEditor;
public class T2Knob extends Knob {
int posconst = 15;
private BlueprintPositionEditor bpl;
public float offset_rotation() {
return 0;
}
public T2Knob(BlueprintPositionEditor blueprintPositionEditor) {
this.bpl = blueprintPositionEditor;
}
public static void drawT2(Graphics2D g) {
g.drawLine(-5, 5, 5, -5);
g.drawArc(-7, -7, 14, 14, 0, 45);
g.drawArc(-7, -7, 14, 14, 180, 45);
}
public void draw(Graphics2D g, RenderPreferences prefs) {
g.setColor(Color.white);
g.setStroke(new BasicStroke(1, BasicStroke.CAP_ROUND,
BasicStroke.JOIN_BEVEL));
int lx = (int)(-10-bpl.bpl().t2 * posconst);
g.drawLine(lx, 0,-10, 0);
g.drawLine(lx, -5, lx, 5);
int rx = (int)((Math.PI*2-bpl.bpl().t2) * posconst+10);
g.drawLine(10, 0, rx, 0);
g.drawLine(rx, -5, rx, 5);
g.drawRoundRect(-10, -10, 20, 20, 5, 5);
drawT2(g);
}
public void tweak(float dx, float dy, float worldx, float worldy) {
bpl.bpl().t2 += dx/posconst;
bpl.bpl().t2 = (float) Math.max(Math.min(bpl.bpl().t2, Math.PI*2), 0);
}
public float worldx() {
return bpl.bpl().x + bpl.bpl().t2 * posconst;
}
public float worldy() {
return bpl.bpl().y;
}
public float position_x() {
return bpl.bpl().x + bpl.bpl().t2 * posconst;
}
public float position_y() {
return bpl.bpl().y - 80;
}
}