SubtitleScreen Class Reference

#include <subtitlescreen.h>

Inheritance diagram for SubtitleScreen:
MythScreenType MythUIType XMLParseBase

List of all members.

Public Member Functions

 SubtitleScreen (MythPlayer *player, const char *name, int fontStretch)
virtual ~SubtitleScreen ()
void EnableSubtitles (int type, bool forced_only=false)
void DisableForcedSubtitles (void)
int EnabledSubtitleType (void)
void ClearAllSubtitles (void)
void ClearNonDisplayedSubtitles (void)
void ClearDisplayedSubtitles (void)
void ExpireSubtitles (void)
void DisplayDVDButton (AVSubtitle *dvdButton, QRect &buttonPos)
void SetZoom (int percent)
int GetZoom (void)
QSize CalcTextSize (const QString &text, const CC708CharacterAttribute &format, bool teletext, float layoutSpacing) const
int CalcPadding (const CC708CharacterAttribute &format, bool teletext, bool isLeft) const
void RegisterExpiration (MythUIType *shape, long long endTime)
virtual bool Create (void)
virtual void Pulse (void)
 Pulse is called 70 times a second to trigger a single frame of an animation.

Static Public Member Functions

static QString GetTeletextFontName (void)

Private Member Functions

void OptimiseDisplayedArea (void)
void DisplayAVSubtitles (void)
int DisplayScaledAVSubtitles (const AVSubtitleRect *rect, QRect &bbox, bool top, QRect &display, int forced, QString imagename, long long displayuntil, long long late)
void DisplayTextSubtitles (void)
void DisplayRawTextSubtitles (void)
void DrawTextSubtitles (QStringList &wrappedsubs, uint64_t start, uint64_t duration)
void DisplayCC608Subtitles (void)
void DisplayCC708Subtitles (void)
void AddScaledImage (QImage &img, QRect &pos)
void Clear708Cache (int num)
void InitializeFonts (bool wasResized)
MythFontPropertiesGetFont (CC708CharacterAttribute attr, bool teletext) const
void SetFontSize (int pixelSize)
bool InitialiseAssLibrary (void)
void LoadAssFonts (void)
void CleanupAssLibrary (void)
void InitialiseAssTrack (int tracknum)
void CleanupAssTrack (void)
void AddAssEvent (char *event)
void ResizeAssRenderer (void)
void RenderAssTrack (uint64_t timecode)

Private Attributes

MythPlayerm_player
SubtitleReaderm_subreader
CC608Readerm_608reader
CC708Readerm_708reader
QRect m_safeArea
QRegExp m_removeHTML
int m_subtitleType
QHash< MythUIType *, long long > m_expireTimes
QHash< MythUIType *, MythImage * > m_avsubCache
int m_fontSize
int m_textFontZoom
int m_textFontZoomPrev
bool m_refreshArea
QHash< int, QList< MythUIType * > > m_708imageCache
int m_fontStretch
QString m_family
class SubtitleFormatm_format
ASS_Library * m_assLibrary
ASS_Renderer * m_assRenderer
int m_assTrackNum
ASS_Track * m_assTrack
uint m_assFontCount

Friends

class FormattedTextSubtitle

Detailed Description

Definition at line 24 of file subtitlescreen.h.


Constructor & Destructor Documentation

SubtitleScreen::SubtitleScreen ( MythPlayer player,
const char *  name,
int  fontStretch 
)

Definition at line 525 of file subtitlescreen.cpp.

SubtitleScreen::~SubtitleScreen ( void   )  [virtual]

Definition at line 546 of file subtitlescreen.cpp.


Member Function Documentation

void SubtitleScreen::EnableSubtitles ( int  type,
bool  forced_only = false 
)

Definition at line 555 of file subtitlescreen.cpp.

Referenced by OSD::EnableSubtitles().

void SubtitleScreen::DisableForcedSubtitles ( void   ) 

Definition at line 599 of file subtitlescreen.cpp.

Referenced by OSD::DisableForcedSubtitles().

int SubtitleScreen::EnabledSubtitleType ( void   )  [inline]

Definition at line 34 of file subtitlescreen.h.

void SubtitleScreen::ClearAllSubtitles ( void   ) 
void SubtitleScreen::ClearNonDisplayedSubtitles ( void   ) 

Definition at line 657 of file subtitlescreen.cpp.

Referenced by ClearAllSubtitles().

void SubtitleScreen::ClearDisplayedSubtitles ( void   ) 

Definition at line 669 of file subtitlescreen.cpp.

Referenced by ClearAllSubtitles(), and DisplayAVSubtitles().

void SubtitleScreen::ExpireSubtitles ( void   ) 

Definition at line 679 of file subtitlescreen.cpp.

Referenced by Pulse().

void SubtitleScreen::DisplayDVDButton ( AVSubtitle *  dvdButton,
QRect &  buttonPos 
)

Definition at line 1138 of file subtitlescreen.cpp.

Referenced by OSD::DisplayDVDButton().

void SubtitleScreen::SetZoom ( int  percent  ) 

Definition at line 1417 of file subtitlescreen.cpp.

Referenced by TV::ChangeSubtitleZoom().

int SubtitleScreen::GetZoom ( void   ) 

Definition at line 1426 of file subtitlescreen.cpp.

Referenced by TV::ChangeSubtitleZoom().

QSize SubtitleScreen::CalcTextSize ( const QString &  text,
const CC708CharacterAttribute format,
bool  teletext,
float  layoutSpacing 
) const

Definition at line 2043 of file subtitlescreen.cpp.

Referenced by FormattedTextChunk::CalcSize().

int SubtitleScreen::CalcPadding ( const CC708CharacterAttribute format,
bool  teletext,
bool  isLeft 
) const

Definition at line 2062 of file subtitlescreen.cpp.

Referenced by FormattedTextChunk::CalcPadding().

void SubtitleScreen::RegisterExpiration ( MythUIType shape,
long long  endTime 
) [inline]

Definition at line 52 of file subtitlescreen.h.

Referenced by FormattedTextSubtitle::Draw().

QString SubtitleScreen::GetTeletextFontName ( void   )  [static]

Definition at line 2074 of file subtitlescreen.cpp.

Referenced by TeletextScreen::InitialiseFont().

bool SubtitleScreen::Create ( void   )  [virtual]

Reimplemented from MythScreenType.

Definition at line 608 of file subtitlescreen.cpp.

Referenced by OSD::InitSubtitles().

void SubtitleScreen::Pulse ( void   )  [virtual]

Pulse is called 70 times a second to trigger a single frame of an animation.

This changes the alpha value of the widget

Reimplemented from MythUIType.

Definition at line 626 of file subtitlescreen.cpp.

void SubtitleScreen::OptimiseDisplayedArea ( void   )  [private]

Definition at line 698 of file subtitlescreen.cpp.

Referenced by Pulse().

void SubtitleScreen::DisplayAVSubtitles ( void   )  [private]

Definition at line 729 of file subtitlescreen.cpp.

Referenced by Pulse().

int SubtitleScreen::DisplayScaledAVSubtitles ( const AVSubtitleRect *  rect,
QRect &  bbox,
bool  top,
QRect &  display,
int  forced,
QString  imagename,
long long  displayuntil,
long long  late 
) [private]

Definition at line 866 of file subtitlescreen.cpp.

Referenced by DisplayAVSubtitles().

void SubtitleScreen::DisplayTextSubtitles ( void   )  [private]

Definition at line 1035 of file subtitlescreen.cpp.

Referenced by Pulse().

void SubtitleScreen::DisplayRawTextSubtitles ( void   )  [private]

Definition at line 1103 of file subtitlescreen.cpp.

Referenced by Pulse().

void SubtitleScreen::DrawTextSubtitles ( QStringList &  wrappedsubs,
uint64_t  start,
uint64_t  duration 
) [private]

Definition at line 1128 of file subtitlescreen.cpp.

Referenced by DisplayRawTextSubtitles(), and DisplayTextSubtitles().

void SubtitleScreen::DisplayCC608Subtitles ( void   )  [private]

Definition at line 1267 of file subtitlescreen.cpp.

Referenced by Pulse().

void SubtitleScreen::DisplayCC708Subtitles ( void   )  [private]

Definition at line 1305 of file subtitlescreen.cpp.

Referenced by Pulse().

void SubtitleScreen::AddScaledImage ( QImage &  img,
QRect &  pos 
) [private]

Definition at line 1379 of file subtitlescreen.cpp.

Referenced by DisplayDVDButton().

void SubtitleScreen::Clear708Cache ( int  num  )  [private]

Definition at line 1369 of file subtitlescreen.cpp.

Referenced by ClearDisplayedSubtitles(), and DisplayCC708Subtitles().

void SubtitleScreen::InitializeFonts ( bool  wasResized  )  [private]
MythFontProperties * SubtitleScreen::GetFont ( CC708CharacterAttribute  attr,
bool  teletext 
) const [private]
void SubtitleScreen::SetFontSize ( int  pixelSize  )  [inline, private]
bool SubtitleScreen::InitialiseAssLibrary ( void   )  [private]

Definition at line 2139 of file subtitlescreen.cpp.

Referenced by InitialiseAssTrack().

void SubtitleScreen::LoadAssFonts ( void   )  [private]

Definition at line 2171 of file subtitlescreen.cpp.

Referenced by InitialiseAssLibrary(), and InitialiseAssTrack().

void SubtitleScreen::CleanupAssLibrary ( void   )  [private]

Definition at line 2196 of file subtitlescreen.cpp.

Referenced by ~SubtitleScreen().

void SubtitleScreen::InitialiseAssTrack ( int  tracknum  )  [private]

Definition at line 2213 of file subtitlescreen.cpp.

Referenced by DisplayAVSubtitles().

void SubtitleScreen::CleanupAssTrack ( void   )  [private]

Definition at line 2234 of file subtitlescreen.cpp.

Referenced by CleanupAssLibrary(), and InitialiseAssTrack().

void SubtitleScreen::AddAssEvent ( char *  event  )  [private]

Definition at line 2241 of file subtitlescreen.cpp.

Referenced by DisplayAVSubtitles().

void SubtitleScreen::ResizeAssRenderer ( void   )  [private]

Definition at line 2247 of file subtitlescreen.cpp.

Referenced by InitialiseAssTrack(), and RenderAssTrack().

void SubtitleScreen::RenderAssTrack ( uint64_t  timecode  )  [private]

Definition at line 2256 of file subtitlescreen.cpp.

Referenced by DisplayAVSubtitles().


Friends And Related Function Documentation

friend class FormattedTextSubtitle [friend]

Definition at line 26 of file subtitlescreen.h.


Member Data Documentation

QRect SubtitleScreen::m_safeArea [private]
QRegExp SubtitleScreen::m_removeHTML [private]

Definition at line 90 of file subtitlescreen.h.

Referenced by SubtitleScreen().

QHash<MythUIType*, long long> SubtitleScreen::m_expireTimes [private]

Definition at line 94 of file subtitlescreen.h.

Referenced by GetFont(), and SetFontSize().

QHash<int,QList<MythUIType*> > SubtitleScreen::m_708imageCache [private]

Definition at line 98 of file subtitlescreen.h.

Referenced by Clear708Cache(), and DisplayCC708Subtitles().

Definition at line 99 of file subtitlescreen.h.

Referenced by GetFont().

QString SubtitleScreen::m_family [private]

Definition at line 101 of file subtitlescreen.h.

Referenced by FormattedTextSubtitle::Draw(), GetFont(), and ~SubtitleScreen().

ASS_Library* SubtitleScreen::m_assLibrary [private]
ASS_Renderer* SubtitleScreen::m_assRenderer [private]

Definition at line 115 of file subtitlescreen.h.

Referenced by InitialiseAssTrack(), and SubtitleScreen().

ASS_Track* SubtitleScreen::m_assTrack [private]

Definition at line 117 of file subtitlescreen.h.

Referenced by CleanupAssLibrary(), LoadAssFonts(), and SubtitleScreen().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends
Generated on Mon May 28 06:42:28 2012 for MythTV by  doxygen 1.6.3