add possibility to change services in single service epg with bouquet +/- key
[enigma2.git] / lib / gui / esubtitle.h
index 155427730ed056926d16345a082c7da00fba1eaf..c88df0e689509bb1013a5a9208f04bba4e9b7f12 100644 (file)
@@ -5,7 +5,29 @@
 #include <lib/dvb/teletext.h>
 #include <lib/dvb/subtitle.h>
 
+struct ePangoSubtitlePageElement
+{
+       gRGB m_color;
+       std::string m_pango_line;
+       eRect m_area;
+       ePangoSubtitlePageElement(const gRGB &color, const std::string &text)
+               : m_color(color), m_pango_line(text)
+       {
+       }
+};
+
+struct ePangoSubtitlePage
+{
+       pts_t m_pts;
+       int m_have_pts;
+       int m_timeout; /* in milliseconds */
+       std::vector<ePangoSubtitlePageElement> m_elements;
+       void clear() { m_elements.clear(); }
+};
+
 class eDVBTeletextSubtitlePage;
+class eDVBPangoSubtitlePage;
+class ePangoSubtitlePage;
 
 class eSubtitleWidget: public eWidget, public Object
 {
@@ -14,6 +36,7 @@ public:
        
        void setPage(const eDVBTeletextSubtitlePage &p);
        void setPage(const eDVBSubtitlePage &p);
+       void setPage(const ePangoSubtitlePage &p);
        void clearPage();
 
        void setPixmap(ePtr<gPixmap> &pixmap, gRegion changed);
@@ -27,7 +50,10 @@ private:
        int m_dvb_page_ok;
        eDVBSubtitlePage m_dvb_page;
 
-       eTimer m_hide_subtitles_timer;
+       int m_pango_page_ok;
+       ePangoSubtitlePage m_pango_page;
+
+       ePtr<eTimer> m_hide_subtitles_timer;
 
        gRegion m_visible_region;