From 47745d8ade7238a188f7ab78eaf5e8a269d96fdd Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Tue, 27 Aug 2019 21:41:45 -0400 Subject: [PATCH] Smooth keys + box editor. --- CameraPane.java | 275 +++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 188 insertions(+), 87 deletions(-) diff --git a/CameraPane.java b/CameraPane.java index 68bd5e4..e039bde 100644 --- a/CameraPane.java +++ b/CameraPane.java @@ -8642,7 +8642,9 @@ { tex.bw = texturecache.texturedata.getWidth(); tex.bh = texturecache.texturedata.getHeight(); - tex.bumpdata = CompressJPEG(CreateBim(((ByteBuffer)texturecache.texturedata.getBuffer()).array(), tex.bw, tex.bh), 0.5f); + tex.bumpdata = //CompressJPEG(CreateBim( + ((ByteBuffer)texturecache.texturedata.getBuffer()).array(); + //, tex.bw, tex.bh), 0.5f); } } } @@ -10813,6 +10815,83 @@ if (DrawMode() == DEFAULT) { + if (manipCamera == lightCamera) + { +// switch (e.getKeyCode()) +// { +// case DOWN_ARROW: +// lightCamera.DECAL /= 2; +// repaint(); +// break; +// case UP_ARROW: +// lightCamera.DECAL *= 2; +// repaint(); +// break; +// case LEFT_ARROW: +// lightCamera.SCALE /= 2; +// repaint(); +// break; +// case RIGHT_ARROW: +// lightCamera.SCALE *= 2; +// repaint(); +// break; +// default: +// break; + if (keys[DOWN_ARROW]) + { + lightCamera.DECAL /= 2; + } + + if (keys[UP_ARROW]) + { + lightCamera.DECAL *= 2; + } + + if (keys[LEFT_ARROW]) + { + lightCamera.SCALE /= 2; + } + + if (keys[RIGHT_ARROW]) + { + lightCamera.SCALE *= 2; + } + } + else + { + //pingthread.mute = true; + + boolean keyon = false; + + if (keys[DOWN_ARROW]) + { + GoDown(modifiers); + keyon = true; + } + + if (keys[UP_ARROW]) + { + GoUp(modifiers); + keyon = true; + } + + if (keys[LEFT_ARROW]) + { + GoLeft(modifiers); + keyon = true; + } + + if (keys[RIGHT_ARROW]) + { + GoRight(modifiers); + keyon = true; + } + + if (keyon) + repaint(); + //pingthread.mute = false; + } + currentlydrawing = true; } @@ -11337,9 +11416,9 @@ gl.glMatrixMode(GL.GL_MODELVIEW); -gl.glEnable(gl.GL_POLYGON_SMOOTH); -gl.glHint(gl.GL_POLYGON_SMOOTH_HINT, gl.GL_NICEST); -gl.glEnable(gl.GL_MULTISAMPLE); +//gl.glEnable(gl.GL_POLYGON_SMOOTH); +//gl.glHint(gl.GL_POLYGON_SMOOTH_HINT, gl.GL_NICEST); +//gl.glEnable(gl.GL_MULTISAMPLE); } else { //gl.glDisable(GL.GL_TEXTURE_2D); @@ -14521,6 +14600,8 @@ { boolean jump; + boolean mute; + // void JumpToTarget() // { // StepToTarget(true); @@ -14535,6 +14616,9 @@ // only one thread!? synchronized void StepToTarget(boolean jump) { + if (mute) + return; + tmp.set(targetLookAt); tmp.sub(manipCamera.lookAt); // june 2014 @@ -14828,6 +14912,9 @@ mouseMode |= ROTATE; } // TRANSLATE; + //System.err.println("lookAt = " + manipCamera.lookAt); + //System.err.println("location = " + manipCamera.location); + targetLookAt.set(manipCamera.lookAt); prevX = X = anchorX - 10; // (int)(10*renderCamera.Distance()); @@ -15767,98 +15854,112 @@ } } + boolean keys[] = new boolean[256]; + int modifiers = 0; + public void processKeyEvent(KeyEvent e) { switch (e.getID()) { case KeyEvent.KEY_PRESSED: - if (!autorepeat) - { - //System.out.println("processKeyEvent: " + KeyEvent.getKeyText(e.getKeyCode())); - keyPressed(e.getKeyChar(), e.getModifiersEx()); - } - if (manipCamera == lightCamera) - { - switch (e.getKeyCode()) - { - case DOWN_ARROW: - lightCamera.DECAL /= 2; - repaint(); - break; - case UP_ARROW: - lightCamera.DECAL *= 2; - repaint(); - break; - case LEFT_ARROW: - lightCamera.SCALE /= 2; - repaint(); - break; - case RIGHT_ARROW: - lightCamera.SCALE *= 2; - repaint(); - break; - default: - break; - } - - System.out.println("DECAL = " + lightCamera.DECAL + "; SCALE = " + lightCamera.SCALE); - } else - { - if (true) // !autorepeat) - { - boolean reset = true; - - switch (e.getKeyCode()) - { - case DOWN_ARROW: - GoDown(e.getModifiersEx()); - repaint(); - break; - case UP_ARROW: - GoUp(e.getModifiersEx()); - repaint(); - break; - case LEFT_ARROW: - GoLeft(e.getModifiersEx()); - repaint(); - break; - case RIGHT_ARROW: - GoRight(e.getModifiersEx()); - repaint(); - break; - default: - reset = false; - break; - } - - if (reset) - { - autorepeat = true; - - targetLookAt.set(manipCamera.lookAt); - } - } - } + keys[e.getKeyCode()] = true; + modifiers = e.getModifiersEx(); + keyPressed(e.getKeyChar(), modifiers); + //Globals.theRenderer.keyPressed(e.getKeyChar()); + repaint(); break; - case KeyEvent.KEY_TYPED: - break; +// if (!autorepeat) +// { +// //System.out.println("processKeyEvent: " + KeyEvent.getKeyText(e.getKeyCode())); +// keyPressed(e.getKeyChar(), e.getModifiersEx()); +// } +// if (manipCamera == lightCamera) +// { +// switch (e.getKeyCode()) +// { +// case DOWN_ARROW: +// lightCamera.DECAL /= 2; +// repaint(); +// break; +// case UP_ARROW: +// lightCamera.DECAL *= 2; +// repaint(); +// break; +// case LEFT_ARROW: +// lightCamera.SCALE /= 2; +// repaint(); +// break; +// case RIGHT_ARROW: +// lightCamera.SCALE *= 2; +// repaint(); +// break; +// default: +// break; +// } +// +// System.out.println("DECAL = " + lightCamera.DECAL + "; SCALE = " + lightCamera.SCALE); +// } else +// { +// if (true) // !autorepeat) +// { +// boolean reset = true; +// +// switch (e.getKeyCode()) +// { +// case DOWN_ARROW: +// GoDown(e.getModifiersEx()); +// repaint(); +// break; +// case UP_ARROW: +// GoUp(e.getModifiersEx()); +// repaint(); +// break; +// case LEFT_ARROW: +// GoLeft(e.getModifiersEx()); +// repaint(); +// break; +// case RIGHT_ARROW: +// GoRight(e.getModifiersEx()); +// repaint(); +// break; +// default: +// reset = false; +// break; +// } +// +// if (reset) +// { +// autorepeat = true; +// +// targetLookAt.set(manipCamera.lookAt); +// } +// } +// } +// break; +// case KeyEvent.KEY_TYPED: +// break; case KeyEvent.KEY_RELEASED: - { - switch (e.getKeyCode()) - { - case DOWN_ARROW: - case UP_ARROW: - case LEFT_ARROW: - case RIGHT_ARROW: - MODIFIERS &= ~COMMAND; - autorepeat = false; - break; - default: - break; - } + keys[e.getKeyCode()] = false; + modifiers = e.getModifiersEx(); keyReleased(e.getKeyChar(), e.getModifiersEx()); + repaint(); break; - } +// { +// switch (e.getKeyCode()) +// { +// case DOWN_ARROW: +// case UP_ARROW: +// case LEFT_ARROW: +// case RIGHT_ARROW: +// MODIFIERS &= ~COMMAND; +// autorepeat = false; +// break; +// default: +// break; +// } +// keyReleased(e.getKeyChar(), e.getModifiersEx()); +// break; +// } default: break; } -- Gitblit v1.6.2