|
From: <ka...@us...> - 2012-11-11 18:43:22
|
Revision: 3824
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3824&view=rev
Author: kappa1
Date: 2012-11-11 18:43:14 +0000 (Sun, 11 Nov 2012)
Log Message:
-----------
implement missing functionality for Display.getWidth() and Display.getHeight() not updating correctly on resize
Modified Paths:
--------------
branches/osx-java7/LWJGL/src/java/org/lwjgl/opengl/MacOSXDisplay.java
branches/osx-java7/LWJGL/src/native/macosx/org_lwjgl_opengl_Display.m
Modified: branches/osx-java7/LWJGL/src/java/org/lwjgl/opengl/MacOSXDisplay.java
===================================================================
--- branches/osx-java7/LWJGL/src/java/org/lwjgl/opengl/MacOSXDisplay.java 2012-11-11 15:48:08 UTC (rev 3823)
+++ branches/osx-java7/LWJGL/src/java/org/lwjgl/opengl/MacOSXDisplay.java 2012-11-11 18:43:14 UTC (rev 3824)
@@ -121,6 +121,10 @@
private native void nResizeWindow(ByteBuffer window_handle, int x, int y, int width, int height);
private native boolean nWasResized(ByteBuffer window_handle);
+
+ private native int nGetWidth(ByteBuffer window_handle);
+
+ private native int nGetHeight(ByteBuffer window_handle);
private static boolean isUndecorated() {
return Display.getPrivilegedBoolean("org.lwjgl.opengl.Window.undecorated");
@@ -561,11 +565,11 @@
}
public int getWidth() {
- return width;
+ return nGetWidth(window);
}
-
+
public int getHeight() {
- return height;
+ return nGetHeight(window);
}
public boolean isInsideWindow() {
Modified: branches/osx-java7/LWJGL/src/native/macosx/org_lwjgl_opengl_Display.m
===================================================================
--- branches/osx-java7/LWJGL/src/native/macosx/org_lwjgl_opengl_Display.m 2012-11-11 15:48:08 UTC (rev 3823)
+++ branches/osx-java7/LWJGL/src/native/macosx/org_lwjgl_opengl_Display.m 2012-11-11 18:43:14 UTC (rev 3824)
@@ -370,6 +370,18 @@
return was_resized;
}
+JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_MacOSXDisplay_nGetWidth(JNIEnv *env, jobject this, jobject window_handle) {
+ MacOSXWindowInfo *window_info = (MacOSXWindowInfo *)(*env)->GetDirectBufferAddress(env, window_handle);
+ jint width = window_info->display_rect.size.width;
+ return width;
+}
+
+JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_MacOSXDisplay_nGetHeight(JNIEnv *env, jobject this, jobject window_handle) {
+ MacOSXWindowInfo *window_info = (MacOSXWindowInfo *)(*env)->GetDirectBufferAddress(env, window_handle);
+ jint height = window_info->display_rect.size.height;
+ return height;
+}
+
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_MacOSXDisplay_nSetResizable(JNIEnv *env, jobject this, jobject window_handle, jboolean resizable) {
MacOSXWindowInfo *window_info = (MacOSXWindowInfo *)(*env)->GetDirectBufferAddress(env, window_handle);
NSUInteger style_mask = [window_info->window styleMask];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|