summaryrefslogtreecommitdiff
path: root/render.h
diff options
context:
space:
mode:
authorlordjaxom <lordjaxom>2004-05-23 00:35:46 +0000
committerlordjaxom <lordjaxom>2004-05-23 00:35:46 +0000
commitd309055320433e5fd899de53dc688d679609e6db (patch)
treeee3c3c97b3881f1e35e0da745b9571d11c0b6ac2 /render.h
downloadvdr-plugin-text2skin-d309055320433e5fd899de53dc688d679609e6db.tar.gz
vdr-plugin-text2skin-d309055320433e5fd899de53dc688d679609e6db.tar.bz2
- Initial revision.v0.0.1-pre1
Diffstat (limited to 'render.h')
-rw-r--r--render.h98
1 files changed, 98 insertions, 0 deletions
diff --git a/render.h b/render.h
new file mode 100644
index 0000000..4b19d47
--- /dev/null
+++ b/render.h
@@ -0,0 +1,98 @@
+/*
+ * $Id: render.h,v 1.1.1.1 2004/05/23 00:08:03 lordjaxom Exp $
+ */
+
+#ifndef VDR_TEXT2SKIN_RENDER_H
+#define VDR_TEXT2SKIN_RENDER_H
+
+#include <vdr/osd.h>
+#include <vdr/skins.h>
+#include "data.h"
+#include <vector>
+
+using std::vector;
+
+class cChannel;
+class cEvent;
+
+class cText2SkinRender {
+ friend class cText2SkinDisplayChannel;
+ friend class cText2SkinDisplayVolume;
+ friend class cText2SkinDisplayReplay;
+ friend class cText2SkinDisplayMessage;
+ friend class cText2SkinDisplayMenu;
+
+private:
+ cText2SkinData *mData;
+ eSkinSection mSection;
+ cOsd *mOsd;
+
+ // TODO: rename or restructure items
+ // channel display
+ const cChannel *mChannel;
+ int mNumber;
+ const cEvent *mPresent;
+ const cEvent *mFollowing;
+
+ // volume display
+ int mVolumeCurrent;
+ int mVolumeTotal;
+ bool mVolumeMute;
+
+ // replay display
+ const char *mReplayTitle;
+ bool mReplayPlay;
+ bool mReplayForward;
+ int mReplaySpeed;
+ int mReplayCurrent;
+ int mReplayTotal;
+ const char *mReplayJump;
+
+ // message display
+ eMessageType mMessageType;
+ const char *mMessageText;
+
+ // menu
+ struct MenuItem {
+ const char *mName;
+ bool mSelectable;
+ bool operator!=(const MenuItem &b) { return b.mName != mName || b.mSelectable != mSelectable; }
+ };
+ const char *mTitle;
+ vector<MenuItem> mItems;
+ int mCurrent;
+
+protected:
+ void DisplayBackground(cText2SkinItem *Item);
+ void DisplayLogo(cText2SkinItem *Item);
+ void DisplayText(cText2SkinItem *Item);
+ void DisplayDateTime(cText2SkinItem *Item);
+ void DisplayDate(cText2SkinItem *Item);
+ void DisplayTime(cText2SkinItem *Item);
+ void DisplayChannelNumberName(cText2SkinItem *Item);
+ void DisplayChannelNumber(cText2SkinItem *Item);
+ void DisplayChannelName(cText2SkinItem *Item);
+ void DisplayRectangle(cText2SkinItem *Item);
+ void DisplayEllipse(cText2SkinItem *Item);
+ void DisplayTimebar(cText2SkinItem *Item);
+ void DisplayPresentTime(cText2SkinItem *Item);
+ void DisplayPresentTitle(cText2SkinItem *Item);
+ void DisplayPresentShortText(cText2SkinItem *Item);
+ void DisplayFollowingTime(cText2SkinItem *Item);
+ void DisplayFollowingTitle(cText2SkinItem *Item);
+ void DisplayFollowingShortText(cText2SkinItem *Item);
+ void DisplaySymbol(cText2SkinItem *Item);
+ void DisplayVolumebar(cText2SkinItem *Item);
+ void DisplayMute(cText2SkinItem *Item);
+ void DisplayProgressbar(cText2SkinItem *Item);
+ void DisplayReplayTitle(cText2SkinItem *Item);
+ void DisplayMenuItems(cText2SkinItem *Item);
+
+public:
+ cText2SkinRender(cText2SkinData *Data, eSkinSection Section);
+ ~cText2SkinRender();
+
+ void Flush(void);
+};
+
+#endif // VDR_TEXT2SKIN_RENDER_H