X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=sixth-3d-demos.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Fexamples%2Flife%2FMain.java;h=afc0e1c2e768674c6dfb607bea390146957f03d4;hp=539527dfa5eef8ee0ce8a5dbe80a2071fe989e6b;hb=bccb2a4fb28a598bc307b73e55a3d8686a3f944e;hpb=41488a79c65efc82fc794957613d8273ca76c9a0 diff --git a/src/main/java/eu/svjatoslav/sixth/e3d/examples/life/Main.java b/src/main/java/eu/svjatoslav/sixth/e3d/examples/life/Main.java index 539527d..afc0e1c 100644 --- a/src/main/java/eu/svjatoslav/sixth/e3d/examples/life/Main.java +++ b/src/main/java/eu/svjatoslav/sixth/e3d/examples/life/Main.java @@ -2,11 +2,11 @@ package eu.svjatoslav.sixth.e3d.examples.life; import eu.svjatoslav.sixth.e3d.geometry.Point3D; import eu.svjatoslav.sixth.e3d.geometry.Rectangle; -import eu.svjatoslav.sixth.e3d.geometry.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; @@ -15,7 +15,7 @@ import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.composite.wireframe.Grid2D 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 @@ -29,7 +29,7 @@ public class Main extends WorldNavigationTracker { * 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); @@ -41,8 +41,9 @@ public class Main extends WorldNavigationTracker { MATRIX.clear(); break; default: - super.keyPressed(event, viewContext); + return super.keyPressed(event, viewPanel); } + return true; } private void run() { @@ -50,28 +51,28 @@ public class Main extends WorldNavigationTracker { // create application frame visible to the user final ViewFrame viewFrame = new ViewFrame(); - final ShapeCollection shapeCollection = viewFrame.getView() - .getContext().getRootShapeCollection(); + final ShapeCollection shapeCollection = viewFrame.getViewPanel() + .getRootShapeCollection(); // add matrix shapeCollection.addShape(MATRIX); - // add wireframe grid (optional) + // add wire-frame grid (optional) shapeCollection.addShape(createGrid()); - final ViewContext context = viewFrame.getView().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.getView().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(