X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fgui%2Feslider.cpp;h=dd2aac9e73c329b9f3eb64ad73ae30c84263719b;hb=0aaff23c4b0ef5a1a8b21489fe00f1ac94cfc1f6;hp=37b67acf66e94e336a86185c19f32aaccdd4df5d;hpb=55d6d7730a8f206d777bd70f5ca72933d4c3ec6b;p=vuplus_dvbapp diff --git a/lib/gui/eslider.cpp b/lib/gui/eslider.cpp index 37b67ac..dd2aac9 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)