2338 case 8: nColor = 256; break; 2339 case 16: nColor = 65536; break; 2340 case 24: nColor = 16777216; break; 2341 } 2342 ::DeleteDC(hIC); 2343 return nColor; 2344 2345 CATCH_BAD_ALLOC_RET(0); 2346 } 2347 2348 /* 2349 * Class: sun_awt_windows_WToolkit 2350 * Method: getScreenWidth 2351 * Signature: ()I 2352 */ 2353 JNIEXPORT jint JNICALL 2354 Java_sun_awt_windows_WToolkit_getScreenWidth(JNIEnv *env, jobject self) 2355 { 2356 TRY; 2357 2358 return ::GetSystemMetrics(SM_CXSCREEN); 2359 2360 CATCH_BAD_ALLOC_RET(0); 2361 } 2362 2363 /* 2364 * Class: sun_awt_windows_WToolkit 2365 * Method: getScreenHeight 2366 * Signature: ()I 2367 */ 2368 JNIEXPORT jint JNICALL 2369 Java_sun_awt_windows_WToolkit_getScreenHeight(JNIEnv *env, jobject self) 2370 { 2371 TRY; 2372 2373 return ::GetSystemMetrics(SM_CYSCREEN); 2374 2375 CATCH_BAD_ALLOC_RET(0); 2376 } 2377 2378 /* 2379 * Class: sun_awt_windows_WToolkit 2380 * Method: getSreenInsets 2381 * Signature: (I)Ljava/awt/Insets; 2382 */ 2383 JNIEXPORT jobject JNICALL 2384 Java_sun_awt_windows_WToolkit_getScreenInsets(JNIEnv *env, 2385 jobject self, 2386 jint screen) 2387 { 2388 jobject insets = NULL; 2389 RECT rect; 2390 2391 TRY; 2392 2393 if (AwtToolkit::GetScreenInsets(screen, &rect)) { | 2338 case 8: nColor = 256; break; 2339 case 16: nColor = 65536; break; 2340 case 24: nColor = 16777216; break; 2341 } 2342 ::DeleteDC(hIC); 2343 return nColor; 2344 2345 CATCH_BAD_ALLOC_RET(0); 2346 } 2347 2348 /* 2349 * Class: sun_awt_windows_WToolkit 2350 * Method: getScreenWidth 2351 * Signature: ()I 2352 */ 2353 JNIEXPORT jint JNICALL 2354 Java_sun_awt_windows_WToolkit_getScreenWidth(JNIEnv *env, jobject self) 2355 { 2356 TRY; 2357 2358 int width = ::GetSystemMetrics(SM_CXSCREEN); 2359 2360 Devices::InstanceAccess devices; 2361 AwtWin32GraphicsDevice *device = devices->GetDevice( 2362 AwtWin32GraphicsDevice::GetDefaultDeviceIndex()); 2363 2364 return (device == NULL) ? width : device->ScaleDownX(width); 2365 CATCH_BAD_ALLOC_RET(0); 2366 } 2367 2368 /* 2369 * Class: sun_awt_windows_WToolkit 2370 * Method: getScreenHeight 2371 * Signature: ()I 2372 */ 2373 JNIEXPORT jint JNICALL 2374 Java_sun_awt_windows_WToolkit_getScreenHeight(JNIEnv *env, jobject self) 2375 { 2376 TRY; 2377 2378 int height = ::GetSystemMetrics(SM_CYSCREEN); 2379 Devices::InstanceAccess devices; 2380 AwtWin32GraphicsDevice *device = devices->GetDevice( 2381 AwtWin32GraphicsDevice::GetDefaultDeviceIndex()); 2382 2383 return (device == NULL) ? height : device->ScaleDownY(height); 2384 2385 CATCH_BAD_ALLOC_RET(0); 2386 } 2387 2388 /* 2389 * Class: sun_awt_windows_WToolkit 2390 * Method: getSreenInsets 2391 * Signature: (I)Ljava/awt/Insets; 2392 */ 2393 JNIEXPORT jobject JNICALL 2394 Java_sun_awt_windows_WToolkit_getScreenInsets(JNIEnv *env, 2395 jobject self, 2396 jint screen) 2397 { 2398 jobject insets = NULL; 2399 RECT rect; 2400 2401 TRY; 2402 2403 if (AwtToolkit::GetScreenInsets(screen, &rect)) { |