Quote:
Originally Posted by Justin
ah yes, there is a bug in the alpha handling of LICE_FillRect() which causes it to write the alpha value rather than the pixel's alpha value. Fixing, though this might be some time before it goes into a release because it could break appearances subtly. Thanks for the report!
|
Thanks for looking at it! I am sure there are lots video projects that have been patched around this bug (even in mines wihout inderstanding why). At least in contexts where it causes a problem, we can use its evalrect() emulation.
Code:
//gfx_fillrect() emulation for proper transparency behavior
gfx_set(r,g,b,a1,mode,dest,a2);
gfx_evalrect(x,y,w,h,"r=r*(1-gfx_a)+gfx_a*gfx_r*255;g=g*(1-gfx_a)+gfx_a*gfx_g*255;b=b*(1-gfx_a)+gfx_a*gfx_b*255;a=gfx_a2*255");