diff options
author | Jim Grandy <jgrandy@authentic8.com> | 2013-07-03 15:57:00 -0700 |
---|---|---|
committer | Jim Grandy <jgrandy@authentic8.com> | 2013-07-03 15:57:00 -0700 |
commit | cb1efca63704d342b3d1aba764f6971e2656a8d1 (patch) | |
tree | 8d92658d49a12b84893455f42e4bd3a46f7d1a5e /xup/xup.c | |
parent | c64586c25c183635c77bb55136aef5dc2467dc57 (diff) | |
download | xrdp-proprietary-cb1efca63704d342b3d1aba764f6971e2656a8d1.tar.gz xrdp-proprietary-cb1efca63704d342b3d1aba764f6971e2656a8d1.zip |
Hand-apply patches (glyph cache) from Authentic8 branch: 653869c 30f23d4 74b015d 4e51e6d 2829087
Diffstat (limited to 'xup/xup.c')
-rw-r--r-- | xup/xup.c | 54 |
1 files changed, 54 insertions, 0 deletions
@@ -554,6 +554,18 @@ lib_mod_process_orders(struct mod *mod, int type, struct stream *s) int height; int fgcolor; int opcode; + int charactor; + int font; + int flags; + int mixmode; + int clip_left; + int clip_top; + int clip_right; + int clip_bottom; + int box_left; + int box_top; + int box_right; + int box_bottom; char *bmpdata; char cur_data[32 * (32 * 3)]; char cur_mask[32 * (32 / 8)]; @@ -675,6 +687,48 @@ lib_mod_process_orders(struct mod *mod, int type, struct stream *s) case 27: /* server_window_new_update - show */ rv = process_server_window_show(mod, s); break; + case 28: /* server_add_char */ + in_uint16_le(s, font); + in_uint16_le(s, charactor); + in_sint16_le(s, x); + in_sint16_le(s, y); + in_uint16_le(s, cx); + in_uint16_le(s, cy); + in_uint16_le(s, len_bmpdata); + in_uint8p(s, bmpdata, len_bmpdata); + rv = mod->server_add_char(mod, font, charactor, x, y, cx, cy, bmpdata); + break; + case 29: /* server_add_char_alpha */ + in_uint16_le(s, font); + in_uint16_le(s, charactor); + in_sint16_le(s, x); + in_sint16_le(s, y); + in_uint16_le(s, cx); + in_uint16_le(s, cy); + in_uint16_le(s, len_bmpdata); + in_uint8p(s, bmpdata, len_bmpdata); + rv = mod->server_add_char_alpha(mod, font, charactor, x, y, cx, cy, bmpdata); + break; + case 30: /* server_draw_text */ + in_uint16_le(s, font); + in_uint16_le(s, flags); + in_uint16_le(s, mixmode); + in_sint16_le(s, clip_left); + in_sint16_le(s, clip_top); + in_sint16_le(s, clip_right); + in_sint16_le(s, clip_bottom); + in_sint16_le(s, box_left); + in_sint16_le(s, box_top); + in_sint16_le(s, box_right); + in_sint16_le(s, box_bottom); + in_sint16_le(s, x); + in_sint16_le(s, y); + in_uint16_le(s, len_bmpdata); + in_uint8p(s, bmpdata, len_bmpdata); + rv = mod->server_draw_text(mod, font, flags, mixmode, clip_left, clip_top, + clip_right, clip_bottom, box_left, box_top, + box_right, box_bottom, x, y, bmpdata, len_bmpdata); + break; case 51: /* server_set_pointer_ex */ rv = process_server_set_pointer_ex(mod, s); break; |