From 3d30e720e6f012f2d9996b136154dd551844998a Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Wed, 25 Dec 2019 16:54:14 -0500
Subject: [PATCH] Conditional key pressed to support print screen.

---
 CameraPane.java |   44 ++++++++++++++++++++++++++++++--------------
 1 files changed, 30 insertions(+), 14 deletions(-)

diff --git a/CameraPane.java b/CameraPane.java
index 3edc07b..376dc7c 100644
--- a/CameraPane.java
+++ b/CameraPane.java
@@ -15639,7 +15639,7 @@
      */
     }
 
-    void keyPressed(int key, int modifiers)
+    boolean keyPressed(int key, int modifiers)
     {
         //if(!isRenderer)
         //    return;
@@ -15651,7 +15651,7 @@
             SetMouseMode(0, modifiers);
         }
 
-        Globals.theRenderer.keyPressed(key);
+        return Globals.theRenderer.keyPressed(key);
     }
 
     int kompactbit = 4; // power bit
@@ -15669,7 +15669,7 @@
 static Cursor blankCursor = Toolkit.getDefaultToolkit().createCustomCursor(
     cursorImg, new Point(0, 0), "blank cursor");
     
-    public void keyPressed(int key)
+    public boolean keyPressed(int key)
     {
 // Set the blank cursor to the JFrame.
 //object.editWindow.frame.
@@ -16146,18 +16146,20 @@
                 Globals.ONESTEP = true;
                 repaint();
                 break;
-            case BACKSPACE:
-                // almost working enablebackspace = true;
-                Globals.WALK ^= true;
-                
-   //             SwitchCameras(false);
-                repaint();
-                break;
+//            case BACKSPACE:
+//                // almost working enablebackspace = true;
+//                Globals.WALK ^= true;
+//                
+//   //             SwitchCameras(false);
+//                repaint();
+//                break;
 
             default:
-                break;
+                return (false);
         }
     //System.out.println("shaper_fovy = " + manipCamera.shaper_fovy);
+        
+        return (true);
     }
     
     static double OCCLUSIONBOOST = 1; // 0.5;
@@ -16180,6 +16182,7 @@
         switch (e.getID())
         {
             case KeyEvent.KEY_PRESSED:
+                boolean repaintit = false;
                 
                 if (capsLocked)
                 {
@@ -16187,6 +16190,7 @@
                     modifiers = e.getModifiersEx();
                     keyPressed(e.getKeyChar(), modifiers);
                     //Globals.theRenderer.keyPressed(e.getKeyChar());
+                    repaintit = true;
                 }
                 else
                 {
@@ -16196,17 +16200,23 @@
                         {
                             case DOWN_ARROW:
                                 lightCamera.DECAL /= 2;
+                                repaintit = true;
                                 break;
                             case UP_ARROW:
                                 lightCamera.DECAL *= 2;
+                                repaintit = true;
                                 break;
                             case LEFT_ARROW:
                                 lightCamera.SCALE /= 2;
+                                repaintit = true;
                                 break;
                             case RIGHT_ARROW:
                                 lightCamera.SCALE *= 2;
+                                repaintit = true;
                                 break;
                             default:
+                                modifiers = e.getModifiersEx();
+                                repaintit = keyPressed(e.getKeyChar(), modifiers);
                                 break;
                         }
 
@@ -16217,25 +16227,30 @@
                         {
                             case DOWN_ARROW:
                                 GoDown(e.getModifiersEx());
+                                repaintit = true;
                                 break;
                             case UP_ARROW:
                                 GoUp(e.getModifiersEx());
+                                repaintit = true;
                                 break;
                             case LEFT_ARROW:
                                 GoLeft(e.getModifiersEx());
+                                repaintit = true;
                                 break;
                             case RIGHT_ARROW:
                                 GoRight(e.getModifiersEx());
+                                repaintit = true;
                                 break;
                             default:
                                 modifiers = e.getModifiersEx();
-                                keyPressed(e.getKeyChar(), modifiers);
+                                repaintit = keyPressed(e.getKeyChar(), modifiers);
                                 break;
                         }
                     }
                 }
                 
-                repaint();
+                if (repaintit)
+                    repaint();
                 break;
 //                if (!autorepeat)
 //                {
@@ -16311,7 +16326,8 @@
                 keys[e.getKeyCode()] = false;
                 modifiers = e.getModifiersEx();
                 keyReleased(e.getKeyChar(), e.getModifiersEx());
-                repaint();
+                //if (e.getKeyCode() != 65535)
+                //    repaint();
                 break;
 //            {
 //                switch (e.getKeyCode())

--
Gitblit v1.6.2