private unsafe void CopyToArgbOpaque(SurfaceData surfaceData)
{
int rowLength = Width;
fixed(byte *dataPointer = data)
fixed(ArgbColor * palettePointer = palette)
{
byte *destinationRowPointer = (byte *)surfaceData.DataPointer;
byte *sourcePointer = dataPointer;
for (int i = Height; i-- != 0; destinationRowPointer += surfaceData.Stride)
{
ArgbColor *destinationPointer = (ArgbColor *)destinationRowPointer;
for (int j = Width; j-- != 0;)
{
ArgbColor.CopyOpaque(destinationPointer++, palettePointer + *sourcePointer++);
}
}
}
}