@Override public void mouseExited (MouseEvent e) { checkCatched(e); lwjglAwtCanvas.graphics.requestRendering(); }
private void showCursor (boolean visible) { if (!visible) { Toolkit t = Toolkit.getDefaultToolkit(); Image i = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB); Cursor noCursor = t.createCustomCursor(i, new Point(0, 0), "none"); JFrame frame = findJFrame(canvas); frame.setCursor(noCursor); } else { JFrame frame = findJFrame(canvas); frame.setCursor(Cursor.getDefaultCursor()); } }
@Override public float getPressure () { return getPressure(0); }
@Override public void keyPressed (java.awt.event.KeyEvent e) { synchronized (this) { KeyEvent event = usedKeyEvents.obtain(); event.keyChar = 0; event.keyCode = translateKeyCode(e.getKeyCode()); event.type = KeyEvent.KEY_DOWN; event.timeStamp = System.nanoTime(); keyEvents.add(event); if (!keys[event.keyCode]) { keyCount++; keys[event.keyCode] = true; } lwjglAwtCanvas.graphics.requestRendering(); } }
@Override public void mousePressed (MouseEvent e) { synchronized (this) { TouchEvent event = usedTouchEvents.obtain(); event.pointer = 0; event.x = e.getX(); event.y = e.getY(); event.type = TouchEvent.TOUCH_DOWN; event.button = toGdxButton(e.getButton()); event.timeStamp = System.nanoTime(); touchEvents.add(event); deltaX = event.x - touchX; deltaY = event.y - touchY; touchX = event.x; touchY = event.y; touchDown = true; pressedButtons.add(event.button); lwjglAwtCanvas.graphics.requestRendering(); } }
public LwjglAWTInput (LwjglAWTCanvas lwjglAwtCanvas) { this.lwjglAwtCanvas = lwjglAwtCanvas; setListeners(lwjglAwtCanvas.getCanvas()); try { robot = new Robot(GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice()); } catch (HeadlessException e) { } catch (AWTException e) { } }
@Override public void setCursorCatched (boolean catched) { this.catched = catched; showCursor(!catched); }
@Override public float getPressure (int pointer) { return isTouched(pointer) ? 1 : 0; }
void render (boolean shouldRender) throws LWJGLException { if (!running) return; setGlobals(); canvas.setCursor(cursor); int width = Math.max(1, graphics.getWidth()); int height = Math.max(1, graphics.getHeight()); if (lastWidth != width || lastHeight != height) { lastWidth = width; lastHeight = height; Gdx.gl.glViewport(0, 0, lastWidth, lastHeight); resize(width, height); listener.resize(width, height); shouldRender = true; } if (executeRunnables()) shouldRender = true; // If one of the runnables set running to false, for example after an exit(). if (!running) return; shouldRender |= graphics.shouldRender(); input.processEvents(); if (audio != null) audio.update(); if (shouldRender) { graphics.updateTime(); graphics.frameId++; listener.render(); canvas.swapBuffers(); } Display.sync(getFrameRate() * instanceCount); }
if (Gdx.files == null) files = new LwjglFiles(); if (Gdx.net == null) net = new LwjglNet(config); input = new LwjglAWTInput(this); setGlobals();
@Override public void keyReleased (java.awt.event.KeyEvent e) { synchronized (this) { KeyEvent event = usedKeyEvents.obtain(); event.keyChar = 0; event.keyCode = translateKeyCode(e.getKeyCode()); event.type = KeyEvent.KEY_UP; event.timeStamp = System.nanoTime(); keyEvents.add(event); if (keys[event.keyCode]) { keyCount--; keys[event.keyCode] = false; } lwjglAwtCanvas.graphics.requestRendering(); } }
@Override public void mouseReleased (MouseEvent e) { synchronized (this) { TouchEvent event = usedTouchEvents.obtain(); event.pointer = 0; event.x = e.getX(); event.y = e.getY(); event.button = toGdxButton(e.getButton()); event.type = TouchEvent.TOUCH_UP; event.timeStamp = System.nanoTime(); touchEvents.add(event); deltaX = event.x - touchX; deltaY = event.y - touchY; touchX = event.x; touchY = event.y; pressedButtons.remove(event.button); if (pressedButtons.size == 0) touchDown = false; lwjglAwtCanvas.graphics.requestRendering(); } }
public LwjglAWTInput (LwjglAWTCanvas lwjglAwtCanvas) { this.lwjglAwtCanvas = lwjglAwtCanvas; setListeners(lwjglAwtCanvas.getCanvas()); try { robot = new Robot(GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice()); } catch (HeadlessException e) { } catch (AWTException e) { } }
@Override public void setCursorCatched (boolean catched) { this.catched = catched; showCursor(!catched); }
@Override public float getPressure (int pointer) { return isTouched(pointer) ? 1 : 0; }
void render (boolean shouldRender) throws LWJGLException { if (!running) return; setGlobals(); canvas.setCursor(cursor); int width = Math.max(1, graphics.getWidth()); int height = Math.max(1, graphics.getHeight()); if (lastWidth != width || lastHeight != height) { lastWidth = width; lastHeight = height; Gdx.gl.glViewport(0, 0, lastWidth, lastHeight); resize(width, height); listener.resize(width, height); shouldRender = true; } if (executeRunnables()) shouldRender = true; // If one of the runnables set running to false, for example after an exit(). if (!running) return; shouldRender |= graphics.shouldRender(); input.processEvents(); if (audio != null) audio.update(); if (shouldRender) { graphics.updateTime(); graphics.frameId++; listener.render(); canvas.swapBuffers(); } Display.sync(getFrameRate() * instanceCount); }
if (Gdx.files == null) files = new LwjglFiles(); if (Gdx.net == null) net = new LwjglNet(config); input = new LwjglAWTInput(this); setGlobals();
@Override public void mouseExited (MouseEvent e) { checkCatched(e); lwjglAwtCanvas.graphics.requestRendering(); }
@Override public void keyReleased (java.awt.event.KeyEvent e) { synchronized (this) { KeyEvent event = usedKeyEvents.obtain(); event.keyChar = 0; event.keyCode = translateKeyCode(e.getKeyCode()); event.type = KeyEvent.KEY_UP; event.timeStamp = System.nanoTime(); keyEvents.add(event); if (keys[event.keyCode]) { keyCount--; keys[event.keyCode] = false; } lwjglAwtCanvas.graphics.requestRendering(); } }
@Override public void mousePressed (MouseEvent e) { synchronized (this) { TouchEvent event = usedTouchEvents.obtain(); event.pointer = 0; event.x = e.getX(); event.y = e.getY(); event.type = TouchEvent.TOUCH_DOWN; event.button = toGdxButton(e.getButton()); event.timeStamp = System.nanoTime(); touchEvents.add(event); deltaX = event.x - touchX; deltaY = event.y - touchY; touchX = event.x; touchY = event.y; touchDown = true; pressedButtons.add(event.button); lwjglAwtCanvas.graphics.requestRendering(); } }