فهرست منبع

Merge pull request #379 from davidB/fix_opengl3

jogl: use pixel unit for window's dimension (fix issue on MaxOS X)
Julien Gouesse 9 سال پیش
والد
کامیت
361cb0893a
1فایلهای تغییر یافته به همراه5 افزوده شده و 5 حذف شده
  1. 5 5
      jme3-jogl/src/main/java/com/jme3/input/jogl/NewtMouseInput.java

+ 5 - 5
jme3-jogl/src/main/java/com/jme3/input/jogl/NewtMouseInput.java

@@ -176,7 +176,7 @@ public class NewtMouseInput  implements MouseInput, MouseListener {
 
             // invert DY
             int actualX = lastKnownLocation.getX();
-            int actualY = component.getHeight() - lastKnownLocation.getY();
+            int actualY = component.getSurfaceHeight() - lastKnownLocation.getY();
             MouseMotionEvent evt = new MouseMotionEvent(actualX, actualY,
                                                         newX - lastEventX,
                                                         lastEventY - newY,
@@ -215,7 +215,7 @@ public class NewtMouseInput  implements MouseInput, MouseListener {
 
     @Override
     public void mousePressed(MouseEvent newtEvt) {
-        MouseButtonEvent evt = new MouseButtonEvent(getJMEButtonIndex(newtEvt), true, newtEvt.getX(), newtEvt.getY());
+        MouseButtonEvent evt = new MouseButtonEvent(getJMEButtonIndex(newtEvt), true, newtEvt.getX(), component.getSurfaceHeight() - newtEvt.getY());
         evt.setTime(newtEvt.getWhen());
         synchronized (eventQueue) {
             eventQueue.add(evt);
@@ -224,7 +224,7 @@ public class NewtMouseInput  implements MouseInput, MouseListener {
 
     @Override
      public void mouseReleased(MouseEvent awtEvt) {
-        MouseButtonEvent evt = new MouseButtonEvent(getJMEButtonIndex(awtEvt), false, awtEvt.getX(), awtEvt.getY());
+        MouseButtonEvent evt = new MouseButtonEvent(getJMEButtonIndex(awtEvt), false, awtEvt.getX(), component.getSurfaceHeight() - awtEvt.getY());
         evt.setTime(awtEvt.getWhen());
         synchronized (eventQueue) {
             eventQueue.add(evt);
@@ -285,8 +285,8 @@ public class NewtMouseInput  implements MouseInput, MouseListener {
     private void recenterMouse(final GLWindow component) {
         eventsSinceRecenter = 0;
         isRecentering = true;
-        centerLocation.setX(component.getWidth() / 2);
-        centerLocation.setY(component.getHeight() / 2);
+        centerLocation.setX(component.getSurfaceWidth() / 2);
+        centerLocation.setY(component.getSurfaceHeight() / 2);
         centerLocationOnScreen.setX(centerLocation.getX());
         centerLocationOnScreen.setY(centerLocation.getY());