summaryrefslogtreecommitdiff
path: root/displaychannel.h
blob: d4d1403592acc368dc239670cd3add27d59ec9f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#ifndef __NOPACITY_DISPLAYCHANNEL_H
#define __NOPACITY_DISPLAYCHANNEL_H

enum eLogoPosition {lpNone = 0, lpLeft, lpRight};
enum eBackgroundStyle {bsTrans = 0, bsFull};

class cNopacityDisplayChannel : public cSkinDisplayChannel, cThread {
private:
    bool doOutput;
    int FrameTime;
    int FadeTime;
    bool withInfo;
    bool initial;
    bool groupSep;
    bool channelChange;
    bool isRadioChannel;
    bool radioIconDrawn;
    cString lastDate;
    int lastSeen;
    time_t lastSignalDisplay;
    int lastSignalStrength;
    int lastSignalQuality;
    int lastScreenWidth;
    int currentLast;
    bool showSignal;
    const cEvent *present;
    cOsd *osd;
    cPixmap *pixmapBackgroundTop;
    cPixmap *pixmapBackgroundMiddle;
    cPixmap *pixmapBackgroundBottom;
    cPixmap *pixmapChannelInfo;
    cPixmap *pixmapDate;
    cPixmap *pixmapLogo;
    cPixmap *pixmapLogoBackground;
    cPixmap *pixmapLogoBackgroundTop;
    cPixmap *pixmapLogoBackgroundBottom;
    cPixmap *pixmapProgressBar;
    cPixmap *pixmapEPGInfo;
    cPixmap *pixmapFooter;
    cPixmap *pixmapStreamInfo;
    cPixmap *pixmapStreamInfoBack;
    cPixmap *pixmapSignalStrength;
    cPixmap *pixmapSignalQuality;
    cPixmap *pixmapSignalMeter;
    cPixmap *pixmapSignalLabel;
    cPixmap *pixmapScreenResolution;
    cPixmap *pixmapPoster;
    int top, height;
    int infoWidth;
    int infoX;
    int channelInfoWidth;
    int channelInfoHeight;
    int dateWidth;
    int progressBarHeight;
    int epgInfoHeight;
    int epgInfoLineHeight;
    int streamInfoHeight;
    int streamInfoY;
    int iconSize;
    int iconsWidth;
    int signalWidth, signalHeight, signalX;
    cFont *fontHeader;
    cFont *fontDate;
    cFont *fontEPG;
    cFont *fontEPGSmall;
    cFont *fontInfoline;
    cFont *fontChannelGroup;
    cFont *fontChannelGroupSmall;
    virtual void Action(void);
    void SetGeometry(void);
    void CreatePixmaps(void);
    void CreateFonts(void);
    void DrawBackground(void);
    void DrawDate(void);
    void DrawProgressBar(int Current, int Total);
    tColor DrawProgressbarBackground(int left, int top, int width, int height);
    void DrawIconMask(void);
    void DrawIcons(const cChannel *Channel);
    void DrawIconsSingle(const cChannel *Channel);
    void DrawScreenResolution(void);
    void DrawSignalMeter(void);
    void ShowSignalMeter(void);
    void HideSignalMeter(void);
    void DrawSignal(void);
    void DrawSourceInfo(const cChannel *Channel);
    void DrawChannelGroups(const cChannel *Channel, cString ChannelName);
    cString GetChannelSep(const cChannel *channel, bool prev);
    void DrawPoster(const cEvent *event);
public:
    cNopacityDisplayChannel(bool WithInfo);
    virtual ~cNopacityDisplayChannel();
    virtual void SetChannel(const cChannel *Channel, int Number);
    virtual void SetEvents(const cEvent *Present, const cEvent *Following);
    virtual void SetMessage(eMessageType Type, const char *Text);
    virtual void Flush(void);
};
#endif //__NOPACITY_DISPLAYCHANNEL_H