601 |
static void |
static void |
602 |
process_palette(STREAM s) |
process_palette(STREAM s) |
603 |
{ |
{ |
604 |
HCOLOURMAP hmap; |
COLOURENTRY *entry; |
605 |
COLOURMAP map; |
COLOURMAP map; |
606 |
uint8 *colours; |
HCOLOURMAP hmap; |
607 |
|
int i; |
608 |
|
|
609 |
in_uint8s(s, 2); /* pad */ |
in_uint8s(s, 2); /* pad */ |
610 |
in_uint16_le(s, map.ncolours); |
in_uint16_le(s, map.ncolours); |
611 |
in_uint8s(s, 2); /* pad */ |
in_uint8s(s, 2); /* pad */ |
612 |
in_uint8p(s, colours, (map.ncolours * 3)); |
|
613 |
map.colours = (COLOURENTRY *) colours; |
map.colours = xmalloc(3 * map.ncolours); |
614 |
|
|
615 |
|
for (i = 0; i < map.ncolours; i++) |
616 |
|
{ |
617 |
|
entry = &map.colours[i]; |
618 |
|
in_uint8(s, entry->red); |
619 |
|
in_uint8(s, entry->green); |
620 |
|
in_uint8(s, entry->blue); |
621 |
|
} |
622 |
|
|
623 |
hmap = ui_create_colourmap(&map); |
hmap = ui_create_colourmap(&map); |
624 |
ui_set_colourmap(hmap); |
ui_set_colourmap(hmap); |
625 |
|
|
626 |
|
xfree(map.colours); |
627 |
} |
} |
628 |
|
|
629 |
/* Process an update PDU */ |
/* Process an update PDU */ |