aboutsummaryrefslogtreecommitdiff
path: root/lib/gui/esubtitle.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-03-27 19:19:33 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-03-27 19:19:33 +0000
commitd101ae667283bfd67a287556fcc3cf468539102a (patch)
tree360669f725f1dce364ce16c841d25e37f1e66ea7 /lib/gui/esubtitle.cpp
parent912690ec8896bf6dfda931a6846516cc3b4ca979 (diff)
downloadenigma2-d101ae667283bfd67a287556fcc3cf468539102a.tar.gz
enigma2-d101ae667283bfd67a287556fcc3cf468539102a.zip
make eSubtitleWidget more flexible
Diffstat (limited to 'lib/gui/esubtitle.cpp')
-rw-r--r--lib/gui/esubtitle.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/gui/esubtitle.cpp b/lib/gui/esubtitle.cpp
index aef09a2e..80211b4d 100644
--- a/lib/gui/esubtitle.cpp
+++ b/lib/gui/esubtitle.cpp
@@ -75,6 +75,12 @@ void eSubtitleWidget::clearPage()
m_visible_region.rects.clear();
}
+void eSubtitleWidget::setPixmap(ePtr<gPixmap> &pixmap, gRegion changed)
+{
+ m_pixmap = pixmap;
+ invalidate(changed);
+}
+
int eSubtitleWidget::event(int event, void *data, void *data2)
{
switch (event)
@@ -85,14 +91,15 @@ int eSubtitleWidget::event(int event, void *data, void *data2)
gPainter &painter = *(gPainter*)data2;
getStyle(style);
-
eWidget::event(event, data, data2);
- ePtr<gFont> font = new gFont("Regular", 38);
- painter.setFont(font);
-
- if (m_page_ok)
+
+ if (m_pixmap)
+ painter.blit(m_pixmap, ePoint(0,0));
+ else if (m_page_ok)
{
int elements = m_page.m_elements.size();
+ ePtr<gFont> font = new gFont("Regular", 38);
+ painter.setFont(font);
for (int i=0; i<elements; ++i)
{
eDVBTeletextSubtitlePageElement &element = m_page.m_elements[i];