diff options
author | Andreas Brugger <brougs78@gmx.net> | 2009-06-06 01:29:22 +0200 |
---|---|---|
committer | Thomas Günther <tom@toms-cafe.de> | 2009-06-06 01:29:22 +0200 |
commit | 60cd7db51838bb076312fd10e08bca0f4a005f82 (patch) | |
tree | 2ce8a57369abbd1ac1fed4a0d6527140808fbc3c /render.h | |
parent | 5ace1ef884772e4a15d58839074785b89412c8ee (diff) | |
parent | ac64ce03ec6b5766691ff2da3af6f51ed800792a (diff) | |
download | vdr-plugin-text2skin-60cd7db51838bb076312fd10e08bca0f4a005f82.tar.gz vdr-plugin-text2skin-60cd7db51838bb076312fd10e08bca0f4a005f82.tar.bz2 |
Added brougs78-extensions (thanks to Andreas Brugger / references #39)
- 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
- additional recording-tokens:
RecordingVideoAR, RecordingSize
- added a reset for scrolling text (configurable)
- added recording-tokens:
RecordingLength, RecordingCuttedLength
- added tokens:
OsdWidth, OsdHeight
- switched the search-order for the fonts to priorise the skin-folder
(this avoids error-messages in the log)
- added the possibility to have a scrollbar in every menu - not fully
implemented yet (to position in menu-lists is not necessarily correct,
if there are more items with the same osd-text)
- added a configuration option for showing the scrollbar in the menus
- added token TimerConflicts using the service interface of the epgsearch
plugin "Epgsearch-lastconflictinfo-v1.0"
- added a test-feature to search for reruns of a program and add the
information to the extended epg-info (trigger DEVELOPMENT_FEATURES).
This uses a service interface of the epgsearch plugin
"Epgsearch-searchresults-v1.0"
- the extended epg-info and the recording-info are extended by AUX-Infos
(configurable)
there is also an option to strip known tags
- the tab-widths are scaled for taking into account that different TT-Fonts
have a different width than the default font from VDR
- added tokens for signal-info:
FrontendSTR, FrontendSNR, FrontendHasLock, FrontendHasSignal
- added token PresentEventID for EPG-images
- added tokens for recordings:
RecordingFilename, RecordingPriority, RecordingLifetime
- set EditableWidth. This is important for plugins like 'rotor' or
'extrecmenu'
Diffstat (limited to 'render.h')
-rw-r--r-- | render.h | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -7,6 +7,7 @@ #include "common.h" #include "scroller.h" +#include "setup.h" #include "xml/skin.h" #include "xml/type.h" #include <vdr/osd.h> @@ -47,6 +48,7 @@ private: std::string mBasePath; bool mDirty; + uint mMaxItems; cSkin *mFallback; // update thread @@ -115,6 +117,7 @@ protected: virtual bool HasTabText(int Index, int n) { return false; } virtual void SetEditableWidth(int Width) {} virtual void SetMaxItems(int MaxItems) {} + inline int GetmMaxItems(void) { return mMaxItems; } // functions for display renderer to control behaviour void Flush(bool Force = false); @@ -134,6 +137,33 @@ public: static bool ItemColor(const std::string &Color, tColor &Result); static std::string ImagePath(const std::string &Filename); static cxType GetToken(const txToken &Token); + + // provide scrollbar in every menu + struct tMenuScrollbar { + uint current; // overall (0 ... toal-1) + uint currentOnScreen; // on the current screen (0 ... maxItems-1) + uint total; + uint maxItems; // viewable on current screen + std::vector<std::string> items; + + tMenuScrollbar(void) : current(0), currentOnScreen(0), total(0), maxItems(0) {} + bool Available(void) { return Text2SkinSetup.MenuScrollbar ? total > maxItems : false; } + uint Top(void) { return current - currentOnScreen; } + uint Bottom(void) { return total - Top() - maxItems; } + bool CanScrollUp(void) { return Text2SkinSetup.MenuScrollbar ? Top() > 0 : false; } + bool CanScrollDown(void) { return Text2SkinSetup.MenuScrollbar ? Bottom() > 0 : false; } + } mMenuScrollbar; + + // update infos (e.g. timerConflict) + struct tUpdate { + bool timerConflict; + bool events; + std::string currentItem; + bool resetMarquee; + bool foundFirstItem; + + tUpdate(void) : timerConflict(true), events(true), currentItem(""), resetMarquee(true), foundFirstItem(false) {} + } mUpdate; }; inline void cText2SkinRender::Flush(bool Force) |