summaryrefslogtreecommitdiff
path: root/displaychannel.h
blob: a83b0e5a4e25fa0afbc206047b9d2ec4aa13d482 (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
#pragma once

#include <vdr/status.h>
#include "baserender.h"
#include "flat.h"
#include "services/scraper2vdr.h"
#include "femonreceiver.h"

class cFlatDisplayChannel : public cFlatBaseRender, public cSkinDisplayChannel, public cStatus {
    private:
        bool doOutput;
        const cEvent *present;

        int channelWidth, channelHeight;

        cString channelName;
        const cChannel *CurChannel;

        cPixmap *chanInfoTopPixmap;
        cPixmap *chanInfoBottomPixmap;
        cPixmap *chanLogoPixmap;
        cPixmap *chanLogoBGPixmap;
        cPixmap *chanIconsPixmap;
        cPixmap *chanEpgImagesPixmap;

        int screenWidth, lastScreenWidth;
        int screenHeight;
        double screenAspect;
        int heightBottom, heightImageLogo;

        int LastSignalStrength, LastSignalQuality;

        // femon
        cFemonReceiver *m_Receiver;
        double bitrateVideo, bitrateAudio, bitrateDolby;

        // TVScraper
        int TVSLeft, TVSTop, TVSWidth, TVSHeight;

        // TextScroller
        cTextScrollers scrollers;

        bool isRecording;
        bool isRadioChannel;
        bool isGroup;

        void SignalQualityDraw(void);
        void BitrateDraw(void);
        void ChannelIconsDraw(const cChannel *Channel, bool Resolution);

    public:
        cFlatDisplayChannel(bool WithInfo);
        virtual ~cFlatDisplayChannel();
        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);

        void PreLoadImages(void);
    protected:
        virtual void ChannelSwitch(const cDevice *device, int channelNumber, bool liveView);
        virtual void SetAudioTrack(int Index, const char * const *Tracks);
};