namespace ScreenConnect; public class TrueColorScreenDecoder : SimpleScreenDecoder { public TrueColorScreenDecoder(IMultiCallCoder coder) : base(24, 0, coder) { } protected unsafe override void Process(byte* data, int width, int height, int stride, byte* workingBuffer, int rowLength, bool hasPadding) { int num = 0; while (num < height) { ReadRowData(workingBuffer, rowLength, num == height - 1); byte* ptr = workingBuffer; int* ptr2 = (int*)data; int num2 = 0; while (num2 < width) { *ptr2 = -16777216 | (ptr[2] << 16) | (ptr[1] << 8) | *ptr; num2++; ptr2++; ptr += 3; } num++; data += stride; } } }