summaryrefslogtreecommitdiff
path: root/tvguidengosd.h
blob: 6fb310aff239d2bab782be3a91c1e4734879df5a (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
98
#ifndef __TVGUIDENGOSD_H
#define __TVGUIDENGOSD_H

#include <vdr/osdbase.h>
#include <vdr/plugin.h>
#include <libskindesignerapi/skindesignerapi.h>
#include <libskindesignerapi/skindesignerosdbase.h>
#include "config.h"
#include "timemanager.h"
#include "epggrid.h"
#include "channeljump.h"
#include "detailview.h"
#include "recmenuview.h"
#include "recmanager.h"

enum eViews {
    viRootView,
    viDetailView,
    viRecMenu
};

enum eViewElementsRoot {
    verBackgroundHor,
    verBackgroundVer,
    verHeaderHor,
    verHeaderVer,
    verFooterHor,
    verFooterVer,
    verTimeHor,
    verTimeVer,
    verDateTimelineHor,
    verDateTimelineVer,
    verTimeIndicatorHor,
    verTimeIndicatorVer,
    verChannelJump
};

enum eViewGrids {
    vgChannelsHor,
    vgChannelsVer,
    vgSchedulesHor,
    vgSchedulesVer,
    vgChannelGroupsHor,
    vgChannelGroupsVer,
    vgTimelineHor,
    vgTimelineVer,
    vgRecordingMenu
};

enum eViewElementsDetail {
    vedBackground,
    vedHeader,
    vedFooter,
    vedTime
};

enum eViewElementsRecMenu {
    vemBackground,
    vemScrollbar
};

class cTVGuideOSD : public skindesignerapi::cSkindesignerOsdObject {
private:
    cTimeManager *timeManager;
    cEpgGrid *epgGrid;
    cChannelJump *channelJumper;
    cDetailView *detailView;
    cRecMenuView *recMenuView;
    void KeyLeft(void);
    void KeyRight(void);
    void KeyUp(void);
    void KeyDown(void);
    void TimeForward(void);
    void TimeBack(void);
    void ChannelsForward(void);
    void ChannelsBack(void);
    void NumericKey(int key);
    void NumericKeyTimeJump(int key);
    void NumericKeyChannelJump(int key);
    void CheckTimeout(void);
    void KeyGreen(void);
    void KeyYellow(void);
    eOSState KeyBlue(const cEvent *e);
    eOSState KeyOk(const cEvent *e);
    void KeyRed(void);
    void DetailView(const cEvent *e);
    void CloseDetailedView(void);
    eOSState ChannelSwitch(const cEvent *e);
    void CreateSwitchTimer(const cEvent *e);
    void Favorites(void);
public:
    cTVGuideOSD(void);
    virtual ~cTVGuideOSD(void);
    virtual void Show(void);
  	virtual eOSState ProcessKey(eKeys Key);
};

#endif //__TVGUIDENGOSD_H