diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2006-06-06 17:05:55 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2006-06-06 17:05:55 +0000 |
| commit | 1ea1344136bafa89159eacc25896d279dccda593 (patch) | |
| tree | bae3ff47c48807efa250a2ab5c2fbf017359f5e5 /lib/gui/esubtitle.cpp | |
| parent | 6e95f24aaf7e2629f193269397ec187ddda8ea3d (diff) | |
| download | enigma2-1ea1344136bafa89159eacc25896d279dccda593.tar.gz enigma2-1ea1344136bafa89159eacc25896d279dccda593.zip | |
fix
Diffstat (limited to 'lib/gui/esubtitle.cpp')
| -rw-r--r-- | lib/gui/esubtitle.cpp | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/lib/gui/esubtitle.cpp b/lib/gui/esubtitle.cpp index 933a6c62..167325d8 100644 --- a/lib/gui/esubtitle.cpp +++ b/lib/gui/esubtitle.cpp @@ -13,23 +13,19 @@ eSubtitleWidget::eSubtitleWidget(eWidget *parent) : eWidget(parent) { setBackgroundColor(gRGB(0,0,0,255)); + m_page_ok = 0; } -void eSubtitleWidget::addPage(const eDVBTeletextSubtitlePage &p) +void eSubtitleWidget::setPage(const eDVBTeletextSubtitlePage &p) { - eDebug("ADD Subtitle Page!!"); - m_pages.clear(); - m_pages.push_back(p); - checkTiming(); -} - -void eSubtitleWidget::checkTiming() -{ - activatePage(); + m_page = p; + m_page_ok = 1; + invalidate(); } -void eSubtitleWidget::activatePage() +void eSubtitleWidget::clearPage() { + m_page_ok = 0; invalidate(); } @@ -48,21 +44,20 @@ int eSubtitleWidget::event(int event, void *data, void *data2) ePtr<gFont> font = new gFont("Regular", 30); painter.setFont(font); - std::list<eDVBTeletextSubtitlePage>::iterator pi = m_pages.begin(); - if (pi == m_pages.end()) + + if (!m_page_ok) painter.renderText(eRect(ePoint(0, 0), size()), "waiting for subtitles...", gPainter::RT_WRAP); else { - const eDVBTeletextSubtitlePage &page = *pi; - int elements = page.m_elements.size(); + int elements = m_page.m_elements.size(); int height = size().height(); int size_per_element = height / (elements ? elements : 1); for (int i=0; i<elements; ++i) { painter.setForegroundColor(gRGB(0,0,0)); - painter.renderText(eRect(2, size_per_element * i + 2, size().width(), size_per_element), page.m_elements[i].m_text, gPainter::RT_WRAP|gPainter::RT_VALIGN_CENTER|gPainter::RT_HALIGN_CENTER); - painter.setForegroundColor(page.m_elements[i].m_color); - painter.renderText(eRect(0, size_per_element * i, size().width(), size_per_element), page.m_elements[i].m_text, gPainter::RT_WRAP|gPainter::RT_VALIGN_CENTER|gPainter::RT_HALIGN_CENTER); + painter.renderText(eRect(2, size_per_element * i + 2, size().width(), size_per_element), m_page.m_elements[i].m_text, gPainter::RT_WRAP|gPainter::RT_VALIGN_CENTER|gPainter::RT_HALIGN_CENTER); + painter.setForegroundColor(m_page.m_elements[i].m_color); + painter.renderText(eRect(0, size_per_element * i, size().width(), size_per_element), m_page.m_elements[i].m_text, gPainter::RT_WRAP|gPainter::RT_VALIGN_CENTER|gPainter::RT_HALIGN_CENTER); } } return 0; |
