public static TS_FP_UPDATE_BITMAP CreateFPUpdateBitmap(ushort left, ushort top, ushort width, ushort height) { TS_FP_UPDATE_BITMAP bitmap = new TS_FP_UPDATE_BITMAP(); TS_BITMAP_DATA bdata; 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]; bdata = CreateBitmapData(left, top, width, height); bitmap.bitmapUpdateData.rectangles[0] = bdata; //calculate the bitmap.size, which is the size of TS_UPDATE_BITMAP_DATA.bitmapUpdateData. 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); }
public static TS_FP_UPDATE_BITMAP CreateFPUpdateBitmap(TS_BITMAP_DATA data) { TS_FP_UPDATE_BITMAP bitmap = new TS_FP_UPDATE_BITMAP(); bitmap.updateHeader = new nested_TS_FP_UPDATE_updateHeader(updateCode_Values.FASTPATH_UPDATETYPE_BITMAP); 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.AssignUpdateDataAndSize(); return(bitmap); }
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); }