NScumm.Scumm.Graphics.PixelNavigator.Offset C# (CSharp) Method

Offset() public method

public Offset ( int x, int y ) : void
x int
y int
return void
        public void Offset(int x, int y)
        {
            _offset += y * Pitch + x * BytesByPixel;
        }

Usage Example

Ejemplo n.º 1
0
        protected virtual void DrawBitsN(Surface s, PixelNavigator dst, System.Collections.Generic.IList <byte> src, int srcPos, byte bpp, int drawTop, int width, int height)
        {
            if (bpp != 1 && bpp != 2 && bpp != 4 && bpp != 8)
            {
                throw new ArgumentException("Invalid bpp", "bpp");
            }

            byte bits    = src[srcPos++];
            byte numbits = 8;
            var  cmap    = Vm.CharsetColorMap;

            for (int y = 0; y < height && y + drawTop < s.Height; y++)
            {
                for (int x = 0; x < width; x++)
                {
                    int color = (bits >> (8 - bpp)) & 0xFF;

                    if (color != 0 && (y + drawTop >= 0))
                    {
                        dst.Write(cmap[color]);
                    }
                    dst.OffsetX(1);
                    bits   <<= bpp;
                    numbits -= bpp;
                    if (numbits == 0)
                    {
                        bits    = src[srcPos++];
                        numbits = 8;
                    }
                }
                dst.Offset(-width, 1);
            }
        }
All Usage Examples Of NScumm.Scumm.Graphics.PixelNavigator::Offset