Skip to content

Commit

Permalink
Teletext: Clear teletext captions when skipping etc.
Browse files Browse the repository at this point in the history
Closes #9763
  • Loading branch information
Mark Kendall committed Oct 3, 2011
1 parent 998288d commit 71301ed
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 5 deletions.
5 changes: 5 additions & 0 deletions mythtv/libs/libmythtv/mythplayer.cpp
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -1304,6 +1304,11 @@ void MythPlayer::ResetCaptions(void)
{ {
osd->ClearSubtitles(); osd->ClearSubtitles();
} }
else if ((textDisplayMode & kDisplayTeletextCaptions) ||
(textDisplayMode & kDisplayNUVTeletextCaptions))
{
osd->TeletextClear();
}
} }


void MythPlayer::DisableCaptions(uint mode, bool osd_msg) void MythPlayer::DisableCaptions(uint mode, bool osd_msg)
Expand Down
10 changes: 10 additions & 0 deletions mythtv/libs/libmythtv/osd.cpp
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -1074,6 +1074,16 @@ void OSD::TeletextReset(void)
tt->Reset(); tt->Reset();
} }


void OSD::TeletextClear(void)
{
if (!HasWindow(OSD_WIN_TELETEXT))
return;

TeletextScreen* tt = (TeletextScreen*)m_Children.value(OSD_WIN_TELETEXT);
if (tt)
tt->ClearScreen();
}

SubtitleScreen* OSD::InitSubtitles(void) SubtitleScreen* OSD::InitSubtitles(void)
{ {
SubtitleScreen *sub = NULL; SubtitleScreen *sub = NULL;
Expand Down
1 change: 1 addition & 0 deletions mythtv/libs/libmythtv/osd.h
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@ class OSD
void EnableTeletext(bool enable, int page); void EnableTeletext(bool enable, int page);
bool TeletextAction(const QString &action); bool TeletextAction(const QString &action);
void TeletextReset(void); void TeletextReset(void);
void TeletextClear(void);


SubtitleScreen* InitSubtitles(void); SubtitleScreen* InitSubtitles(void);
void EnableSubtitles(int type); void EnableSubtitles(int type);
Expand Down
8 changes: 4 additions & 4 deletions mythtv/libs/libmythtv/teletextscreen.cpp
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ TeletextScreen::TeletextScreen(MythPlayer *player, const char * name,


TeletextScreen::~TeletextScreen() TeletextScreen::~TeletextScreen()
{ {
CleanUp(); ClearScreen();
} }


bool TeletextScreen::Create(void) bool TeletextScreen::Create(void)
Expand All @@ -62,7 +62,7 @@ bool TeletextScreen::Create(void)
return m_player && m_teletextReader; return m_player && m_teletextReader;
} }


void TeletextScreen::CleanUp(void) void TeletextScreen::ClearScreen(void)
{ {
DeleteAllChildren(); DeleteAllChildren();
for (int i = 0; i < m_rowImages.size(); i++) for (int i = 0; i < m_rowImages.size(); i++)
Expand Down Expand Up @@ -191,7 +191,7 @@ void TeletextScreen::Pulse(void)
if (!m_teletextReader->PageChanged()) if (!m_teletextReader->PageChanged())
return; return;


CleanUp(); ClearScreen();


const TeletextSubPage *ttpage = m_teletextReader->FindSubPage(); const TeletextSubPage *ttpage = m_teletextReader->FindSubPage();


Expand Down Expand Up @@ -247,7 +247,7 @@ void TeletextScreen::SetDisplaying(bool display)
{ {
m_displaying = display; m_displaying = display;
if (!m_displaying) if (!m_displaying)
CleanUp(); ClearScreen();
} }


void TeletextScreen::Reset(void) void TeletextScreen::Reset(void)
Expand Down
2 changes: 1 addition & 1 deletion mythtv/libs/libmythtv/teletextscreen.h
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ class TeletextScreen: public MythScreenType
void SetPage(int page, int subpage); void SetPage(int page, int subpage);
void SetDisplaying(bool display); void SetDisplaying(bool display);
void Reset(void); void Reset(void);
void ClearScreen(void);


private: private:
void CleanUp();
void OptimiseDisplayedArea(void); void OptimiseDisplayedArea(void);
QImage* GetRowImage(int row, QRect &rect); QImage* GetRowImage(int row, QRect &rect);
void SetForegroundColor(int color); void SetForegroundColor(int color);
Expand Down

0 comments on commit 71301ed

Please sign in to comment.