Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }