20#ifndef FREERDP_UPDATE_SECONDARY_H
21#define FREERDP_UPDATE_SECONDARY_H
23#include <freerdp/types.h>
24#include <freerdp/primary.h>
31#define GLYPH_FRAGMENT_NOP 0x00
32#define GLYPH_FRAGMENT_USE 0xFE
33#define GLYPH_FRAGMENT_ADD 0xFF
35#define CBR2_HEIGHT_SAME_AS_WIDTH 0x01
36#define CBR2_PERSISTENT_KEY_PRESENT 0x02
37#define CBR2_NO_BITMAP_COMPRESSION_HDR 0x08
38#define CBR2_DO_NOT_CACHE 0x10
40#define SCREEN_BITMAP_SURFACE 0xFFFF
41#define BITMAP_CACHE_WAITING_LIST_INDEX 0x7FFF
43#define CACHED_BRUSH 0x80
54#define BS_HATCHED 0x02
55#define BS_PATTERN 0x03
59#define HS_HORIZONTAL 0x00
60#define HS_VERTICAL 0x01
61#define HS_FDIAGONAL 0x02
62#define HS_BDIAGONAL 0x03
64#define HS_DIAGCROSS 0x05
67#define SO_FLAG_DEFAULT_PLACEMENT 0x01
68#define SO_HORIZONTAL 0x02
69#define SO_VERTICAL 0x04
70#define SO_REVERSED 0x08
71#define SO_ZERO_BEARINGS 0x10
72#define SO_CHAR_INC_EQUAL_BM_BASE 0x20
73#define SO_MAXEXT_EQUAL_BM_SIDE 0x40
84 BYTE bitmapComprHdr[8];
85 BYTE* bitmapDataStream;
100 UINT32 cbCompFirstRowSize;
101 UINT32 cbCompMainBodySize;
103 UINT32 cbUncompressedSize;
104 BYTE* bitmapDataStream;
132 UINT32 colorTable[256];
140 WCHAR* unicodeCharacters;
149 WCHAR* unicodeCharacters;
163typedef BOOL (*pCacheBitmap)(rdpContext* context,
const CACHE_BITMAP_ORDER* cache_bitmap_order);
166typedef BOOL (*pCacheColorTable)(rdpContext* context,
168typedef BOOL (*pCacheGlyph)(rdpContext* context,
const CACHE_GLYPH_ORDER* cache_glyph_order);
169typedef BOOL (*pCacheGlyphV2)(rdpContext* context,
171typedef BOOL (*pCacheBrush)(rdpContext* context,
const CACHE_BRUSH_ORDER* cache_brush_order);
172typedef BOOL (*pCacheOrderInfo)(rdpContext* context, INT16 orderLength, UINT16 extraFlags,
173 UINT8 orderType,
const char* orderName);
178 UINT32 paddingA[16 - 1];
180 pCacheBitmap CacheBitmap;
181 pCacheBitmapV2 CacheBitmapV2;
182 pCacheBitmapV3 CacheBitmapV3;
183 pCacheColorTable CacheColorTable;
184 pCacheGlyph CacheGlyph;
185 pCacheGlyphV2 CacheGlyphV2;
186 pCacheBrush CacheBrush;
188 pCacheOrderInfo CacheOrderInfo;
189 UINT32 paddingE[32 - 24];