summaryrefslogtreecommitdiff
path: root/enigma.h
blob: 559152f936e27ab5432f02ee127e018a003ab840 (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
/*
 * enigma.h: 'EnigmaNG' skin for the Video Disk Recorder
 *
 */

#ifndef __ENIGMA_H
#define __ENIGMA_H

#include "common.h"

#include <vdr/skins.h>
#include <vdr/skinclassic.h>

class cSkinEnigma : public cSkin {
private:
  cSkin *skinFallback;

public:
  cSkinEnigma();
  virtual const char *Description(void);
  virtual cSkinDisplayChannel *DisplayChannel(bool WithInfo);
  virtual cSkinDisplayMenu *DisplayMenu(void);
  virtual cSkinDisplayReplay *DisplayReplay(bool ModeOnly);
  virtual cSkinDisplayVolume *DisplayVolume(void);
  virtual cSkinDisplayTracks *DisplayTracks(const char *Title, int NumTracks, const char * const *Tracks);
  virtual cSkinDisplayMessage *DisplayMessage(void);
};


// interface for use texteffects (=threads)
class cSkinEnigmaThreadedOsd {
friend class cEnigmaTextEffects;

public:
  virtual ~cSkinEnigmaThreadedOsd(void)
  {};
  virtual void DrawTitle(const char *Title) = 0;
};

// interface for common functions
class cSkinEnigmaBaseOsd {

protected:
  cOsd *osd;
  bool HasChannelTimerRecording(const cChannel *Channel);
  int DrawStatusSymbols(int x0, int xs, int top, int bottom, const cChannel *Channel = NULL);
  int FixWidth(int w, int bpp, bool enlarge = true);
};

#endif //__ENIGMA_H

// vim:et:sw=2:ts=2: