public Byte(ByteInterleavedRaster srcRas, ColorModel cm, AffineTransform xform, int maxw) : base(cm, xform, srcRas.Width, srcRas.Height, maxw)
 {
     this.SrcRas = srcRas;
     this.InData = srcRas.DataStorage;
     this.InSpan = srcRas.ScanlineStride;
     this.InOff  = srcRas.getDataOffset(0);
 }
 public ByteFilter(ByteInterleavedRaster srcRas, ColorModel cm, AffineTransform xform, int maxw) : base((cm.Transparency == Transparency_Fields.OPAQUE ? Xrgbmodel : Argbmodel), xform, srcRas.Width, srcRas.Height, maxw)
 {
     this.InPalette = new int[256];
     ((IndexColorModel)cm).GetRGBs(this.InPalette);
     this.SrcRas = srcRas;
     this.InData = srcRas.DataStorage;
     this.InSpan = srcRas.ScanlineStride;
     this.InOff  = srcRas.getDataOffset(0);
 }
            public override WritableRaster MakeRaster(int w, int h)
            {
                WritableRaster        ras   = MakeByteRaster(SrcRas, w, h);
                ByteInterleavedRaster biRas = (ByteInterleavedRaster)ras;

                OutData = biRas.DataStorage;
                OutSpan = biRas.ScanlineStride;
                OutOff  = biRas.getDataOffset(0);
                return(ras);
            }
        public static PaintContext GetContext(BufferedImage bufImg, AffineTransform xform, RenderingHints hints, Rectangle devBounds)
        {
            WritableRaster raster = bufImg.Raster;
            ColorModel     cm     = bufImg.ColorModel;
            int            maxw   = devBounds.Width_Renamed;
            Object         val    = hints[RenderingHints.KEY_INTERPOLATION];
            bool           filter = (val == null ? (hints[RenderingHints.KEY_RENDERING] == RenderingHints.VALUE_RENDER_QUALITY) : (val != RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR));

            if (raster is IntegerInterleavedRaster && (!filter || IsFilterableDCM(cm)))
            {
                IntegerInterleavedRaster iir = (IntegerInterleavedRaster)raster;
                if (iir.NumDataElements == 1 && iir.PixelStride == 1)
                {
                    return(new Int(iir, cm, xform, maxw, filter));
                }
            }
            else if (raster is ByteInterleavedRaster)
            {
                ByteInterleavedRaster bir = (ByteInterleavedRaster)raster;
                if (bir.NumDataElements == 1 && bir.PixelStride == 1)
                {
                    if (filter)
                    {
                        if (IsFilterableICM(cm))
                        {
                            return(new ByteFilter(bir, cm, xform, maxw));
                        }
                    }
                    else
                    {
                        return(new Byte(bir, cm, xform, maxw));
                    }
                }
            }
            return(new Any(raster, cm, xform, maxw, filter));
        }