public static TS_FP_UPDATE_BITMAP CreateFPUpdateBitmap(TS_BITMAP_DATA data)
{
TS_FP_UPDATE_BITMAP bitmap = new TS_FP_UPDATE_BITMAP();
bitmap.updateHeader = (byte)(((int)updateCode_Values.FASTPATH_UPDATETYPE_BITMAP & 0x0f)
| (((int)fragmentation_Value.FASTPATH_FRAGMENT_SINGLE) << 4)
| ((int)compressedType_Values.None << 6));
bitmap.compressionFlags = compressedType_Values.None;
bitmap.bitmapUpdateData.updateType = (ushort)updateType_Values.UPDATETYPE_BITMAP;
bitmap.bitmapUpdateData.numberRectangles = 1;
bitmap.bitmapUpdateData.rectangles = new TS_BITMAP_DATA[1];
bitmap.bitmapUpdateData.rectangles[0] = data;
bitmap.size = (ushort)(22 + bitmap.bitmapUpdateData.rectangles[0].bitmapLength);
if (bitmap.bitmapUpdateData.rectangles[0].Flags != TS_BITMAP_DATA_Flags_Values.NO_BITMAP_COMPRESSION_HDR)
{
bitmap.size += (ushort)Marshal.SizeOf(bitmap.bitmapUpdateData.rectangles[0].bitmapComprHdr);
}
return bitmap;
}