aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2009-08-23 18:03:34 +0200
committerAnthony Liguori <aliguori@us.ibm.com>2009-08-27 21:23:38 -0500
commit52668cf7b376ed17f1190266190fb4016ab85a49 (patch)
tree640ffea99c9a9ad0bdfff5bc55de877f9c1510ae
parentd2bb9964d1c52ff73e75f7c081f631bf5effda08 (diff)
sdl.c: support 32 bpp cursors
Hello, currently when a 32 bpp cursor gets defined the result is all-black in the areas that are not transparent (you'll get a 32 bpp cursor if you use my previous patch to allow vmware_vga to use a 32 bpp framebuffer). This is because the switch in sdl.c lacks a 32 bpp case. The thing I am unsure about though is which byte is the unused one and should be skipped, the first or the last - for the black-and-white cursors I tested it doesn't make a difference... Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de> Signed-off-by: Andrzej Zaborowski <balrogg@gmail.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r--sdl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sdl.c b/sdl.c
index a8f5edf989..9db20b8074 100644
--- a/sdl.c
+++ b/sdl.c
@@ -771,6 +771,9 @@ static void sdl_mouse_define(int width, int height, int bpp,
line = image;
for (x = 0; x < width; x ++, dst ++) {
switch (bpp) {
+ case 32:
+ src = *(line ++); src |= *(line ++); src |= *(line ++); line++;
+ break;
case 24:
src = *(line ++); src |= *(line ++); src |= *(line ++);
break;