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