< prev index next >
src/java.desktop/unix/classes/sun/java2d/xr/XRSurfaceData.java
Print this page
@@ -546,12 +546,22 @@
XRGraphicsConfig gc, SurfaceType sType) {
super(peer, gc, sType, peer.getColorModel(),
peer.getColorModel().getPixelSize(), Transparency.OPAQUE);
if (isXRDrawableValid()) {
+ // If we have a 32 bit color model for the window it needs
+ // alpha to support translucency of the window so we need
+ // to get the ARGB32 XRender picture format else for
+ // 24 bit colormodel we need RGB24 or OPAQUE pictureformat.
+ if (peer.getColorModel().getPixelSize() == 32) {
+ initXRender(XRUtils.
+ getPictureFormatForTransparency(Transparency.TRANSLUCENT));
+ }
+ else {
initXRender(XRUtils.
getPictureFormatForTransparency(Transparency.OPAQUE));
+ }
makePipes();
}
}
public SurfaceData getReplacement() {
< prev index next >