openATV enigma2
openATV is an open source SetTopBox Graphical user interface.
esubtitle.h
Go to the documentation of this file.
1 #ifndef __lib_gui_subtitle_h
2 #define __lib_gui_subtitle_h
3 
4 #include <map>
5 #include <lib/gui/ewidget.h>
6 #include <lib/dvb/teletext.h>
7 #include <lib/dvb/subtitle.h>
8 
10 {
13  std::string m_pango_line;
15  ePangoSubtitlePageElement(const gRGB &color, const std::string &text)
16  : m_color(color), m_have_color(true), m_pango_line(text)
17  {
18  }
19  ePangoSubtitlePageElement(const std::string &text)
20  : m_have_color(false), m_pango_line(text)
21  {
22  }
23 };
24 
26 {
28  int m_timeout; /* in milliseconds */
29  std::vector<ePangoSubtitlePageElement> m_elements;
30  void clear() { m_elements.clear(); }
31 };
32 
34 {
36  int m_timeout; /* in milliseconds */
38 };
39 
41 struct eDVBSubtitlePage;
42 
43 class eSubtitleWidget: public eWidget, public iSubtitleUser, public sigc::trackable
44 {
45 public:
46  eSubtitleWidget(eWidget *parent);
47 
48  void setPage(const eDVBTeletextSubtitlePage &p);
49  void setPage(const eDVBSubtitlePage &p);
50  void setPage(const ePangoSubtitlePage &p);
51  void setPage(const eVobSubtitlePage &p);
52  void clearPage();
53  void setPixmap(ePtr<gPixmap> &pixmap, gRegion changed, eRect dest = eRect(0, 0, 720, 576));
54  void destroy() { delete this; }
55 
58  {
64  };
65 
66  static void setFontStyle(subfont_t face, gFont *font, int autoColor, const gRGB &col, const gRGB &borderCol, int borderWidth);
67 
68 protected:
69  int event(int event, void *data=0, void *data2=0);
70  void removeHearingImpaired(std::string& str);
71 private:
72  int m_page_ok;
74 
75  int m_dvb_page_ok;
76  eDVBSubtitlePage m_dvb_page;
77 
78  int m_pango_page_ok;
79  ePangoSubtitlePage m_pango_page;
80 
81  ePtr<eTimer> m_hide_subtitles_timer;
82 
83  gRegion m_visible_region;
84 
85  static std::map<subfont_t, eSubtitleStyle> subtitleStyles;
86 
87  ePtr<gPixmap> m_pixmap; // pixmap to paint on next evtPaint
88  eRect m_pixmap_dest;
89 };
90 
91 #endif
long long pts_t
Definition: cfile.h:7
Definition: erect.h:11
Definition: esubtitle.h:44
void setPixmap(ePtr< gPixmap > &pixmap, gRegion changed, eRect dest=eRect(0, 0, 720, 576))
Definition: esubtitle.cpp:258
void destroy()
Definition: esubtitle.h:54
subfont_t
Definition: esubtitle.h:56
@ Subtitle_MAX
Definition: esubtitle.h:56
@ Subtitle_Regular
Definition: esubtitle.h:56
@ Subtitle_TTX
Definition: esubtitle.h:56
@ Subtitle_Bold
Definition: esubtitle.h:56
@ Subtitle_Italic
Definition: esubtitle.h:56
void setPage(const eDVBTeletextSubtitlePage &p)
Definition: esubtitle.cpp:21
eSubtitleWidget(eWidget *parent)
Definition: esubtitle.cpp:10
void clearPage()
Definition: esubtitle.cpp:248
static void setFontStyle(subfont_t face, gFont *font, int autoColor, const gRGB &col, const gRGB &borderCol, int borderWidth)
Definition: esubtitle.cpp:462
int event(int event, void *data=0, void *data2=0)
Definition: esubtitle.cpp:273
void removeHearingImpaired(std::string &str)
Definition: esubtitle.cpp:471
Definition: ewidget.h:14
A softreference to a font.
Definition: gfont.h:14
Definition: region.h:9
Definition: iservice.h:725
fontRenderClass * font
unsigned char data[256]
Definition: hdmi_cec.h:2
dest
Definition: enigma_py_patcher.py:10
str
Definition: enigma_py_patcher.py:14
p
Definition: upgrade.py:63
Definition: picload.cpp:163
Definition: subtitle.h:105
Definition: teletext.h:26
Definition: esubtitle.h:10
bool m_have_color
Definition: esubtitle.h:12
std::string m_pango_line
Definition: esubtitle.h:13
ePangoSubtitlePageElement(const gRGB &color, const std::string &text)
Definition: esubtitle.h:15
eRect m_area
Definition: esubtitle.h:14
ePangoSubtitlePageElement(const std::string &text)
Definition: esubtitle.h:19
gRGB m_color
Definition: esubtitle.h:11
Definition: esubtitle.h:26
pts_t m_show_pts
Definition: esubtitle.h:27
void clear()
Definition: esubtitle.h:30
std::vector< ePangoSubtitlePageElement > m_elements
Definition: esubtitle.h:29
int m_timeout
Definition: esubtitle.h:28
Definition: esubtitle.h:58
subfont_t face
Definition: esubtitle.h:59
int border_width
Definition: esubtitle.h:62
gRGB border_color
Definition: esubtitle.h:61
int have_foreground_color
Definition: esubtitle.h:60
gRGB foreground_color
Definition: esubtitle.h:61
ePtr< gFont > font
Definition: esubtitle.h:63
Definition: esubtitle.h:34
int m_timeout
Definition: esubtitle.h:36
pts_t m_show_pts
Definition: esubtitle.h:35
ePtr< gPixmap > m_pixmap
Definition: esubtitle.h:37
Definition: gpixmap.h:14