13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 #import <JavaNativeFoundation/JavaNativeFoundation.h> 27 28 #import "jni_util.h" 29 #import "LWCToolkit.h" 30 #import "AWT_debug.h" 31 32 33 /* 34 * Class: sun_awt_CGraphicsEnvironment 35 * Method: initCocoa 36 * Signature: ()V 37 */ 38 JNIEXPORT void JNICALL 39 Java_sun_awt_CGraphicsEnvironment_initCocoa 40 (JNIEnv *env, jclass self) 41 { 42 JNF_COCOA_ENTER(env); 43 44 // Inform Cocoa that we're multi-threaded. 45 // Creating a short-lived NSThread is the recommended way of doing so. 46 [NSThread detachNewThreadSelector:@selector(self) toTarget:[NSObject class] withObject:nil]; 47 48 JNF_COCOA_EXIT(env); 49 } 50 51 #define MAX_DISPLAYS 64 52 53 /* 54 * Class: sun_awt_CGraphicsEnvironment 55 * Method: getDisplayIDs 56 * Signature: ()[I 57 */ 58 JNIEXPORT jintArray JNICALL 59 Java_sun_awt_CGraphicsEnvironment_getDisplayIDs 60 (JNIEnv *env, jclass class) 61 { 62 jintArray ret = NULL; 63 64 JNF_COCOA_ENTER(env); 65 66 /* Get the count */ 67 CGDisplayCount displayCount; 68 if (CGGetOnlineDisplayList(MAX_DISPLAYS, NULL, &displayCount) != kCGErrorSuccess) { 69 [JNFException raise:env 70 as:kInternalError | 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 #import <JavaNativeFoundation/JavaNativeFoundation.h> 27 28 #import "jni_util.h" 29 #import "LWCToolkit.h" 30 #import "AWT_debug.h" 31 32 33 #define MAX_DISPLAYS 64 34 35 /* 36 * Class: sun_awt_CGraphicsEnvironment 37 * Method: getDisplayIDs 38 * Signature: ()[I 39 */ 40 JNIEXPORT jintArray JNICALL 41 Java_sun_awt_CGraphicsEnvironment_getDisplayIDs 42 (JNIEnv *env, jclass class) 43 { 44 jintArray ret = NULL; 45 46 JNF_COCOA_ENTER(env); 47 48 /* Get the count */ 49 CGDisplayCount displayCount; 50 if (CGGetOnlineDisplayList(MAX_DISPLAYS, NULL, &displayCount) != kCGErrorSuccess) { 51 [JNFException raise:env 52 as:kInternalError |