Removed ViewContext.
[sixth-3d.git] / src / main / java / eu / svjatoslav / sixth / e3d / gui / humaninput / UserInputTracker.java
index 1dd6f7a..63bfd19 100755 (executable)
@@ -12,7 +12,6 @@ package eu.svjatoslav.sixth.e3d.gui.humaninput;
 import eu.svjatoslav.sixth.e3d.geometry.Point2D;
 import eu.svjatoslav.sixth.e3d.gui.Avatar;
 import eu.svjatoslav.sixth.e3d.gui.ViewPanel;
-import eu.svjatoslav.sixth.e3d.gui.ViewContext;
 import eu.svjatoslav.sixth.e3d.gui.ViewRenderListener;
 
 import javax.swing.*;
@@ -39,26 +38,27 @@ public class UserInputTracker
     private int wheelMovedDirection = 0;
     private Point2D mouseDraggedDirection = new Point2D();
     private Point2D oldMouseCoordinatesWhenDragging;
-    private ViewContext viewContext;
+    private ViewPanel viewPanel;
     private Point2D currentMouseLocation;
     private boolean mouseMoved;
     private boolean mouseWithinWindow = false;
 
-    public UserInputTracker(final ViewContext viewContext) {
-        this.viewContext = viewContext;
+    public UserInputTracker(final ViewPanel viewPanel) {
+        this.viewPanel = viewPanel;
+        bind(viewPanel);
     }
 
     /**
      * {@inheritDoc}
      */
     @Override
-    public boolean beforeRender(final ViewContext viewContext, final int millisecondsSinceLastFrame) {
+    public boolean beforeRender(final ViewPanel viewPanel, final int millisecondsSinceLastFrame) {
 
-        boolean viewUpdateNeeded = handleDetectedMouseClicks(viewContext.getViewPanel());
+        boolean viewUpdateNeeded = handleDetectedMouseClicks(viewPanel);
 
         viewUpdateNeeded |= handleDetectedKeyEvents();
 
-        viewContext.getKeyboardFocusTracker().getCurrentFocusOwner().beforeRender(viewContext,
+        viewPanel.getKeyboardFocusTracker().getCurrentFocusOwner().beforeRender(viewPanel,
                 millisecondsSinceLastFrame);
 
         viewUpdateNeeded |= trackMouse();
@@ -66,7 +66,7 @@ public class UserInputTracker
         return viewUpdateNeeded;
     }
 
-    public void bind(final JPanel panel) {
+    private void bind(final JPanel panel) {
         panel.addMouseMotionListener(this);
 
         panel.addKeyListener(this);
@@ -79,7 +79,7 @@ public class UserInputTracker
     private boolean handleDetectedKeyEvents() {
         boolean keyEventsHandled = false;
 
-        final UserInputHandler currentFocusOwner = viewContext.getKeyboardFocusTracker().getCurrentFocusOwner();
+        final UserInputHandler currentFocusOwner = viewPanel.getKeyboardFocusTracker().getCurrentFocusOwner();
 
         synchronized (detectedKeyEvents) {
             if (currentFocusOwner == null) {
@@ -92,12 +92,12 @@ public class UserInputTracker
 
                 switch (keyEvent.getID()) {
                     case KeyEvent.KEY_PRESSED:
-                        currentFocusOwner.keyPressed(keyEvent, viewContext);
+                        currentFocusOwner.keyPressed(keyEvent, viewPanel);
                         keyEventsHandled = true;
                         break;
 
                     case KeyEvent.KEY_RELEASED:
-                        currentFocusOwner.keyReleased(keyEvent, viewContext);
+                        currentFocusOwner.keyReleased(keyEvent, viewPanel);
                         keyEventsHandled = true;
                         break;
                 }
@@ -137,7 +137,7 @@ public class UserInputTracker
         synchronized (detectedKeyEvents) {
             pressedKeysToPressedTimeMap.put(evt.getKeyCode(), System.currentTimeMillis());
             detectedKeyEvents.add(evt);
-            viewContext.getViewPanel().repaintDuringNextViewUpdate();
+            viewPanel.repaintDuringNextViewUpdate();
         }
     }
 
@@ -146,7 +146,7 @@ public class UserInputTracker
         synchronized (detectedKeyEvents) {
             pressedKeysToPressedTimeMap.remove(evt.getKeyCode());
             detectedKeyEvents.add(evt);
-            viewContext.getViewPanel().repaintDuringNextViewUpdate();
+            viewPanel.repaintDuringNextViewUpdate();
         }
     }
 
@@ -210,7 +210,7 @@ public class UserInputTracker
      * Interpret mouse movement
      */
     private boolean trackMouse() {
-        final Avatar avatar = viewContext.getAvatar();
+        final Avatar avatar = viewPanel.getAvatar();
         trackDragging(avatar);
         trackVerticalScrolling(avatar);