123 unsigned char * andmask,
unsigned char * xormask);
142 if (
cx < 1 ||
cy < 1)
177 uint8 * andmask,
uint8 * xormask,
int xor_bpp)
194 for (
i = 0;
i < 32;
i++)
196 for (
j = 0;
j < 32;
j++)
239 struct bitmap * the_glyph;
265 struct bitmap * the_glyph;
343 for (
i = 0;
i <
n;
i++)
369#define DO_GLYPH(ttext,idx) \
371 glyph = cache_get_font(font, ttext[idx]); \
372 if (!(flags & TEXT2_IMPLICIT_X)) \
374 xyoffset = ttext[++idx]; \
375 if (xyoffset & 0x80) \
377 if (flags & TEXT2_VERTICAL) \
379 y += ttext[idx + 1] | (ttext[idx + 2] << 8); \
383 x += ttext[idx + 1] | (ttext[idx + 2] << 8); \
389 if (flags & TEXT2_VERTICAL) \
401 draw_glyph(x + glyph->offset, y + glyph->baseline, glyph->pixmap, \
403 if (flags & TEXT2_IMPLICIT_X) \
414 int clipx,
int clipy,
int clipcx,
int clipcy,
415 int boxx,
int boxy,
int boxcx,
int boxcy,
BRUSH * brush,
430 bs_rect(boxx, boxy, boxcx, boxcy, bgcolour, 0xc);
436 bs_rect(clipx, clipy, clipcx, clipcy, bgcolour, 0xc);
451 error(
"this shouldn't be happening\n");
523 if (pen->
style == 0 && pen->
width < 2 && opcode == 12)
529 x =
MIN(startx, endx);
530 y =
MIN(starty, endy);
531 cx = (
MAX(startx, endx) + 1) -
x;
532 cy = (
MAX(starty, endy) + 1) -
y;
540 void *
src,
int srcx,
int srcy,
541 BRUSH* brush,
int bgcolour,
int fgcolour)
549 void *
src,
int srcx,
int srcy)
598 BRUSH * brush,
int bgcolour,
int fgcolour)
601 brush->xorigin, brush->yorigin, bgcolour, fgcolour);
672 BRUSH * brush,
int bgcolour,
int fgcolour)
686 for (
i = 1;
i < npoints;
i++)
700 int x,
int y,
int cx,
int cy,
701 BRUSH * brush,
int bgcolour,
int fgcolour)
715 for (
i = 0;
i < 32;
i++)
992 for (
i = 0;
i < thisline;
i++)
998 for (
i = 0;
i < thisline;
i++)
char * strcat(char *DstString, const char *SrcString)
ACPI_SIZE strlen(const char *String)
char * strcpy(char *DstString, const char *SrcString)
void cache_put_text(uint8 cache_id, void *data, int length)
DATABLOB * cache_get_text(uint8 cache_id)
#define MOUSE_FLAG_BUTTON5
#define MOUSE_FLAG_BUTTON1
#define MOUSE_FLAG_BUTTON2
#define MOUSE_FLAG_BUTTON4
#define MOUSE_FLAG_BUTTON3
#define PERF_DISABLE_CURSOR_SHADOW
#define RDP_INFO_AUTOLOGON
#define PERF_DISABLE_FULLWINDOWDRAG
#define PERF_DISABLE_WALLPAPER
#define PERF_DISABLE_MENUANIMATIONS
void rdp_send_input(uint32 time, uint16 message_type, uint16 device_flags, uint16 param1, uint16 param2)
RD_BOOL rdp_connect(char *server, uint32 flags, char *domain, char *password, char *command, char *directory, RD_BOOL reconnect)
RD_BOOL rdp_loop(RD_BOOL *deactivated, uint32 *ext_disc_reason)
enum _RDP_VERSION RDP_VERSION
void bs_screenblt(int rop, int x, int y, int cx, int cy, int srcx, int srcy)
void bs_copy_box(char *dst, int x, int y, int cx, int cy, int line_size)
void bs_patblt(int opcode, int x, int y, int cx, int cy, int brush_style, char *brush_pattern, int brush_x_org, int brush_y_org, int bgcolour, int fgcolour)
void bs_init(int width, int height, int bpp)
void bs_set_clip(int x, int y, int cx, int cy)
int bs_warp_coords(int *x, int *y, int *cx, int *cy, int *srcx, int *srcy)
int bs_is_pixel_on(char *data, int x, int y, int width, int bpp)
void bs_set_pixel_on(char *data, int x, int y, int width, int bpp, int pixel)
void bs_memblt(int opcode, int x, int y, int cx, int cy, void *srcdata, int srcwidth, int srcheight, int srcx, int srcy)
void bs_draw_glyph(int x, int y, char *glyph_data, int glyph_width, int glyph_height, int fgcolour)
void bs_rect(int x, int y, int cx, int cy, int colour, int rop)
void bs_line(int opcode, int startx, int starty, int endx, int endy, int pen_width, int pen_style, int pen_colour)
static const WCHAR *const ext[]
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLint GLint GLsizei GLsizei height
GLint GLint GLsizei width
GLboolean GLboolean GLboolean b
GLuint GLsizei GLsizei * length
GLsizei const GLfloat * points
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
int __cdecl vsprintf(char *_Dest, const char *_Format, va_list _Args)
_Check_return_ int __cdecl rand(void)
#define memcpy(s1, s2, n)
#define sprintf(buf, format,...)
_Out_opt_ int _Out_opt_ int * cy
static void draw_glyph(int x, int y, void *glyph, int fgcolor)
void ui_mouse_move(int x, int y)
void ui_key_down(int key, int ext)
RD_BOOL g_bitmap_cache_precache
void ui_rect(int x, int y, int cx, int cy, int colour)
void * ui_create_colourmap(COLOURMAP *colours)
BOOL rd_pstcache_mkdir(void)
void ui_patblt(uint8 opcode, int x, int y, int cx, int cy, BRUSH *brush, int bgcolour, int fgcolour)
void mi_fill_rect(int x, int y, int cx, int cy, int colour)
void ui_memblt(uint8 opcode, int x, int y, int cx, int cy, void *src, int srcx, int srcy)
#define DO_GLYPH(ttext, idx)
void ui_triblt(uint8 opcode, int x, int y, int cx, int cy, void *src, int srcx, int srcy, BRUSH *brush, int bgcolour, int fgcolour)
int mi_create_window(void)
void ui_destroy_bitmap(void *bmp)
void ui_invalidate(int x, int y, int cx, int cy)
int rd_write_file(int fd, void *ptr, int len)
BOOL rd_lock_file(int fd, int start, int len)
void * ui_create_bitmap(int width, int height, uint8 *data)
void ui_polygon(uint8 opcode, uint8 fillmode, RD_POINT *point, int npoints, BRUSH *brush, int bgcolour, int fgcolour)
void ui_destroy_cursor(void *cursor)
char * xstrdup(const char *s)
void ui_screenblt(uint8 opcode, int x, int y, int cx, int cy, int srcx, int srcy)
int rd_read_file(int fd, void *ptr, int len)
void ui_set_null_cursor(void)
void ui_paint_bitmap(int x, int y, int cx, int cy, int width, int height, uint8 *data)
void ui_desktop_save(uint32 offset, int x, int y, int cx, int cy)
void ui_ellipse(uint8 opcode, uint8 fillmode, int x, int y, int cx, int cy, BRUSH *brush, int bgcolour, int fgcolour)
void * xrealloc(void *in, size_t size)
char g_redirect_username[256]
int g_keyboard_functionkeys
void mi_set_clip(int x, int y, int cx, int cy)
int load_licence(uint8 **data)
void rd_close_file(int fd)
void ui_draw_text(uint8 font, uint8 flags, uint8 opcode, int mixmode, int x, int y, int clipx, int clipy, int clipcx, int clipcy, int boxx, int boxy, int boxcx, int boxcy, BRUSH *brush, int bgcolour, int fgcolour, uint8 *text, uint8 length)
RD_BOOL g_encryption_initial
void ui_set_colourmap(void *map)
void mi_warning(char *msg)
void ui_set_cursor(void *cursor)
void * ui_create_cursor(unsigned int x, unsigned int y, int width, int height, uint8 *andmask, uint8 *xormask, int xor_bpp)
void mi_set_cursor(void *cursor)
void unimpl(char *format,...)
uint32 g_redirect_domain_len
uint32 g_redirect_cookie_len
RDP_VERSION g_rdp_version
uint32 g_rdp5_performanceflags
uint16 ui_get_numlock_state(uint32 state)
void ui_line(uint8 opcode, int startx, int starty, int endx, int endy, PEN *pen)
time_t g_reconnect_random_ts
uint32 g_redirect_server_len
static uint32 g_ext_disc_reason
uint8 g_redirect_cookie[256]
void mi_screen_copy(int x, int y, int cx, int cy, int srcx, int srcy)
RD_BOOL g_bitmap_cache_persist_enable
void ui_destblt(uint8 opcode, int x, int y, int cx, int cy)
uint32 g_redirect_lb_info_len
void ui_desktop_restore(uint32 offset, int x, int y, int cx, int cy)
void ui_set_clip(int x, int y, int cx, int cy)
void * mi_create_cursor(unsigned int x, unsigned int y, int width, int height, unsigned char *andmask, unsigned char *xormask)
void mi_begin_update(void)
void ui_mouse_button(int button, int x, int y, int down)
void mi_paint_rect(char *data, int width, int height, int x, int y, int cx, int cy)
void ui_resize_window(void)
uint32 g_reconnect_logonid
void * ui_create_glyph(int width, int height, uint8 *data)
uint32 g_redirect_username_len
uint8 g_client_random[SEC_RANDOM_SIZE]
uint32 g_redirect_session_id
void ui_key_up(int key, int ext)
void hexdump(uint8 *p, uint32 len)
RD_BOOL g_has_reconnect_random
void save_licence(uint8 *data, int length)
void ui_begin_update(void)
char g_redirect_domain[256]
void ui_polyline(uint8 opcode, RD_POINT *points, int npoints, PEN *pen)
void mi_line(int x1, int y1, int x2, int y2, int colour)
int rd_lseek_file(int fd, int offset)
uint32 read_keyboard_state(void)
int rd_open_file(char *filename)
void ui_move_pointer(int x, int y)
void generate_random(uint8 *random)
void mi_destroy_cursor(void *cursor)
RD_BOOL g_console_session
void mi_set_null_cursor(void)
void ui_destroy_glyph(void *glyph)
void ui_set_modifier_state(int code)
char g_reconnect_random[16]
char g_redirect_server[256]
int mi_read_keyboard_state(void)
RD_BOOL g_polygon_ellipse_orders
uint8 g_redirect_lb_info[256]
RD_BOOL g_bitmap_compression
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG x2
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG y1
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG _In_ LONG y2
void int int ULONGLONG int va_list * ap