FreeRDP
altsec.h
1 
20 #ifndef FREERDP_UPDATE_ALTSEC_H
21 #define FREERDP_UPDATE_ALTSEC_H
22 
23 #include <freerdp/types.h>
24 
25 #define DSDNG_STRETCH 0x00000001
26 #define DSDNG_TILE 0x00000002
27 #define DSDNG_PERPIXELALPHA 0x00000004
28 #define DSDNG_TRANSPARENT 0x00000008
29 #define DSDNG_MUSTFLIP 0x00000010
30 #define DSDNG_TRUESIZE 0x00000020
31 
32 #define FRAME_START 0x00000000
33 #define FRAME_END 0x00000001
34 
35 #define STREAM_BITMAP_END 0x01
36 #define STREAM_BITMAP_COMPRESSED 0x02
37 #define STREAM_BITMAP_V2 0x04
38 
39 #ifdef __cplusplus
40 extern "C"
41 {
42 #endif
43 
44  typedef struct
45  {
46  UINT32 sIndices;
47  UINT32 cIndices;
48  UINT16* indices;
50 
51  typedef struct
52  {
53  UINT32 id;
54  UINT32 cx;
55  UINT32 cy;
56  OFFSCREEN_DELETE_LIST deleteList;
58 
59  typedef struct
60  {
61  UINT32 bitmapId;
63 
64  typedef struct
65  {
66  UINT32 flFlags;
67  UINT32 ulLeftWidth;
68  UINT32 ulRightWidth;
69  UINT32 ulTopHeight;
70  UINT32 ulBottomHeight;
71  UINT32 crTransparent;
73 
74  typedef struct
75  {
76  UINT32 bitmapBpp;
77  UINT32 bitmapId;
78  UINT32 cx;
79  UINT32 cy;
80  NINE_GRID_BITMAP_INFO nineGridInfo;
82 
83  typedef struct
84  {
85  UINT32 action;
87 
88  typedef struct
89  {
90  UINT32 bitmapFlags;
91  UINT32 bitmapBpp;
92  UINT32 bitmapType;
93  UINT32 bitmapWidth;
94  UINT32 bitmapHeight;
95  UINT32 bitmapSize;
96  UINT32 bitmapBlockSize;
97  BYTE* bitmapBlock;
99 
100  typedef struct
101  {
102  UINT32 bitmapFlags;
103  UINT32 bitmapType;
104  UINT32 bitmapBlockSize;
105  BYTE* bitmapBlock;
107 
108  typedef struct
109  {
110  UINT32 cbSize;
111  UINT32 cbTotalSize;
112  UINT32 cbTotalEmfSize;
113  BYTE* emfRecords;
115 
116  typedef struct
117  {
118  UINT32 cbSize;
119  BYTE* emfRecords;
121 
122  typedef struct
123  {
124  UINT32 cbSize;
125  UINT32 cbTotalSize;
126  UINT32 cbTotalEmfSize;
127  BYTE* emfRecords;
129 
130  typedef struct
131  {
132  UINT32 flags;
133  UINT32 cacheType;
134  UINT32 cacheIndex;
135  UINT32 cbSize;
136  UINT32 cbTotalSize;
137  BYTE* emfRecords;
139 
140  typedef struct
141  {
142  UINT32 flags;
143  UINT32 cacheType;
144  UINT32 cacheIndex;
145  UINT32 cbSize;
146  BYTE* emfRecords;
148 
149  typedef struct
150  {
151  UINT32 flags;
152  UINT32 cacheType;
153  UINT32 cacheIndex;
154  UINT32 cbSize;
155  UINT32 cbTotalSize;
156  BYTE* emfRecords;
158 
159  typedef BOOL (*pCreateOffscreenBitmap)(
160  rdpContext* context, const CREATE_OFFSCREEN_BITMAP_ORDER* create_offscreen_bitmap);
161  typedef BOOL (*pSwitchSurface)(rdpContext* context, const SWITCH_SURFACE_ORDER* switch_surface);
162  typedef BOOL (*pCreateNineGridBitmap)(
163  rdpContext* context, const CREATE_NINE_GRID_BITMAP_ORDER* create_nine_grid_bitmap);
164  typedef BOOL (*pFrameMarker)(rdpContext* context, const FRAME_MARKER_ORDER* frame_marker);
165  typedef BOOL (*pStreamBitmapFirst)(rdpContext* context,
166  const STREAM_BITMAP_FIRST_ORDER* stream_bitmap_first);
167  typedef BOOL (*pStreamBitmapNext)(rdpContext* context,
168  const STREAM_BITMAP_NEXT_ORDER* stream_bitmap_next);
169  typedef BOOL (*pDrawGdiPlusFirst)(rdpContext* context,
170  const DRAW_GDIPLUS_FIRST_ORDER* draw_gdiplus_first);
171  typedef BOOL (*pDrawGdiPlusNext)(rdpContext* context,
172  const DRAW_GDIPLUS_NEXT_ORDER* draw_gdiplus_next);
173  typedef BOOL (*pDrawGdiPlusEnd)(rdpContext* context,
174  const DRAW_GDIPLUS_END_ORDER* draw_gdiplus_end);
175  typedef BOOL (*pDrawGdiPlusCacheFirst)(
176  rdpContext* context, const DRAW_GDIPLUS_CACHE_FIRST_ORDER* draw_gdiplus_cache_first);
177  typedef BOOL (*pDrawGdiPlusCacheNext)(
178  rdpContext* context, const DRAW_GDIPLUS_CACHE_NEXT_ORDER* draw_gdiplus_cache_next);
179  typedef BOOL (*pDrawGdiPlusCacheEnd)(
180  rdpContext* context, const DRAW_GDIPLUS_CACHE_END_ORDER* draw_gdiplus_cache_end);
181  typedef BOOL (*pDrawOrderInfo)(rdpContext* context, UINT8 orderType, const char* orderName);
182 
184  {
185  rdpContext* context; /* 0 */
186  UINT32 paddingA[16 - 1]; /* 1 */
187 
188  pCreateOffscreenBitmap CreateOffscreenBitmap; /* 16 */
189  pSwitchSurface SwitchSurface; /* 17 */
190  pCreateNineGridBitmap CreateNineGridBitmap; /* 18 */
191  pFrameMarker FrameMarker; /* 19 */
192  pStreamBitmapFirst StreamBitmapFirst; /* 20 */
193  pStreamBitmapNext StreamBitmapNext; /* 21 */
194  pDrawGdiPlusFirst DrawGdiPlusFirst; /* 22 */
195  pDrawGdiPlusNext DrawGdiPlusNext; /* 23 */
196  pDrawGdiPlusEnd DrawGdiPlusEnd; /* 24 */
197  pDrawGdiPlusCacheFirst DrawGdiPlusCacheFirst; /* 25 */
198  pDrawGdiPlusCacheNext DrawGdiPlusCacheNext; /* 26 */
199  pDrawGdiPlusCacheEnd DrawGdiPlusCacheEnd; /* 27 */
200  /* Statistics callback */
201  pDrawOrderInfo DrawOrderInfo; /* 28 */
202  UINT32 paddingB[32 - 29]; /* 29 */
203  };
204  typedef struct rdp_altsec_update rdpAltSecUpdate;
205 
206 #ifdef __cplusplus
207 }
208 #endif
209 
210 #endif /* FREERDP_UPDATE_ALTSEC_H */