476 |
int x, y, xfrom, yfrom; |
int x, y, xfrom, yfrom; |
477 |
uint8 flags = 0; |
uint8 flags = 0; |
478 |
PEN pen; |
PEN pen; |
479 |
|
uint8 opcode; |
480 |
|
|
481 |
if (present & 0x01) |
if (present & 0x01) |
482 |
rdp_in_coord(s, &os->x, delta); |
rdp_in_coord(s, &os->x, delta); |
498 |
in_uint8(s, os->datasize); |
in_uint8(s, os->datasize); |
499 |
in_uint8a(s, os->data, os->datasize); |
in_uint8a(s, os->data, os->datasize); |
500 |
} |
} |
501 |
|
if (os->flags & 1) |
502 |
|
opcode = ROP2_COPY; |
503 |
|
else |
504 |
|
opcode = ROP2_NXOR; |
505 |
|
|
506 |
DEBUG(("POLYLINE(x=%d,y=%d,fl=0x%x,fg=0x%x,n=%d,sz=%d)\n", |
DEBUG(("POLYLINE(x=%d,y=%d,fl=0x%x,fg=0x%x,n=%d,sz=%d)\n", |
507 |
os->x, os->y, os->flags, os->fgcolour, os->lines, os->datasize)); |
os->x, os->y, os->flags, os->fgcolour, os->lines, os->datasize)); |
537 |
if (flags & 0x80) |
if (flags & 0x80) |
538 |
y += parse_delta(os->data, &data); |
y += parse_delta(os->data, &data); |
539 |
|
|
540 |
ui_line(ROP2_NXOR, xfrom, yfrom, x, y, &pen); |
ui_line(opcode, xfrom, yfrom, x, y, &pen); |
541 |
|
|
542 |
flags <<= 2; |
flags <<= 2; |
543 |
} |
} |
547 |
static void |
static void |
548 |
process_text2(STREAM s, TEXT2_ORDER *os, uint32 present, BOOL delta) |
process_text2(STREAM s, TEXT2_ORDER *os, uint32 present, BOOL delta) |
549 |
{ |
{ |
|
DATABLOB *entry; |
|
550 |
int i; |
int i; |
551 |
|
|
552 |
if (present & 0x000001) |
if (present & 0x000001) |
616 |
|
|
617 |
DEBUG(("\n")); |
DEBUG(("\n")); |
618 |
|
|
|
/* Process special cache strings */ |
|
|
if ((os->length >= 2) && (os->text[0] == 0xfe)) |
|
|
{ |
|
|
entry = cache_get_text(os->text[1]); |
|
|
|
|
|
if (entry == NULL) |
|
|
return; |
|
|
|
|
|
memcpy(os->text, entry->data, entry->size); |
|
|
os->length = entry->size; |
|
|
} |
|
|
else if ((os->length >= 3) && (os->text[os->length - 3] == 0xff)) |
|
|
{ |
|
|
os->length -= 3; |
|
|
cache_put_text(os->text[os->length + 1], os->text, |
|
|
os->length); |
|
|
} |
|
|
|
|
619 |
ui_draw_text(os->font, os->flags, os->mixmode, os->x, os->y, |
ui_draw_text(os->font, os->flags, os->mixmode, os->x, os->y, |
620 |
os->clipleft, os->cliptop, |
os->clipleft, os->cliptop, |
621 |
os->clipright - os->clipleft, |
os->clipright - os->clipleft, |