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. |