mirror of
https://github.com/qemu/qemu.git
synced 2024-12-01 07:43:35 +08:00
ui/console: use QEMU_PIXMAN_COLOR helpers
QEMU_RGB macro is actually defining a pixman color. Make this explicit in the macro name. Move it to qemu-pixman.h so it can be used elsewhere, as done in the following patch. Finally, define QEMU_PIXMAN_COLOR_{BLACK,GRAY}, to avoid need to look up the VGA color table from the QemuConsole placeholder surface rendering. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20230830093843.3531473-37-marcandre.lureau@redhat.com>
This commit is contained in:
parent
8c6381d846
commit
1ece6777fe
@ -47,6 +47,12 @@
|
||||
# define PIXMAN_LE_x8r8g8b8 PIXMAN_x8r8g8b8
|
||||
#endif
|
||||
|
||||
#define QEMU_PIXMAN_COLOR(r, g, b) \
|
||||
{ .red = r << 8, .green = g << 8, .blue = b << 8, .alpha = 0xffff }
|
||||
|
||||
#define QEMU_PIXMAN_COLOR_BLACK QEMU_PIXMAN_COLOR(0x00, 0x00, 0x00)
|
||||
#define QEMU_PIXMAN_COLOR_GRAY QEMU_PIXMAN_COLOR(0xaa, 0xaa, 0xaa)
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
|
||||
typedef struct PixelFormat {
|
||||
|
39
ui/console.c
39
ui/console.c
@ -363,29 +363,26 @@ static void vga_bitblt(QemuConsole *con,
|
||||
|
||||
#include "vgafont.h"
|
||||
|
||||
#define QEMU_RGB(r, g, b) \
|
||||
{ .red = r << 8, .green = g << 8, .blue = b << 8, .alpha = 0xffff }
|
||||
|
||||
static const pixman_color_t color_table_rgb[2][8] = {
|
||||
{ /* dark */
|
||||
[QEMU_COLOR_BLACK] = QEMU_RGB(0x00, 0x00, 0x00), /* black */
|
||||
[QEMU_COLOR_BLUE] = QEMU_RGB(0x00, 0x00, 0xaa), /* blue */
|
||||
[QEMU_COLOR_GREEN] = QEMU_RGB(0x00, 0xaa, 0x00), /* green */
|
||||
[QEMU_COLOR_CYAN] = QEMU_RGB(0x00, 0xaa, 0xaa), /* cyan */
|
||||
[QEMU_COLOR_RED] = QEMU_RGB(0xaa, 0x00, 0x00), /* red */
|
||||
[QEMU_COLOR_MAGENTA] = QEMU_RGB(0xaa, 0x00, 0xaa), /* magenta */
|
||||
[QEMU_COLOR_YELLOW] = QEMU_RGB(0xaa, 0xaa, 0x00), /* yellow */
|
||||
[QEMU_COLOR_WHITE] = QEMU_RGB(0xaa, 0xaa, 0xaa), /* white */
|
||||
[QEMU_COLOR_BLACK] = QEMU_PIXMAN_COLOR_BLACK,
|
||||
[QEMU_COLOR_BLUE] = QEMU_PIXMAN_COLOR(0x00, 0x00, 0xaa), /* blue */
|
||||
[QEMU_COLOR_GREEN] = QEMU_PIXMAN_COLOR(0x00, 0xaa, 0x00), /* green */
|
||||
[QEMU_COLOR_CYAN] = QEMU_PIXMAN_COLOR(0x00, 0xaa, 0xaa), /* cyan */
|
||||
[QEMU_COLOR_RED] = QEMU_PIXMAN_COLOR(0xaa, 0x00, 0x00), /* red */
|
||||
[QEMU_COLOR_MAGENTA] = QEMU_PIXMAN_COLOR(0xaa, 0x00, 0xaa), /* magenta */
|
||||
[QEMU_COLOR_YELLOW] = QEMU_PIXMAN_COLOR(0xaa, 0xaa, 0x00), /* yellow */
|
||||
[QEMU_COLOR_WHITE] = QEMU_PIXMAN_COLOR_GRAY,
|
||||
},
|
||||
{ /* bright */
|
||||
[QEMU_COLOR_BLACK] = QEMU_RGB(0x00, 0x00, 0x00), /* black */
|
||||
[QEMU_COLOR_BLUE] = QEMU_RGB(0x00, 0x00, 0xff), /* blue */
|
||||
[QEMU_COLOR_GREEN] = QEMU_RGB(0x00, 0xff, 0x00), /* green */
|
||||
[QEMU_COLOR_CYAN] = QEMU_RGB(0x00, 0xff, 0xff), /* cyan */
|
||||
[QEMU_COLOR_RED] = QEMU_RGB(0xff, 0x00, 0x00), /* red */
|
||||
[QEMU_COLOR_MAGENTA] = QEMU_RGB(0xff, 0x00, 0xff), /* magenta */
|
||||
[QEMU_COLOR_YELLOW] = QEMU_RGB(0xff, 0xff, 0x00), /* yellow */
|
||||
[QEMU_COLOR_WHITE] = QEMU_RGB(0xff, 0xff, 0xff), /* white */
|
||||
[QEMU_COLOR_BLACK] = QEMU_PIXMAN_COLOR_BLACK,
|
||||
[QEMU_COLOR_BLUE] = QEMU_PIXMAN_COLOR(0x00, 0x00, 0xff), /* blue */
|
||||
[QEMU_COLOR_GREEN] = QEMU_PIXMAN_COLOR(0x00, 0xff, 0x00), /* green */
|
||||
[QEMU_COLOR_CYAN] = QEMU_PIXMAN_COLOR(0x00, 0xff, 0xff), /* cyan */
|
||||
[QEMU_COLOR_RED] = QEMU_PIXMAN_COLOR(0xff, 0x00, 0x00), /* red */
|
||||
[QEMU_COLOR_MAGENTA] = QEMU_PIXMAN_COLOR(0xff, 0x00, 0xff), /* magenta */
|
||||
[QEMU_COLOR_YELLOW] = QEMU_PIXMAN_COLOR(0xff, 0xff, 0x00), /* yellow */
|
||||
[QEMU_COLOR_WHITE] = QEMU_PIXMAN_COLOR(0xff, 0xff, 0xff), /* white */
|
||||
}
|
||||
};
|
||||
|
||||
@ -1520,8 +1517,8 @@ DisplaySurface *qemu_create_placeholder_surface(int w, int h,
|
||||
const char *msg)
|
||||
{
|
||||
DisplaySurface *surface = qemu_create_displaysurface(w, h);
|
||||
pixman_color_t bg = color_table_rgb[0][QEMU_COLOR_BLACK];
|
||||
pixman_color_t fg = color_table_rgb[0][QEMU_COLOR_WHITE];
|
||||
pixman_color_t bg = QEMU_PIXMAN_COLOR_BLACK;
|
||||
pixman_color_t fg = QEMU_PIXMAN_COLOR_GRAY;
|
||||
pixman_image_t *glyph;
|
||||
int len, x, y, i;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user