summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphintuka <phintuka>2007-10-15 00:31:39 +0000
committerphintuka <phintuka>2007-10-15 00:31:39 +0000
commitc377326fd5f2f109a701804cd5a0a4c83c7fc767 (patch)
tree4f84e278832a0272b61bcd386e5b95f1c79cadf3
parent1c6d2698917f31188b8fafc480039713b9cc34b3 (diff)
downloadxineliboutput-c377326fd5f2f109a701804cd5a0a4c83c7fc767.tar.gz
xineliboutput-c377326fd5f2f109a701804cd5a0a4c83c7fc767.tar.bz2
Move cXinelibOsd from osd.h to osd.c (private class) and simplify vdr-1.5.9 compability code
-rw-r--r--osd.c43
-rw-r--r--osd.h44
2 files changed, 38 insertions, 49 deletions
diff --git a/osd.c b/osd.c
index 8a1cfdad..0aed3a91 100644
--- a/osd.c
+++ b/osd.c
@@ -4,11 +4,12 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: osd.c,v 1.8 2007-09-01 08:47:04 phintuka Exp $
+ * $Id: osd.c,v 1.9 2007-10-15 00:31:39 phintuka Exp $
*
*/
#include <vdr/config.h>
+#include <vdr/tools.h> // cListObject
#include "logdefs.h"
#include "device.h"
@@ -19,6 +20,38 @@
#include "xine_osd_command.h"
+class cXinelibOsd : public cOsd, public cListObject
+{
+ private:
+ cXinelibOsd();
+ cXinelibOsd(cXinelibOsd&);
+
+ cXinelibDevice *m_Device;
+
+ protected:
+ static cMutex m_Lock;
+ static cList<cXinelibOsd> m_OsdStack;
+
+ bool m_IsVisible;
+ bool m_Shown;
+
+ virtual eOsdError CanHandleAreas(const tArea *Areas, int NumAreas);
+ virtual eOsdError SetAreas(const tArea *Areas, int NumAreas);
+ virtual void Flush(void);
+
+ // Messages from cXinelibOsdProvider
+ void Show(void);
+ void Hide(void);
+ void Refresh(void);
+ void Detach(void);
+
+ friend class cXinelibOsdProvider;
+
+ public:
+ cXinelibOsd(cXinelibDevice *Device, int x, int y, uint Level = 0);
+ virtual ~cXinelibOsd();
+};
+
cList<cXinelibOsd> cXinelibOsd::m_OsdStack;
cMutex cXinelibOsd::m_Lock;
@@ -345,11 +378,7 @@ cXinelibOsdProvider::~cXinelibOsdProvider()
}
}
-#if VDRVERSNUM >= 10509
cOsd *cXinelibOsdProvider::CreateOsd(int Left, int Top, uint Level)
-#else
-cOsd *cXinelibOsdProvider::CreateOsd(int Left, int Top)
-#endif
{
TRACEF("cXinelibOsdProvider::CreateOsd");
@@ -358,11 +387,7 @@ cOsd *cXinelibOsdProvider::CreateOsd(int Left, int Top)
if(cXinelibOsd::m_OsdStack.First())
LOGMSG("cXinelibOsdProvider::CreateOsd - OSD already open !");
-#if VDRVERSNUM >= 10509
cXinelibOsd *m_OsdInstance = new cXinelibOsd(m_Device, Left, Top, Level);
-#else
- cXinelibOsd *m_OsdInstance = new cXinelibOsd(m_Device, Left, Top);
-#endif
if(cXinelibOsd::m_OsdStack.First())
cXinelibOsd::m_OsdStack.First()->Hide();
diff --git a/osd.h b/osd.h
index 97f1d974..74baf804 100644
--- a/osd.h
+++ b/osd.h
@@ -4,52 +4,17 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: osd.h,v 1.4 2007-09-01 08:47:04 phintuka Exp $
+ * $Id: osd.h,v 1.5 2007-10-15 00:31:39 phintuka Exp $
*
*/
#ifndef __XINELIB_OSD_H
#define __XINELIB_OSD_H
-#include <vdr/config.h>
#include <vdr/osd.h>
-#include <vdr/tools.h> // cListObject
class cXinelibDevice;
-class cXinelibOsd : public cOsd, public cListObject
-{
- private:
- cXinelibOsd();
- cXinelibOsd(cXinelibOsd&);
-
- cXinelibDevice *m_Device;
-
- protected:
- static cMutex m_Lock;
- static cList<cXinelibOsd> m_OsdStack;
-
- bool m_IsVisible;
- bool m_Shown;
-
- virtual eOsdError CanHandleAreas(const tArea *Areas, int NumAreas);
- virtual eOsdError SetAreas(const tArea *Areas, int NumAreas);
- virtual void Flush(void);
-
- // Messages from cXinelibOsdProvider
- void Show(void);
- void Hide(void);
- void Refresh(void);
- void Detach(void);
-
- friend class cXinelibOsdProvider;
-
- public:
- cXinelibOsd(cXinelibDevice *Device, int x, int y, uint Level = 0);
- virtual ~cXinelibOsd();
-};
-
-
class cXinelibOsdProvider : public cOsdProvider
{
protected:
@@ -59,13 +24,12 @@ class cXinelibOsdProvider : public cOsdProvider
cXinelibOsdProvider(cXinelibDevice *Device);
virtual ~cXinelibOsdProvider();
-#if VDRVERSNUM >= 10509
virtual cOsd *CreateOsd(int Left, int Top, uint Level);
-#else
- virtual cOsd *CreateOsd(int Left, int Top);
-#endif
static void RefreshOsd(void);
+
+ // VDR < 1.5.9 compability
+ virtual cOsd *CreateOsd(int Left, int Top) { return CreateOsd(Left, Top, 0); }
};
#endif //__XINELIB_OSD_H