From d101ae667283bfd67a287556fcc3cf468539102a Mon Sep 17 00:00:00 2001 From: Andreas Monzner Date: Thu, 27 Mar 2008 19:19:33 +0000 Subject: [PATCH] make eSubtitleWidget more flexible --- lib/gui/esubtitle.cpp | 17 ++++++++++++----- lib/gui/esubtitle.h | 3 +++ 2 files changed, 15 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 &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 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 font = new gFont("Regular", 38); + painter.setFont(font); for (int i=0; i &pixmap, gRegion changed); protected: int event(int event, void *data=0, void *data2=0); @@ -29,6 +30,8 @@ private: eTimer m_hide_subtitles_timer; gRegion m_visible_region; + + ePtr m_pixmap; // pixmap to paint on next evtPaint }; #endif -- 2.30.2