summaryrefslogtreecommitdiff
path: root/render.c
diff options
context:
space:
mode:
authorlordjaxom <lordjaxom>2004-05-23 19:29:12 +0000
committerlordjaxom <lordjaxom>2004-05-23 19:29:12 +0000
commit377ef2b18a6499a1ef0e540a74c4e54317efee85 (patch)
tree211342fe01d961a9fd621dce45b2672c520c49c5 /render.c
parentd309055320433e5fd899de53dc688d679609e6db (diff)
downloadvdr-plugin-text2skin-377ef2b18a6499a1ef0e540a74c4e54317efee85.tar.gz
vdr-plugin-text2skin-377ef2b18a6499a1ef0e540a74c4e54317efee85.tar.bz2
- added "ChannelSmall" section (apparently VDR doesn't use it)v0.0.1-pre2
- added replay and message items - added a german translation of the SKINS document (incomplete)
Diffstat (limited to 'render.c')
-rw-r--r--render.c97
1 files changed, 74 insertions, 23 deletions
diff --git a/render.c b/render.c
index 0ae8c5d..9c9623a 100644
--- a/render.c
+++ b/render.c
@@ -1,5 +1,5 @@
/*
- * $Id: render.c,v 1.1.1.1 2004/05/23 00:08:03 lordjaxom Exp $
+ * $Id: render.c,v 1.3 2004/05/23 19:20:26 lordjaxom Exp $
*/
#include <vdr/channels.h>
@@ -13,33 +13,35 @@ cText2SkinRender::cText2SkinRender(cText2SkinData *Data, eSkinSection Section) {
tArea areas[MAXOSDAREAS];
int numAreas = 0;
- mData = Data;
- mSection = Section;
- mOsd = cOsdProvider::NewOsd(Setup.OSDLeft, Setup.OSDTop);
- mChannel = NULL;
- mNumber = 0;
- mVolumeCurrent = 0;
- mVolumeTotal = 0;
- mVolumeMute = false;
- mReplayTitle = NULL;
- mReplayPlay = false;
- mReplayForward = false;
- mReplaySpeed = 0;
- mReplayCurrent = 0;
- mReplayTotal = 0;
- mReplayJump = NULL;
- mMessageType = (eMessageType)-1;
- mMessageText = NULL;
- mPresent = NULL;
- mFollowing = NULL;
- mTitle = NULL;
- mCurrent = 0;
+ mData = Data;
+ mSection = Section;
+ mOsd = cOsdProvider::NewOsd(Setup.OSDLeft, Setup.OSDTop);
+ mChannel = NULL;
+ mNumber = 0;
+ mVolumeCurrent = 0;
+ mVolumeTotal = 0;
+ mVolumeMute = false;
+ mReplayTitle = NULL;
+ mReplayPlay = false;
+ mReplayForward = false;
+ mReplaySpeed = 0;
+ mReplayCurrent = 0;
+ mReplayTotal = 0;
+ mReplayCurrentText = NULL;
+ mReplayTotalText = NULL;
+ mReplayJump = NULL;
+ mMessageType = (eMessageType)-1;
+ mMessageText = NULL;
+ mPresent = NULL;
+ mFollowing = NULL;
+ mTitle = NULL;
+ mCurrent = 0;
cText2SkinItem *item;
for (item = Data->First(); item; item = Data->Next(item)) {
if (item->Section() == Section && item->Item() == itemBackground) {
if (numAreas < MAXOSDAREAS) {
- printf("area item: %d:%d:%d:%d\n", item->X(), item->Y(), item->X() + item->Width() - 1, item->Y() + item->Height() - 1, item->Bpp());
+ printf("area item: %d:%d:%d:%d:%d\n", item->X(), item->Y(), item->X() + item->Width() - 1, item->Y() + item->Height() - 1, item->Bpp());
areas[numAreas].x1 = item->X();
areas[numAreas].y1 = item->Y();
areas[numAreas].x2 = item->X() + item->Width() - 1;
@@ -136,6 +138,20 @@ void cText2SkinRender::Flush(void) {
DisplayProgressbar(item); break;
case itemReplayTitle:
DisplayReplayTitle(item); break;
+ case itemReplayCurrent:
+ DisplayReplayCurrent(item); break;
+ case itemReplayTotal:
+ DisplayReplayTotal(item); break;
+ case itemReplayJump:
+ DisplayReplayJump(item); break;
+ case itemMessageInfo:
+ DisplayMessageInfo(item); break;
+ case itemMessageStatus:
+ DisplayMessageStatus(item); break;
+ case itemMessageWarning:
+ DisplayMessageWarning(item); break;
+ case itemMessageError:
+ DisplayMessageError(item); break;
case itemMenuItem:
DisplayMenuItems(item); break;
default:
@@ -344,6 +360,41 @@ void cText2SkinRender::DisplayReplayTitle(cText2SkinItem *Item) {
if (mReplayTitle)
DrawTextTransparent(mOsd, Item->X(), Item->Y(), mReplayTitle, Item->Fg(), Item->Bg(), SkinFont(Item), Item->Width(), Item->Height(), Item->Align());
}
+
+void cText2SkinRender::DisplayReplayCurrent(cText2SkinItem *Item) {
+ if (mReplayCurrentText)
+ DrawTextTransparent(mOsd, Item->X(), Item->Y(), mReplayCurrentText, Item->Fg(), Item->Bg(), SkinFont(Item), Item->Width(), Item->Height(), Item->Align());
+}
+
+void cText2SkinRender::DisplayReplayTotal(cText2SkinItem *Item) {
+ if (mReplayTotalText)
+ DrawTextTransparent(mOsd, Item->X(), Item->Y(), mReplayTotalText, Item->Fg(), Item->Bg(), SkinFont(Item), Item->Width(), Item->Height(), Item->Align());
+}
+
+void cText2SkinRender::DisplayReplayJump(cText2SkinItem *Item) {
+ if (mReplayJump)
+ DrawTextTransparent(mOsd, Item->X(), Item->Y(), mReplayJump, Item->Fg(), Item->Bg(), SkinFont(Item), Item->Width(), Item->Height(), Item->Align());
+}
+
+void cText2SkinRender::DisplayMessageStatus(cText2SkinItem *Item) {
+ if (mMessageType == mtStatus && mMessageText)
+ DrawTextTransparent(mOsd, Item->X(), Item->Y(), mMessageText, Item->Fg(), Item->Bg(), SkinFont(Item), Item->Width(), Item->Height(), Item->Align());
+}
+
+void cText2SkinRender::DisplayMessageInfo(cText2SkinItem *Item) {
+ if (mMessageType == mtInfo && mMessageText)
+ DrawTextTransparent(mOsd, Item->X(), Item->Y(), mMessageText, Item->Fg(), Item->Bg(), SkinFont(Item), Item->Width(), Item->Height(), Item->Align());
+}
+
+void cText2SkinRender::DisplayMessageWarning(cText2SkinItem *Item) {
+ if (mMessageType == mtWarning && mMessageText)
+ DrawTextTransparent(mOsd, Item->X(), Item->Y(), mMessageText, Item->Fg(), Item->Bg(), SkinFont(Item), Item->Width(), Item->Height(), Item->Align());
+}
+
+void cText2SkinRender::DisplayMessageError(cText2SkinItem *Item) {
+ if (mMessageType == mtError && mMessageText)
+ DrawTextTransparent(mOsd, Item->X(), Item->Y(), mMessageText, Item->Fg(), Item->Bg(), SkinFont(Item), Item->Width(), Item->Height(), Item->Align());
+}
void cText2SkinRender::DisplayMenuItems(cText2SkinItem *Item) {
cText2SkinItem *area = mData->Get(itemMenuArea);