diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2009-06-09 01:59:07 +0200 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2009-06-09 01:59:07 +0200 |
| commit | 764685e06b7e1ab4e0b4aef9c91ede8ebd0cdddb (patch) | |
| tree | c6ef8ba7690aeb63bdd7095a4965c0a21b08d08b /lib | |
| parent | 1736046db88e13842e67396da8ee7b02ece75443 (diff) | |
| download | enigma2-764685e06b7e1ab4e0b4aef9c91ede8ebd0cdddb.tar.gz enigma2-764685e06b7e1ab4e0b4aef9c91ede8ebd0cdddb.zip | |
allow scale of pixmap subtitles
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/gui/esubtitle.cpp | 10 | ||||
| -rw-r--r-- | lib/gui/esubtitle.h | 3 |
2 files changed, 9 insertions, 4 deletions
diff --git a/lib/gui/esubtitle.cpp b/lib/gui/esubtitle.cpp index bf0239df..22ebc8c3 100644 --- a/lib/gui/esubtitle.cpp +++ b/lib/gui/esubtitle.cpp @@ -110,9 +110,10 @@ void eSubtitleWidget::clearPage() m_visible_region.rects.clear(); } -void eSubtitleWidget::setPixmap(ePtr<gPixmap> &pixmap, gRegion changed) +void eSubtitleWidget::setPixmap(ePtr<gPixmap> &pixmap, gRegion changed, eRect pixmap_dest) { m_pixmap = pixmap; + m_pixmap_dest = pixmap_dest; changed.scale(size().width(), pixmap->size().width(), size().height(), pixmap->size().height()); @@ -132,8 +133,11 @@ int eSubtitleWidget::event(int event, void *data, void *data2) eWidget::event(event, data, data2); if (m_pixmap) - painter.blitScale(m_pixmap, eRect(ePoint(0, 0), size())); - else if (m_page_ok) + { + eRect r = m_pixmap_dest; + r.scale(size().width(), 720, size().height(), 576); + painter.blitScale(m_pixmap, r); + } else if (m_page_ok) { int elements = m_page.m_elements.size(); painter.setFont(subtitleStyles[Subtitle_TTX].font); diff --git a/lib/gui/esubtitle.h b/lib/gui/esubtitle.h index d22ea0b8..45345db1 100644 --- a/lib/gui/esubtitle.h +++ b/lib/gui/esubtitle.h @@ -42,7 +42,7 @@ public: void setPage(const eDVBSubtitlePage &p); void setPage(const ePangoSubtitlePage &p); void clearPage(); - void setPixmap(ePtr<gPixmap> &pixmap, gRegion changed); + void setPixmap(ePtr<gPixmap> &pixmap, gRegion changed, eRect dest = eRect(0, 0, 720, 576)); typedef enum { Subtitle_TTX, Subtitle_Regular, Subtitle_Bold, Subtitle_Italic, Subtitle_MAX } subfont_t; struct eSubtitleStyle @@ -75,6 +75,7 @@ private: static eSubtitleStyle subtitleStyles[Subtitle_MAX]; ePtr<gPixmap> m_pixmap; // pixmap to paint on next evtPaint + eRect m_pixmap_dest; }; #endif |
