FreeRDP
orders.c File Reference
#include <freerdp/config.h>
#include "settings.h"
#include <winpr/wtypes.h>
#include <winpr/crt.h>
#include <winpr/assert.h>
#include <freerdp/api.h>
#include <freerdp/log.h>
#include <freerdp/graphics.h>
#include <freerdp/codec/bitmap.h>
#include <freerdp/gdi/gdi.h>
#include "orders.h"
#include "window.h"
#include "../cache/glyph.h"
#include "../cache/bitmap.h"
#include "../cache/brush.h"
#include "../cache/cache.h"

Macros

#define TAG   FREERDP_TAG("core.orders")
 

Functions

BYTE get_primary_drawing_order_field_bytes (UINT32 orderType, BOOL *pValid)
 
static BYTE get_cbr2_bpp (UINT32 bpp, BOOL *pValid)
 
static BYTE get_bmf_bpp (UINT32 bmf, BOOL *pValid)
 
static BYTE get_bpp_bmf (UINT32 bpp, BOOL *pValid)
 
static BOOL check_order_activated (wLog *log, rdpSettings *settings, const char *orderName, BOOL condition, const char *extendedMessage)
 
static BOOL check_alt_order_supported (wLog *log, rdpSettings *settings, BYTE orderType, const char *orderName)
 
static BOOL check_secondary_order_supported (wLog *log, rdpSettings *settings, BYTE orderType, const char *orderName)
 
static BOOL check_primary_order_supported (wLog *log, rdpSettings *settings, UINT32 orderType, const char *orderName)
 
static const char * primary_order_string (UINT32 orderType)
 
static const char * secondary_order_string (UINT32 orderType)
 
static const char * altsec_order_string (BYTE orderType)
 
static INLINE BOOL update_read_coord (wStream *s, INT32 *coord, BOOL delta)
 
static INLINE BOOL update_write_coord (wStream *s, INT32 coord)
 
static INLINE BOOL update_read_color (wStream *s, UINT32 *color)
 
static INLINE BOOL update_write_color (wStream *s, UINT32 color)
 
static INLINE BOOL update_read_colorref (wStream *s, UINT32 *color)
 
static INLINE BOOL update_read_color_quad (wStream *s, UINT32 *color)
 
static INLINE void update_write_color_quad (wStream *s, UINT32 color)
 
static INLINE BOOL update_read_2byte_unsigned (wStream *s, UINT32 *value)
 
static INLINE BOOL update_write_2byte_unsigned (wStream *s, UINT32 value)
 
static INLINE BOOL update_read_2byte_signed (wStream *s, INT32 *value)
 
static INLINE BOOL update_write_2byte_signed (wStream *s, INT32 value)
 
static INLINE BOOL update_read_4byte_unsigned (wStream *s, UINT32 *value)
 
static INLINE BOOL update_write_4byte_unsigned (wStream *s, UINT32 value)
 
static INLINE BOOL update_read_delta (wStream *s, INT32 *value)
 
static INLINE BOOL update_read_brush (wStream *s, rdpBrush *brush, BYTE fieldFlags)
 
static INLINE BOOL update_write_brush (wStream *s, rdpBrush *brush, BYTE fieldFlags)
 
static INLINE BOOL update_read_delta_rects (wStream *s, DELTA_RECT *rectangles, UINT32 *nr)
 
static INLINE BOOL update_read_delta_points (wStream *s, DELTA_POINT **points, UINT32 number, INT16 x, INT16 y)
 
static BOOL order_field_flag_is_set (const ORDER_INFO *orderInfo, BYTE number)
 
static INLINE BOOL read_order_field_byte (const char *orderName, const ORDER_INFO *orderInfo, wStream *s, BYTE number, UINT32 *target, BOOL optional)
 
static INLINE BOOL read_order_field_2bytes (const char *orderName, const ORDER_INFO *orderInfo, wStream *s, BYTE number, UINT32 *target1, UINT32 *target2, BOOL optional)
 
static INLINE BOOL read_order_field_uint16 (const char *orderName, const ORDER_INFO *orderInfo, wStream *s, BYTE number, UINT32 *target, BOOL optional)
 
static INLINE BOOL read_order_field_int16 (const char *orderName, const ORDER_INFO *orderInfo, wStream *s, BYTE number, INT32 *target, BOOL optional)
 
static INLINE BOOL read_order_field_uint32 (const char *orderName, const ORDER_INFO *orderInfo, wStream *s, BYTE number, UINT32 *target, BOOL optional)
 
static INLINE BOOL read_order_field_coord (const char *orderName, const ORDER_INFO *orderInfo, wStream *s, UINT32 NO, INT32 *TARGET, BOOL optional)
 
static INLINE BOOL read_order_field_color (const char *orderName, const ORDER_INFO *orderInfo, wStream *s, UINT32 NO, UINT32 *TARGET, BOOL optional)
 
static INLINE BOOL FIELD_SKIP_BUFFER16 (wStream *s, UINT32 TARGET_LEN)
 
static BOOL update_read_dstblt_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, DSTBLT_ORDER *dstblt)
 
size_t update_approximate_dstblt_order (ORDER_INFO *orderInfo, const DSTBLT_ORDER *dstblt)
 
BOOL update_write_dstblt_order (wStream *s, ORDER_INFO *orderInfo, const DSTBLT_ORDER *dstblt)
 
static BOOL update_read_patblt_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, PATBLT_ORDER *patblt)
 
size_t update_approximate_patblt_order (ORDER_INFO *orderInfo, PATBLT_ORDER *patblt)
 
BOOL update_write_patblt_order (wStream *s, ORDER_INFO *orderInfo, PATBLT_ORDER *patblt)
 
static BOOL update_read_scrblt_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, SCRBLT_ORDER *scrblt)
 
size_t update_approximate_scrblt_order (ORDER_INFO *orderInfo, const SCRBLT_ORDER *scrblt)
 
BOOL update_write_scrblt_order (wStream *s, ORDER_INFO *orderInfo, const SCRBLT_ORDER *scrblt)
 
static BOOL update_read_opaque_rect_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, OPAQUE_RECT_ORDER *opaque_rect)
 
size_t update_approximate_opaque_rect_order (ORDER_INFO *orderInfo, const OPAQUE_RECT_ORDER *opaque_rect)
 
BOOL update_write_opaque_rect_order (wStream *s, ORDER_INFO *orderInfo, const OPAQUE_RECT_ORDER *opaque_rect)
 
static BOOL update_read_draw_nine_grid_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, DRAW_NINE_GRID_ORDER *draw_nine_grid)
 
static BOOL update_read_multi_dstblt_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, MULTI_DSTBLT_ORDER *multi_dstblt)
 
static BOOL update_read_multi_patblt_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, MULTI_PATBLT_ORDER *multi_patblt)
 
static BOOL update_read_multi_scrblt_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, MULTI_SCRBLT_ORDER *multi_scrblt)
 
static BOOL update_read_multi_opaque_rect_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, MULTI_OPAQUE_RECT_ORDER *multi_opaque_rect)
 
static BOOL update_read_multi_draw_nine_grid_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, MULTI_DRAW_NINE_GRID_ORDER *multi_draw_nine_grid)
 
static BOOL update_read_line_to_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, LINE_TO_ORDER *line_to)
 
size_t update_approximate_line_to_order (ORDER_INFO *orderInfo, const LINE_TO_ORDER *line_to)
 
BOOL update_write_line_to_order (wStream *s, ORDER_INFO *orderInfo, const LINE_TO_ORDER *line_to)
 
static BOOL update_read_polyline_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, POLYLINE_ORDER *polyline)
 
static BOOL update_read_memblt_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, MEMBLT_ORDER *memblt)
 
size_t update_approximate_memblt_order (ORDER_INFO *orderInfo, const MEMBLT_ORDER *memblt)
 
BOOL update_write_memblt_order (wStream *s, ORDER_INFO *orderInfo, const MEMBLT_ORDER *memblt)
 
static BOOL update_read_mem3blt_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, MEM3BLT_ORDER *mem3blt)
 
static BOOL update_read_save_bitmap_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, SAVE_BITMAP_ORDER *save_bitmap)
 
static BOOL update_read_glyph_index_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, GLYPH_INDEX_ORDER *glyph_index)
 
size_t update_approximate_glyph_index_order (ORDER_INFO *orderInfo, const GLYPH_INDEX_ORDER *glyph_index)
 
BOOL update_write_glyph_index_order (wStream *s, ORDER_INFO *orderInfo, GLYPH_INDEX_ORDER *glyph_index)
 
static BOOL update_read_fast_index_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, FAST_INDEX_ORDER *fast_index)
 
static BOOL update_read_fast_glyph_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, FAST_GLYPH_ORDER *fastGlyph)
 
static BOOL update_read_polygon_sc_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, POLYGON_SC_ORDER *polygon_sc)
 
static BOOL update_read_polygon_cb_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, POLYGON_CB_ORDER *polygon_cb)
 
static BOOL update_read_ellipse_sc_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, ELLIPSE_SC_ORDER *ellipse_sc)
 
static BOOL update_read_ellipse_cb_order (const char *orderName, wStream *s, const ORDER_INFO *orderInfo, ELLIPSE_CB_ORDER *ellipse_cb)
 
static CACHE_BITMAP_ORDERupdate_read_cache_bitmap_order (rdpUpdate *update, wStream *s, BOOL compressed, UINT16 flags)
 
size_t update_approximate_cache_bitmap_order (const CACHE_BITMAP_ORDER *cache_bitmap, BOOL compressed, UINT16 *flags)
 
BOOL update_write_cache_bitmap_order (wStream *s, const CACHE_BITMAP_ORDER *cache_bitmap, BOOL compressed, UINT16 *flags)
 
static CACHE_BITMAP_V2_ORDERupdate_read_cache_bitmap_v2_order (rdpUpdate *update, wStream *s, BOOL compressed, UINT16 flags)
 
size_t update_approximate_cache_bitmap_v2_order (CACHE_BITMAP_V2_ORDER *cache_bitmap_v2, BOOL compressed, UINT16 *flags)
 
BOOL update_write_cache_bitmap_v2_order (wStream *s, CACHE_BITMAP_V2_ORDER *cache_bitmap_v2, BOOL compressed, UINT16 *flags)
 
static CACHE_BITMAP_V3_ORDERupdate_read_cache_bitmap_v3_order (rdpUpdate *update, wStream *s, UINT16 flags)
 
size_t update_approximate_cache_bitmap_v3_order (CACHE_BITMAP_V3_ORDER *cache_bitmap_v3, UINT16 *flags)
 
BOOL update_write_cache_bitmap_v3_order (wStream *s, CACHE_BITMAP_V3_ORDER *cache_bitmap_v3, UINT16 *flags)
 
static CACHE_COLOR_TABLE_ORDERupdate_read_cache_color_table_order (rdpUpdate *update, wStream *s, UINT16 flags)
 
size_t update_approximate_cache_color_table_order (const CACHE_COLOR_TABLE_ORDER *cache_color_table, UINT16 *flags)
 
BOOL update_write_cache_color_table_order (wStream *s, const CACHE_COLOR_TABLE_ORDER *cache_color_table, UINT16 *flags)
 
static CACHE_GLYPH_ORDERupdate_read_cache_glyph_order (rdpUpdate *update, wStream *s, UINT16 flags)
 
size_t update_approximate_cache_glyph_order (const CACHE_GLYPH_ORDER *cache_glyph, UINT16 *flags)
 
BOOL update_write_cache_glyph_order (wStream *s, const CACHE_GLYPH_ORDER *cache_glyph, UINT16 *flags)
 
static CACHE_GLYPH_V2_ORDERupdate_read_cache_glyph_v2_order (rdpUpdate *update, wStream *s, UINT16 flags)
 
size_t update_approximate_cache_glyph_v2_order (const CACHE_GLYPH_V2_ORDER *cache_glyph_v2, UINT16 *flags)
 
BOOL update_write_cache_glyph_v2_order (wStream *s, const CACHE_GLYPH_V2_ORDER *cache_glyph_v2, UINT16 *flags)
 
static BOOL update_decompress_brush (wStream *s, BYTE *output, size_t outSize, BYTE bpp)
 
static BOOL update_compress_brush (wStream *s, const BYTE *input, BYTE bpp)
 
static CACHE_BRUSH_ORDERupdate_read_cache_brush_order (rdpUpdate *update, wStream *s, UINT16 flags)
 
size_t update_approximate_cache_brush_order (const CACHE_BRUSH_ORDER *cache_brush, UINT16 *flags)
 
BOOL update_write_cache_brush_order (wStream *s, const CACHE_BRUSH_ORDER *cache_brush, UINT16 *flags)
 
static BOOL update_read_create_offscreen_bitmap_order (wStream *s, CREATE_OFFSCREEN_BITMAP_ORDER *create_offscreen_bitmap)
 
size_t update_approximate_create_offscreen_bitmap_order (const CREATE_OFFSCREEN_BITMAP_ORDER *create_offscreen_bitmap)
 
BOOL update_write_create_offscreen_bitmap_order (wStream *s, const CREATE_OFFSCREEN_BITMAP_ORDER *create_offscreen_bitmap)
 
static BOOL update_read_switch_surface_order (wStream *s, SWITCH_SURFACE_ORDER *switch_surface)
 
size_t update_approximate_switch_surface_order (const SWITCH_SURFACE_ORDER *switch_surface)
 
BOOL update_write_switch_surface_order (wStream *s, const SWITCH_SURFACE_ORDER *switch_surface)
 
static BOOL update_read_create_nine_grid_bitmap_order (wStream *s, CREATE_NINE_GRID_BITMAP_ORDER *create_nine_grid_bitmap)
 
static BOOL update_read_frame_marker_order (wStream *s, FRAME_MARKER_ORDER *frame_marker)
 
static BOOL update_read_stream_bitmap_first_order (wStream *s, STREAM_BITMAP_FIRST_ORDER *stream_bitmap_first)
 
static BOOL update_read_stream_bitmap_next_order (wStream *s, STREAM_BITMAP_NEXT_ORDER *stream_bitmap_next)
 
static BOOL update_read_draw_gdiplus_first_order (wStream *s, DRAW_GDIPLUS_FIRST_ORDER *draw_gdiplus_first)
 
static BOOL update_read_draw_gdiplus_next_order (wStream *s, DRAW_GDIPLUS_NEXT_ORDER *draw_gdiplus_next)
 
static BOOL update_read_draw_gdiplus_end_order (wStream *s, DRAW_GDIPLUS_END_ORDER *draw_gdiplus_end)
 
static BOOL update_read_draw_gdiplus_cache_first_order (wStream *s, DRAW_GDIPLUS_CACHE_FIRST_ORDER *draw_gdiplus_cache_first)
 
static BOOL update_read_draw_gdiplus_cache_next_order (wStream *s, DRAW_GDIPLUS_CACHE_NEXT_ORDER *draw_gdiplus_cache_next)
 
static BOOL update_read_draw_gdiplus_cache_end_order (wStream *s, DRAW_GDIPLUS_CACHE_END_ORDER *draw_gdiplus_cache_end)
 
static BOOL update_read_field_flags (wStream *s, UINT32 *fieldFlags, BYTE flags, BYTE fieldBytes)
 
BOOL update_write_field_flags (wStream *s, UINT32 fieldFlags, BYTE flags, BYTE fieldBytes)
 
static BOOL update_read_bounds (wStream *s, rdpBounds *bounds)
 
BOOL update_write_bounds (wStream *s, ORDER_INFO *orderInfo)
 
static BOOL read_primary_order (wLog *log, const char *orderName, wStream *s, const ORDER_INFO *orderInfo, rdpPrimaryUpdate *primary_pub)
 
static BOOL update_recv_primary_order (rdpUpdate *update, wStream *s, BYTE flags)
 
static BOOL update_recv_secondary_order (rdpUpdate *update, wStream *s, BYTE flags)
 
static BOOL read_altsec_order (wLog *log, wStream *s, BYTE orderType, rdpAltSecUpdate *altsec_pub)
 
static BOOL update_recv_altsec_order (rdpUpdate *update, wStream *s, BYTE flags)
 
BOOL update_recv_order (rdpUpdate *update, wStream *s)
 

Variables

static const char primary_order_str [] = "Primary Drawing Order"
 
static const char secondary_order_str [] = "Secondary Drawing Order"
 
static const char alt_sec_order_str [] = "Alternate Secondary Drawing Order"
 

Macro Definition Documentation

◆ TAG

#define TAG   FREERDP_TAG("core.orders")

FreeRDP: A Remote Desktop Protocol Implementation Drawing Orders

Copyright 2011 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com Copyright 2016 Armin Novak armin.nosp@m..nov.nosp@m.ak@th.nosp@m.inca.nosp@m.st.co.nosp@m.m Copyright 2016 Thincast Technologies GmbH

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.

Function Documentation

◆ altsec_order_string()

static const char* altsec_order_string ( BYTE  orderType)
static
Here is the caller graph for this function:

◆ check_alt_order_supported()

static BOOL check_alt_order_supported ( wLog *  log,
rdpSettings *  settings,
BYTE  orderType,
const char *  orderName 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ check_order_activated()

static BOOL check_order_activated ( wLog *  log,
rdpSettings *  settings,
const char *  orderName,
BOOL  condition,
const char *  extendedMessage 
)
static
Here is the caller graph for this function:

◆ check_primary_order_supported()

static BOOL check_primary_order_supported ( wLog *  log,
rdpSettings *  settings,
UINT32  orderType,
const char *  orderName 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ check_secondary_order_supported()

static BOOL check_secondary_order_supported ( wLog *  log,
rdpSettings *  settings,
BYTE  orderType,
const char *  orderName 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FIELD_SKIP_BUFFER16()

static INLINE BOOL FIELD_SKIP_BUFFER16 ( wStream s,
UINT32  TARGET_LEN 
)
static
Here is the caller graph for this function:

◆ get_bmf_bpp()

static BYTE get_bmf_bpp ( UINT32  bmf,
BOOL *  pValid 
)
static
Here is the caller graph for this function:

◆ get_bpp_bmf()

static BYTE get_bpp_bmf ( UINT32  bpp,
BOOL *  pValid 
)
static
Here is the caller graph for this function:

◆ get_cbr2_bpp()

static BYTE get_cbr2_bpp ( UINT32  bpp,
BOOL *  pValid 
)
static
Here is the caller graph for this function:

◆ get_primary_drawing_order_field_bytes()

BYTE get_primary_drawing_order_field_bytes ( UINT32  orderType,
BOOL *  pValid 
)
Here is the caller graph for this function:

◆ order_field_flag_is_set()

static BOOL order_field_flag_is_set ( const ORDER_INFO orderInfo,
BYTE  number 
)
static
Here is the caller graph for this function:

◆ primary_order_string()

static const char* primary_order_string ( UINT32  orderType)
static
Here is the caller graph for this function:

◆ read_altsec_order()

static BOOL read_altsec_order ( wLog *  log,
wStream s,
BYTE  orderType,
rdpAltSecUpdate *  altsec_pub 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ read_order_field_2bytes()

static INLINE BOOL read_order_field_2bytes ( const char *  orderName,
const ORDER_INFO orderInfo,
wStream s,
BYTE  number,
UINT32 *  target1,
UINT32 *  target2,
BOOL  optional 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ read_order_field_byte()

static INLINE BOOL read_order_field_byte ( const char *  orderName,
const ORDER_INFO orderInfo,
wStream s,
BYTE  number,
UINT32 *  target,
BOOL  optional 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ read_order_field_color()

static INLINE BOOL read_order_field_color ( const char *  orderName,
const ORDER_INFO orderInfo,
wStream s,
UINT32  NO,
UINT32 *  TARGET,
BOOL  optional 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ read_order_field_coord()

static INLINE BOOL read_order_field_coord ( const char *  orderName,
const ORDER_INFO orderInfo,
wStream s,
UINT32  NO,
INT32 *  TARGET,
BOOL  optional 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ read_order_field_int16()

static INLINE BOOL read_order_field_int16 ( const char *  orderName,
const ORDER_INFO orderInfo,
wStream s,
BYTE  number,
INT32 *  target,
BOOL  optional 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ read_order_field_uint16()

static INLINE BOOL read_order_field_uint16 ( const char *  orderName,
const ORDER_INFO orderInfo,
wStream s,
BYTE  number,
UINT32 *  target,
BOOL  optional 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ read_order_field_uint32()

static INLINE BOOL read_order_field_uint32 ( const char *  orderName,
const ORDER_INFO orderInfo,
wStream s,
BYTE  number,
UINT32 *  target,
BOOL  optional 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ read_primary_order()

static BOOL read_primary_order ( wLog *  log,
const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
rdpPrimaryUpdate *  primary_pub 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ secondary_order_string()

static const char* secondary_order_string ( UINT32  orderType)
static
Here is the caller graph for this function:

◆ update_approximate_cache_bitmap_order()

size_t update_approximate_cache_bitmap_order ( const CACHE_BITMAP_ORDER cache_bitmap,
BOOL  compressed,
UINT16 flags 
)
Here is the caller graph for this function:

◆ update_approximate_cache_bitmap_v2_order()

size_t update_approximate_cache_bitmap_v2_order ( CACHE_BITMAP_V2_ORDER cache_bitmap_v2,
BOOL  compressed,
UINT16 flags 
)
Here is the caller graph for this function:

◆ update_approximate_cache_bitmap_v3_order()

size_t update_approximate_cache_bitmap_v3_order ( CACHE_BITMAP_V3_ORDER cache_bitmap_v3,
UINT16 flags 
)
Here is the caller graph for this function:

◆ update_approximate_cache_brush_order()

size_t update_approximate_cache_brush_order ( const CACHE_BRUSH_ORDER cache_brush,
UINT16 flags 
)
Here is the caller graph for this function:

◆ update_approximate_cache_color_table_order()

size_t update_approximate_cache_color_table_order ( const CACHE_COLOR_TABLE_ORDER cache_color_table,
UINT16 flags 
)
Here is the caller graph for this function:

◆ update_approximate_cache_glyph_order()

size_t update_approximate_cache_glyph_order ( const CACHE_GLYPH_ORDER cache_glyph,
UINT16 flags 
)
Here is the caller graph for this function:

◆ update_approximate_cache_glyph_v2_order()

size_t update_approximate_cache_glyph_v2_order ( const CACHE_GLYPH_V2_ORDER cache_glyph_v2,
UINT16 flags 
)
Here is the caller graph for this function:

◆ update_approximate_create_offscreen_bitmap_order()

size_t update_approximate_create_offscreen_bitmap_order ( const CREATE_OFFSCREEN_BITMAP_ORDER create_offscreen_bitmap)
Here is the caller graph for this function:

◆ update_approximate_dstblt_order()

size_t update_approximate_dstblt_order ( ORDER_INFO orderInfo,
const DSTBLT_ORDER dstblt 
)
Here is the caller graph for this function:

◆ update_approximate_glyph_index_order()

size_t update_approximate_glyph_index_order ( ORDER_INFO orderInfo,
const GLYPH_INDEX_ORDER glyph_index 
)
Here is the caller graph for this function:

◆ update_approximate_line_to_order()

size_t update_approximate_line_to_order ( ORDER_INFO orderInfo,
const LINE_TO_ORDER line_to 
)
Here is the caller graph for this function:

◆ update_approximate_memblt_order()

size_t update_approximate_memblt_order ( ORDER_INFO orderInfo,
const MEMBLT_ORDER memblt 
)
Here is the caller graph for this function:

◆ update_approximate_opaque_rect_order()

size_t update_approximate_opaque_rect_order ( ORDER_INFO orderInfo,
const OPAQUE_RECT_ORDER opaque_rect 
)
Here is the caller graph for this function:

◆ update_approximate_patblt_order()

size_t update_approximate_patblt_order ( ORDER_INFO orderInfo,
PATBLT_ORDER patblt 
)
Here is the caller graph for this function:

◆ update_approximate_scrblt_order()

size_t update_approximate_scrblt_order ( ORDER_INFO orderInfo,
const SCRBLT_ORDER scrblt 
)
Here is the caller graph for this function:

◆ update_approximate_switch_surface_order()

size_t update_approximate_switch_surface_order ( const SWITCH_SURFACE_ORDER switch_surface)
Here is the caller graph for this function:

◆ update_compress_brush()

static BOOL update_compress_brush ( wStream s,
const BYTE input,
BYTE  bpp 
)
static
Here is the caller graph for this function:

◆ update_decompress_brush()

static BOOL update_decompress_brush ( wStream s,
BYTE output,
size_t  outSize,
BYTE  bpp 
)
static
Here is the caller graph for this function:

◆ update_read_2byte_signed()

static INLINE BOOL update_read_2byte_signed ( wStream s,
INT32 *  value 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_2byte_unsigned()

static INLINE BOOL update_read_2byte_unsigned ( wStream s,
UINT32 *  value 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_4byte_unsigned()

static INLINE BOOL update_read_4byte_unsigned ( wStream s,
UINT32 *  value 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_bounds()

static BOOL update_read_bounds ( wStream s,
rdpBounds *  bounds 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_brush()

static INLINE BOOL update_read_brush ( wStream s,
rdpBrush *  brush,
BYTE  fieldFlags 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_cache_bitmap_order()

static CACHE_BITMAP_ORDER* update_read_cache_bitmap_order ( rdpUpdate *  update,
wStream s,
BOOL  compressed,
UINT16  flags 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_cache_bitmap_v2_order()

static CACHE_BITMAP_V2_ORDER* update_read_cache_bitmap_v2_order ( rdpUpdate *  update,
wStream s,
BOOL  compressed,
UINT16  flags 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_cache_bitmap_v3_order()

static CACHE_BITMAP_V3_ORDER* update_read_cache_bitmap_v3_order ( rdpUpdate *  update,
wStream s,
UINT16  flags 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_cache_brush_order()

static CACHE_BRUSH_ORDER* update_read_cache_brush_order ( rdpUpdate *  update,
wStream s,
UINT16  flags 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_cache_color_table_order()

static CACHE_COLOR_TABLE_ORDER* update_read_cache_color_table_order ( rdpUpdate *  update,
wStream s,
UINT16  flags 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_cache_glyph_order()

static CACHE_GLYPH_ORDER* update_read_cache_glyph_order ( rdpUpdate *  update,
wStream s,
UINT16  flags 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_cache_glyph_v2_order()

static CACHE_GLYPH_V2_ORDER* update_read_cache_glyph_v2_order ( rdpUpdate *  update,
wStream s,
UINT16  flags 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_color()

static INLINE BOOL update_read_color ( wStream s,
UINT32 *  color 
)
static
Here is the caller graph for this function:

◆ update_read_color_quad()

static INLINE BOOL update_read_color_quad ( wStream s,
UINT32 *  color 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_colorref()

static INLINE BOOL update_read_colorref ( wStream s,
UINT32 *  color 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_coord()

static INLINE BOOL update_read_coord ( wStream s,
INT32 *  coord,
BOOL  delta 
)
static
Here is the caller graph for this function:

◆ update_read_create_nine_grid_bitmap_order()

static BOOL update_read_create_nine_grid_bitmap_order ( wStream s,
CREATE_NINE_GRID_BITMAP_ORDER create_nine_grid_bitmap 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_create_offscreen_bitmap_order()

static BOOL update_read_create_offscreen_bitmap_order ( wStream s,
CREATE_OFFSCREEN_BITMAP_ORDER create_offscreen_bitmap 
)
static
Here is the caller graph for this function:

◆ update_read_delta()

static INLINE BOOL update_read_delta ( wStream s,
INT32 *  value 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_delta_points()

static INLINE BOOL update_read_delta_points ( wStream s,
DELTA_POINT **  points,
UINT32  number,
INT16  x,
INT16  y 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_delta_rects()

static INLINE BOOL update_read_delta_rects ( wStream s,
DELTA_RECT rectangles,
UINT32 *  nr 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_draw_gdiplus_cache_end_order()

static BOOL update_read_draw_gdiplus_cache_end_order ( wStream s,
DRAW_GDIPLUS_CACHE_END_ORDER draw_gdiplus_cache_end 
)
static
Here is the caller graph for this function:

◆ update_read_draw_gdiplus_cache_first_order()

static BOOL update_read_draw_gdiplus_cache_first_order ( wStream s,
DRAW_GDIPLUS_CACHE_FIRST_ORDER draw_gdiplus_cache_first 
)
static
Here is the caller graph for this function:

◆ update_read_draw_gdiplus_cache_next_order()

static BOOL update_read_draw_gdiplus_cache_next_order ( wStream s,
DRAW_GDIPLUS_CACHE_NEXT_ORDER draw_gdiplus_cache_next 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_draw_gdiplus_end_order()

static BOOL update_read_draw_gdiplus_end_order ( wStream s,
DRAW_GDIPLUS_END_ORDER draw_gdiplus_end 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_draw_gdiplus_first_order()

static BOOL update_read_draw_gdiplus_first_order ( wStream s,
DRAW_GDIPLUS_FIRST_ORDER draw_gdiplus_first 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_draw_gdiplus_next_order()

static BOOL update_read_draw_gdiplus_next_order ( wStream s,
DRAW_GDIPLUS_NEXT_ORDER draw_gdiplus_next 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_draw_nine_grid_order()

static BOOL update_read_draw_nine_grid_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
DRAW_NINE_GRID_ORDER draw_nine_grid 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_dstblt_order()

static BOOL update_read_dstblt_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
DSTBLT_ORDER dstblt 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_ellipse_cb_order()

static BOOL update_read_ellipse_cb_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
ELLIPSE_CB_ORDER ellipse_cb 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_ellipse_sc_order()

static BOOL update_read_ellipse_sc_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
ELLIPSE_SC_ORDER ellipse_sc 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_fast_glyph_order()

static BOOL update_read_fast_glyph_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
FAST_GLYPH_ORDER fastGlyph 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_fast_index_order()

static BOOL update_read_fast_index_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
FAST_INDEX_ORDER fast_index 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_field_flags()

static BOOL update_read_field_flags ( wStream s,
UINT32 *  fieldFlags,
BYTE  flags,
BYTE  fieldBytes 
)
static
Here is the caller graph for this function:

◆ update_read_frame_marker_order()

static BOOL update_read_frame_marker_order ( wStream s,
FRAME_MARKER_ORDER frame_marker 
)
static
Here is the caller graph for this function:

◆ update_read_glyph_index_order()

static BOOL update_read_glyph_index_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
GLYPH_INDEX_ORDER glyph_index 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_line_to_order()

static BOOL update_read_line_to_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
LINE_TO_ORDER line_to 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_mem3blt_order()

static BOOL update_read_mem3blt_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
MEM3BLT_ORDER mem3blt 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_memblt_order()

static BOOL update_read_memblt_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
MEMBLT_ORDER memblt 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_multi_draw_nine_grid_order()

static BOOL update_read_multi_draw_nine_grid_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
MULTI_DRAW_NINE_GRID_ORDER multi_draw_nine_grid 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_multi_dstblt_order()

static BOOL update_read_multi_dstblt_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
MULTI_DSTBLT_ORDER multi_dstblt 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_multi_opaque_rect_order()

static BOOL update_read_multi_opaque_rect_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
MULTI_OPAQUE_RECT_ORDER multi_opaque_rect 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_multi_patblt_order()

static BOOL update_read_multi_patblt_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
MULTI_PATBLT_ORDER multi_patblt 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_multi_scrblt_order()

static BOOL update_read_multi_scrblt_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
MULTI_SCRBLT_ORDER multi_scrblt 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_opaque_rect_order()

static BOOL update_read_opaque_rect_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
OPAQUE_RECT_ORDER opaque_rect 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_patblt_order()

static BOOL update_read_patblt_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
PATBLT_ORDER patblt 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_polygon_cb_order()

static BOOL update_read_polygon_cb_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
POLYGON_CB_ORDER polygon_cb 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_polygon_sc_order()

static BOOL update_read_polygon_sc_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
POLYGON_SC_ORDER polygon_sc 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_polyline_order()

static BOOL update_read_polyline_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
POLYLINE_ORDER polyline 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_save_bitmap_order()

static BOOL update_read_save_bitmap_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
SAVE_BITMAP_ORDER save_bitmap 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_scrblt_order()

static BOOL update_read_scrblt_order ( const char *  orderName,
wStream s,
const ORDER_INFO orderInfo,
SCRBLT_ORDER scrblt 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_stream_bitmap_first_order()

static BOOL update_read_stream_bitmap_first_order ( wStream s,
STREAM_BITMAP_FIRST_ORDER stream_bitmap_first 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_stream_bitmap_next_order()

static BOOL update_read_stream_bitmap_next_order ( wStream s,
STREAM_BITMAP_NEXT_ORDER stream_bitmap_next 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_read_switch_surface_order()

static BOOL update_read_switch_surface_order ( wStream s,
SWITCH_SURFACE_ORDER switch_surface 
)
static
Here is the caller graph for this function:

◆ update_recv_altsec_order()

static BOOL update_recv_altsec_order ( rdpUpdate *  update,
wStream s,
BYTE  flags 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_recv_order()

BOOL update_recv_order ( rdpUpdate *  update,
wStream s 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_recv_primary_order()

static BOOL update_recv_primary_order ( rdpUpdate *  update,
wStream s,
BYTE  flags 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_recv_secondary_order()

static BOOL update_recv_secondary_order ( rdpUpdate *  update,
wStream s,
BYTE  flags 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_2byte_signed()

static INLINE BOOL update_write_2byte_signed ( wStream s,
INT32  value 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_2byte_unsigned()

static INLINE BOOL update_write_2byte_unsigned ( wStream s,
UINT32  value 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_4byte_unsigned()

static INLINE BOOL update_write_4byte_unsigned ( wStream s,
UINT32  value 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_bounds()

BOOL update_write_bounds ( wStream s,
ORDER_INFO orderInfo 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_brush()

static INLINE BOOL update_write_brush ( wStream s,
rdpBrush *  brush,
BYTE  fieldFlags 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_cache_bitmap_order()

BOOL update_write_cache_bitmap_order ( wStream s,
const CACHE_BITMAP_ORDER cache_bitmap,
BOOL  compressed,
UINT16 flags 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_cache_bitmap_v2_order()

BOOL update_write_cache_bitmap_v2_order ( wStream s,
CACHE_BITMAP_V2_ORDER cache_bitmap_v2,
BOOL  compressed,
UINT16 flags 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_cache_bitmap_v3_order()

BOOL update_write_cache_bitmap_v3_order ( wStream s,
CACHE_BITMAP_V3_ORDER cache_bitmap_v3,
UINT16 flags 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_cache_brush_order()

BOOL update_write_cache_brush_order ( wStream s,
const CACHE_BRUSH_ORDER cache_brush,
UINT16 flags 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_cache_color_table_order()

BOOL update_write_cache_color_table_order ( wStream s,
const CACHE_COLOR_TABLE_ORDER cache_color_table,
UINT16 flags 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_cache_glyph_order()

BOOL update_write_cache_glyph_order ( wStream s,
const CACHE_GLYPH_ORDER cache_glyph,
UINT16 flags 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_cache_glyph_v2_order()

BOOL update_write_cache_glyph_v2_order ( wStream s,
const CACHE_GLYPH_V2_ORDER cache_glyph_v2,
UINT16 flags 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_color()

static INLINE BOOL update_write_color ( wStream s,
UINT32  color 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_color_quad()

static INLINE void update_write_color_quad ( wStream s,
UINT32  color 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_coord()

static INLINE BOOL update_write_coord ( wStream s,
INT32  coord 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_create_offscreen_bitmap_order()

BOOL update_write_create_offscreen_bitmap_order ( wStream s,
const CREATE_OFFSCREEN_BITMAP_ORDER create_offscreen_bitmap 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_dstblt_order()

BOOL update_write_dstblt_order ( wStream s,
ORDER_INFO orderInfo,
const DSTBLT_ORDER dstblt 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_field_flags()

BOOL update_write_field_flags ( wStream s,
UINT32  fieldFlags,
BYTE  flags,
BYTE  fieldBytes 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_glyph_index_order()

BOOL update_write_glyph_index_order ( wStream s,
ORDER_INFO orderInfo,
GLYPH_INDEX_ORDER glyph_index 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_line_to_order()

BOOL update_write_line_to_order ( wStream s,
ORDER_INFO orderInfo,
const LINE_TO_ORDER line_to 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_memblt_order()

BOOL update_write_memblt_order ( wStream s,
ORDER_INFO orderInfo,
const MEMBLT_ORDER memblt 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_opaque_rect_order()

BOOL update_write_opaque_rect_order ( wStream s,
ORDER_INFO orderInfo,
const OPAQUE_RECT_ORDER opaque_rect 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_patblt_order()

BOOL update_write_patblt_order ( wStream s,
ORDER_INFO orderInfo,
PATBLT_ORDER patblt 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_scrblt_order()

BOOL update_write_scrblt_order ( wStream s,
ORDER_INFO orderInfo,
const SCRBLT_ORDER scrblt 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_write_switch_surface_order()

BOOL update_write_switch_surface_order ( wStream s,
const SWITCH_SURFACE_ORDER switch_surface 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ alt_sec_order_str

const char alt_sec_order_str[] = "Alternate Secondary Drawing Order"
static

◆ primary_order_str

const char primary_order_str[] = "Primary Drawing Order"
static

◆ secondary_order_str

const char secondary_order_str[] = "Secondary Drawing Order"
static