summaryrefslogtreecommitdiff
path: root/render.c
diff options
context:
space:
mode:
authorAndreas Brugger <brougs78@gmx.net>2005-11-19 12:00:00 +0100
committerThomas Günther <tom@toms-cafe.de>2009-06-03 01:03:47 +0200
commit662dd62488f6f842fe5d940e986f798abe1c7691 (patch)
tree0406592c45332e6ba26ed63f3bff91ab42d30b4a /render.c
parent71023584dc849dc3705c6db303878fd27e8704c7 (diff)
downloadvdr-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.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/render.c b/render.c
index 3d3b4d7..4c15f26 100644
--- a/render.c
+++ b/render.c
@@ -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;
}