Changed license to Creative Commons Zero (CC0).
[sixth-3d.git] / src / main / java / eu / svjatoslav / sixth / e3d / gui / humaninput / KeyboardFocusStack.java
index 4ee7ed8..5b10ac0 100644 (file)
@@ -1,10 +1,8 @@
 /*
- * 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.humaninput;
@@ -40,16 +38,20 @@ public class KeyboardFocusStack {
         currentUserInputHandler.focusReceived(viewPanel);
     }
 
-    public void pushFocusOwner(final UserInputHandler newInputHandler) {
+    public boolean pushFocusOwner(final UserInputHandler newInputHandler) {
+        boolean updateNeeded = false;
+
         if (currentUserInputHandler == newInputHandler)
-            return;
+            return false;
 
         if (currentUserInputHandler != null) {
-            currentUserInputHandler.focusLost(viewPanel);
+            updateNeeded = currentUserInputHandler.focusLost(viewPanel);
             inputHandlers.push(currentUserInputHandler);
         }
 
         currentUserInputHandler = newInputHandler;
-        currentUserInputHandler.focusReceived(viewPanel);
+        updateNeeded |= currentUserInputHandler.focusReceived(viewPanel);
+
+        return updateNeeded;
     }
 }