CSPspEmu.Core.Utils.PixelFormatDecoder.Decode C# (CSharp) Method

Decode() public static method

public static Decode ( GuPixelFormats PixelFormat, void Input, CSPspEmu.Core.Utils.OutputPixel Output, int Width, int Height, void Palette = null, GuPixelFormats PaletteType = GuPixelFormats.NONE, int PaletteCount, int PaletteStart, int PaletteShift, int PaletteMask = 0xFF, int StrideWidth = -1, bool IgnoreAlpha = false ) : void
PixelFormat GuPixelFormats
Input void
Output CSPspEmu.Core.Utils.OutputPixel
Width int
Height int
Palette void
PaletteType GuPixelFormats
PaletteCount int
PaletteStart int
PaletteShift int
PaletteMask int
StrideWidth int
IgnoreAlpha bool
return void
        public static void Decode(GuPixelFormats PixelFormat, void* Input, OutputPixel* Output, int Width, int Height, void* Palette = null, GuPixelFormats PaletteType = GuPixelFormats.NONE, int PaletteCount = 0, int PaletteStart = 0, int PaletteShift = 0, int PaletteMask = 0xFF, int StrideWidth = -1, bool IgnoreAlpha = false)
        {
            if (StrideWidth == -1) StrideWidth = GetPixelsSize(PixelFormat, Width);
            var PixelFormatInt = (int)PixelFormat;
            var PixelFormatDecoder = new PixelFormatDecoder()
            {
                _Input = Input,
                InputByte = (byte *)Input,
                InputShort = (ushort*)Input,
                InputInt = (uint*)Input,
                Output = Output,
                StrideWidth = StrideWidth,
                Width = Width,
                Height = Height,
                Palette = Palette,
                PaletteType = PaletteType,
                PaletteCount = PaletteCount,
                PaletteStart = PaletteStart,
                PaletteShift = PaletteShift,
                PaletteMask = PaletteMask,
            };
            //Console.WriteLine(PixelFormat);
            switch (PixelFormat)
            {
                case GuPixelFormats.RGBA_5650: PixelFormatDecoder.Decode_RGBA_5650(); break;
                case GuPixelFormats.RGBA_5551: PixelFormatDecoder.Decode_RGBA_5551(); break;
                case GuPixelFormats.RGBA_4444: PixelFormatDecoder.Decode_RGBA_4444(); break;
                case GuPixelFormats.RGBA_8888: PixelFormatDecoder.Decode_RGBA_8888(); break;
                case GuPixelFormats.PALETTE_T4: PixelFormatDecoder.Decode_PALETTE_T4(); break;
                case GuPixelFormats.PALETTE_T8: PixelFormatDecoder.Decode_PALETTE_T8(); break;
                case GuPixelFormats.PALETTE_T16: PixelFormatDecoder.Decode_PALETTE_T16(); break;
                case GuPixelFormats.PALETTE_T32: PixelFormatDecoder.Decode_PALETTE_T32(); break;
                case GuPixelFormats.COMPRESSED_DXT1: PixelFormatDecoder.Decode_COMPRESSED_DXT1(); break;
                case GuPixelFormats.COMPRESSED_DXT3: PixelFormatDecoder.Decode_COMPRESSED_DXT3(); break;
                case GuPixelFormats.COMPRESSED_DXT5: PixelFormatDecoder.Decode_COMPRESSED_DXT5(); break;
                default: throw(new InvalidOperationException());
            }
            if (IgnoreAlpha)
            {
                for (int y = 0, n = 0; y < Height; y++) for (int x = 0; x < Width; x++, n++) Output[n].A = 0xFF;
            }
            //DecoderCallbackTable[PixelFormatInt](Input, Output, PixelCount, Width, Palette, PaletteType, PaletteCount, PaletteStart, PaletteShift, PaletteMask);
        }