diff --git a/src/java/org/lwjgl/opengl/MacOSXDisplay.java b/src/java/org/lwjgl/opengl/MacOSXDisplay.java index 65b5f900..a83a6657 100644 --- a/src/java/org/lwjgl/opengl/MacOSXDisplay.java +++ b/src/java/org/lwjgl/opengl/MacOSXDisplay.java @@ -121,6 +121,10 @@ final class MacOSXDisplay implements DisplayImplementation { 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 @@ final class MacOSXDisplay implements DisplayImplementation { } public int getWidth() { - return width; + return nGetWidth(window); } - + public int getHeight() { - return height; + return nGetHeight(window); } public boolean isInsideWindow() { diff --git a/src/native/macosx/org_lwjgl_opengl_Display.m b/src/native/macosx/org_lwjgl_opengl_Display.m index 801d25d1..8f4d355c 100644 --- a/src/native/macosx/org_lwjgl_opengl_Display.m +++ b/src/native/macosx/org_lwjgl_opengl_Display.m @@ -370,6 +370,18 @@ JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_MacOSXDisplay_nWasResized(JNIEn 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];