From 2d9f49283b5c45221f5cc81b5f95d744b24d6a09 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Thu, 26 Jan 2006 02:00:38 +0000 Subject: [PATCH] TYPE_PIXMAP_ALPHATEST in eListboxMultiContent, fix alphatest --- lib/gdi/gpixmap.cpp | 2 +- lib/gui/elistboxcontent.cpp | 5 +++-- lib/gui/elistboxcontent.h | 2 +- lib/python/Components/TimerList.py | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/gdi/gpixmap.cpp b/lib/gdi/gpixmap.cpp index e44ee0fa..3ebd9a02 100644 --- a/lib/gdi/gpixmap.cpp +++ b/lib/gdi/gpixmap.cpp @@ -310,7 +310,7 @@ void gPixmap::blit(const gPixmap &src, ePoint pos, const gRegion &clip, int flag // use duff's device here! while (width--) { - if (*src==0x01) + if (!(pal[*src]&0x80000000)) { src++; dst++; diff --git a/lib/gui/elistboxcontent.cpp b/lib/gui/elistboxcontent.cpp index c874cd36..ff93eac2 100644 --- a/lib/gui/elistboxcontent.cpp +++ b/lib/gui/elistboxcontent.cpp @@ -517,7 +517,7 @@ void eListboxPythonConfigContent::paint(gPainter &painter, eWindowStyle &style, int num = PyInt_Check(entry) ? PyInt_AsLong(entry) : -1; if ((num < 0) || (num >= glyphs)) - eWarning("glyph index %d in PythonConfigList out of bounds!"); + eWarning("glyph index %d in PythonConfigList out of bounds!", num); else { para->setGlyphFlag(num, GS_INVERT); @@ -713,6 +713,7 @@ void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, c break; } + case TYPE_PIXMAP_ALPHATEST: case TYPE_PIXMAP: // pixmap { if (!(px && py && pwidth && pheight && pfnt)) @@ -736,7 +737,7 @@ void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, c r &= itemrect; painter.clip(r); - painter.blit(pixmap, r.topLeft(), r); + painter.blit(pixmap, r.topLeft(), r, (type == TYPE_PIXMAP_ALPHATEST) ? gPainter::BT_ALPHATEST : 0); painter.clippop(); break; diff --git a/lib/gui/elistboxcontent.h b/lib/gui/elistboxcontent.h index a93ba512..d3648373 100644 --- a/lib/gui/elistboxcontent.h +++ b/lib/gui/elistboxcontent.h @@ -126,7 +126,7 @@ private: class eListboxPythonMultiContent: public eListboxPythonStringContent { public: - enum { TYPE_TEXT, TYPE_PROGRESS, TYPE_PIXMAP }; + enum { TYPE_TEXT, TYPE_PROGRESS, TYPE_PIXMAP, TYPE_PIXMAP_ALPHATEST }; void paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected); void setFont(int fnt, gFont *fnt); diff --git a/lib/python/Components/TimerList.py b/lib/python/Components/TimerList.py index 6349466b..f55c9b1b 100644 --- a/lib/python/Components/TimerList.py +++ b/lib/python/Components/TimerList.py @@ -62,7 +62,7 @@ def TimerEntryComponent(timer, processed): if timer.disabled: png = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "/redx.png")) - res.append((eListboxPythonMultiContent.TYPE_PIXMAP, 490, 5, 40, 40, png)) + res.append((eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 490, 5, 40, 40, png)) return res -- 2.30.2