diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2007-12-13 00:16:09 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2007-12-13 00:16:09 +0000 |
| commit | 1c242c0a654a5c4048ba4219a0982f8ba8a85246 (patch) | |
| tree | 2a96e46084f96098f358193ce6f8033b3bac76b6 /lib/gui/epixmap.cpp | |
| parent | ff8117ea103cfa3a8f28f6b45d49adc65919a3a9 (diff) | |
| download | enigma2-1c242c0a654a5c4048ba4219a0982f8ba8a85246.tar.gz enigma2-1c242c0a654a5c4048ba4219a0982f8ba8a85246.zip | |
re-enable alphablend
Diffstat (limited to 'lib/gui/epixmap.cpp')
| -rw-r--r-- | lib/gui/epixmap.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/lib/gui/epixmap.cpp b/lib/gui/epixmap.cpp index 69da944c..84fec323 100644 --- a/lib/gui/epixmap.cpp +++ b/lib/gui/epixmap.cpp @@ -7,7 +7,7 @@ ePixmap::ePixmap(eWidget *parent) { } -void ePixmap::setAlphatest(bool alphatest) +void ePixmap::setAlphatest(int alphatest) { m_alphatest = alphatest; setTransparent(alphatest); @@ -62,14 +62,23 @@ int ePixmap::event(int event, void *data, void *data2) getStyle(style); // we don't clear the background before because of performance reasons. -// when the pixmap is too small to fix the whole widget area, the widget is +// when the pixmap is too small to fit the whole widget area, the widget is // transparent anyway, so the background is already painted. // eWidget::event(event, data, data2); - + gPainter &painter = *(gPainter*)data2; if (m_pixmap) - painter.blit(m_pixmap, ePoint(0, 0), eRect(), m_alphatest?gPainter::BT_ALPHATEST:0); - + { + int flags = 0; + if (m_alphatest == 0) + flags = 0; + else if (m_alphatest == 1) + flags = gPainter::BT_ALPHATEST; + else if (m_alphatest == 2) + flags = gPainter::BT_ALPHABLEND; + painter.blit(m_pixmap, ePoint(0, 0), eRect(), flags); + } + return 0; } case evtChangedPixmap: |
