summaryrefslogtreecommitdiff
path: root/displaymenuview.h
blob: a9c10b5abd4b2603415e4c674f39eb4a6922a317 (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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#ifndef __NOPACITY_DISPLAYMENUVIEW_H
#define __NOPACITY_DISPLAYMENUVIEW_H

enum eDetailViewType {dvEvent = 0, dvRecording, dvText};

class cNopacityDisplayMenuView {
    private:
        cOsd *osd;
        cString lastDate;
        int diskUsageAlert;
        cPixmap *pixmapHeader;
        cPixmap *pixmapHeaderLogo;
        cPixmap *pixmapHeaderIcon;
        cPixmap *pixmapHeaderLabel;
        cPixmap *pixmapDate;
        cPixmap *pixmapFooter;
        cPixmap *pixmapContent;
        cPixmap *pixmapScrollbar;   
        cPixmap *pixmapDiskUsage;
        cPixmap *pixmapDiskUsageIcon;
        cPixmap *pixmapDiskUsageLabel;
        cPixmap *pixmapStatus;
        cPixmap *pixmapRssFeed;
        cPixmap *pixmapRssFeedBackground;
        cPixmap *pixmapRssFeedIcon;
        cFont *fontHeader;
        cFont *fontDate;
        cFont *fontMenuitemLarge;
        cFont *fontMenuitemSchedule;
        cFont *fontMenuitemScheduleSmall;
        cFont *fontMenuitemChannel;
        cFont *fontMenuitemChannelSmall;
        cFont *fontMenuitemRecordings;
        cFont *fontMenuitemRecordingsSmall;
        cFont *fontMenuitemTimers;
        cFont *fontMenuitemTimersSmall;
        cFont *fontMenuitemDefault;
        cFont *fontDiskUsage;
        cFont *fontDiskUsagePercent;
        cFont *fontTimers;
        cFont *fontTimersHead;
        cFont *fontButtons;
        cFont *fontMessage;
        cFont *fontEPGInfoWindow;
        cFont *fontRssFeed;
        int osdWidth, osdHeight;
        int osdLeft, osdTop;
        int widthScrollbar;
        int dateWidth;
        int headerHeight, footerHeight, rssFeedHeight, contentHeight;
        int contentWidthFull;
        int contentWidthMain;
        int contentWidthSchedules;
        int contentWidthChannels;
        int contentWidthTimers;
        int contentWidthRecordings;
        int contentWidthSetup;
        int contentWidthMinimum;
        int menuItemWidthDefault, menuItemHeightDefault;
        int menuItemWidthMain, menuItemHeightMain;
        int menuItemWidthSchedule, menuItemHeightSchedule;
        int menuItemWidthChannel;
        int menuItemWidthTimer;
        int menuItemWidthRecording, menuItemHeightRecordings;
        int menuItemWidthSetup;
        int diskUsageWidth, diskUsageHeight;
        int timersWidth;
        int buttonsBorder, buttonWidth, buttonHeight;
        int messageWidth, messageHeight;
        int feedNameLength;
        int avrgFontWidth;
        cRect textWindowSizeSchedules;
        cRect textWindowSizeRecordings;
        cRect textWindowSizeChannels;
        void SetDescriptionTextWindowSize(void);
        int GetContentWidth(eMenuCategory menuCat);
    public:
        cNopacityDisplayMenuView();
        virtual ~cNopacityDisplayMenuView(void);
        cOsd *createOsd(void);
        void SetGeometry(void);
        void CreatePixmaps(void);
        void SetPixmapAlpha(int Alpha);
        void CreateFonts(void);
        cFont *GetMenuItemFont(eMenuCategory menuCat);
        cFont *GetMenuItemFontSmall(eMenuCategory menuCat);
        cFont *GetEPGWindowFont(void);
        void GetMenuItemSize(eMenuCategory menuCat, cPoint *itemSize);
        int GetMaxItems(eMenuCategory menuCat);
        int GetMenuTop(int numItems, int itemHeight);
        int GetMenuItemLeft(int itemWidth);
        void SetAvrgFontWidth(void);
        int mytabs[cSkinDisplayMenu::MaxTabs];
        void SetTabs(int Tab1, int Tab2 = 0, int Tab3 = 0, int Tab4 = 0, int Tab5 = 0);
        int GetEditableWidth(void);
        int GetWidthDefaultMenu(void) {return menuItemWidthDefault;};
        int GetTextAreaWidth(void);
        const cFont *GetTextAreaFont(bool FixedFont);
        cRect *GetDescriptionTextWindowSize(eMenuCategory menuCat);
        void CreateBackgroundImages(int *handleBackgrounds, int *handleButtons);
        void AdjustContentBackground(eMenuCategory menuCat, eMenuCategory menuCatLast, cRect & vidWin);
        void DrawBorderDecoration(void);
        int ShowHeaderLogo(bool show);
        void DrawHeaderLogo(void);
        int DrawHeaderIcon(eMenuCategory menuCat);
        int ShowHeaderIconChannelLogo(const char *Title);
        void DestroyHeaderIcon(void);
        void DrawHeaderLabel(int left, cString label);
        void DrawDate(bool initial);
        void DrawDiskUsage(void);
        void ShowDiskUsage(bool show);
        void DrawButton(const char *text, int handleImage, tColor buttonColor, tColor borderColor, int num);
        void ClearButton(int num);
        int GetTimersInitHeight(void);
        int GetTimersMaxHeight(void);
        cNopacityTimer *DrawTimerConflict(int numConflicts, int y);
        cNopacityTimer *DrawTimer(const cTimer *Timer, int y);
        void DrawScrollbar(double Height, double Offset);
        void ClearScrollbar(void);
        void DrawMessage(eMessageType Type, const char *Text);
        void ClearMessage(void);
        void SetDetailViewSize(eDetailViewType detailViewType, cNopacityMenuDetailView *detailView);
        void DrawRssFeed(std::string feedName);
        cFont *GetRssFeedFont(void) {return fontRssFeed;};
        cPoint GetRssFeedPosition(void);
        cPoint GetRssFeedSize(void);
        int spaceMenu;
};



#endif //__NOPACITY_DISPLAYMENUVIEW_H