6989505: java.awt.Robot's getPixelColor treats not fully opaque Window as fully transparent.
Summary: Use ::CreateDC() instead of ::GetDC()
Reviewed-by: art, dcherepanov
--- 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;
}