X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/55d6d7730a8f206d777bd70f5ca72933d4c3ec6b..0b3f18c91718d63aa418d95a81d8464914cd4031:/lib/gui/eslider.cpp diff --git a/lib/gui/eslider.cpp b/lib/gui/eslider.cpp index 37b67acf..dd2aac9e 100644 --- a/lib/gui/eslider.cpp +++ b/lib/gui/eslider.cpp @@ -5,6 +5,17 @@ eSlider::eSlider(eWidget *parent) { } +void eSlider::setPixmap(ePtr &pixmap) +{ + setPixmap(pixmap.operator->()); +} + +void eSlider::setPixmap(gPixmap *pixmap) +{ + m_pixmap = pixmap; + event(evtChangedSlider); +} + void eSlider::setBorderWidth(int pixel) { m_border_width=pixel; @@ -25,14 +36,20 @@ int eSlider::event(int event, void *data, void *data2) case evtPaint: { ePtr style; - gPainter &painter = *(gPainter*)data2; eSize s(size()); - getStyle(style); - style->paintBackground(painter, ePoint(0,0), s); + /* paint background */ + eWidget::event(evtPaint, data, data2); + + gPainter &painter = *(gPainter*)data2; + style->setStyle(painter, eWindowStyle::styleLabel); // TODO - own style - painter.fill(m_currently_filled); + + if (!m_pixmap) + painter.fill(m_currently_filled); + else + painter.blit(m_pixmap, ePoint(0, 0), m_currently_filled.extends, isTransparent() ? gPainter::BT_ALPHATEST : 0); // border if (m_have_border_color)