package shipmaker.partplacer; import java.awt.Graphics2D; import render.OverlayManager; import render.RenderPreferences; import render.XYTRenderNode; import shipmaker.knobs.PositionKnob; import shipmaker.knobs.RadiusKnob; import shipmaker.knobs.T1Knob; import shipmaker.knobs.T2Knob; import shipmaker.render.IconEditField; public class BlueprintPositionOverlay extends XYTRenderNode { public BlueprintPositionOverlay(final BlueprintPositionEditor bpe, OverlayManager om) { super(0,0,0); addChild(new IconEditField(35, 35, 0, om, new FloatTextControl(" X:", "") { public boolean drawIcon(Graphics2D g, RenderPreferences prefs) { PositionKnob.drawLeftright(g); return true; } protected void set(float f) { bpe.bpl.x = f; } protected float get() { return bpe.bpl.x; } })); addChild(new IconEditField(35, 55, 0, om, new FloatTextControl(" Y:", "") { public void set(float f) { bpe.bpl.y = f; } public float get() { return bpe.bpl.y; } public boolean drawIcon(Graphics2D g, RenderPreferences prefs) { PositionKnob.drawUpdown(g); return true; } })); addChild(new IconEditField(35, 75, 0, om, new FloatTextControl(" R:", "") { public boolean drawIcon(Graphics2D g, RenderPreferences prefs) { RadiusKnob.drawRadius(g); return true; } public void set(float f) { bpe.bpl.r = f; } public float get() { return bpe.bpl.r; } })); addChild(new IconEditField(35, 95, 0, om, new FloatTextControl("T1:", "\u03c0") { public boolean drawIcon(Graphics2D g, RenderPreferences prefs) { T1Knob.drawT1(g); return true; } public void set(float f) { f = f % 2; if (f < 0) f+=2; bpe.bpl.t1 = (float) (f*Math.PI); } public float get() { return (float) (bpe.bpl.t1/Math.PI); } })); addChild(new IconEditField(35, 115, 0, om, new FloatTextControl("T2:", "\u03c0") { public boolean drawIcon(Graphics2D g, RenderPreferences prefs) { T2Knob.drawT2(g); return true; } public void set(float f) { f = f % 2; if (f < 0) f+=2; bpe.bpl.t2 = (float) (f*Math.PI); } public float get() { return (float) (bpe.bpl.t2/Math.PI); } })); } }