aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2009-06-09 01:59:07 +0200
committerFelix Domke <tmbinc@elitedvb.net>2009-06-09 01:59:07 +0200
commit764685e06b7e1ab4e0b4aef9c91ede8ebd0cdddb (patch)
treec6ef8ba7690aeb63bdd7095a4965c0a21b08d08b /lib
parent1736046db88e13842e67396da8ee7b02ece75443 (diff)
downloadenigma2-764685e06b7e1ab4e0b4aef9c91ede8ebd0cdddb.tar.gz
enigma2-764685e06b7e1ab4e0b4aef9c91ede8ebd0cdddb.zip
allow scale of pixmap subtitles
Diffstat (limited to 'lib')
-rw-r--r--lib/gui/esubtitle.cpp10
-rw-r--r--lib/gui/esubtitle.h3
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