diff options
author | Andreas Brugger <brougs78@gmx.net> | 2005-11-19 12:00:00 +0100 |
---|---|---|
committer | Thomas Günther <tom@toms-cafe.de> | 2009-06-03 01:03:47 +0200 |
commit | 662dd62488f6f842fe5d940e986f798abe1c7691 (patch) | |
tree | 0406592c45332e6ba26ed63f3bff91ab42d30b4a /render.c | |
parent | 71023584dc849dc3705c6db303878fd27e8704c7 (diff) | |
download | vdr-plugin-text2skin-662dd62488f6f842fe5d940e986f798abe1c7691.tar.gz vdr-plugin-text2skin-662dd62488f6f842fe5d940e986f798abe1c7691.tar.bz2 |
2005-11-19: Version 1.1-cvs_ext-0.2 (vdr-text2skin-1.1-cvs_ext-0.2.diff)
- removed the previously introduced tokens NextTimerName, NextTimerStart,
NextTimerChannel, CurrentRecordingsCount and added tokens for the next
3 timers: CurrentEventsTitle[123], CurrentEventsStartDateTime[123],
CurrentEventsStopDateTime[123], CurrentEventsChannelNumber[123],
CurrentEventsChannelName[123], CurrentEventsIsRecording[123]
- added audio- and video-tokens:
PresentLanguageCode, PresentLanguageDescription, PresentVideoAR and
implemented the missing code for the Language-token
- added tokens for replay:
ReplayName, ReplayDateTime, ReplayShortText, ReplayDescription,
ReplayLanguageCode, ReplayLanguageDescription, ReplayVideoAR
(not activated yet)
- additional recording-tokens:
RecordingVideoAR, RecordingSize
- added a reset for scrolling text (configurable)
- included Text2skin.diff from the rotor-plugin
Diffstat (limited to 'render.c')
-rw-r--r-- | render.c | 22 |
1 files changed, 20 insertions, 2 deletions
@@ -11,6 +11,7 @@ #include "screen.h" #include "display.h" #include "scroller.h" +#include "setup.h" #include "xml/display.h" #include <vdr/channels.h> #include <vdr/epg.h> @@ -353,13 +354,30 @@ void cText2SkinRender::DrawMarquee(const txPoint &Pos, const txSize &Size, const uint Delay, uint Index) { bool scrolling = Font->Width(Text.c_str()) > Size.w; - + tState &state = mStates[Index]; if (state.text != Text) { state = tState(); state.text = Text; } + if (Text2SkinSetup.MarqueeReset && mUpdate.resetMarquee && mUpdate.currentItem.find(Text, 0) != std::string::npos) + { + state.offset = 0; + state.direction = 1; + state.nexttime = 0; + state.scrolling = false; + mUpdate.foundFirstItem = true; + } + else + { + if (mUpdate.foundFirstItem) + { + mUpdate.resetMarquee = false; + mUpdate.foundFirstItem = false; + } + } + if (state.nexttime == 0) state.nexttime = mNow + 1500; else if (mNow >= state.nexttime) { @@ -376,7 +394,7 @@ void cText2SkinRender::DrawMarquee(const txPoint &Pos, const txSize &Size, const ++state.direction; nextin = 1500; } else - --state.offset; + Text2SkinSetup.MarqueeLeftRight ? --state.offset : state.offset = 0; } state.nexttime = mNow + nextin; } |