import eu.svjatoslav.sixth.e3d.gui.Avatar;
import eu.svjatoslav.sixth.e3d.gui.ViewFrame;
import eu.svjatoslav.sixth.e3d.gui.ViewPanel;
-import eu.svjatoslav.sixth.e3d.gui.humaninput.WorldNavigationTracker;
+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 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 ViewPanel viewPanel) {
+ 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, viewPanel);
+ return super.keyPressed(event, viewPanel);
}
+ return true;
}
private void run() {
setAvatarOrientation(viewPanel.getAvatar());
// enable receiving of keyboard events
- viewPanel.getKeyboardFocusTracker().setFocusOwner(this);
+ viewPanel.getKeyboardFocusStack().pushFocusOwner(this);
// Done! World is built. So ensure screen is updated too.
viewPanel.repaintDuringNextViewUpdate();