< prev index next >

src/java.desktop/share/classes/java/awt/image/ReplicateScaleFilter.java

Print this page




 236         int dy1 = (2 * y * destHeight + srcHeight - 1) / (2 * srcHeight);
 237         int outpix[];
 238         if (outpixbuf != null && outpixbuf instanceof int[]) {
 239             outpix = (int[]) outpixbuf;
 240         } else {
 241             outpix = new int[destWidth];
 242             outpixbuf = outpix;
 243         }
 244         for (int dy = dy1; (sy = srcrows[dy]) < y + h; dy++) {
 245             int srcoff = off + scansize * (sy - y);
 246             int dx;
 247             for (dx = dx1; (sx = srccols[dx]) < x + w; dx++) {
 248                 outpix[dx] = pixels[srcoff + sx - x];
 249             }
 250             if (dx > dx1) {
 251                 consumer.setPixels(dx1, dy, dx - dx1, 1,
 252                                    model, outpix, dx1, destWidth);
 253             }
 254         }
 255     }









 256 }


 236         int dy1 = (2 * y * destHeight + srcHeight - 1) / (2 * srcHeight);
 237         int outpix[];
 238         if (outpixbuf != null && outpixbuf instanceof int[]) {
 239             outpix = (int[]) outpixbuf;
 240         } else {
 241             outpix = new int[destWidth];
 242             outpixbuf = outpix;
 243         }
 244         for (int dy = dy1; (sy = srcrows[dy]) < y + h; dy++) {
 245             int srcoff = off + scansize * (sy - y);
 246             int dx;
 247             for (dx = dx1; (sx = srccols[dx]) < x + w; dx++) {
 248                 outpix[dx] = pixels[srcoff + sx - x];
 249             }
 250             if (dx > dx1) {
 251                 consumer.setPixels(dx1, dy, dx - dx1, 1,
 252                                    model, outpix, dx1, destWidth);
 253             }
 254         }
 255     }
 256 
 257     @Override
 258     public ImageFilter getScaledFilterInstance(double scaleX, double scaleY) {
 259         Object instance = super.getScaledFilterInstance(scaleX, scaleY);
 260         ReplicateScaleFilter filter = (ReplicateScaleFilter) instance;
 261         filter.destWidth = (int) Math.floor(destWidth * scaleX);
 262         filter.destHeight = (int) Math.floor(destHeight * scaleY);
 263         return filter;
 264     }
 265 }
< prev index next >