Go to the documentation of this file.
3 #ifndef SUBTITLESCREEN_H
4 #define SUBTITLESCREEN_H
19 #include <QStringList>
41 QSize
CalcSize(
float layoutSpacing = 0.0F)
const;
42 void CalcPadding(
bool isFirst,
bool isLast,
int &left,
int &right)
const;
45 bool PreRender(
bool isFirst,
bool isLast,
int &x,
int y,
int height);
65 QSize
CalcSize(
float layoutSpacing = 0.0F)
const;
78 uint64_t start, uint64_t duration,
91 virtual void Draw(
void);
92 virtual int CacheNum(
void)
const {
return -1; }
93 QStringList
ToSRT(
void)
const;
117 const QStringList &subs) :
124 void Init(
const QStringList &subs);
131 const QString &base =
"",
132 QRect safearea = QRect(),
138 void Layout(
void)
override;
148 const vector<CC708String*> &list,
149 const QString &base =
"",
150 QRect safearea = QRect(),
152 float aspect = 1.77777F) :
158 Init(win, list, aspect);
160 void Draw(
void)
override;
165 const vector<CC708String*> &list,
201 float layoutSpacing)
const;
203 bool isFirst,
bool isLast,
204 int &left,
int &right)
const;
214 bool Create(
void)
override;
215 void Pulse(
void)
override;
222 bool top, QRect &display,
int forced,
223 const QString& imagename,
224 long long displayuntil,
long long late);
273 #endif // USING_LIBASS
276 #endif // SUBTITLESCREEN_H
void DrawTextSubtitles(const QStringList &subs, uint64_t start, uint64_t duration)
void DisplayRawTextSubtitles(void)
virtual int CacheNum(void) const
int EnabledSubtitleType(void) const
virtual void Layout(void)
CC708Reader * m_cc708reader
void Pulse(void) override
Pulse is called 70 times a second to trigger a single frame of an animation.
void Init(const QStringList &subs)
ASS_Library * m_assLibrary
bool Split(FormattedTextChunk &newChunk)
void RenderAssTrack(uint64_t timecode)
static int GetTeletextBackgroundAlpha(void)
bool InitialiseAssLibrary(void)
void AddScaledImage(QImage &img, QRect &pos)
FormattedTextChunk(QString t, CC708CharacterAttribute formatting, SubtitleScreen *p)
ASS_Renderer * m_assRenderer
void DisplayCC708Subtitles(void)
bool Create(void) override
void DisplayTextSubtitles(void)
Screen in which all other widgets are contained and rendered.
void DisplayAVSubtitles(void)
void CleanupAssLibrary(void)
FormattedTextSubtitle608(const vector< CC608Text * > &buffers, const QString &base="", QRect safearea=QRect(), SubtitleScreen *p=nullptr)
QSize CalcSize(float layoutSpacing=0.0F) const
FormattedTextSubtitle(void)=default
~SubtitleScreen() override
int m_textFontMinDurationMs
void DisplayCC608Subtitles(void)
void CalcPadding(bool isFirst, bool isLast, int &left, int &right) const
FormattedTextChunk(void)=default
void ResetElementState(void)
QSize CalcTextSize(const QString &text, const CC708CharacterAttribute &format, float layoutSpacing) const
int CacheNum(void) const override
static QString GetTeletextFontName(void)
void Clear708Cache(uint64_t mask)
void EnableSubtitles(int type, bool forced_only=false)
void Init(const vector< CC608Text * > &buffers)
QList< FormattedTextSubtitle * > m_qInited
void AddAssEvent(char *event)
void WrapLongLines(void) override
const SubtitleScreen * m_parent
void CleanupAssTrack(void)
void ClearDisplayedSubtitles(void)
void ResizeAssRenderer(void)
void InitializeFonts(bool wasResized)
void DisplayDVDButton(AVSubtitle *dvdButton, QRect &buttonPos)
MythFontProperties * m_textFont
void Layout(void) override
FormattedTextSubtitle(QString base, QRect safearea, uint64_t start, uint64_t duration, SubtitleScreen *p)
void DisableForcedSubtitles(void)
void SetZoom(int percent)
void SetElementDeleted(void)
FormattedTextLine(int x=-1, int y=-1, int o_x=-1, int o_y=-1)
int m_textFontDurationExtensionMs
FormattedTextSubtitle708(const CC708Window &win, int num, const vector< CC708String * > &list, const QString &base="", QRect safearea=QRect(), SubtitleScreen *p=nullptr, float aspect=1.77777F)
QVector< FormattedTextLine > m_lines
int m_textFontMinDurationMsPrev
QSize CalcSize(float layoutSpacing=0.0F) const
int m_textFontDurationExtensionMsPrev
QString ToLogString(void) const
void ClearNonDisplayedSubtitles(void)
void InitialiseAssTrack(int tracknum)
class SubtitleFormat * GetSubtitleFormat(void)
int m_textFontDelayMsPrev
class SubtitleFormat * m_format
void Init(const CC708Window &win, const vector< CC708String * > &list, float aspect)
void SetElementResized(void)
virtual void PreRender(void)
CC708CharacterAttribute m_format
void OptimiseDisplayedArea(void)
void SetElementAdded(void)
SubtitleScreen * m_subScreen
QStringList ToSRT(void) const
SubtitleScreen(MythPlayer *Player, MythPainter *Painter, const QString &Name, int FontStretch)
FormattedTextSubtitleSRT(const QString &base, QRect safearea, uint64_t start, uint64_t duration, SubtitleScreen *p, const QStringList &subs)
CC608Reader * m_cc608reader
SubtitleReader * m_subreader
bool PreRender(bool isFirst, bool isLast, int &x, int y, int height)
void CalcPadding(const CC708CharacterAttribute &format, bool isFirst, bool isLast, int &left, int &right) const
void SetFontSize(int pixelSize)
MythFontProperties * GetFont(const CC708CharacterAttribute &attr) const
QList< FormattedTextChunk > chunks
virtual ~FormattedTextSubtitle()=default
virtual void WrapLongLines(void)
int DisplayScaledAVSubtitles(const AVSubtitleRect *rect, QRect &bbox, bool top, QRect &display, int forced, const QString &imagename, long long displayuntil, long long late)
void ClearAllSubtitles(void)