diff --git a/backends/backend-teavm/src/main/java/com/github/xpenatan/gdx/backends/teavm/TeaGraphics.java b/backends/backend-teavm/src/main/java/com/github/xpenatan/gdx/backends/teavm/TeaGraphics.java index 84eb73c2..0160ef65 100644 --- a/backends/backend-teavm/src/main/java/com/github/xpenatan/gdx/backends/teavm/TeaGraphics.java +++ b/backends/backend-teavm/src/main/java/com/github/xpenatan/gdx/backends/teavm/TeaGraphics.java @@ -186,13 +186,13 @@ public GLVersion getGLVersion() { } @Override - public float getPpiX() { - return 96; + public float getPpiX () { + return 96f * (float)getNativeScreenDensity(); } @Override - public float getPpiY() { - return 96; + public float getPpiY () { + return 96f * (float)getNativeScreenDensity(); } @Override @@ -206,8 +206,9 @@ public float getPpcY() { } @Override - public float getDensity() { - return 96.0f / 160; + public float getDensity () { + float ppiX = getPpiX(); + return (ppiX > 0 && ppiX <= Float.MAX_VALUE) ? ppiX / 160f : 1f; } @Override diff --git a/backends/backend-teavm/src/main/java/com/github/xpenatan/gdx/backends/teavm/TeaInput.java b/backends/backend-teavm/src/main/java/com/github/xpenatan/gdx/backends/teavm/TeaInput.java index a13b9458..d7689d9d 100644 --- a/backends/backend-teavm/src/main/java/com/github/xpenatan/gdx/backends/teavm/TeaInput.java +++ b/backends/backend-teavm/src/main/java/com/github/xpenatan/gdx/backends/teavm/TeaInput.java @@ -141,8 +141,8 @@ private void handleMouseEvents(EventWrapper e) { this.deltaX[0] = 0; this.deltaY[0] = 0; if(isCursorCatched()) { - this.touchX[0] += getMovementXJS(mouseEvent); - this.touchY[0] += getMovementYJS(mouseEvent); + this.touchX[0] += mouseEvent.getMovementX(); + this.touchY[0] += mouseEvent.getMovementY(); } else { int relativeX = getRelativeX(mouseEvent, canvas); @@ -163,9 +163,9 @@ else if(type.equals("mouseup")) { this.pressedButtons.remove(KeyCodes.getButton(mouseEvent.getButton())); this.touched[0] = pressedButtons.size > 0; if(isCursorCatched()) { - setDelta(0, (int)getMovementXJS(mouseEvent), (int)getMovementYJS(mouseEvent)); - this.touchX[0] += getMovementXJS(mouseEvent); - this.touchY[0] += getMovementYJS(mouseEvent); + setDelta(0, (int)mouseEvent.getMovementX(), (int)mouseEvent.getMovementY()); + this.touchX[0] += mouseEvent.getMovementX(); + this.touchY[0] += mouseEvent.getMovementY(); } else { setDelta(0, getRelativeX(mouseEvent, canvas) - touchX[0], getRelativeY(mouseEvent, canvas) - touchY[0]); @@ -180,9 +180,9 @@ else if(type.equals("mouseup")) { else if(type.equals("mousemove")) { MouseEventWrapper mouseEvent = (MouseEventWrapper)e; if(isCursorCatched()) { - setDelta(0, (int)getMovementXJS(mouseEvent), (int)getMovementYJS(mouseEvent)); - this.touchX[0] += getMovementXJS(mouseEvent); - this.touchY[0] += getMovementYJS(mouseEvent); + setDelta(0, (int)mouseEvent.getMovementX(), (int)mouseEvent.getMovementY()); + this.touchX[0] += mouseEvent.getMovementX(); + this.touchY[0] += mouseEvent.getMovementY(); } else { int relativeX = getRelativeX(mouseEvent, canvas); @@ -390,30 +390,6 @@ public void setDelta(int touchId, int x, int y) { deltaY[touchId] = y; } - /** - * from https://github.com/toji/game-shim/blob/master/game-shim.js - * - * @param event JavaScript Mouse Event - * @return movement in x direction - */ - private float getMovementXJS(MouseEventWrapper event) { - return event.getMovementX(); - } - - ; - - /** - * from https://github.com/toji/game-shim/blob/master/game-shim.js - * - * @param event JavaScript Mouse Event - * @return movement in y direction - */ - private float getMovementYJS(MouseEventWrapper event) { - return event.getMovementY(); - } - - ; - private ElementWrapper getCompatMode(HTMLDocumentWrapper target) { String compatMode = target.getCompatMode(); boolean isComp = compatMode.equals("CSS1Compat"); @@ -813,8 +789,7 @@ public boolean isCursorCatched() { @Override public void setCursorPosition(int x, int y) { - // TODO Auto-generated method stub - + // not possible in a browser window } @Override