< prev index next >

src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsDevice.m

Print this page
rev 54094 : 8257853: Remove dependencies on JNF's JNI utility functions in AWT and 2D code
rev 54096 : 8259651: [macOS] Replace JNF_COCOA_ENTER/EXIT macros
rev 54098 : 8260616: Removing remaining JNF dependencies in the java.desktop module
8259729: Missed JNFInstanceOf -> IsInstanceOf conversion

*** 24,35 **** */ #import "LWCToolkit.h" #import "ThreadUtilities.h" #include "GeomUtilities.h" ! ! #import <JavaNativeFoundation/JavaNativeFoundation.h> /** * Some default values for invalid CoreGraphics display ID. */ #define DEFAULT_DEVICE_WIDTH 1024 --- 24,34 ---- */ #import "LWCToolkit.h" #import "ThreadUtilities.h" #include "GeomUtilities.h" ! #include "JNIUtilities.h" /** * Some default values for invalid CoreGraphics display ID. */ #define DEFAULT_DEVICE_WIDTH 1024
*** 148,170 **** * CGDisplayModeRef, if CGDisplayModeRef is NULL, then some stub is returned. */ static jobject createJavaDisplayMode(CGDisplayModeRef mode, JNIEnv *env) { jobject ret = NULL; jint h = DEFAULT_DEVICE_HEIGHT, w = DEFAULT_DEVICE_WIDTH, bpp = 0, refrate = 0; ! JNF_COCOA_ENTER(env); if (mode) { CFStringRef currentBPP = CGDisplayModeCopyPixelEncoding(mode); bpp = getBPPFromModeString(currentBPP); refrate = CGDisplayModeGetRefreshRate(mode); h = CGDisplayModeGetHeight(mode); w = CGDisplayModeGetWidth(mode); CFRelease(currentBPP); } ! static JNF_CLASS_CACHE(jc_DisplayMode, "java/awt/DisplayMode"); ! static JNF_CTOR_CACHE(jc_DisplayMode_ctor, jc_DisplayMode, "(IIII)V"); ! ret = JNFNewObject(env, jc_DisplayMode_ctor, w, h, bpp, refrate); ! JNF_COCOA_EXIT(env); return ret; } /* --- 147,170 ---- * CGDisplayModeRef, if CGDisplayModeRef is NULL, then some stub is returned. */ static jobject createJavaDisplayMode(CGDisplayModeRef mode, JNIEnv *env) { jobject ret = NULL; jint h = DEFAULT_DEVICE_HEIGHT, w = DEFAULT_DEVICE_WIDTH, bpp = 0, refrate = 0; ! JNI_COCOA_ENTER(env); if (mode) { CFStringRef currentBPP = CGDisplayModeCopyPixelEncoding(mode); bpp = getBPPFromModeString(currentBPP); refrate = CGDisplayModeGetRefreshRate(mode); h = CGDisplayModeGetHeight(mode); w = CGDisplayModeGetWidth(mode); CFRelease(currentBPP); } ! DECLARE_CLASS_RETURN(jc_DisplayMode, "java/awt/DisplayMode", ret); ! DECLARE_METHOD_RETURN(jc_DisplayMode_ctor, jc_DisplayMode, "<init>", "(IIII)V", ret); ! ret = (*env)->NewObject(env, jc_DisplayMode, jc_DisplayMode_ctor, w, h, bpp, refrate); ! CHECK_EXCEPTION(); ! JNI_COCOA_EXIT(env); return ret; } /*
*** 230,240 **** (JNIEnv *env, jclass class, jint displayID) { jobject ret = NULL; __block NSRect frame = NSZeroRect; __block NSRect visibleFrame = NSZeroRect; ! JNF_COCOA_ENTER(env); [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ NSArray *screens = [NSScreen screens]; for (NSScreen *screen in screens) { NSDictionary *screenInfo = [screen deviceDescription]; --- 230,240 ---- (JNIEnv *env, jclass class, jint displayID) { jobject ret = NULL; __block NSRect frame = NSZeroRect; __block NSRect visibleFrame = NSZeroRect; ! JNI_COCOA_ENTER(env); [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ NSArray *screens = [NSScreen screens]; for (NSScreen *screen in screens) { NSDictionary *screenInfo = [screen deviceDescription];
*** 250,264 **** jint bottom = visibleFrame.origin.y - frame.origin.y; jint top = frame.size.height - visibleFrame.size.height - bottom; jint left = visibleFrame.origin.x - frame.origin.x; jint right = frame.size.width - visibleFrame.size.width - left; ! static JNF_CLASS_CACHE(jc_Insets, "java/awt/Insets"); ! static JNF_CTOR_CACHE(jc_Insets_ctor, jc_Insets, "(IIII)V"); ! ret = JNFNewObject(env, jc_Insets_ctor, top, left, bottom, right); ! JNF_COCOA_EXIT(env); return ret; } /* --- 250,264 ---- jint bottom = visibleFrame.origin.y - frame.origin.y; jint top = frame.size.height - visibleFrame.size.height - bottom; jint left = visibleFrame.origin.x - frame.origin.x; jint right = frame.size.width - visibleFrame.size.width - left; ! DECLARE_CLASS_RETURN(jc_Insets, "java/awt/Insets", ret); ! DECLARE_METHOD_RETURN(jc_Insets_ctor, jc_Insets, "<init>", "(IIII)V", ret); ! ret = (*env)->NewObject(env, jc_Insets, jc_Insets_ctor, top, left, bottom, right); ! JNI_COCOA_EXIT(env); return ret; } /*
*** 268,278 **** */ JNIEXPORT void JNICALL Java_sun_awt_CGraphicsDevice_nativeSetDisplayMode (JNIEnv *env, jclass class, jint displayID, jint w, jint h, jint bpp, jint refrate) { ! JNF_COCOA_ENTER(env); CFArrayRef allModes = getAllValidDisplayModes(displayID); CGDisplayModeRef closestMatch = getBestModeForParameters(allModes, (int)w, (int)h, (int)bpp, (int)refrate); __block CGError retCode = kCGErrorSuccess; if (closestMatch != NULL) { --- 268,278 ---- */ JNIEXPORT void JNICALL Java_sun_awt_CGraphicsDevice_nativeSetDisplayMode (JNIEnv *env, jclass class, jint displayID, jint w, jint h, jint bpp, jint refrate) { ! JNI_COCOA_ENTER(env); CFArrayRef allModes = getAllValidDisplayModes(displayID); CGDisplayModeRef closestMatch = getBestModeForParameters(allModes, (int)w, (int)h, (int)bpp, (int)refrate); __block CGError retCode = kCGErrorSuccess; if (closestMatch != NULL) {
*** 285,302 **** retCode = CGCompleteDisplayConfiguration(config, kCGConfigureForAppOnly); } CGDisplayModeRelease(closestMatch); }]; } else { ! [JNFException raise:env as:kIllegalArgumentException reason:"Invalid display mode"]; } if (retCode != kCGErrorSuccess){ ! [JNFException raise:env as:kIllegalArgumentException reason:"Unable to set display mode!"]; } CFRelease(allModes); ! JNF_COCOA_EXIT(env); } /* * Class: sun_awt_CGraphicsDevice * Method: nativeGetDisplayMode * Signature: (I)Ljava/awt/DisplayMode --- 285,302 ---- retCode = CGCompleteDisplayConfiguration(config, kCGConfigureForAppOnly); } CGDisplayModeRelease(closestMatch); }]; } else { ! JNU_ThrowIllegalArgumentException(env, "Invalid display mode"); } if (retCode != kCGErrorSuccess){ ! JNU_ThrowIllegalArgumentException(env, "Unable to set display mode!"); } CFRelease(allModes); ! JNI_COCOA_EXIT(env); } /* * Class: sun_awt_CGraphicsDevice * Method: nativeGetDisplayMode * Signature: (I)Ljava/awt/DisplayMode
*** 321,337 **** JNIEXPORT jobjectArray JNICALL Java_sun_awt_CGraphicsDevice_nativeGetDisplayModes (JNIEnv *env, jclass class, jint displayID) { jobjectArray jreturnArray = NULL; ! JNF_COCOA_ENTER(env); CFArrayRef allModes = getAllValidDisplayModes(displayID); CFIndex numModes = allModes ? CFArrayGetCount(allModes): 0; ! static JNF_CLASS_CACHE(jc_DisplayMode, "java/awt/DisplayMode"); ! jreturnArray = JNFNewObjectArray(env, &jc_DisplayMode, (jsize) numModes); if (!jreturnArray) { NSLog(@"CGraphicsDevice can't create java array of DisplayMode objects"); return nil; } --- 321,337 ---- JNIEXPORT jobjectArray JNICALL Java_sun_awt_CGraphicsDevice_nativeGetDisplayModes (JNIEnv *env, jclass class, jint displayID) { jobjectArray jreturnArray = NULL; ! JNI_COCOA_ENTER(env); CFArrayRef allModes = getAllValidDisplayModes(displayID); CFIndex numModes = allModes ? CFArrayGetCount(allModes): 0; ! DECLARE_CLASS_RETURN(jc_DisplayMode, "java/awt/DisplayMode", NULL); ! jreturnArray = (*env)->NewObjectArray(env, (jsize)numModes, jc_DisplayMode, NULL); if (!jreturnArray) { NSLog(@"CGraphicsDevice can't create java array of DisplayMode objects"); return nil; }
*** 350,360 **** } } if (allModes) { CFRelease(allModes); } ! JNF_COCOA_EXIT(env); return jreturnArray; } /* --- 350,360 ---- } } if (allModes) { CFRelease(allModes); } ! JNI_COCOA_EXIT(env); return jreturnArray; } /*
*** 366,376 **** Java_sun_awt_CGraphicsDevice_nativeGetScaleFactor (JNIEnv *env, jclass class, jint displayID) { __block jdouble ret = 1.0f; ! JNF_COCOA_ENTER(env); [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ NSArray *screens = [NSScreen screens]; for (NSScreen *screen in screens) { NSDictionary *screenInfo = [screen deviceDescription]; --- 366,376 ---- Java_sun_awt_CGraphicsDevice_nativeGetScaleFactor (JNIEnv *env, jclass class, jint displayID) { __block jdouble ret = 1.0f; ! JNI_COCOA_ENTER(env); [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ NSArray *screens = [NSScreen screens]; for (NSScreen *screen in screens) { NSDictionary *screenInfo = [screen deviceDescription];
*** 382,389 **** break; } } }]; ! JNF_COCOA_EXIT(env); return ret; } --- 382,389 ---- break; } } }]; ! JNI_COCOA_EXIT(env); return ret; }
< prev index next >