Updated readability of the code.
[sixth-3d.git] / src / main / java / eu / svjatoslav / sixth / e3d / gui / GuiComponent.java
index 8ab5c90..3f16d26 100644 (file)
@@ -1,20 +1,15 @@
 /*
- * Sixth 3D engine. Copyright ©2012-2018, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 3 of the GNU Lesser General Public License
- * or later as published by the Free Software Foundation.
- *
+ * Sixth 3D engine. Author: Svjatoslav Agejenko. 
+ * This project is released under Creative Commons Zero (CC0) license.
  */
-
 package eu.svjatoslav.sixth.e3d.gui;
 
 import eu.svjatoslav.sixth.e3d.geometry.Box;
 import eu.svjatoslav.sixth.e3d.geometry.Point3D;
-import eu.svjatoslav.sixth.e3d.math.Transform;
 import eu.svjatoslav.sixth.e3d.gui.humaninput.MouseInteractionController;
-import eu.svjatoslav.sixth.e3d.gui.humaninput.UserInputHandler;
-import eu.svjatoslav.sixth.e3d.gui.textEditorComponent.KeyboardHelper;
+import eu.svjatoslav.sixth.e3d.gui.humaninput.KeyboardInputHandler;
+import eu.svjatoslav.sixth.e3d.gui.humaninput.KeyboardHelper;
+import eu.svjatoslav.sixth.e3d.math.Transform;
 import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.basic.line.LineAppearance;
 import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.composite.base.AbstractCompositeShape;
 import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.composite.wireframe.WireframeBox;
@@ -22,47 +17,43 @@ import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.composite.wireframe.Wirefr
 import java.awt.event.KeyEvent;
 
 public class GuiComponent extends AbstractCompositeShape implements
-        UserInputHandler, MouseInteractionController {
+        KeyboardInputHandler, MouseInteractionController {
 
     private static final String GROUP_GUI_FOCUS = "gui.focus";
-    public final ViewContext viewContext;
+    public final ViewPanel viewPanel;
     Box containingBox = new Box();
     private WireframeBox borders = null;
 
     private boolean borderShown = false;
 
     public GuiComponent(final Transform transform,
-                        final ViewContext viewContext, final Point3D size) {
+                        final ViewPanel viewPanel, final Point3D size) {
         super(transform);
-        this.viewContext = viewContext;
+        this.viewPanel = viewPanel;
         setDimensions(size);
     }
 
-    @Override
-    public boolean beforeRender(final ViewContext viewContext,
-                                final int millisecondsSinceLastFrame) {
-        return false;
-    }
-
     private WireframeBox createBorder() {
         final LineAppearance appearance = new LineAppearance(10,
                 new eu.svjatoslav.sixth.e3d.renderer.raster.Color(255, 0, 0, 100));
 
         final double borderSize = 10;
 
-        final Box borderArea = containingBox.clone().addBorder(borderSize);
+        final Box borderArea = containingBox.clone().enlarge(borderSize);
 
         return new WireframeBox(borderArea, appearance);
     }
 
     @Override
-    public void focusLost(final ViewContext viewContext) {
+    public boolean focusLost(final ViewPanel viewPanel) {
         hideBorder();
+        return true;
     }
 
     @Override
-    public void focusReceived(final ViewContext viewContext) {
+    public boolean focusReceived(final ViewPanel viewPanel) {
         showBorder();
+        return true;
     }
 
     public WireframeBox getBorders() {
@@ -91,33 +82,37 @@ public class GuiComponent extends AbstractCompositeShape implements
     }
 
     @Override
-    public void keyPressed(final KeyEvent event, final ViewContext viewContext) {
+    public boolean keyPressed(final KeyEvent event, final ViewPanel viewPanel) {
         if (event.getKeyChar() == KeyboardHelper.ESC)
-            viewContext.getKeyboardFocusTracker().popFocusOwner();
+            viewPanel.getKeyboardFocusStack().popFocusOwner();
+        return true;
     }
 
     @Override
-    public void keyReleased(final KeyEvent event, final ViewContext viewContext) {
+    public boolean keyReleased(final KeyEvent event, final ViewPanel viewPanel) {
+        return false;
     }
 
     @Override
-    public void mouseClicked() {
-        viewContext.getKeyboardFocusTracker().setFocusOwner(this);
+    public boolean mouseClicked(int button) {
+        return viewPanel.getKeyboardFocusStack().pushFocusOwner(this);
     }
 
     @Override
-    public void mouseEntered() {
+    public boolean mouseEntered() {
+        return false;
     }
 
     @Override
-    public void mouseExited() {
+    public boolean mouseExited() {
+        return false;
     }
 
     private void setDimensions(final Point3D size) {
-        containingBox.setSizeCentered(size);
+        containingBox.setBoxSize(size);
     }
 
-    public void showBorder() {
+    private void showBorder() {
         if (borderShown)
             return;
         borderShown = true;