summaryrefslogtreecommitdiff
path: root/menudetailview.h
blob: 36ace3294330303b5cb81453a96526e0aee153be (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
#ifndef __NOPACITY_MENUDETAILVIEW_H
#define __NOPACITY_MENUDETAILVIEW_H

class cNopacityMenuDetailView {
protected:
	cOsd *osd;
	bool hasScrollbar;
	int width, height, top;
	int headerHeight;
	int contentHeight;
	int contentDrawPortHeight;
	int border;
	cTextWrapper content;
	cString additionalContent;
	bool additionalContentSet;
	cFont *font, *fontHeader, *fontHeaderLarge;
	cPixmap *pixmapHeader;
	cPixmap *pixmapLogo;
	cPixmap *pixmapContent;
	void DrawContent(void);
public:
	cNopacityMenuDetailView(cOsd *osd);
	virtual ~cNopacityMenuDetailView(void);
	void SetGeometry(int width, int height, int top, int contentBorder, int headerHeight);
	virtual void SetFonts(void) = 0;
	void SetContent(const char *textContent);
	void LoadReruns(const cEvent *event);
	bool Scrollable(void) {return hasScrollbar;}
	double ScrollbarSize(void);
	double Offset(void);
	bool Scroll(bool Up, bool Page);
	virtual void CreatePixmaps(void) = 0;
	virtual void Render(void) = 0;
};

class cNopacityMenuDetailEventView : public cNopacityMenuDetailView {
private:
	void DrawHeader(void);
	const char *channelName;
	const cEvent *event;
public:
	cNopacityMenuDetailEventView(cOsd *osd, const cEvent *Event, const char *channel);
	virtual ~cNopacityMenuDetailEventView(void);
	void CreatePixmaps(void);
	void SetFonts(void);
	void Render(void);
};

class cNopacityMenuDetailRecordingView : public cNopacityMenuDetailView {
private:
	void DrawHeader(void);
	const cRecording *recording;
	const cRecordingInfo *info;
public:
	cNopacityMenuDetailRecordingView(cOsd *osd, const cRecording *Recording);
	virtual ~cNopacityMenuDetailRecordingView(void);
	void CreatePixmaps(void);
	void SetFonts(void);
	void Render(void);
};

class cNopacityMenuDetailTextView : public cNopacityMenuDetailView {
private:
public:
	cNopacityMenuDetailTextView(cOsd *osd);
	virtual ~cNopacityMenuDetailTextView(void);
	void CreatePixmaps(void);
	void SetFonts(void);
	void Render(void);
};
#endif //__NOPACITY_MENUDETAILVIEW_H