< 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 >