summaryrefslogtreecommitdiff
path: root/display.c
diff options
context:
space:
mode:
authorlordjaxom <lordjaxom>2004-06-05 18:06:22 +0000
committerlordjaxom <lordjaxom>2004-06-05 18:06:22 +0000
commit6094765d94e4caaf0813039dff826b731f277753 (patch)
treefed79334167f26d5a81a6cae9be3f1341375a36f /display.c
parente0c2ee1d37c0f213f22a04df71710bebe3526f85 (diff)
downloadvdr-plugin-text2skin-6094765d94e4caaf0813039dff826b731f277753.tar.gz
vdr-plugin-text2skin-6094765d94e4caaf0813039dff826b731f277753.tar.bz2
- added scrollable texts and "SymbolScrollUp" and "SymbolScrollDown"v0.0.1
- added "MenuText", "MenuEventTitle", "MenuEventShortText", "MenuEventDescription", "MenuEventTime", "MenuRecording", "SymbolEventRunning", "SymbolEventTimer" and "SymbolEventVPS" - implemented image caching - added english and german README - removed some workarounds, and added a patch to vdr to the tree (will be included in 1.3.10) - fixed two bugs when displaying replay symbols - implemented tabbed texts in menu
Diffstat (limited to 'display.c')
-rw-r--r--display.c46
1 files changed, 42 insertions, 4 deletions
diff --git a/display.c b/display.c
index 88abfa1..93ccb32 100644
--- a/display.c
+++ b/display.c
@@ -1,5 +1,5 @@
/*
- * $Id: display.c,v 1.9 2004/06/02 20:43:05 lordjaxom Exp $
+ * $Id: display.c,v 1.12 2004/06/05 18:04:29 lordjaxom Exp $
*/
#include "render.h"
@@ -81,6 +81,7 @@ void cText2SkinDisplayVolume::Flush(void) {
// --- cText2SkinDisplayReplay ------------------------------------------------
cText2SkinDisplayReplay::cText2SkinDisplayReplay(cText2SkinData *Data, cText2SkinI18n *I18n, cText2SkinTheme *Theme, bool ModeOnly) {
+ Dprintf("ModeOnly: %d\n", ModeOnly);
mRender = new cText2SkinRender(Data, I18n, Theme, ModeOnly ? sectionReplayMode : sectionReplay);
mDirty = false;
}
@@ -98,7 +99,7 @@ void cText2SkinDisplayReplay::SetTitle(const char *Title) {
}
void cText2SkinDisplayReplay::SetMode(bool Play, bool Forward, int Speed) {
- if (mRender->mReplayPlay != Play || mRender->mReplayPlay != Forward || mRender->mReplaySpeed != Speed) {
+ if (mRender->mReplayPlay != Play || mRender->mReplayForward != Forward || mRender->mReplaySpeed != Speed) {
mRender->mReplayPlay = Play;
mRender->mReplayForward = Forward;
mRender->mReplaySpeed = Speed;
@@ -209,7 +210,15 @@ cText2SkinDisplayMenu::~cText2SkinDisplayMenu() {
void cText2SkinDisplayMenu::Clear(void) {
mRender->mMenuItems.clear();
- mRender->mMenuCurrent = -1;
+ mRender->mMenuTitle = "";
+ mRender->mMenuCurrent = -1;
+ mRender->mMenuRed = "";
+ mRender->mMenuGreen = "";
+ mRender->mMenuYellow = "";
+ mRender->mMenuBlue = "";
+ mRender->mMenuEvent = NULL;
+ mRender->mMenuRecording = NULL;
+ mRender->mMenuText = "";
mDirty = true;
}
@@ -245,7 +254,17 @@ void cText2SkinDisplayMenu::SetMessage(eMessageType Type, const char *Text) {
}
void cText2SkinDisplayMenu::SetItem(const char *Text, int Index, bool Current, bool Selectable) {
- cText2SkinRender::MenuItem item = { Text, Selectable };
+ cText2SkinRender::MenuItem item;
+ item.text = Text;
+ item.sel = Selectable;
+ for (int i = 0; i < MaxTabs; ++i) {
+ const char *tab = GetTabbedText(Text, i);
+ if (tab)
+ item.tabs[i] = tab;
+ if (!Tab(i + 1))
+ break;
+ }
+ SetEditableWidth(mRender->GetEditableWidth(item, Current));
if ((int)mRender->mMenuItems.size() <= Index) {
mRender->mMenuItems.push_back(item);
mDirty = true;
@@ -282,6 +301,25 @@ void cText2SkinDisplayMenu::SetText(const char *Text, bool FixedFont) {
}
}
+void cText2SkinDisplayMenu::SetTabs(int Tab1, int Tab2, int Tab3, int Tab4, int Tab5) {
+ cSkinDisplayMenu::SetTabs(Tab1, Tab2, Tab3, Tab4, Tab5);
+ mRender->mMenuTabs[0] = Tab(0);
+ mRender->mMenuTabs[1] = Tab(1);
+ mRender->mMenuTabs[2] = Tab(2);
+ mRender->mMenuTabs[3] = Tab(3);
+ mRender->mMenuTabs[4] = Tab(4);
+ mRender->mMenuTabs[5] = Tab(5);
+}
+
+void cText2SkinDisplayMenu::Scroll(bool Up, bool Page) {
+ if (mRender->mScroller && (Up ? mRender->mScroller->CanScrollUp() : mRender->mScroller->CanScrollDown())) {
+ mRender->mMenuScroll = true;
+ mRender->mMenuScrollUp = Up;
+ mRender->mMenuScrollPage = Page;
+ mDirty = true;
+ }
+}
+
void cText2SkinDisplayMenu::Flush(void) {
if (mDirty) {
mRender->Flush();