12 #include "BaseRenderer.h" 13 #include "cores/VideoPlayer/DVDCodecs/Overlay/DVDOverlay.h" 14 #include "cores/VideoPlayer/DVDSubtitles/SubtitlesStyle.h" 15 #include "settings/SubtitlesSettings.h" 16 #include "threads/CriticalSection.h" 17 #include "utils/Observer.h" 66 POSITION_ABSOLUTE_SCREEN,
74 float m_source_width{0};
75 float m_source_height{0};
93 void Notify(
const Observable& obs,
const ObservableMessage msg)
override;
95 void AddOverlay(std::shared_ptr<CDVDOverlay> o,
double pts,
int index);
96 virtual void Render(
int idx);
110 void Release(
int idx);
111 bool HasOverlay(
int idx);
113 void SetStereoMode(
const std::string &stereomode);
121 void SetSubtitleVerticalPosition(
const int value,
bool save);
127 void ResetSubtitlePosition();
142 std::shared_ptr<CDVDOverlay> overlay_dvd;
146 std::shared_ptr<COverlay> Convert(
CDVDOverlay& o,
double pts);
154 std::shared_ptr<COverlay> ConvertLibass(
158 const std::shared_ptr<struct KODI::SUBTITLES::STYLE::style>& overlayStyle);
160 void CreateSubtitlesStyle();
162 void Release(std::vector<SElement>& list);
164 void ReleaseUnused();
171 enum PositonResInfoState
173 POSRESINFO_UNSET = -1,
174 POSRESINFO_SAVE_CHANGES = -2,
177 CCriticalSection m_section;
178 std::vector<SElement> m_buffers[NUM_BUFFERS];
179 std::map<unsigned int, std::shared_ptr<COverlay>> m_textureCache;
180 static unsigned int m_textureid;
184 std::string m_stereomode;
186 int m_subtitlePosition{0};
189 int m_subtitlePosResInfo{POSRESINFO_UNSET};
190 int m_subtitleVerticalMargin{0};
191 bool m_saveSubtitlePosition{
false};
192 KODI::SUBTITLES::HorizontalAlign m_subtitleHorizontalAlign{
193 KODI::SUBTITLES::HorizontalAlign::CENTER};
194 KODI::SUBTITLES::Align m_subtitleAlign{KODI::SUBTITLES::Align::BOTTOM_OUTSIDE};
196 std::shared_ptr<struct KODI::SUBTITLES::STYLE::style> m_overlayStyle;
197 std::atomic<bool> m_isSettingsChanged{
false};
Definition: DVDOverlayText.h:16
Definition: DVDOverlaySSA.h:16
Definition: OverlayRenderer.h:41
Definition: OverlayRenderer.h:86
Definition: OverlayRenderer.h:31
Definition: DVDOverlayImage.h:18
bool IsSquareResolution(float resRatio)
Given the resolution ratio determines if it is a 4/3 resolution.
Definition: OverlayRenderer.h:83
Definition: DVDOverlayLibass.h:16
Definition: Observer.h:31
Definition: OverlayRenderer.h:33
Definition: OverlayRenderer.h:134
Definition: DVDOverlaySpu.h:16
Definition: Observer.h:44
Definition: DVDOverlay.h:27