import eu.svjatoslav.sixth.e3d.geometry.Point3D;
import eu.svjatoslav.sixth.e3d.geometry.Rectangle;
-import eu.svjatoslav.sixth.e3d.math.Transform;
import eu.svjatoslav.sixth.e3d.gui.Avatar;
-import eu.svjatoslav.sixth.e3d.gui.ViewContext;
import eu.svjatoslav.sixth.e3d.gui.ViewFrame;
-import eu.svjatoslav.sixth.e3d.gui.humaninput.WorldNavigationTracker;
+import eu.svjatoslav.sixth.e3d.gui.ViewPanel;
+import eu.svjatoslav.sixth.e3d.gui.humaninput.WorldNavigationUserInputTracker;
+import eu.svjatoslav.sixth.e3d.math.Transform;
import eu.svjatoslav.sixth.e3d.renderer.raster.Color;
import eu.svjatoslav.sixth.e3d.renderer.raster.ShapeCollection;
import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.basic.line.LineAppearance;
import java.awt.event.KeyEvent;
-public class Main extends WorldNavigationTracker {
+public class Main extends WorldNavigationUserInputTracker {
private static final Matrix MATRIX = new Matrix(
new Point3D() // position matrix in the center of the scene
* Handle keyboard input.
*/
@Override
- public void keyPressed(final KeyEvent event, final ViewContext viewContext) {
+ public boolean keyPressed(final KeyEvent event, final ViewPanel viewPanel) {
switch (event.getKeyChar()) {
case ' ': // space key
MATRIX.evolve(false);
MATRIX.clear();
break;
default:
- super.keyPressed(event, viewContext);
+ return super.keyPressed(event, viewPanel);
}
+ return true;
}
private void run() {
final ViewFrame viewFrame = new ViewFrame();
final ShapeCollection shapeCollection = viewFrame.getViewPanel()
- .getContext().getRootShapeCollection();
+ .getRootShapeCollection();
// add matrix
shapeCollection.addShape(MATRIX);
- // add wireframe grid (optional)
+ // add wire-frame grid (optional)
shapeCollection.addShape(createGrid());
- final ViewContext context = viewFrame.getViewPanel().getContext();
+ final ViewPanel viewPanel = viewFrame.getViewPanel();
- setAvatarOrientation(context.getAvatar());
+ setAvatarOrientation(viewPanel.getAvatar());
// enable receiving of keyboard events
- context.getKeyboardFocusTracker().setFocusOwner(this);
+ viewPanel.getKeyboardFocusStack().pushFocusOwner(this);
// Done! World is built. So ensure screen is updated too.
- context.getViewPanel().repaintDuringNextViewUpdate();
+ viewPanel.repaintDuringNextViewUpdate();
}
/**
- * Create pink wireframe grid below (for decorative purposes).
+ * Create pink wire-frame grid below (for decorative purposes).
*/
private Grid2D createGrid() {
return new Grid2D(