diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2008-03-27 19:19:33 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2008-03-27 19:19:33 +0000 |
| commit | d101ae667283bfd67a287556fcc3cf468539102a (patch) | |
| tree | 360669f725f1dce364ce16c841d25e37f1e66ea7 /lib/gui/esubtitle.cpp | |
| parent | 912690ec8896bf6dfda931a6846516cc3b4ca979 (diff) | |
| download | enigma2-d101ae667283bfd67a287556fcc3cf468539102a.tar.gz enigma2-d101ae667283bfd67a287556fcc3cf468539102a.zip | |
make eSubtitleWidget more flexible
Diffstat (limited to 'lib/gui/esubtitle.cpp')
| -rw-r--r-- | lib/gui/esubtitle.cpp | 17 |
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]; |
