eRect area=eRect(pos, src.size());
area&=clip.rects[i];
area&=eRect(ePoint(0, 0), size());
+
if ((area.width()<0) || (area.height()<0))
continue;
if ((surface->data_phys && src.surface->data_phys) && (gAccel::getInstance()))
if (!gAccel::getInstance()->blit(surface, src.surface, area.topLeft(), srcarea, flag))
continue;
+ flag &= ~ blitAlphaBlend;
if ((surface->bpp == 8) && (src.surface->bpp==8))
{
// use duff's device here!
while (width--)
{
- if (!*src)
+ if (!(pal[*src]&0x80000000))
{
src++;
dst++;
if (clip.rects.empty())
return;
- __u32 col;
+ __u32 col = 0;
if (surface->bpp == 8)
{
srf8 = (__u8*)surface->data;
do
{
++a;
- if (a == clip.rects.size())
+ if ((unsigned int)a == clip.rects.size())
a = 0;
if (a == lasthit)
{
gColor gPalette::findColor(const gRGB &rgb) const
{
+ /* grayscale? */
+ if (!data)
+ return (rgb.r + rgb.g + rgb.b) / 3;
+
int difference=1<<30, best_choice=0;
for (int t=0; t<colors; t++)
{