6989505: java.awt.Robot's getPixelColor treats not fully opaque Window as fully transparent.
authoranthony
Tue, 09 Nov 2010 19:28:21 +0300
changeset 7152 0eeadc73e6ef
parent 7151 8db734b13eb6
child 7153 87a8ead335f8
6989505: java.awt.Robot's getPixelColor treats not fully opaque Window as fully transparent. Summary: Use ::CreateDC() instead of ::GetDC() Reviewed-by: art, dcherepanov
jdk/src/windows/native/sun/windows/awt_Robot.cpp
--- a/jdk/src/windows/native/sun/windows/awt_Robot.cpp	Tue Nov 09 14:02:54 2010 +0300
+++ b/jdk/src/windows/native/sun/windows/awt_Robot.cpp	Tue Nov 09 19:28:21 2010 +0300
@@ -194,9 +194,9 @@
 
 jint AwtRobot::GetRGBPixel( jint x, jint y)
 {
-    HDC hdc = GetDC(NULL);
+    HDC hdc = ::CreateDC(TEXT("DISPLAY"), NULL, NULL, NULL);
     COLORREF ref = ::GetPixel( hdc, x, y );
-    ReleaseDC(NULL,hdc);
+    ::DeleteDC(hdc);
     jint value = WinToJavaPixel(GetRValue(ref), GetGValue(ref), GetBValue(ref));
     return value;
 }