summaryrefslogtreecommitdiff
path: root/osd.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2002-05-18 14:03:22 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2002-05-18 14:03:22 +0200
commitbdccbbe93e9729944787d3158bee7a755d3bf286 (patch)
tree17073d49ff0d2d94672c7301a7771f0b2724e42e /osd.h
parent3e5b31af5e88bc4e43971a70b5add6f67cebb701 (diff)
downloadvdr-bdccbbe93e9729944787d3158bee7a755d3bf286.tar.gz
vdr-bdccbbe93e9729944787d3158bee7a755d3bf286.tar.bz2
Completely moved OSD handling out of the cDvbApi class, into the new cOsd
Diffstat (limited to 'osd.h')
-rw-r--r--osd.h39
1 files changed, 38 insertions, 1 deletions
diff --git a/osd.h b/osd.h
index 174bf099..88c986c8 100644
--- a/osd.h
+++ b/osd.h
@@ -4,14 +4,19 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: osd.h 1.30 2002/05/18 12:36:30 kls Exp $
+ * $Id: osd.h 1.31 2002/05/18 14:00:15 kls Exp $
*/
#ifndef __OSD_H
#define __OSD_H
+#if defined(DEBUG_OSD) || defined(REMOTE_KBD)
+#include <ncurses.h>
+#endif
#include "config.h"
+#include "dvbosd.h"
#include "interface.h"
+#include "osdbase.h"
#include "tools.h"
#define MAXOSDITEMS (Setup.OSDheight - 4)
@@ -47,6 +52,38 @@ enum eOSState { osUnknown,
osUser10,
};
+class cOsd {
+private:
+ enum { charWidth = 12, // average character width
+ lineHeight = 27 // smallest text height
+ };
+#ifdef DEBUG_OSD
+ static WINDOW *window;
+ enum { MaxColorPairs = 16 };
+ static int colorPairs[MaxColorPairs];
+ static void SetColor(eDvbColor colorFg, eDvbColor colorBg = clrBackground);
+#else
+ static cDvbOsd *osd;
+#endif
+ static int cols, rows;
+public:
+ static void Initialize(void);
+ static void Shutdown(void);
+ static void Open(int w, int h);
+ static void Close(void);
+ static void Clear(void);
+ static void Fill(int x, int y, int w, int h, eDvbColor color = clrBackground);
+ static void SetBitmap(int x, int y, const cBitmap &Bitmap);
+ static void ClrEol(int x, int y, eDvbColor color = clrBackground);
+ static int CellWidth(void);
+ static int LineHeight(void);
+ static int Width(unsigned char c);
+ static int WidthInCells(const char *s);
+ static eDvbFont SetFont(eDvbFont Font);
+ static void Text(int x, int y, const char *s, eDvbColor colorFg = clrWhite, eDvbColor colorBg = clrBackground);
+ static void Flush(void);
+ };
+
class cOsdItem : public cListObject {
private:
const char *text;