mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-28 16:01:20 +02:00
spark: fix transparent icon blitting
no, the CFrameBuffer::blit2FB() API is *not* intuitive (transp == true means: no transparency...)
This commit is contained in:
@@ -5633,7 +5633,7 @@ void CopyBB2FB()
|
|||||||
perror("TuxTxt <FBIOPAN_DISPLAY>");
|
perror("TuxTxt <FBIOPAN_DISPLAY>");
|
||||||
#else
|
#else
|
||||||
#ifdef HAVE_SPARK_HARDWARE
|
#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();
|
f->blit();
|
||||||
#else
|
#else
|
||||||
memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres);
|
memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres);
|
||||||
@@ -5688,7 +5688,7 @@ void CopyBB2FB()
|
|||||||
int cw = TV43STARTX; /* width */
|
int cw = TV43STARTX; /* width */
|
||||||
int cy = StartY;
|
int cy = StartY;
|
||||||
int ch = 24*fontheight;
|
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
|
#else
|
||||||
unsigned char *topdst = dst;
|
unsigned char *topdst = dst;
|
||||||
size_t width = ex * sizeof(fb_pixel_t) - screenwidth;
|
size_t width = ex * sizeof(fb_pixel_t) - screenwidth;
|
||||||
|
@@ -934,7 +934,7 @@ _display:
|
|||||||
paintBoxRel(x, yy, width, height, colBg);
|
paintBoxRel(x, yy, width, height, colBg);
|
||||||
/* to make sure backbuffer is already blitted completely... */
|
/* to make sure backbuffer is already blitted completely... */
|
||||||
waitForIdle();
|
waitForIdle();
|
||||||
blit2FB(data, width, height, x, yy, 0, 0, true);
|
blit2FB(data, width, height, x, yy, 0, 0);
|
||||||
return true;
|
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);
|
size_t mem_sz = width * height * sizeof(fb_pixel_t);
|
||||||
unsigned long ulFlags = 0;
|
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
|
ulFlags = BLT_OP_FLAGS_BLEND_SRC_ALPHA|BLT_OP_FLAGS_BLEND_DST_MEMORY; // we need alpha blending
|
||||||
|
|
||||||
if (fbbuff != backbuffer)
|
if (fbbuff != backbuffer)
|
||||||
|
Reference in New Issue
Block a user