From 1c242c0a654a5c4048ba4219a0982f8ba8a85246 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Thu, 13 Dec 2007 00:16:09 +0000 Subject: [PATCH 1/1] re-enable alphablend --- lib/gdi/gpixmap.cpp | 17 ++++++++--------- lib/gdi/grc.h | 3 ++- lib/gui/epixmap.cpp | 19 ++++++++++++++----- lib/gui/epixmap.h | 4 ++-- 4 files changed, 26 insertions(+), 17 deletions(-) diff --git a/lib/gdi/gpixmap.cpp b/lib/gdi/gpixmap.cpp index d0eff03f..855cb8b2 100644 --- a/lib/gdi/gpixmap.cpp +++ b/lib/gdi/gpixmap.cpp @@ -220,17 +220,16 @@ void gPixmap::blit(const gPixmap &src, ePoint pos, const gRegion &clip, int flag eRect srcarea=area; srcarea.moveBy(-pos.x(), -pos.y()); - + 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)) { __u8 *srcptr=(__u8*)src.surface->data; __u8 *dstptr=(__u8*)surface->data; - + srcptr+=srcarea.left()*src.surface->bypp+srcarea.top()*src.surface->stride; dstptr+=area.left()*surface->bypp+area.top()*surface->stride; for (int y=0; ydata; __u32 *dstptr=(__u32*)surface->data; - + srcptr+=srcarea.left()+srcarea.top()*src.surface->stride/4; dstptr+=area.left()+area.top()*surface->stride/4; for (int y=0; ybypp+srcarea.top()*src.surface->stride; dstptr+=area.left()*surface->bypp+area.top()*surface->stride; for (int y=0; y &pixmap); void setPixmapFromFile(const char *filename); - void setAlphatest(bool alphatest); + void setAlphatest(int alphatest); /* 1 for alphatest, 2 for alphablend */ protected: ePtr m_pixmap; int event(int event, void *data=0, void *data2=0); -- 2.30.2