aboutsummaryrefslogtreecommitdiff
path: root/lib/gdi/gpixmap.cpp
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@2mac.waldobjekt.org>2009-06-22 13:16:35 +0200
committerFelix Domke <tmbinc@2mac.waldobjekt.org>2009-06-22 13:16:35 +0200
commit88bae399660a892a61882f59251d9359750d3d3b (patch)
tree8929a1e771f80dba9e9e5b548fa72c4c2f788931 /lib/gdi/gpixmap.cpp
parent86fd0ba3d6e00cc7dcf81ed2f98df9556a4482b8 (diff)
downloadenigma2-88bae399660a892a61882f59251d9359750d3d3b.tar.gz
enigma2-88bae399660a892a61882f59251d9359750d3d3b.zip
use area.empty instead of manual checks, allocate palette in 8bit modes
Diffstat (limited to 'lib/gdi/gpixmap.cpp')
-rw-r--r--lib/gdi/gpixmap.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/lib/gdi/gpixmap.cpp b/lib/gdi/gpixmap.cpp
index 6f741d85..3e643108 100644
--- a/lib/gdi/gpixmap.cpp
+++ b/lib/gdi/gpixmap.cpp
@@ -98,8 +98,12 @@ gSurface::gSurface(eSize size, int _bpp, int accel)
stride += 63;
stride &=~63;
+ int pal_size = 0;
+ if (bpp == 8)
+ pal_size = 256 * 4;
+
if (gAccel::getInstance())
- eDebug("accel memory: %d", gAccel::getInstance()->accelAlloc(data, data_phys, y * stride));
+ eDebug("accel memory: %d", gAccel::getInstance()->accelAlloc(data, data_phys, y * stride + pal_size));
else
eDebug("no accel available");
}
@@ -143,7 +147,7 @@ void gPixmap::fill(const gRegion &region, const gColor &color)
for (i=0; i<region.rects.size(); ++i)
{
const eRect &area = region.rects[i];
- if ((area.height()<=0) || (area.width()<=0))
+ if (area.empty())
continue;
if (surface->bpp == 8)
@@ -159,8 +163,8 @@ void gPixmap::fill(const gRegion &region, const gColor &color)
else
col=0x10101*color;
- col^=0xFF000000;
-
+ col^=0xFF000000;
+
if (surface->data_phys && gAccel::getInstance())
if (!gAccel::getInstance()->fill(surface, area, col))
continue;
@@ -183,7 +187,7 @@ void gPixmap::fill(const gRegion &region, const gRGB &color)
for (i=0; i<region.rects.size(); ++i)
{
const eRect &area = region.rects[i];
- if ((area.height()<=0) || (area.width()<=0))
+ if (area.empty())
continue;
if (surface->bpp == 32)
@@ -292,7 +296,7 @@ void gPixmap::blit(const gPixmap &src, const eRect &_pos, const gRegion &clip, i
area&=clip.rects[i];
area&=eRect(ePoint(0, 0), size());
- if ((area.width()<0) || (area.height()<0))
+ if (area.empty())
continue;
eRect srcarea = area;