]>
Commit | Line | Data |
---|---|---|
daa8e5a0 GH |
1 | /* |
2 | * This work is licensed under the terms of the GNU GPL, version 2 or later. | |
3 | * See the COPYING file in the top-level directory. | |
4 | */ | |
5 | ||
d2ec7e24 GH |
6 | #ifndef QEMU_PIXMAN_H |
7 | #define QEMU_PIXMAN_H | |
8 | ||
092bb306 GH |
9 | /* pixman-0.16.0 headers have a redundant declaration */ |
10 | #ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE | |
e6f53fd5 | 11 | #pragma GCC diagnostic push |
092bb306 GH |
12 | #pragma GCC diagnostic ignored "-Wredundant-decls" |
13 | #endif | |
d2ec7e24 | 14 | #include <pixman.h> |
092bb306 | 15 | #ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE |
e6f53fd5 | 16 | #pragma GCC diagnostic pop |
092bb306 | 17 | #endif |
d2ec7e24 | 18 | |
0b087861 | 19 | #include "qemu/typedefs.h" |
d2ec7e24 GH |
20 | |
21 | /* | |
22 | * pixman image formats are defined to be native endian, | |
23 | * that means host byte order on qemu. So we go define | |
24 | * fixed formats here for cases where it is needed, like | |
25 | * feeding libjpeg / libpng and writing screenshots. | |
26 | */ | |
27 | ||
28 | #ifdef HOST_WORDS_BIGENDIAN | |
29 | # define PIXMAN_BE_r8g8b8 PIXMAN_r8g8b8 | |
30 | #else | |
31 | # define PIXMAN_BE_r8g8b8 PIXMAN_b8g8r8 | |
32 | #endif | |
33 | ||
34 | /* -------------------------------------------------------------------- */ | |
35 | ||
36 | int qemu_pixman_get_type(int rshift, int gshift, int bshift); | |
37 | pixman_format_code_t qemu_pixman_get_format(PixelFormat *pf); | |
38 | ||
39 | pixman_image_t *qemu_pixman_linebuf_create(pixman_format_code_t format, | |
40 | int width); | |
41 | void qemu_pixman_linebuf_fill(pixman_image_t *linebuf, pixman_image_t *fb, | |
bc210eb1 | 42 | int width, int x, int y); |
d9a86569 GH |
43 | pixman_image_t *qemu_pixman_mirror_create(pixman_format_code_t format, |
44 | pixman_image_t *image); | |
d2ec7e24 GH |
45 | void qemu_pixman_image_unref(pixman_image_t *image); |
46 | ||
867c538f | 47 | pixman_color_t qemu_pixman_color(PixelFormat *pf, uint32_t color); |
b7627952 GH |
48 | pixman_image_t *qemu_pixman_glyph_from_vgafont(int height, const uint8_t *font, |
49 | unsigned int ch); | |
50 | void qemu_pixman_glyph_render(pixman_image_t *glyph, | |
51 | pixman_image_t *surface, | |
52 | pixman_color_t *fgcol, | |
53 | pixman_color_t *bgcol, | |
54 | int x, int y, int cw, int ch); | |
867c538f | 55 | |
d2ec7e24 | 56 | #endif /* QEMU_PIXMAN_H */ |