void video_convert_color_table(unsigned int i, BYTE *data, long col, video_canvas_t *canvas) { #ifdef HAVE_XVIDEO if (canvas->videoconfig->hwscale && canvas->xv_image) { return; } #endif switch (canvas->depth) { case 8: video_render_setphysicalcolor(canvas->videoconfig, i, (DWORD)(*data), 8); break; case 16: case 24: case 32: default: video_render_setphysicalcolor(canvas->videoconfig, i, (DWORD)(col), canvas->depth); break; } }
int uicolor_set_palette(struct video_canvas_s *c, const palette_t *palette) { unsigned int i; uicolor_init_video_colors(); for (i = 0; i < palette->num_entries; i++) { palette_entry_t color = palette->entries[i]; DWORD color_pixel; unsigned char *col = (unsigned char *)&color_pixel; col[0] = color.red ; col[1] = color.green; col[2] = color.blue ; video_render_setphysicalcolor(((video_canvas_t*)c)->videoconfig, i, color_pixel, 24); } return 0; }