/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package automenta.spacenet.run.geom;
import automenta.spacenet.space.widget.knob.CircleKnob;
import automenta.spacenet.run.ArdorSpacetime;
import automenta.spacenet.run.DemoDefaults;
import automenta.spacenet.run.old.surface.DemoBitmapSurface;
import automenta.spacenet.space.geom.ProcessBox;
import automenta.spacenet.space.geom.Rect;
import automenta.spacenet.space.geom.Rect.RectShape;
import automenta.spacenet.space.geom.layout.ColRect;
import automenta.spacenet.space.surface.BitmapSurface;
import automenta.spacenet.space.surface.ColorSurface;
import automenta.spacenet.space.widget.spinner.Spinner;
import automenta.spacenet.space.widget.window.Window;
import automenta.spacenet.var.physical.Color;
import automenta.spacenet.var.scalar.DoubleRange;
import automenta.spacenet.var.scalar.DoubleVar;
import java.net.URL;
/**
*
* @author seh
*/
public class DemoRectAspect extends ProcessBox {
@Override protected void start() {
URL imgUrl = DemoBitmapSurface.class.getResource("test.png");
final Window bitmapWindow = add(new Window());
final Rect r = bitmapWindow.add(new Rect(RectShape.Rect)).scale(0.9).moveDZ(0.05);
r.add(new BitmapSurface(imgUrl));
r.getAspect().set(1.0);
DoubleRange range = new DoubleRange(r.getAspect(), 0.05, 2.0);
Window controlWindow = add(new Window());
Spinner aspectSpinner = controlWindow.add(new Spinner(DemoDefaults.font, range, 0.05));
CircleKnob rotate = controlWindow.add(new CircleKnob(new ColorSurface(Color.Blue), new ColorSurface(Color.Green)));
rotate.getAngle().add(new DoubleVar.IfDoubleChanges() {
@Override public void onDoubleChange(DoubleVar d) {
bitmapWindow.rotate(0, d.d(), 0);
}
});
controlWindow.add(new ColRect(0.1, rotate, aspectSpinner).moveDZ(0.05));
controlWindow.move(-1.5, 0, 0);
bitmapWindow.move(1.5, 0, 0);
}
public static void main(String[] args) {
ArdorSpacetime.newWindow(new DemoRectAspect());
}
}