19 DVDOVERLAY_TYPE_NONE = -1,
20 DVDOVERLAY_TYPE_SPU = 1,
21 DVDOVERLAY_TYPE_TEXT = 2,
22 DVDOVERLAY_TYPE_IMAGE = 3,
23 DVDOVERLAY_TYPE_SSA = 4,
24 DVDOVERLAY_TYPE_GROUP = 5,
27 class CDVDOverlay :
public std::enable_shared_from_this<CDVDOverlay>
39 m_enableTextAlign =
false;
40 m_overlayContainerFlushable =
true;
41 m_setForcedMargins =
false;
47 iPTSStartTime = src.iPTSStartTime;
48 iPTSStopTime = src.iPTSStopTime;
49 bForced = src.bForced;
50 replace = src.replace;
52 m_enableTextAlign = src.m_enableTextAlign;
53 m_overlayContainerFlushable = src.m_overlayContainerFlushable;
54 m_setForcedMargins = src.m_setForcedMargins;
59 bool IsOverlayType(DVDOverlayType type)
const {
return (m_type == type); }
65 virtual std::shared_ptr<CDVDOverlay>
Clone() {
return shared_from_this(); }
70 virtual void SetTextAlignEnabled(
bool enable)
72 throw std::logic_error(
"EnableTextAlign method not implemented.");
78 bool IsTextAlignEnabled()
const {
return m_enableTextAlign; }
83 void SetOverlayContainerFlushable(
bool isFlushable) { m_overlayContainerFlushable = isFlushable; }
88 bool IsOverlayContainerFlushable()
const {
return m_overlayContainerFlushable; }
93 void SetForcedMargins(
bool setForcedMargins) { m_setForcedMargins = setForcedMargins; }
98 bool IsForcedMargins()
const {
return m_setForcedMargins; }
100 double iPTSStartTime;
104 unsigned long m_textureid;
107 DVDOverlayType m_type;
108 bool m_enableTextAlign;
109 bool m_overlayContainerFlushable;
110 bool m_setForcedMargins;
113 using VecOverlays = std::vector<std::shared_ptr<CDVDOverlay>>;
126 VecOverlays m_overlays;
Definition: DVDOverlay.h:115
virtual std::shared_ptr< CDVDOverlay > Clone()
return a copy to VideoPlayerSubtitle in order to have hw resources cleared after rendering ...
Definition: DVDOverlay.h:65
Definition: DVDOverlay.h:27