< prev index next >

src/java.desktop/share/classes/sun/java2d/pipe/DrawImage.java

Print this page

        

*** 734,746 **** double m00 = (double)(dx2-dx1)/(sx2-sx1); double m11 = (double)(dy2-dy1)/(sy2-sy1); atfm.scale(m00, m11); atfm.translate(srcX-sx1, srcY-sy1); ! final int scale = SurfaceManager.getImageScale(img); ! final int imgW = img.getWidth(null) * scale; ! final int imgH = img.getHeight(null) * scale; srcW += srcX; srcH += srcY; // Make sure we are not out of bounds if (srcW > imgW) { srcW = imgW; --- 734,747 ---- double m00 = (double)(dx2-dx1)/(sx2-sx1); double m11 = (double)(dy2-dy1)/(sy2-sy1); atfm.scale(m00, m11); atfm.translate(srcX-sx1, srcY-sy1); ! final double scaleX = SurfaceManager.getImageScaleX(img); ! final double scaleY = SurfaceManager.getImageScaleY(img); ! final int imgW = (int) Math.ceil(img.getWidth(null) * scaleX); ! final int imgH = (int) Math.ceil(img.getHeight(null) * scaleY); srcW += srcX; srcH += srcY; // Make sure we are not out of bounds if (srcW > imgW) { srcW = imgW;
< prev index next >