Please see the updated version:
http://cr.openjdk.java.net/~azvegint/jdk/9/8014212/01/

robot makes shot of intersection of provided rectangle with root window. Old robot implementation works for negative x and y, but may return garbage outside of root window behavior, so it was updated too.

ShapeNotSetSometimes reduced iteration count to prevent killing by jtreg for timeout.

TranslucentJAppletTest updated to use getPixelColor() directly.

Thanks,

Alexander.

On 07/24/2015 07:08 AM, Sergey Bylokhov wrote:
Hi, Alexander.
I am not sure that an assumption that we should not make a screen shot if the x and y are negative is correct. I guess that we should take a screenshot of the intersection of the requested area and the display.

Can you also check this comment in the TranslucentJAppletTest.java:
106 // unfortunately, robot.getPixelColor() doesn't work for some unknown reason
 107         // Color newColor2 = r.getPixelColor(200, 200);

On 23.07.15 19:37, Alexander Zvegintsev wrote:
Hello,

please review the fix
http://cr.openjdk.java.net/~azvegint/jdk/9/8014212/00
for the issue
https://bugs.openjdk.java.net/browse/JDK-8014212

This fix trying to use gdk_pixbuf_get_from_drawable () [0] to capture screenshot(basic image data handling could be found here[1]).
If it fails then we come back to our old method.
Translucency support[1] is also covered by this fix, but there is another issue with toFront() call which blocks passing of a JCK test.

P.S. On Solaris 11 windows appears with animation, thus sleep() call was added to work around this.

[0] https://developer.gnome.org/gdk2/stable/gdk2-Pixbufs.html#gdk-pixbuf-get-from-drawable [1] https://developer.gnome.org/gdk-pixbuf/stable/gdk-pixbuf-The-GdkPixbuf-Structure.html#image-data [2] https://bugs.openjdk.java.net/browse/JDK-7043845 Robot should be able take screenshots with translucent windows

--
Thanks,

Alexander.


--
Best regards, Sergey.

Reply via email to