/* Map a color index to a r-g-b color. */ static int win_pr2_map_color_rgb(gx_device * dev, gx_color_index color, gx_color_value prgb[3]) { switch (dev->color_info.depth) { case 1: gdev_prn_map_color_rgb(dev, color, prgb); break; case 4: /* use only 8 colors */ prgb[0] = (color & 4) ? gx_max_color_value : 0; prgb[1] = (color & 2) ? gx_max_color_value : 0; prgb[2] = (color & 1) ? gx_max_color_value : 0; break; case 8: pc_8bit_map_color_rgb(dev, color, prgb); break; case 24: prgb[2] = gx_color_value_from_byte(color >> 16); prgb[1] = gx_color_value_from_byte((color >> 8) & 0xff); prgb[0] = gx_color_value_from_byte(color & 0xff); break; } return 0; }
/* Map a color index to a r-g-b color. */ static int cp50_color_rgb(gx_device *dev, gx_color_index color, gx_color_value prgb[3]) { prgb[2] = gx_color_value_from_byte(color & 0xff); prgb[1] = gx_color_value_from_byte((color >> 8) & 0xff); prgb[0] = gx_color_value_from_byte(color >> 16); return 0; }