summaryrefslogtreecommitdiff
path: root/displaymenuview.h
blob: 28ec7ec8f345a2037979317e421a6dfd15102bbc (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
#ifndef __NOPACITY_DISPLAYMENUVIEW_H
#define __NOPACITY_DISPLAYMENUVIEW_H

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

class cNopacityTimer : public cListObject {
	private:
		cOsd *osd;
	public:
		cNopacityTimer(cOsd *osd);
		virtual ~cNopacityTimer(void);
		void SetAlpha(int alpha) {pixmap->SetAlpha(alpha);}
		void SetLayer(int layer) {pixmap->SetLayer(layer);}
		cPixmap *pixmap;
};

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;
		cFont *fontHeader;
		cFont *fontDate;
		cFont *fontMenuitemLarge;
		cFont *fontMenuitemSchedule;
		cFont *fontMenuitemDefault;
		cFont *fontDiskUsage;
		cFont *fontTimers;
		cFont *fontTimersHead;
		cFont *fontButtons;
		cFont *fontMessage;
		int osdWidth, osdHeight;
		int osdLeft, osdTop;
		int screenWidth, screenHeight;
		double aspect;
		int widthScrollbar;
		int dateWidth;
		int headerHeight, footerHeight, contentHeight;
		int contentWidthNarrow, contentWidthFull;
		int menuItemWidthDefault, menuItemHeightDefault;
		int menuItemWidthMain, menuItemHeightMain;
		int menuItemHeightSchedule;
		int diskUsageWidth, diskUsageHeight;
		int timersWidth;
		int buttonsBorder, buttonWidth, buttonHeight;
		int messageWidth, messageHeight;
		int avrgFontWidth;
	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);
		void GetMenuItemSize(eMenuCategory menuCat, cPoint *itemSize);
		int GetMaxItems(eMenuCategory menuCat);
		int GetMenuTop(int numItems, int itemHeight);
		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);
		void CreateBackgroundImages(int *handleBackgrounds, int *handleButtons);
		void AdjustContentBackground(bool contentNarrow, bool contentNarrowLast);
		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 borderColor, int num);
		void ClearButton(int num);
		int GetTimersInitHeight(void);
		int GetTimersMaxHeight(void);
		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 ScalePreserveAspect(tArea & videoWindowDest, const double & videoAspect, const tArea & availableArea);
		int spaceMenu;
};



#endif //__NOPACITY_DISPLAYMENUVIEW_H