aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2006-04-24 22:58:14 +0000
committerFelix Domke <tmbinc@elitedvb.net>2006-04-24 22:58:14 +0000
commite8ae3b7fbbf12a0b5b87716f980ae287f330b85d (patch)
treead13e32b1afd51b142da519644f1ecbf16f0473c
parentad88a7130bd75fa1f932d4ae45a8ebee78df4fc3 (diff)
downloadenigma2-e8ae3b7fbbf12a0b5b87716f980ae287f330b85d.tar.gz
enigma2-e8ae3b7fbbf12a0b5b87716f980ae287f330b85d.zip
allow using a pixmap as background for slider
-rw-r--r--lib/gui/eslider.cpp12
-rw-r--r--lib/gui/eslider.h2
2 files changed, 13 insertions, 1 deletions
diff --git a/lib/gui/eslider.cpp b/lib/gui/eslider.cpp
index 37b67acf..f699389a 100644
--- a/lib/gui/eslider.cpp
+++ b/lib/gui/eslider.cpp
@@ -5,6 +5,12 @@ eSlider::eSlider(eWidget *parent)
{
}
+void eSlider::setPixmap(gPixmap *pixmap)
+{
+ m_pixmap = pixmap;
+ event(evtChangedSlider);
+}
+
void eSlider::setBorderWidth(int pixel)
{
m_border_width=pixel;
@@ -32,7 +38,11 @@ int eSlider::event(int event, void *data, void *data2)
getStyle(style);
style->paintBackground(painter, ePoint(0,0), s);
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);
// border
if (m_have_border_color)
diff --git a/lib/gui/eslider.h b/lib/gui/eslider.h
index 145cc165..303977a2 100644
--- a/lib/gui/eslider.h
+++ b/lib/gui/eslider.h
@@ -14,6 +14,7 @@ public:
void setOrientation(int orientation);
void setBorderWidth(int pixel);
void setBorderColor(const gRGB &color);
+ void setPixmap(gPixmap *pixmap);
protected:
int event(int event, void *data=0, void *data2=0);
private:
@@ -23,6 +24,7 @@ private:
};
bool m_have_border_color;
int m_min, m_max, m_value, m_start, m_orientation, m_border_width;
+ ePtr<gPixmap> m_pixmap;
gRegion m_currently_filled;
gRGB m_border_color;