mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
ui: refactor using a common qemu_pixman_shareable
Use a common shareable type for win32 & unix, and helper functions. This simplify the code as it avoids a lot of #ifdef'ery. Note: if it helps review, commits could be reordered to introduce the common type before introducing shareable memory for unix. Suggested-by: Akihiko Odaki <akihiko.odaki@daynix.com> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com> Message-ID: <20241008125028.1177932-19-marcandre.lureau@redhat.com>
This commit is contained in:
parent
5f899c34af
commit
1ff788db97
7 changed files with 145 additions and 143 deletions
|
@ -12,6 +12,8 @@
|
|||
#include "pixman-minimal.h"
|
||||
#endif
|
||||
|
||||
#include "qapi/error.h"
|
||||
|
||||
/*
|
||||
* pixman image formats are defined to be native endian,
|
||||
* that means host byte order on qemu. So we go define
|
||||
|
@ -97,7 +99,27 @@ void qemu_pixman_glyph_render(pixman_image_t *glyph,
|
|||
|
||||
void qemu_pixman_image_unref(pixman_image_t *image);
|
||||
|
||||
void qemu_pixman_shared_image_destroy(pixman_image_t *image, void *data);
|
||||
#ifdef WIN32
|
||||
typedef HANDLE qemu_pixman_shareable;
|
||||
#define SHAREABLE_NONE (NULL)
|
||||
#define SHAREABLE_TO_PTR(handle) (handle)
|
||||
#define PTR_TO_SHAREABLE(ptr) (ptr)
|
||||
#else
|
||||
typedef int qemu_pixman_shareable;
|
||||
#define SHAREABLE_NONE (-1)
|
||||
#define SHAREABLE_TO_PTR(handle) GINT_TO_POINTER(handle)
|
||||
#define PTR_TO_SHAREABLE(ptr) GPOINTER_TO_INT(ptr)
|
||||
#endif
|
||||
|
||||
bool qemu_pixman_image_new_shareable(
|
||||
pixman_image_t **image,
|
||||
qemu_pixman_shareable *handle,
|
||||
const char *name,
|
||||
pixman_format_code_t format,
|
||||
int width,
|
||||
int height,
|
||||
int rowstride_bytes,
|
||||
Error **errp);
|
||||
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(pixman_image_t, qemu_pixman_image_unref)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue