summaryrefslogtreecommitdiff
path: root/xml/display.h
diff options
context:
space:
mode:
authorlordjaxom <lordjaxom>2004-12-08 18:48:39 +0000
committerlordjaxom <lordjaxom>2004-12-08 18:48:39 +0000
commit5382d18d05d358bb1c313c642395e835aa44a6a0 (patch)
tree2b5ef58620b3640c5b21e8eafe92ee4b266b1d30 /xml/display.h
parenteb2f2c9600e8f69788232582191b141002bcd522 (diff)
downloadvdr-plugin-text2skin-1.0-pre1.tar.gz
vdr-plugin-text2skin-1.0-pre1.tar.bz2
1.0-pre1v1.0-pre1
Diffstat (limited to 'xml/display.h')
-rw-r--r--xml/display.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/xml/display.h b/xml/display.h
new file mode 100644
index 0000000..6c233b2
--- /dev/null
+++ b/xml/display.h
@@ -0,0 +1,58 @@
+/*
+ * $Id: display.h,v 1.3 2004/12/08 17:13:26 lordjaxom Exp $
+ */
+
+#ifndef VDR_TEXT2SKIN_DISPLAY_H
+#define VDR_TEXT2SKIN_DISPLAY_H
+
+#include "xml/object.h"
+#include <string>
+#include <map>
+
+class cxSkin;
+
+class cxDisplay {
+ friend bool xStartElem(const std::string &name, std::map<std::string,std::string> &attrs);
+ friend bool xEndElem(const std::string &name);
+
+public:
+ enum eType {
+ channelInfo,
+ channelSmall,
+ volume,
+ message,
+ replayInfo,
+ replaySmall,
+ menu,
+#define __COUNT_DISPLAY__ (menu + 1)
+ };
+
+private:
+ eType mType;
+ txWindow mWindows[MAXOSDAREAS];
+ int mNumWindows;
+ cxObjects mObjects;
+ cxSkin *mSkin;
+
+public:
+ cxDisplay(cxSkin *parent);
+
+ bool ParseType(const std::string &Text);
+ const std::string &GetType(void) const;
+
+ eType Type(void) const { return mType; }
+ const txWindow *Windows(void) const { return mWindows; }
+ int NumWindows(void) const { return mNumWindows; }
+ cxSkin *Skin(void) const { return mSkin; }
+
+ uint Objects(void) const { return mObjects.size(); }
+ const cxObject *GetObject(int n) const { return mObjects[n]; }
+};
+
+class cxDisplays: public std::map<cxDisplay::eType,cxDisplay*> {
+public:
+ cxDisplays(void);
+ ~cxDisplays();
+};
+
+#endif // VDR_TEXT2SKIN_DISPLAY_H