Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

orders.cpp File Reference

#include "rdesktop.h"
#include "orders.h"

Include dependency graph for orders.cpp:

Go to the source code of this file.

Functions

static void rdp_in_present (STREAM s, uint32 *present, uint8 flags, int size)
static void rdp_in_coord (STREAM s, sint16 *coord, BOOL delta)
static void rdp_in_colour (STREAM s, uint32 *colour)
static BOOL rdp_parse_bounds (STREAM s, BOUNDS *bounds)
static BOOL rdp_parse_pen (STREAM s, PEN *pen, uint32 present)
static BOOL rdp_parse_brush (STREAM s, BRUSH *brush, uint32 present)
static void process_destblt (STREAM s, DESTBLT_ORDER *os, uint32 present, BOOL delta)
static void process_patblt (STREAM s, PATBLT_ORDER *os, uint32 present, BOOL delta)
static void process_screenblt (STREAM s, SCREENBLT_ORDER *os, uint32 present, BOOL delta)
static void process_line (STREAM s, LINE_ORDER *os, uint32 present, BOOL delta)
static void process_rect (STREAM s, RECT_ORDER *os, uint32 present, BOOL delta)
static void process_desksave (STREAM s, DESKSAVE_ORDER *os, uint32 present, BOOL delta)
static void process_memblt (STREAM s, MEMBLT_ORDER *os, uint32 present, BOOL delta)
static void process_triblt (STREAM s, TRIBLT_ORDER *os, uint32 present, BOOL delta)
static int parse_delta (uint8 *buffer, int *offset)
static void process_polyline (STREAM s, POLYLINE_ORDER *os, uint32 present, BOOL delta)
static void process_text2 (STREAM s, TEXT2_ORDER *os, uint32 present, BOOL delta)
static void process_raw_bmpcache (STREAM s)
static void process_bmpcache (STREAM s)
static void process_colcache (STREAM s)
static void process_fontcache (STREAM s)
static void process_secondary_order (STREAM s)
void process_orders (STREAM s)
void reset_order_state (void)

Variables

uint8next_packet
static RDP_ORDER_STATE order_state


Function Documentation

static int parse_delta uint8 buffer,
int *  offset
[static]
 

Definition at line 466 of file orders.cpp.

Referenced by process_polyline().

static void process_bmpcache STREAM  s  )  [static]
 

Definition at line 677 of file orders.cpp.

References bitmap_decompress(), cache_put_bitmap(), data, DEBUG, height, in_uint16_le, in_uint8, in_uint8p, in_uint8s, size, ui_create_bitmap(), width, xfree(), and xmalloc().

Referenced by process_secondary_order().

static void process_colcache STREAM  s  )  [static]
 

Definition at line 708 of file orders.cpp.

References _COLOURENTRY::blue, _COLOURMAP::colours, DEBUG, _COLOURENTRY::green, i, in_uint16_le, in_uint8, in_uint8s, _COLOURMAP::ncolours, _COLOURENTRY::red, ui_create_colourmap(), ui_set_colourmap(), xfree(), and xmalloc().

Referenced by process_secondary_order().

static void process_desksave STREAM  s,
DESKSAVE_ORDER os,
uint32  present,
BOOL  delta
[static]
 

Definition at line 325 of file orders.cpp.

References _DESKSAVE_ORDER::action, _DESKSAVE_ORDER::bottom, DEBUG, height, in_uint32_le, in_uint8, _DESKSAVE_ORDER::left, _DESKSAVE_ORDER::offset, rdp_in_coord(), _DESKSAVE_ORDER::right, _DESKSAVE_ORDER::top, ui_desktop_restore(), ui_desktop_save(), and width.

Referenced by process_orders().

static void process_destblt STREAM  s,
DESTBLT_ORDER os,
uint32  present,
BOOL  delta
[static]
 

Definition at line 156 of file orders.cpp.

References _DESTBLT_ORDER::cx, _DESTBLT_ORDER::cy, DEBUG, in_uint8, _DESTBLT_ORDER::opcode, rdp_in_coord(), ROP2_S, ui_destblt(), _DESTBLT_ORDER::x, and _DESTBLT_ORDER::y.

Referenced by process_orders().

static void process_fontcache STREAM  s  )  [static]
 

Definition at line 739 of file orders.cpp.

References cache_put_font(), data, DEBUG, height, i, in_uint16_le, in_uint8, in_uint8p, ui_create_glyph(), and width.

Referenced by process_secondary_order().

static void process_line STREAM  s,
LINE_ORDER os,
uint32  present,
BOOL  delta
[static]
 

Definition at line 246 of file orders.cpp.

References _LINE_ORDER::bgcolour, _PEN::colour, DEBUG, _LINE_ORDER::endx, _LINE_ORDER::endy, error(), in_uint16_le, in_uint8, _LINE_ORDER::mixmode, _LINE_ORDER::opcode, _LINE_ORDER::pen, rdp_in_colour(), rdp_in_coord(), rdp_parse_pen(), _LINE_ORDER::startx, _LINE_ORDER::starty, and ui_line().

Referenced by process_orders().

static void process_memblt STREAM  s,
MEMBLT_ORDER os,
uint32  present,
BOOL  delta
[static]
 

Definition at line 361 of file orders.cpp.

References cache_get_bitmap(), _MEMBLT_ORDER::cache_id, _MEMBLT_ORDER::cache_idx, _MEMBLT_ORDER::colour_table, _MEMBLT_ORDER::cx, _MEMBLT_ORDER::cy, DEBUG, in_uint16_le, in_uint8, NULL, _MEMBLT_ORDER::opcode, rdp_in_coord(), ROP2_S, _MEMBLT_ORDER::srcx, _MEMBLT_ORDER::srcy, ui_memblt(), _MEMBLT_ORDER::x, and _MEMBLT_ORDER::y.

Referenced by process_orders().

void process_orders STREAM  s  ) 
 

Definition at line 809 of file orders.cpp.

References _BOUNDS::bottom, _RDP_ORDER_STATE::bounds, _RDP_ORDER_STATE::desksave, _RDP_ORDER_STATE::destblt, error(), in_uint16_le, in_uint8, in_uint8s, _BOUNDS::left, _RDP_ORDER_STATE::line, _RDP_ORDER_STATE::memblt, next_packet, _RDP_ORDER_STATE::order_type, stream::p, _RDP_ORDER_STATE::patblt, _RDP_ORDER_STATE::polyline, process_desksave(), process_destblt(), process_line(), process_memblt(), process_patblt(), process_polyline(), process_rect(), process_screenblt(), process_secondary_order(), process_text2(), process_triblt(), rdp_in_present(), RDP_ORDER_BOUNDS, RDP_ORDER_CHANGE, RDP_ORDER_DELTA, RDP_ORDER_DESKSAVE, RDP_ORDER_DESTBLT, RDP_ORDER_LASTBOUNDS, RDP_ORDER_LINE, RDP_ORDER_MEMBLT, RDP_ORDER_PATBLT, RDP_ORDER_POLYLINE, RDP_ORDER_RECT, RDP_ORDER_SCREENBLT, RDP_ORDER_SECONDARY, RDP_ORDER_STANDARD, RDP_ORDER_TEXT2, RDP_ORDER_TRIBLT, rdp_parse_bounds(), _RDP_ORDER_STATE::rect, _BOUNDS::right, _RDP_ORDER_STATE::screenblt, size, _RDP_ORDER_STATE::text2, _BOUNDS::top, _RDP_ORDER_STATE::triblt, ui_reset_clip(), ui_set_clip(), and unimpl().

Referenced by process_update_pdu().

static void process_patblt STREAM  s,
PATBLT_ORDER os,
uint32  present,
BOOL  delta
[static]
 

Definition at line 181 of file orders.cpp.

References _PATBLT_ORDER::bgcolour, _PATBLT_ORDER::brush, _PATBLT_ORDER::cx, _PATBLT_ORDER::cy, DEBUG, _PATBLT_ORDER::fgcolour, in_uint8, _PATBLT_ORDER::opcode, rdp_in_colour(), rdp_in_coord(), rdp_parse_brush(), ROP2_P, _BRUSH::style, ui_patblt(), _PATBLT_ORDER::x, and _PATBLT_ORDER::y.

Referenced by process_orders().

static void process_polyline STREAM  s,
POLYLINE_ORDER os,
uint32  present,
BOOL  delta
[static]
 

Definition at line 484 of file orders.cpp.

References _PEN::colour, _POLYLINE_ORDER::data, data, _POLYLINE_ORDER::datasize, DEBUG, error(), _POLYLINE_ORDER::fgcolour, flags, in_uint8, in_uint8a, _POLYLINE_ORDER::lines, _POLYLINE_ORDER::opcode, parse_delta(), rdp_in_colour(), rdp_in_coord(), _PEN::style, ui_line(), _PEN::width, _POLYLINE_ORDER::x, Opie::MM::x, _POLYLINE_ORDER::y, and Opie::MM::y.

Referenced by process_orders().

static void process_raw_bmpcache STREAM  s  )  [static]
 

Definition at line 644 of file orders.cpp.

References bufsize, cache_put_bitmap(), data, DEBUG, height, in_uint16_le, in_uint8, in_uint8p, in_uint8s, ui_create_bitmap(), width, xfree(), xmalloc(), and Opie::MM::y.

Referenced by process_secondary_order().

static void process_rect STREAM  s,
RECT_ORDER os,
uint32  present,
BOOL  delta
[static]
 

Definition at line 285 of file orders.cpp.

References _RECT_ORDER::colour, _RECT_ORDER::cx, _RECT_ORDER::cy, DEBUG, i, in_uint8, rdp_in_coord(), ui_rect(), _RECT_ORDER::x, and _RECT_ORDER::y.

Referenced by process_orders().

static void process_screenblt STREAM  s,
SCREENBLT_ORDER os,
uint32  present,
BOOL  delta
[static]
 

Definition at line 215 of file orders.cpp.

References _SCREENBLT_ORDER::cx, _SCREENBLT_ORDER::cy, DEBUG, in_uint8, _SCREENBLT_ORDER::opcode, rdp_in_coord(), ROP2_S, _SCREENBLT_ORDER::srcx, _SCREENBLT_ORDER::srcy, ui_screenblt(), _SCREENBLT_ORDER::x, and _SCREENBLT_ORDER::y.

Referenced by process_orders().

static void process_secondary_order STREAM  s  )  [static]
 

Definition at line 770 of file orders.cpp.

References in_uint16_le, in_uint8, in_uint8s, stream::p, process_bmpcache(), process_colcache(), process_fontcache(), process_raw_bmpcache(), RDP_ORDER_BMPCACHE, RDP_ORDER_COLCACHE, RDP_ORDER_FONTCACHE, RDP_ORDER_RAW_BMPCACHE, type, and unimpl().

Referenced by process_orders().

static void process_text2 STREAM  s,
TEXT2_ORDER os,
uint32  present,
BOOL  delta
[static]
 

Definition at line 562 of file orders.cpp.

References _TEXT2_ORDER::bgcolour, _TEXT2_ORDER::boxbottom, _TEXT2_ORDER::boxleft, _TEXT2_ORDER::boxright, _TEXT2_ORDER::boxtop, _TEXT2_ORDER::clipbottom, _TEXT2_ORDER::clipleft, _TEXT2_ORDER::clipright, _TEXT2_ORDER::cliptop, DEBUG, _TEXT2_ORDER::fgcolour, _TEXT2_ORDER::flags, _TEXT2_ORDER::font, i, in_uint16_le, in_uint8, in_uint8a, in_uint8s, _TEXT2_ORDER::length, _TEXT2_ORDER::mixmode, rdp_in_colour(), _TEXT2_ORDER::text, ui_draw_text(), _TEXT2_ORDER::unknown, _TEXT2_ORDER::x, and _TEXT2_ORDER::y.

Referenced by process_orders().

static void process_triblt STREAM  s,
TRIBLT_ORDER os,
uint32  present,
BOOL  delta
[static]
 

Definition at line 407 of file orders.cpp.

References _TRIBLT_ORDER::bgcolour, _TRIBLT_ORDER::brush, cache_get_bitmap(), _TRIBLT_ORDER::cache_id, _TRIBLT_ORDER::cache_idx, _TRIBLT_ORDER::colour_table, _TRIBLT_ORDER::cx, _TRIBLT_ORDER::cy, DEBUG, _TRIBLT_ORDER::fgcolour, in_uint16_le, in_uint8, NULL, _TRIBLT_ORDER::opcode, rdp_in_colour(), rdp_in_coord(), rdp_parse_brush(), _TRIBLT_ORDER::srcx, _TRIBLT_ORDER::srcy, _BRUSH::style, ui_triblt(), _TRIBLT_ORDER::unknown, _TRIBLT_ORDER::x, and _TRIBLT_ORDER::y.

Referenced by process_orders().

static void rdp_in_colour STREAM  s,
uint32 colour
[static]
 

Definition at line 74 of file orders.cpp.

References i, and in_uint8.

Referenced by process_line(), process_patblt(), process_polyline(), process_text2(), process_triblt(), and rdp_parse_pen().

static void rdp_in_coord STREAM  s,
sint16 coord,
BOOL  delta
[static]
 

Definition at line 57 of file orders.cpp.

References in_uint16_le, and in_uint8.

Referenced by process_desksave(), process_destblt(), process_line(), process_memblt(), process_patblt(), process_polyline(), process_rect(), process_screenblt(), process_triblt(), and rdp_parse_bounds().

static void rdp_in_present STREAM  s,
uint32 present,
uint8  flags,
int  size
[static]
 

Definition at line 29 of file orders.cpp.

References bits, i, in_uint8, RDP_ORDER_SMALL, and RDP_ORDER_TINY.

Referenced by process_orders().

static BOOL rdp_parse_bounds STREAM  s,
BOUNDS bounds
[static]
 

Definition at line 87 of file orders.cpp.

References _BOUNDS::bottom, False, in_uint8, _BOUNDS::left, rdp_in_coord(), _BOUNDS::right, s_check, _BOUNDS::top, and True.

Referenced by process_orders().

static BOOL rdp_parse_brush STREAM  s,
BRUSH brush,
uint32  present
[static]
 

Definition at line 134 of file orders.cpp.

References in_uint8, in_uint8a, _BRUSH::pattern, s_check, _BRUSH::style, _BRUSH::xorigin, and _BRUSH::yorigin.

Referenced by process_patblt(), and process_triblt().

static BOOL rdp_parse_pen STREAM  s,
PEN pen,
uint32  present
[static]
 

Definition at line 118 of file orders.cpp.

References _PEN::colour, in_uint8, rdp_in_colour(), s_check, _PEN::style, and _PEN::width.

Referenced by process_line().

void reset_order_state void   ) 
 

Definition at line 936 of file orders.cpp.

References RDP_ORDER_PATBLT.

Referenced by process_demand_active().


Variable Documentation

uint8* next_packet
 

Definition at line 30 of file rdp.cpp.

Referenced by process_orders(), rdp_main_loop(), and rdp_recv().

RDP_ORDER_STATE order_state [static]
 

Definition at line 25 of file orders.cpp.


Generated on Sat Nov 5 17:04:07 2005 for OPIE by  doxygen 1.4.2