542 |
static void |
static void |
543 |
process_text2(STREAM s, TEXT2_ORDER *os, uint32 present, BOOL delta) |
process_text2(STREAM s, TEXT2_ORDER *os, uint32 present, BOOL delta) |
544 |
{ |
{ |
|
DATABLOB *entry; |
|
545 |
int i; |
int i; |
546 |
|
|
547 |
if (present & 0x000001) |
if (present & 0x000001) |
611 |
|
|
612 |
DEBUG(("\n")); |
DEBUG(("\n")); |
613 |
|
|
|
/* 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); |
|
|
} |
|
|
|
|
614 |
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, |
615 |
os->clipleft, os->cliptop, |
os->clipleft, os->cliptop, |
616 |
os->clipright - os->clipleft, |
os->clipright - os->clipleft, |