summaryrefslogtreecommitdiff
path: root/libskindesigner/osdelements.h
blob: 057a1fd85d4039ba479863379e9d2095aec7b636 (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
#ifndef __OSDELEMENTS_H
#define __OSDELEMENTS_H

#include <vdr/plugin.h>
#include "services.h"

/**********************************************************************
* cOsdElement
**********************************************************************/

class cOsdElement {
protected:
    cSkinDisplayPlugin *view;
    map < string, string > stringTokens;
    map < string, int > intTokens;
    map < string, vector< map< string, string > > > loopTokens;
public:
    cOsdElement(cSkinDisplayPlugin *view);
    virtual ~cOsdElement();
    void AddLoopToken(string loopName, map<string, string> &tokens);
    void AddStringToken(string key, string value);
    void AddIntToken(string key, int value);
    void ClearTokens(void);
    bool ChannelLogoExists(string channelId);
    string GetEpgImagePath(void);
};

/**********************************************************************
* cViewElement
**********************************************************************/
class cViewElement : public cOsdElement {
private:
    int viewElementID;
public:
    cViewElement(cSkinDisplayPlugin *view, int viewElementID);
    virtual ~cViewElement();
    void Clear(void);
    void Display(void);
};

/**********************************************************************
* cViewGrid
**********************************************************************/
class cViewGrid : public cOsdElement {
private:
    int viewGridID;
public:
    cViewGrid(cSkinDisplayPlugin *view, int viewGridID);
    virtual ~cViewGrid();
    void SetGrid(long gridID, double x, double y, double width, double height);
    void SetCurrent(long gridID, bool current);
    void MoveGrid(long gridID, double x, double y, double width, double height);
    void Delete(long gridID);
    void Clear(void);
    void Display(void);
};

/**********************************************************************
* cViewTab
**********************************************************************/
class cViewTab : public cOsdElement {
private:
public:
    cViewTab(cSkinDisplayPlugin *view);
    virtual ~cViewTab();
    void Init(void);
    void Left(void);
    void Right(void);
    void Up(void);
    void Down(void);
    void Display(void);
};

/**********************************************************************
* cOsdView
**********************************************************************/
class cOsdView {
private:
    cSkinDisplayPlugin *displayPlugin;
public:
    cOsdView(cSkinDisplayPlugin *displayPlugin);
    virtual ~cOsdView();
    void Deactivate(bool hide);
    void Activate(void);
    cViewElement *GetViewElement(int viewElementID);
    cViewGrid *GetViewGrid(int viewGridID);
    cViewTab *GetViewTabs(void);
    void Display(void);
};

#endif // __OSDELEMENTS_H