Hi Alexander,
I have added printout after the line 679 of the XPStyle.java:
676 ThemeReader.paintBackground(SunWritableRaster.stealData(dbi, 0),
677 part.getControlName(c),
part.getValue(),
678 State.getValue(part, state),
679 0, 0, w, h, w);
-->> System.out.println(w + " " + h + " " + part.getControlName(c) + " "
+ part.getValue() + " " + State.getValue(part, state));
And it prints the same lines constantly when I repeatedly focus the test
window without resizing it.
It seems to me that the image caching doesn't work and the image is
reconstructed each time from the native theme.
Yet another question: why not use the actual scaling factor for the
resolution variant instead of fixed 2X?
--Semyon
On 6/29/2016 6:50 PM, Alexandr Scherbatiy wrote:
Hello,
Could you review the updated fix:
http://cr.openjdk.java.net/~alexsch/8143064/webrev.01
The MultiResolutionImage image is used for the icons painting.
Thanks,
Alexandr.
On 11/16/2015 7:07 PM, Sergey Bylokhov wrote:
Hi, Alexander.
109 AffineTransform tx = ((Graphics2D) g).getTransform();
110 int sw = tx.isIdentity() ? w : (int) Math.round(w *
tx.getScaleX());
111 int sh = tx.isIdentity() ? h : (int) Math.round(h *
tx.getScaleY());
I think that it is not necessary that !isIdentity transform return
non-zero value from the getScaleX/Y method. I recall that exactly the
same bug on OSX was fixed via MultiResolutionCachedImage, why we
cannot do the same here?
On 16.11.15 17:43, Alexander Scherbatiy wrote:
Could you review the fix:
bug: https://bugs.openjdk.java.net/browse/JDK-8143064
webrev: http://cr.openjdk.java.net/~alexsch/8143064/webrev.00
Icon image sizes are scaled in sun.swing.CachedPainter.
Thanks,
Alexandr.