From 20f20c85112aac664e5e4325354681837e4886e7 Mon Sep 17 00:00:00 2001 From: Stefan Seyfried Date: Wed, 4 Apr 2012 10:54:09 +0200 Subject: [PATCH] spark: fix transparent icon blitting no, the CFrameBuffer::blit2FB() API is *not* intuitive (transp == true means: no transparency...) --- lib/libtuxtxt/tuxtxt.cpp | 4 ++-- src/driver/framebuffer_spark.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/libtuxtxt/tuxtxt.cpp b/lib/libtuxtxt/tuxtxt.cpp index 256691374..e2f0fe1be 100644 --- a/lib/libtuxtxt/tuxtxt.cpp +++ b/lib/libtuxtxt/tuxtxt.cpp @@ -5633,7 +5633,7 @@ void CopyBB2FB() perror("TuxTxt "); #else #ifdef HAVE_SPARK_HARDWARE - f->blit2FB(lbb, var_screeninfo.xres, var_screeninfo.yres, 0, 0, 0, 0, false); + f->blit2FB(lbb, var_screeninfo.xres, var_screeninfo.yres, 0, 0, 0, 0, true); f->blit(); #else memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres); @@ -5688,7 +5688,7 @@ void CopyBB2FB() int cw = TV43STARTX; /* width */ int cy = StartY; int ch = 24*fontheight; - f->blit2FB(lbb, cw, ch, cx, cy, cx, cy, false); + f->blit2FB(lbb, cw, ch, cx, cy, cx, cy, true); #else unsigned char *topdst = dst; size_t width = ex * sizeof(fb_pixel_t) - screenwidth; diff --git a/src/driver/framebuffer_spark.cpp b/src/driver/framebuffer_spark.cpp index 113daccd6..5024ca995 100644 --- a/src/driver/framebuffer_spark.cpp +++ b/src/driver/framebuffer_spark.cpp @@ -934,7 +934,7 @@ _display: paintBoxRel(x, yy, width, height, colBg); /* to make sure backbuffer is already blitted completely... */ waitForIdle(); - blit2FB(data, width, height, x, yy, 0, 0, true); + blit2FB(data, width, height, x, yy, 0, 0); return true; } @@ -1408,7 +1408,7 @@ void CFrameBuffer::blit2FB(void *fbbuff, uint32_t width, uint32_t height, uint32 size_t mem_sz = width * height * sizeof(fb_pixel_t); unsigned long ulFlags = 0; - if (transp) /* transp == true means: color "0x0" is transparent (??) */ + if (!transp) /* transp == false (default) means: color "0x0" is transparent (??) */ ulFlags = BLT_OP_FLAGS_BLEND_SRC_ALPHA|BLT_OP_FLAGS_BLEND_DST_MEMORY; // we need alpha blending if (fbbuff != backbuffer)