aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/teletext.h
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@2mac.waldobjekt.org>2009-07-08 03:11:22 +0200
committerFelix Domke <tmbinc@2mac.waldobjekt.org>2009-07-08 03:11:22 +0200
commita1e9d308f10dfc9b904e85e82b1bf79e423ca9f5 (patch)
tree50c16d3ce68647b807799954ddf6b1487cf4642f /lib/dvb/teletext.h
parent6be112ae10b8eb851ddac2f49412af766d611b25 (diff)
downloadenigma2-a1e9d308f10dfc9b904e85e82b1bf79e423ca9f5.tar.gz
enigma2-a1e9d308f10dfc9b904e85e82b1bf79e423ca9f5.zip
make incoming lines delete old line content
Diffstat (limited to 'lib/dvb/teletext.h')
-rw-r--r--lib/dvb/teletext.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/dvb/teletext.h b/lib/dvb/teletext.h
index 880fa569..7c62afb9 100644
--- a/lib/dvb/teletext.h
+++ b/lib/dvb/teletext.h
@@ -13,8 +13,11 @@ struct eDVBTeletextSubtitlePageElement
gRGB m_color;
std::string m_text;
eRect m_area;
- eDVBTeletextSubtitlePageElement(const gRGB &color, const std::string &text)
- : m_color(color), m_text(text)
+
+ int m_source_line;
+
+ eDVBTeletextSubtitlePageElement(const gRGB &color, const std::string &text, int source_line)
+ : m_color(color), m_text(text), m_source_line(source_line)
{
}
};
@@ -26,6 +29,7 @@ struct eDVBTeletextSubtitlePage
int m_timeout; /* in pts */
std::vector<eDVBTeletextSubtitlePageElement> m_elements;
+ void clearLine(int line) { for (unsigned int i = 0; i < m_elements.size(); ) if (m_elements[i].m_source_line == line) m_elements.erase(m_elements.begin() + i); else ++i; }
void clear() { m_elements.clear(); }
};
@@ -59,8 +63,9 @@ private:
std::string m_subtitle_text;
int m_subtitle_color;
+ int m_current_source_line;
- void addSubtitleString(int color, std::string string);
+ void addSubtitleString(int color, std::string string, int source_line);
void sendSubtitlePage();