2011-07-28 08:38:25 +04:00
|
|
|
/**
|
|
|
|
* FreeRDP: A Remote Desktop Protocol Client
|
|
|
|
* Update Interface API
|
|
|
|
*
|
|
|
|
* Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
|
|
|
*
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
* See the License for the specific language governing permissions and
|
|
|
|
* limitations under the License.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __UPDATE_API_H
|
|
|
|
#define __UPDATE_API_H
|
|
|
|
|
|
|
|
#include <freerdp/types.h>
|
|
|
|
|
2011-07-28 22:32:16 +04:00
|
|
|
/* Common */
|
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _BOUNDS
|
2011-07-28 22:32:16 +04:00
|
|
|
{
|
|
|
|
uint16 left;
|
|
|
|
uint16 top;
|
|
|
|
uint16 right;
|
|
|
|
uint16 bottom;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _BOUNDS BOUNDS;
|
2011-07-28 22:32:16 +04:00
|
|
|
|
2011-07-28 08:38:25 +04:00
|
|
|
/* Bitmap Updates */
|
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _BITMAP_DATA
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
|
|
|
uint16 left;
|
|
|
|
uint16 top;
|
|
|
|
uint16 right;
|
|
|
|
uint16 bottom;
|
|
|
|
uint16 width;
|
|
|
|
uint16 height;
|
|
|
|
uint16 bpp;
|
|
|
|
uint16 flags;
|
|
|
|
uint16 length;
|
|
|
|
uint8* data;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _BITMAP_DATA BITMAP_DATA;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _BITMAP_UPDATE
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
|
|
|
uint16 number;
|
|
|
|
BITMAP_DATA* bitmaps;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _BITMAP_UPDATE BITMAP_UPDATE;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
|
|
|
/* Palette Updates */
|
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _PALETTE_UPDATE
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
|
|
|
uint32 number;
|
|
|
|
uint32 entries[256];
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _PALETTE_UPDATE PALETTE_UPDATE;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
|
|
|
/* Orders Updates */
|
|
|
|
|
2011-08-02 20:59:45 +04:00
|
|
|
/* Primary Drawing Orders */
|
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _ORDER_INFO
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
|
|
|
uint8 orderType;
|
|
|
|
uint32 fieldFlags;
|
|
|
|
uint16 boundLeft;
|
|
|
|
uint16 boundTop;
|
|
|
|
uint16 boundRight;
|
|
|
|
uint16 boundBottom;
|
|
|
|
sint8 deltaBoundLeft;
|
|
|
|
sint8 deltaBoundTop;
|
|
|
|
sint8 deltaBoundRight;
|
|
|
|
sint8 deltaBoundBottom;
|
|
|
|
boolean deltaCoordinates;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _ORDER_INFO ORDER_INFO;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _DSTBLT_ORDER
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
|
|
|
sint16 nLeftRect;
|
|
|
|
sint16 nTopRect;
|
|
|
|
sint16 nWidth;
|
|
|
|
sint16 nHeight;
|
|
|
|
uint8 bRop;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _DSTBLT_ORDER DSTBLT_ORDER;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _PATBLT_ORDER
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
|
|
|
sint16 nLeftRect;
|
|
|
|
sint16 nTopRect;
|
|
|
|
sint16 nWidth;
|
|
|
|
sint16 nHeight;
|
|
|
|
uint8 bRop;
|
|
|
|
uint32 backColor;
|
|
|
|
uint32 foreColor;
|
|
|
|
uint8 brushOrgX;
|
|
|
|
uint8 brushOrgY;
|
|
|
|
uint8 brushStyle;
|
|
|
|
uint8 brushHatch;
|
|
|
|
uint8 brushExtra[7];
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _PATBLT_ORDER PATBLT_ORDER;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _SCRBLT_ORDER
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
|
|
|
sint16 nLeftRect;
|
|
|
|
sint16 nTopRect;
|
|
|
|
sint16 nWidth;
|
|
|
|
sint16 nHeight;
|
|
|
|
uint8 bRop;
|
|
|
|
sint16 nXSrc;
|
|
|
|
sint16 nYSrc;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _SCRBLT_ORDER SCRBLT_ORDER;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _OPAQUE_RECT_ORDER
|
2011-08-03 00:58:42 +04:00
|
|
|
{
|
|
|
|
sint16 nLeftRect;
|
|
|
|
sint16 nTopRect;
|
|
|
|
sint16 nWidth;
|
|
|
|
sint16 nHeight;
|
|
|
|
uint32 color;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _OPAQUE_RECT_ORDER OPAQUE_RECT_ORDER;
|
2011-08-03 00:58:42 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _DRAW_NINE_GRID_ORDER
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
|
|
|
sint16 srcLeft;
|
|
|
|
sint16 srcTop;
|
|
|
|
sint16 srcRight;
|
|
|
|
sint16 srcBottom;
|
|
|
|
uint16 bitmapId;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _DRAW_NINE_GRID_ORDER DRAW_NINE_GRID_ORDER;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _MULTI_DSTBLT_ORDER
|
2011-08-03 00:58:42 +04:00
|
|
|
{
|
|
|
|
sint16 nLeftRect;
|
|
|
|
sint16 nTopRect;
|
|
|
|
sint16 nWidth;
|
|
|
|
sint16 nHeight;
|
|
|
|
uint8 bRop;
|
|
|
|
uint8 nDeltaEntries;
|
2011-08-04 07:33:44 +04:00
|
|
|
uint16 cbData;
|
2011-08-03 00:58:42 +04:00
|
|
|
uint8* codeDeltaList;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _MULTI_DSTBLT_ORDER MULTI_DSTBLT_ORDER;
|
2011-08-03 00:58:42 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _MULTI_PATBLT_ORDER
|
2011-08-03 00:58:42 +04:00
|
|
|
{
|
|
|
|
sint16 nLeftRect;
|
|
|
|
sint16 nTopRect;
|
|
|
|
sint16 nWidth;
|
|
|
|
sint16 nHeight;
|
|
|
|
uint8 bRop;
|
|
|
|
uint32 backColor;
|
|
|
|
uint32 foreColor;
|
|
|
|
uint8 brushOrgX;
|
|
|
|
uint8 brushOrgY;
|
|
|
|
uint8 brushStyle;
|
|
|
|
uint8 brushHatch;
|
|
|
|
uint8 brushExtra[7];
|
|
|
|
uint8 nDeltaEntries;
|
2011-08-04 07:33:44 +04:00
|
|
|
uint16 cbData;
|
2011-08-03 00:58:42 +04:00
|
|
|
uint8* codeDeltaList;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _MULTI_PATBLT_ORDER MULTI_PATBLT_ORDER;
|
2011-08-03 00:58:42 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _MULTI_SCRBLT_ORDER
|
2011-08-03 00:58:42 +04:00
|
|
|
{
|
|
|
|
sint16 nLeftRect;
|
|
|
|
sint16 nTopRect;
|
|
|
|
sint16 nWidth;
|
|
|
|
sint16 nHeight;
|
|
|
|
uint8 bRop;
|
|
|
|
sint16 nXSrc;
|
|
|
|
sint16 nYSrc;
|
|
|
|
uint8 nDeltaEntries;
|
2011-08-04 07:33:44 +04:00
|
|
|
uint16 cbData;
|
2011-08-03 00:58:42 +04:00
|
|
|
uint8* codeDeltaList;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _MULTI_SCRBLT_ORDER MULTI_SCRBLT_ORDER;
|
2011-08-03 00:58:42 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _DELTA_RECT
|
2011-08-04 01:09:12 +04:00
|
|
|
{
|
|
|
|
sint16 left;
|
|
|
|
sint16 top;
|
2011-08-04 11:23:53 +04:00
|
|
|
sint16 width;
|
|
|
|
sint16 height;
|
|
|
|
};
|
|
|
|
typedef struct _DELTA_RECT DELTA_RECT;
|
2011-08-04 01:09:12 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _MULTI_OPAQUE_RECT_ORDER
|
2011-08-03 00:58:42 +04:00
|
|
|
{
|
|
|
|
sint16 nLeftRect;
|
|
|
|
sint16 nTopRect;
|
|
|
|
sint16 nWidth;
|
|
|
|
sint16 nHeight;
|
|
|
|
uint32 color;
|
2011-08-04 01:09:12 +04:00
|
|
|
uint8 numRectangles;
|
2011-08-04 07:33:44 +04:00
|
|
|
uint16 cbData;
|
2011-08-04 01:09:12 +04:00
|
|
|
DELTA_RECT rectangles[45];
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _MULTI_OPAQUE_RECT_ORDER MULTI_OPAQUE_RECT_ORDER;
|
2011-08-03 00:58:42 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _MULTI_DRAW_NINE_GRID_ORDER
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
|
|
|
sint16 srcLeft;
|
|
|
|
sint16 srcTop;
|
|
|
|
sint16 srcRight;
|
|
|
|
sint16 srcBottom;
|
|
|
|
uint16 bitmapId;
|
|
|
|
uint8 nDeltaEntries;
|
2011-08-04 07:33:44 +04:00
|
|
|
uint16 cbData;
|
2011-07-28 08:38:25 +04:00
|
|
|
uint8* codeDeltaList;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _MULTI_DRAW_NINE_GRID_ORDER MULTI_DRAW_NINE_GRID_ORDER;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _LINE_TO_ORDER
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
|
|
|
uint16 backMode;
|
|
|
|
sint16 nXStart;
|
|
|
|
sint16 nYStart;
|
|
|
|
sint16 nXEnd;
|
|
|
|
sint16 nYEnd;
|
|
|
|
uint32 backColor;
|
|
|
|
uint8 bRop2;
|
|
|
|
uint8 penStyle;
|
|
|
|
uint8 penWidth;
|
|
|
|
uint32 penColor;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _LINE_TO_ORDER LINE_TO_ORDER;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _DELTA_POINT
|
|
|
|
{
|
|
|
|
sint16 x;
|
|
|
|
sint16 y;
|
|
|
|
};
|
|
|
|
typedef struct _DELTA_POINT DELTA_POINT;
|
|
|
|
|
|
|
|
struct _POLYLINE_ORDER
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
2011-08-03 00:58:42 +04:00
|
|
|
sint16 xStart;
|
|
|
|
sint16 yStart;
|
|
|
|
uint8 bRop2;
|
|
|
|
uint32 penColor;
|
2011-08-04 11:23:53 +04:00
|
|
|
uint8 numPoints;
|
2011-08-04 07:33:44 +04:00
|
|
|
uint8 cbData;
|
2011-08-04 11:23:53 +04:00
|
|
|
DELTA_POINT* points;
|
|
|
|
};
|
|
|
|
typedef struct _POLYLINE_ORDER POLYLINE_ORDER;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _MEMBLT_ORDER
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
|
|
|
uint16 cacheId;
|
|
|
|
sint16 nLeftRect;
|
|
|
|
sint16 nTopRect;
|
|
|
|
sint16 nWidth;
|
|
|
|
sint16 nHeight;
|
|
|
|
uint8 bRop;
|
|
|
|
sint16 nXSrc;
|
|
|
|
sint16 nYSrc;
|
|
|
|
uint16 cacheIndex;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _MEMBLT_ORDER MEMBLT_ORDER;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _MEM3BLT_ORDER
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
|
|
|
uint16 cacheId;
|
|
|
|
sint16 nLeftRect;
|
|
|
|
sint16 nTopRect;
|
|
|
|
sint16 nWidth;
|
|
|
|
sint16 nHeight;
|
|
|
|
uint8 bRop;
|
|
|
|
sint16 nXSrc;
|
|
|
|
sint16 nYSrc;
|
|
|
|
uint32 backColor;
|
|
|
|
uint32 foreColor;
|
|
|
|
uint8 brushOrgX;
|
|
|
|
uint8 brushOrgY;
|
|
|
|
uint8 brushStyle;
|
|
|
|
uint8 brushHatch;
|
|
|
|
uint8 brushExtra[7];
|
|
|
|
uint16 cacheIndex;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _MEM3BLT_ORDER MEM3BLT_ORDER;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _SAVE_BITMAP_ORDER
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
2011-08-03 00:58:42 +04:00
|
|
|
uint32 savedBitmapPosition;
|
2011-07-28 08:38:25 +04:00
|
|
|
sint16 nLeftRect;
|
|
|
|
sint16 nTopRect;
|
2011-08-03 00:58:42 +04:00
|
|
|
sint16 nRightRect;
|
|
|
|
sint16 nBottomRect;
|
|
|
|
uint8 operation;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _SAVE_BITMAP_ORDER SAVE_BITMAP_ORDER;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _GLYPH_INDEX_ORDER
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
2011-08-03 00:58:42 +04:00
|
|
|
uint8 cacheId;
|
2011-08-03 11:29:56 +04:00
|
|
|
uint8 flAccel;
|
|
|
|
uint8 ulCharInc;
|
|
|
|
uint8 fOpRedundant;
|
2011-07-28 08:38:25 +04:00
|
|
|
uint32 backColor;
|
|
|
|
uint32 foreColor;
|
2011-08-03 00:58:42 +04:00
|
|
|
sint16 bkLeft;
|
|
|
|
sint16 bkTop;
|
|
|
|
sint16 bkRight;
|
|
|
|
sint16 bkBottom;
|
|
|
|
sint16 opLeft;
|
|
|
|
sint16 opTop;
|
|
|
|
sint16 opRight;
|
|
|
|
sint16 opBottom;
|
2011-08-03 11:29:56 +04:00
|
|
|
uint8 brushOrgX;
|
|
|
|
uint8 brushOrgY;
|
|
|
|
uint8 brushStyle;
|
|
|
|
uint8 brushHatch;
|
|
|
|
uint8 brushExtra[7];
|
|
|
|
sint16 x;
|
|
|
|
sint16 y;
|
2011-08-04 07:33:44 +04:00
|
|
|
uint8 cbData;
|
2011-08-03 00:58:42 +04:00
|
|
|
uint8* data;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _GLYPH_INDEX_ORDER GLYPH_INDEX_ORDER;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _FAST_INDEX_ORDER
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
|
|
|
uint8 cacheId;
|
2011-08-03 11:29:56 +04:00
|
|
|
uint8 flAccel;
|
|
|
|
uint8 ulCharInc;
|
2011-07-28 08:38:25 +04:00
|
|
|
uint32 backColor;
|
|
|
|
uint32 foreColor;
|
|
|
|
sint16 bkLeft;
|
|
|
|
sint16 bkTop;
|
|
|
|
sint16 bkRight;
|
|
|
|
sint16 bkBottom;
|
|
|
|
sint16 opLeft;
|
|
|
|
sint16 opTop;
|
|
|
|
sint16 opRight;
|
|
|
|
sint16 opBottom;
|
2011-08-04 07:33:44 +04:00
|
|
|
sint16 x;
|
|
|
|
sint16 y;
|
|
|
|
uint8 cbData;
|
2011-07-28 08:38:25 +04:00
|
|
|
uint8* data;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _FAST_INDEX_ORDER FAST_INDEX_ORDER;
|
2011-08-03 00:58:42 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _FAST_GLYPH_ORDER
|
2011-08-03 00:58:42 +04:00
|
|
|
{
|
|
|
|
uint8 cacheId;
|
|
|
|
uint8 flAccel;
|
|
|
|
uint8 ulCharInc;
|
|
|
|
uint32 backColor;
|
|
|
|
uint32 foreColor;
|
|
|
|
sint16 bkLeft;
|
|
|
|
sint16 bkTop;
|
|
|
|
sint16 bkRight;
|
|
|
|
sint16 bkBottom;
|
|
|
|
sint16 opLeft;
|
|
|
|
sint16 opTop;
|
|
|
|
sint16 opRight;
|
|
|
|
sint16 opBottom;
|
2011-08-04 07:33:44 +04:00
|
|
|
sint16 x;
|
|
|
|
sint16 y;
|
|
|
|
uint8 cbData;
|
2011-08-03 00:58:42 +04:00
|
|
|
uint8* data;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _FAST_GLYPH_ORDER FAST_GLYPH_ORDER;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _POLYGON_SC_ORDER
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
|
|
|
sint16 xStart;
|
|
|
|
sint16 yStart;
|
|
|
|
uint8 bRop2;
|
|
|
|
uint8 fillMode;
|
|
|
|
uint32 brushColor;
|
|
|
|
uint8 nDeltaEntries;
|
2011-08-04 07:33:44 +04:00
|
|
|
uint8 cbData;
|
2011-07-28 08:38:25 +04:00
|
|
|
uint8* codeDeltaList;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _POLYGON_SC_ORDER POLYGON_SC_ORDER;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _POLYGON_CB_ORDER
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
|
|
|
sint16 xStart;
|
|
|
|
sint16 yStart;
|
|
|
|
uint8 bRop2;
|
|
|
|
uint8 fillMode;
|
|
|
|
uint32 backColor;
|
|
|
|
uint32 foreColor;
|
|
|
|
uint8 brushOrgX;
|
|
|
|
uint8 brushOrgY;
|
|
|
|
uint8 brushStyle;
|
|
|
|
uint8 brushHatch;
|
|
|
|
uint8 brushExtra[7];
|
|
|
|
uint8 nDeltaEntries;
|
2011-08-04 07:33:44 +04:00
|
|
|
uint8 cbData;
|
2011-07-28 08:38:25 +04:00
|
|
|
uint8* codeDeltaList;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _POLYGON_CB_ORDER POLYGON_CB_ORDER;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _ELLIPSE_SC_ORDER
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
|
|
|
sint16 leftRect;
|
|
|
|
sint16 topRect;
|
|
|
|
sint16 rightRect;
|
|
|
|
sint16 bottomRect;
|
|
|
|
uint8 bRop2;
|
|
|
|
uint8 fillMode;
|
|
|
|
uint32 color;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _ELLIPSE_SC_ORDER ELLIPSE_SC_ORDER;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _ELLIPSE_CB_ORDER
|
2011-07-28 08:38:25 +04:00
|
|
|
{
|
|
|
|
sint16 leftRect;
|
|
|
|
sint16 topRect;
|
|
|
|
sint16 rightRect;
|
|
|
|
sint16 bottomRect;
|
|
|
|
uint8 bRop2;
|
|
|
|
uint8 fillMode;
|
|
|
|
uint32 backColor;
|
|
|
|
uint32 foreColor;
|
|
|
|
uint8 brushOrgX;
|
|
|
|
uint8 brushOrgY;
|
|
|
|
uint8 brushStyle;
|
|
|
|
uint8 brushHatch;
|
|
|
|
uint8 brushExtra[7];
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _ELLIPSE_CB_ORDER ELLIPSE_CB_ORDER;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
2011-08-02 20:59:45 +04:00
|
|
|
/* Secondary Drawing Orders */
|
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _CACHE_BITMAP_ORDER
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
|
|
|
uint8 cacheId;
|
|
|
|
uint8 bitmapBpp;
|
|
|
|
uint8 bitmapWidth;
|
|
|
|
uint8 bitmapHeight;
|
|
|
|
uint16 bitmapLength;
|
|
|
|
uint16 cacheIndex;
|
2011-08-03 00:58:42 +04:00
|
|
|
uint8 bitmapComprHdr[8];
|
2011-08-02 20:59:45 +04:00
|
|
|
uint8* bitmapDataStream;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _CACHE_BITMAP_ORDER CACHE_BITMAP_ORDER;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _CACHE_BITMAP_V2_ORDER
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
|
|
|
uint8 cacheId;
|
|
|
|
uint16 flags;
|
|
|
|
uint32 key1;
|
|
|
|
uint32 key2;
|
|
|
|
uint8 bitmapBpp;
|
2011-08-04 07:33:44 +04:00
|
|
|
uint16 bitmapWidth;
|
|
|
|
uint16 bitmapHeight;
|
|
|
|
uint32 bitmapLength;
|
2011-08-02 20:59:45 +04:00
|
|
|
uint16 cacheIndex;
|
2011-08-03 00:58:42 +04:00
|
|
|
uint8 bitmapComprHdr[8];
|
2011-08-02 20:59:45 +04:00
|
|
|
uint8* bitmapDataStream;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _CACHE_BITMAP_V2_ORDER CACHE_BITMAP_V2_ORDER;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _BITMAP_DATA_EX
|
2011-08-04 07:33:44 +04:00
|
|
|
{
|
|
|
|
uint8 bpp;
|
|
|
|
uint8 codecID;
|
|
|
|
uint16 width;
|
|
|
|
uint16 height;
|
|
|
|
uint32 length;
|
|
|
|
uint8* data;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _BITMAP_DATA_EX BITMAP_DATA_EX;
|
2011-08-04 07:33:44 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _CACHE_BITMAP_V3_ORDER
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
|
|
|
uint8 cacheId;
|
|
|
|
uint8 bpp;
|
|
|
|
uint16 flags;
|
|
|
|
uint16 cacheIndex;
|
|
|
|
uint32 key1;
|
|
|
|
uint32 key2;
|
2011-08-04 07:33:44 +04:00
|
|
|
BITMAP_DATA_EX bitmapData;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _CACHE_BITMAP_V3_ORDER CACHE_BITMAP_V3_ORDER;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _CACHE_COLOR_TABLE_ORDER
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
|
|
|
uint8 cacheIndex;
|
|
|
|
uint16 numberColors;
|
|
|
|
uint32* colorTable;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _CACHE_COLOR_TABLE_ORDER CACHE_COLOR_TABLE_ORDER;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _GLYPH_DATA
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
|
|
|
uint16 cacheIndex;
|
|
|
|
uint16 x;
|
|
|
|
uint16 y;
|
|
|
|
uint16 cx;
|
|
|
|
uint16 cy;
|
2011-08-03 11:29:56 +04:00
|
|
|
uint16 cb;
|
2011-08-02 20:59:45 +04:00
|
|
|
uint8* aj;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _GLYPH_DATA GLYPH_DATA;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _CACHE_GLYPH_ORDER
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
|
|
|
uint8 cacheId;
|
|
|
|
uint8 cGlyphs;
|
|
|
|
GLYPH_DATA* glyphData;
|
|
|
|
uint8* unicodeCharacters;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _CACHE_GLYPH_ORDER CACHE_GLYPH_ORDER;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _GLYPH_DATA_V2
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
|
|
|
uint8 cacheIndex;
|
|
|
|
sint16 x;
|
|
|
|
sint16 y;
|
|
|
|
uint16 cx;
|
|
|
|
uint16 cy;
|
2011-08-03 11:29:56 +04:00
|
|
|
uint16 cb;
|
2011-08-02 20:59:45 +04:00
|
|
|
uint8* aj;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _GLYPH_DATA_V2 GLYPH_DATA_V2;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _CACHE_GLYPH_V2_ORDER
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
|
|
|
uint8 cacheId;
|
|
|
|
uint8 flags;
|
|
|
|
uint8 cGlyphs;
|
|
|
|
GLYPH_DATA_V2* glyphData;
|
|
|
|
uint8* unicodeCharacters;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _CACHE_GLYPH_V2_ORDER CACHE_GLYPH_V2_ORDER;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _CACHE_BRUSH_ORDER
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
|
|
|
uint8 cacheEntry;
|
2011-08-03 11:29:56 +04:00
|
|
|
uint8 bpp;
|
2011-08-02 20:59:45 +04:00
|
|
|
uint8 cx;
|
|
|
|
uint8 cy;
|
|
|
|
uint8 style;
|
2011-08-03 11:29:56 +04:00
|
|
|
uint8 length;
|
2011-08-02 20:59:45 +04:00
|
|
|
uint8* brushData;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _CACHE_BRUSH_ORDER CACHE_BRUSH_ORDER;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
|
|
|
/* Alternate Secondary Drawing Orders */
|
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _OFFSCREEN_DELETE_LIST
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
|
|
|
uint16 cIndices;
|
|
|
|
uint16* indices;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _OFFSCREEN_DELETE_LIST OFFSCREEN_DELETE_LIST;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _CREATE_OFFSCREEN_BITMAP_ORDER
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
2011-08-04 11:23:53 +04:00
|
|
|
uint16 id;
|
2011-08-02 20:59:45 +04:00
|
|
|
uint16 cx;
|
|
|
|
uint16 cy;
|
|
|
|
OFFSCREEN_DELETE_LIST deleteList;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _CREATE_OFFSCREEN_BITMAP_ORDER CREATE_OFFSCREEN_BITMAP_ORDER;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _SWITCH_SURFACE_ORDER
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
|
|
|
uint16 bitmapId;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _SWITCH_SURFACE_ORDER SWITCH_SURFACE_ORDER;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _NINE_GRID_BITMAP_INFO
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
|
|
|
uint32 flFlags;
|
|
|
|
uint16 ulLeftWidth;
|
|
|
|
uint16 ulRightWidth;
|
|
|
|
uint16 ulTopHeight;
|
|
|
|
uint16 ulBottomHeight;
|
|
|
|
uint32 crTransparent;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _NINE_GRID_BITMAP_INFO NINE_GRID_BITMAP_INFO;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _CREATE_NINE_GRID_BITMAP_ORDER
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
|
|
|
uint8 bitmapBpp;
|
|
|
|
uint16 bitmapId;
|
|
|
|
uint16 cx;
|
|
|
|
uint16 cy;
|
|
|
|
NINE_GRID_BITMAP_INFO nineGridInfo;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _CREATE_NINE_GRID_BITMAP_ORDER CREATE_NINE_GRID_BITMAP_ORDER;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _FRAME_MARKER_ORDER
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
|
|
|
uint32 action;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _FRAME_MARKER_ORDER FRAME_MARKER_ORDER;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _STREAM_BITMAP_FIRST_ORDER
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
2011-08-03 00:58:42 +04:00
|
|
|
uint8 bitmapFlags;
|
|
|
|
uint8 bitmapBpp;
|
|
|
|
uint16 bitmapType;
|
|
|
|
uint16 bitmapWidth;
|
|
|
|
uint16 bitmapHeight;
|
|
|
|
uint32 bitmapSize;
|
|
|
|
uint16 bitmapBlockSize;
|
|
|
|
uint8* bitmapBlock;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _STREAM_BITMAP_FIRST_ORDER STREAM_BITMAP_FIRST_ORDER;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _STREAM_BITMAP_NEXT_ORDER
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
2011-08-03 00:58:42 +04:00
|
|
|
uint8 bitmapFlags;
|
|
|
|
uint16 bitmapType;
|
|
|
|
uint16 bitmapBlockSize;
|
|
|
|
uint8* bitmapBlock;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _STREAM_BITMAP_NEXT_ORDER STREAM_BITMAP_NEXT_ORDER;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _DRAW_GDIPLUS_FIRST_ORDER
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
2011-08-03 00:58:42 +04:00
|
|
|
uint16 cbSize;
|
|
|
|
uint32 cbTotalSize;
|
|
|
|
uint32 cbTotalEmfSize;
|
|
|
|
uint8* emfRecords;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _DRAW_GDIPLUS_FIRST_ORDER DRAW_GDIPLUS_FIRST_ORDER;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _DRAW_GDIPLUS_NEXT_ORDER
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
2011-08-03 00:58:42 +04:00
|
|
|
uint16 cbSize;
|
|
|
|
uint8* emfRecords;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _DRAW_GDIPLUS_NEXT_ORDER DRAW_GDIPLUS_NEXT_ORDER;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _DRAW_GDIPLUS_END_ORDER
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
2011-08-03 00:58:42 +04:00
|
|
|
uint16 cbSize;
|
|
|
|
uint32 cbTotalSize;
|
|
|
|
uint32 cbTotalEmfSize;
|
|
|
|
uint8* emfRecords;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _DRAW_GDIPLUS_END_ORDER DRAW_GDIPLUS_END_ORDER;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _DRAW_GDIPLUS_CACHE_FIRST_ORDER
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
2011-08-03 00:58:42 +04:00
|
|
|
uint8 flags;
|
|
|
|
uint16 cacheType;
|
|
|
|
uint16 cacheIndex;
|
|
|
|
uint16 cbSize;
|
|
|
|
uint32 cbTotalSize;
|
|
|
|
uint8* emfRecords;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _DRAW_GDIPLUS_CACHE_FIRST_ORDER DRAW_GDIPLUS_CACHE_FIRST_ORDER;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _DRAW_GDIPLUS_CACHE_NEXT_ORDER
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
2011-08-03 00:58:42 +04:00
|
|
|
uint8 flags;
|
|
|
|
uint16 cacheType;
|
|
|
|
uint16 cacheIndex;
|
|
|
|
uint16 cbSize;
|
|
|
|
uint8* emfRecords;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _DRAW_GDIPLUS_CACHE_NEXT_ORDER DRAW_GDIPLUS_CACHE_NEXT_ORDER;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-08-04 11:23:53 +04:00
|
|
|
struct _DRAW_GDIPLUS_CACHE_END_ORDER
|
2011-08-02 20:59:45 +04:00
|
|
|
{
|
2011-08-03 00:58:42 +04:00
|
|
|
uint8 flags;
|
|
|
|
uint16 cacheType;
|
|
|
|
uint16 cacheIndex;
|
|
|
|
uint16 cbSize;
|
|
|
|
uint32 cbTotalSize;
|
|
|
|
uint8* emfRecords;
|
2011-08-04 11:23:53 +04:00
|
|
|
};
|
|
|
|
typedef struct _DRAW_GDIPLUS_CACHE_END_ORDER DRAW_GDIPLUS_CACHE_END_ORDER;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
|
|
|
/* Constants */
|
|
|
|
|
|
|
|
#define CACHED_BRUSH 0x80
|
|
|
|
|
|
|
|
#define BMF_1BPP 0x1
|
|
|
|
#define BMF_8BPP 0x3
|
|
|
|
#define BMF_16BPP 0x4
|
|
|
|
#define BMF_24BPP 0x5
|
|
|
|
#define BMF_32BPP 0x6
|
|
|
|
|
|
|
|
#define BS_SOLID 0x00
|
|
|
|
#define BS_NULL 0x01
|
|
|
|
#define BS_HATCHED 0x02
|
|
|
|
#define BS_PATTERN 0x03
|
|
|
|
|
|
|
|
#define HS_HORIZONTAL 0x00
|
|
|
|
#define HS_VERTICAL 0x01
|
|
|
|
#define HS_FDIAGONAL 0x02
|
|
|
|
#define HS_BDIAGONAL 0x03
|
|
|
|
#define HS_CROSS 0x04
|
|
|
|
#define HS_DIAGCROSS 0x05
|
|
|
|
|
|
|
|
#define DSDNG_STRETCH 0x00000001
|
|
|
|
#define DSDNG_TILE 0x00000002
|
|
|
|
#define DSDNG_PERPIXELALPHA 0x00000004
|
|
|
|
#define DSDNG_TRANSPARENT 0x00000008
|
|
|
|
#define DSDNG_MUSTFLIP 0x00000010
|
|
|
|
#define DSDNG_TRUESIZE 0x00000020
|
|
|
|
|
|
|
|
#define FRAME_START 0x00000000
|
|
|
|
#define FRAME_END 0x00000001
|
|
|
|
|
2011-08-03 00:58:42 +04:00
|
|
|
#define STREAM_BITMAP_END 0x01
|
|
|
|
#define STREAM_BITMAP_COMPRESSED 0x02
|
|
|
|
#define STREAM_BITMAP_V2 0x04
|
|
|
|
|
2011-07-28 08:38:25 +04:00
|
|
|
/* Update Interface */
|
|
|
|
|
|
|
|
typedef struct rdp_update rdpUpdate;
|
|
|
|
|
2011-07-28 22:32:16 +04:00
|
|
|
typedef void (*pcBeginPaint)(rdpUpdate* update);
|
|
|
|
typedef void (*pcEndPaint)(rdpUpdate* update);
|
|
|
|
typedef void (*pcSetBounds)(rdpUpdate* update, BOUNDS* bounds);
|
|
|
|
typedef void (*pcSynchronize)(rdpUpdate* update);
|
|
|
|
typedef void (*pcBitmap)(rdpUpdate* update, BITMAP_UPDATE* bitmap);
|
|
|
|
typedef void (*pcPalette)(rdpUpdate* update, PALETTE_UPDATE* palette);
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-07-28 22:32:16 +04:00
|
|
|
typedef void (*pcDstBlt)(rdpUpdate* update, DSTBLT_ORDER* dstblt);
|
|
|
|
typedef void (*pcPatBlt)(rdpUpdate* update, PATBLT_ORDER* patblt);
|
|
|
|
typedef void (*pcScrBlt)(rdpUpdate* update, SCRBLT_ORDER* scrblt);
|
|
|
|
typedef void (*pcOpaqueRect)(rdpUpdate* update, OPAQUE_RECT_ORDER* opaque_rect);
|
2011-08-02 20:59:45 +04:00
|
|
|
typedef void (*pcDrawNineGrid)(rdpUpdate* update, DRAW_NINE_GRID_ORDER* draw_nine_grid);
|
2011-07-28 22:32:16 +04:00
|
|
|
typedef void (*pcMultiDstBlt)(rdpUpdate* update, MULTI_DSTBLT_ORDER* multi_dstblt);
|
|
|
|
typedef void (*pcMultiPatBlt)(rdpUpdate* update, MULTI_PATBLT_ORDER* multi_patblt);
|
|
|
|
typedef void (*pcMultiScrBlt)(rdpUpdate* update, MULTI_SCRBLT_ORDER* multi_scrblt);
|
|
|
|
typedef void (*pcMultiOpaqueRect)(rdpUpdate* update, MULTI_OPAQUE_RECT_ORDER* multi_opaque_rect);
|
2011-08-02 20:59:45 +04:00
|
|
|
typedef void (*pcMultiDrawNineGrid)(rdpUpdate* update, MULTI_DRAW_NINE_GRID_ORDER* multi_draw_nine_grid);
|
|
|
|
typedef void (*pcLineTo)(rdpUpdate* update, LINE_TO_ORDER* line_to);
|
|
|
|
typedef void (*pcPolyline)(rdpUpdate* update, POLYLINE_ORDER* polyline);
|
|
|
|
typedef void (*pcMemBlt)(rdpUpdate* update, MEMBLT_ORDER* memblt);
|
|
|
|
typedef void (*pcMem3Blt)(rdpUpdate* update, MEM3BLT_ORDER* memblt);
|
|
|
|
typedef void (*pcSaveBitmap)(rdpUpdate* update, SAVE_BITMAP_ORDER* save_bitmap);
|
2011-08-03 11:29:56 +04:00
|
|
|
typedef void (*pcGlyphIndex)(rdpUpdate* update, GLYPH_INDEX_ORDER* glyph_index);
|
2011-07-28 22:32:16 +04:00
|
|
|
typedef void (*pcFastIndex)(rdpUpdate* update, FAST_INDEX_ORDER* fast_index);
|
2011-08-02 20:59:45 +04:00
|
|
|
typedef void (*pcFastGlyph)(rdpUpdate* update, FAST_GLYPH_ORDER* fast_glyph);
|
2011-07-28 22:32:16 +04:00
|
|
|
typedef void (*pcPolygonSC)(rdpUpdate* update, POLYGON_SC_ORDER* polygon_sc);
|
|
|
|
typedef void (*pcPolygonCB)(rdpUpdate* update, POLYGON_CB_ORDER* polygon_cb);
|
|
|
|
typedef void (*pcEllipseSC)(rdpUpdate* update, ELLIPSE_SC_ORDER* ellipse_sc);
|
|
|
|
typedef void (*pcEllipseCB)(rdpUpdate* update, ELLIPSE_CB_ORDER* ellipse_cb);
|
2011-08-02 20:59:45 +04:00
|
|
|
|
|
|
|
typedef void (*pcCacheBitmap)(rdpUpdate* update, CACHE_BITMAP_ORDER* cache_bitmap_order);
|
|
|
|
typedef void (*pcCacheBitmapV2)(rdpUpdate* update, CACHE_BITMAP_V2_ORDER* cache_bitmap_v2_order);
|
|
|
|
typedef void (*pcCacheBitmapV3)(rdpUpdate* update, CACHE_BITMAP_V3_ORDER* cache_bitmap_v3_order);
|
|
|
|
typedef void (*pcCacheColorTable)(rdpUpdate* update, CACHE_COLOR_TABLE_ORDER* cache_color_table_order);
|
|
|
|
typedef void (*pcCacheGlyph)(rdpUpdate* update, CACHE_GLYPH_ORDER* cache_glyph_order);
|
|
|
|
typedef void (*pcCacheGlyphV2)(rdpUpdate* update, CACHE_GLYPH_V2_ORDER* cache_glyph_v2_order);
|
|
|
|
typedef void (*pcCacheBrush)(rdpUpdate* update, CACHE_BRUSH_ORDER* cache_brush_order);
|
|
|
|
|
|
|
|
typedef void (*pcCreateOffscreenBitmap)(rdpUpdate* update, CREATE_OFFSCREEN_BITMAP_ORDER* create_offscreen_bitmap);
|
|
|
|
typedef void (*pcSwitchSurface)(rdpUpdate* update, SWITCH_SURFACE_ORDER* switch_surface);
|
|
|
|
typedef void (*pcCreateNineGridBitmap)(rdpUpdate* update, CREATE_NINE_GRID_BITMAP_ORDER* create_nine_grid_bitmap);
|
|
|
|
typedef void (*pcFrameMarker)(rdpUpdate* update, FRAME_MARKER_ORDER* frame_marker);
|
|
|
|
typedef void (*pcStreamBitmapFirst)(rdpUpdate* update, STREAM_BITMAP_FIRST_ORDER* stream_bitmap_first);
|
|
|
|
typedef void (*pcStreamBitmapNext)(rdpUpdate* update, STREAM_BITMAP_FIRST_ORDER* stream_bitmap_next);
|
|
|
|
typedef void (*pcDrawGdiPlusFirst)(rdpUpdate* update, DRAW_GDIPLUS_FIRST_ORDER* draw_gdiplus_first);
|
|
|
|
typedef void (*pcDrawGdiPlusNext)(rdpUpdate* update, DRAW_GDIPLUS_NEXT_ORDER* draw_gdiplus_next);
|
|
|
|
typedef void (*pcDrawGdiPlusEnd)(rdpUpdate* update, DRAW_GDIPLUS_END_ORDER* draw_gdiplus_end);
|
|
|
|
typedef void (*pcDrawGdiPlusCacheFirst)(rdpUpdate* update, DRAW_GDIPLUS_CACHE_FIRST_ORDER* draw_gdiplus_cache_first);
|
|
|
|
typedef void (*pcDrawGdiPlusCacheNext)(rdpUpdate* update, DRAW_GDIPLUS_CACHE_NEXT_ORDER* draw_gdiplus_cache_next);
|
|
|
|
typedef void (*pcDrawGdiPlusCacheEnd)(rdpUpdate* update, DRAW_GDIPLUS_CACHE_END_ORDER* draw_gdiplus_cache_end);
|
2011-07-28 08:38:25 +04:00
|
|
|
|
|
|
|
struct rdp_update
|
|
|
|
{
|
|
|
|
void* rdp;
|
2011-07-28 21:46:36 +04:00
|
|
|
void* gdi;
|
2011-07-28 09:34:53 +04:00
|
|
|
void* param1;
|
|
|
|
void* param2;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
2011-07-28 21:46:36 +04:00
|
|
|
pcBeginPaint BeginPaint;
|
|
|
|
pcEndPaint EndPaint;
|
2011-07-28 22:32:16 +04:00
|
|
|
pcSetBounds SetBounds;
|
2011-07-28 08:38:25 +04:00
|
|
|
pcSynchronize Synchronize;
|
|
|
|
pcBitmap Bitmap;
|
|
|
|
pcPalette Palette;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-07-28 08:38:25 +04:00
|
|
|
pcDstBlt DstBlt;
|
|
|
|
pcPatBlt PatBlt;
|
|
|
|
pcScrBlt ScrBlt;
|
|
|
|
pcOpaqueRect OpaqueRect;
|
2011-08-02 20:59:45 +04:00
|
|
|
pcDrawNineGrid DrawNineGrid;
|
2011-07-28 08:38:25 +04:00
|
|
|
pcMultiDstBlt MultiDstBlt;
|
|
|
|
pcMultiPatBlt MultiPatBlt;
|
|
|
|
pcMultiScrBlt MultiScrBlt;
|
|
|
|
pcMultiOpaqueRect MultiOpaqueRect;
|
2011-08-02 20:59:45 +04:00
|
|
|
pcMultiDrawNineGrid MultiDrawNineGrid;
|
|
|
|
pcLineTo LineTo;
|
|
|
|
pcPolyline Polyline;
|
|
|
|
pcMemBlt MemBlt;
|
|
|
|
pcMem3Blt Mem3Blt;
|
|
|
|
pcSaveBitmap SaveBitmap;
|
2011-08-03 11:29:56 +04:00
|
|
|
pcGlyphIndex GlyphIndex;
|
2011-07-28 08:38:25 +04:00
|
|
|
pcFastIndex FastIndex;
|
2011-08-02 20:59:45 +04:00
|
|
|
pcFastGlyph FastGlyph;
|
2011-07-28 08:38:25 +04:00
|
|
|
pcPolygonSC PolygonSC;
|
|
|
|
pcPolygonCB PolygonCB;
|
|
|
|
pcEllipseSC EllipseSC;
|
|
|
|
pcEllipseCB EllipseCB;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
|
|
|
boolean glyph_v2;
|
|
|
|
pcCacheBitmap CacheBitmap;
|
|
|
|
pcCacheBitmapV2 CacheBitmapV2;
|
|
|
|
pcCacheBitmapV3 CacheBitmapV3;
|
|
|
|
pcCacheColorTable CacheColorTable;
|
|
|
|
pcCacheGlyph CacheGlyph;
|
|
|
|
pcCacheGlyphV2 CacheGlyphV2;
|
|
|
|
pcCacheBrush CacheBrush;
|
|
|
|
|
|
|
|
pcCreateOffscreenBitmap CreateOffscreenBitmap;
|
|
|
|
pcSwitchSurface SwitchSurface;
|
|
|
|
pcCreateNineGridBitmap CreateNineGridBitmap;
|
|
|
|
pcFrameMarker FrameMarker;
|
|
|
|
pcStreamBitmapFirst StreamBitmapFirst;
|
|
|
|
pcStreamBitmapNext StreamBitmapNext;
|
|
|
|
pcDrawGdiPlusFirst DrawGdiPlusFirst;
|
|
|
|
pcDrawGdiPlusNext DrawGdiPlusNext;
|
|
|
|
pcDrawGdiPlusEnd DrawGdiPlusEnd;
|
|
|
|
pcDrawGdiPlusCacheFirst DrawGdiPlusCacheFirst;
|
|
|
|
pcDrawGdiPlusCacheNext DrawGdiPlusCacheNext;
|
|
|
|
pcDrawGdiPlusCacheEnd DrawGdiPlusCacheEnd;
|
2011-07-28 08:38:25 +04:00
|
|
|
|
|
|
|
BITMAP_UPDATE bitmap_update;
|
|
|
|
PALETTE_UPDATE palette_update;
|
|
|
|
ORDER_INFO order_info;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
2011-07-28 08:38:25 +04:00
|
|
|
DSTBLT_ORDER dstblt;
|
|
|
|
PATBLT_ORDER patblt;
|
|
|
|
SCRBLT_ORDER scrblt;
|
|
|
|
OPAQUE_RECT_ORDER opaque_rect;
|
2011-08-02 20:59:45 +04:00
|
|
|
DRAW_NINE_GRID_ORDER draw_nine_grid;
|
2011-07-28 08:38:25 +04:00
|
|
|
MULTI_DSTBLT_ORDER multi_dstblt;
|
|
|
|
MULTI_PATBLT_ORDER multi_patblt;
|
|
|
|
MULTI_SCRBLT_ORDER multi_scrblt;
|
|
|
|
MULTI_OPAQUE_RECT_ORDER multi_opaque_rect;
|
2011-08-02 20:59:45 +04:00
|
|
|
MULTI_DRAW_NINE_GRID_ORDER multi_draw_nine_grid;
|
|
|
|
LINE_TO_ORDER line_to;
|
|
|
|
POLYLINE_ORDER polyline;
|
|
|
|
MEMBLT_ORDER memblt;
|
|
|
|
MEM3BLT_ORDER mem3blt;
|
|
|
|
SAVE_BITMAP_ORDER save_bitmap;
|
2011-08-03 11:29:56 +04:00
|
|
|
GLYPH_INDEX_ORDER glyph_index;
|
2011-07-28 08:38:25 +04:00
|
|
|
FAST_INDEX_ORDER fast_index;
|
2011-08-02 20:59:45 +04:00
|
|
|
FAST_GLYPH_ORDER fast_glyph;
|
2011-07-28 08:38:25 +04:00
|
|
|
POLYGON_SC_ORDER polygon_sc;
|
|
|
|
POLYGON_CB_ORDER polygon_cb;
|
|
|
|
ELLIPSE_SC_ORDER ellipse_sc;
|
|
|
|
ELLIPSE_CB_ORDER ellipse_cb;
|
2011-08-02 20:59:45 +04:00
|
|
|
|
|
|
|
CACHE_BITMAP_ORDER cache_bitmap_order;
|
|
|
|
CACHE_BITMAP_V2_ORDER cache_bitmap_v2_order;
|
|
|
|
CACHE_BITMAP_V3_ORDER cache_bitmap_v3_order;
|
|
|
|
CACHE_COLOR_TABLE_ORDER cache_color_table_order;
|
|
|
|
CACHE_GLYPH_ORDER cache_glyph_order;
|
|
|
|
CACHE_GLYPH_V2_ORDER cache_glyph_v2_order;
|
|
|
|
CACHE_BRUSH_ORDER cache_brush_order;
|
|
|
|
|
|
|
|
CREATE_OFFSCREEN_BITMAP_ORDER create_offscreen_bitmap;
|
|
|
|
SWITCH_SURFACE_ORDER switch_surface;
|
|
|
|
CREATE_NINE_GRID_BITMAP_ORDER create_nine_grid_bitmap;
|
|
|
|
FRAME_MARKER_ORDER frame_marker;
|
|
|
|
STREAM_BITMAP_FIRST_ORDER stream_bitmap_first;
|
|
|
|
STREAM_BITMAP_FIRST_ORDER stream_bitmap_next;
|
|
|
|
DRAW_GDIPLUS_CACHE_FIRST_ORDER draw_gdiplus_cache_first;
|
|
|
|
DRAW_GDIPLUS_CACHE_NEXT_ORDER draw_gdiplus_cache_next;
|
|
|
|
DRAW_GDIPLUS_CACHE_END_ORDER draw_gdiplus_cache_end;
|
|
|
|
DRAW_GDIPLUS_FIRST_ORDER draw_gdiplus_first;
|
|
|
|
DRAW_GDIPLUS_NEXT_ORDER draw_gdiplus_next;
|
|
|
|
DRAW_GDIPLUS_END_ORDER draw_gdiplus_end;
|
2011-07-28 08:38:25 +04:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* __UPDATE_API_H */
|
|
|
|
|