From a1e9d308f10dfc9b904e85e82b1bf79e423ca9f5 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Wed, 8 Jul 2009 03:11:22 +0200 Subject: [PATCH] make incoming lines delete old line content --- lib/dvb/teletext.cpp | 20 ++++++++++++++------ lib/dvb/teletext.h | 11 ++++++++--- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/lib/dvb/teletext.cpp b/lib/dvb/teletext.cpp index 381d3372..91faf855 100644 --- a/lib/dvb/teletext.cpp +++ b/lib/dvb/teletext.cpp @@ -486,6 +486,7 @@ void eDVBTeletextParser::handlePageStart() } // else // eDebug("no erase flag set!"); + m_current_source_line = -1; } void eDVBTeletextParser::handleLine(unsigned char *data, int len) @@ -494,6 +495,9 @@ void eDVBTeletextParser::handleLine(unsigned char *data, int len) for (int i=0; i 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(); -- 2.30.2