< prev index next >

src/java.desktop/windows/classes/sun/awt/windows/TranslucentWindowPainter.java

Print this page

        

*** 28,45 **** --- 28,47 ---- import java.awt.Color; import java.awt.Graphics2D; import java.awt.GraphicsConfiguration; import java.awt.Image; import java.awt.Window; + import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.awt.image.DataBufferInt; import java.awt.image.VolatileImage; import java.security.AccessController; import sun.awt.image.BufImgSurfaceData; import sun.java2d.DestSurfaceProvider; import sun.java2d.InvalidPipeException; import sun.java2d.Surface; + import sun.java2d.pipe.Region; import sun.java2d.pipe.RenderQueue; import sun.java2d.pipe.BufferedContext; import sun.java2d.pipe.hw.AccelGraphicsConfig; import sun.java2d.pipe.hw.AccelSurface; import sun.security.action.GetPropertyAction;
*** 176,193 **** super(peer); } @Override protected Image getBackBuffer(boolean clear) { ! int w = window.getWidth(); ! int h = window.getHeight(); if (backBuffer == null || backBuffer.getWidth() != w || backBuffer.getHeight() != h) { flush(); ! backBuffer = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB_PRE); } return clear ? (BufferedImage)clearImage(backBuffer) : backBuffer; } @Override --- 178,200 ---- super(peer); } @Override protected Image getBackBuffer(boolean clear) { ! GraphicsConfiguration gc = peer.getGraphicsConfiguration(); ! AffineTransform transform = gc.getDefaultTransform(); ! int w = Region.clipRound( ! window.getWidth() * transform.getScaleX()); ! int h = Region.clipRound( ! window.getHeight() * transform.getScaleY()); if (backBuffer == null || backBuffer.getWidth() != w || backBuffer.getHeight() != h) { flush(); ! backBuffer = new BufferedImage(gc, w, h, BufferedImage ! .TYPE_INT_ARGB_PRE); } return clear ? (BufferedImage)clearImage(backBuffer) : backBuffer; } @Override
< prev index next >