summaryrefslogtreecommitdiff
path: root/display.h
diff options
context:
space:
mode:
Diffstat (limited to 'display.h')
-rw-r--r--display.h136
1 files changed, 32 insertions, 104 deletions
diff --git a/display.h b/display.h
index f5395fa..d3c2d43 100644
--- a/display.h
+++ b/display.h
@@ -10,8 +10,8 @@
* (c) 2004 Andreas Regel <andreas.regel AT powarman.de>
*/
-#ifndef GRAPHLCD_DISPLAY_H
-#define GRAPHLCD_DISPLAY_H
+#ifndef _GRAPHLCD_DISPLAY_H_
+#define _GRAPHLCD_DISPLAY_H_
#include <stdint.h>
@@ -19,27 +19,22 @@
#include <vector>
#include <glcdgraphics/bitmap.h>
-#include <glcdgraphics/font.h>
+#include <glcddrivers/driver.h>
+#include <glcdskin/skin.h>
#include "global.h"
-#include "layout.h"
-#include "logolist.h"
#include "setup.h"
#include "state.h"
-#include "widgets.h"
+#include "skinconfig.h"
#include <vdr/thread.h>
-#include <vdr/player.h>
-#define LCDMAXCARDS 4
-static const int kMaxTabCount = 10;
-
-enum ThreadState
+enum eThreadState
{
- Normal,
- Replay,
- Menu
+ StateNormal,
+ StateReplay,
+ StateMenu
};
// Display update Thread
@@ -49,104 +44,37 @@ public:
cGraphLCDDisplay(void);
~cGraphLCDDisplay(void);
- int Init(GLCD::cDriver * Lcd, const char * CfgDir);
- void Tick(void);
-
- void SetChannel(int ChannelNumber);
- void SetClear();
- void SetOsdTitle();
- void SetOsdItem(const char * Text);
- void SetOsdCurrentItem();
- void Recording(const cDevice * Device , const char * Name);
- void Replaying(bool starting, eReplayMode replayMode);
- //void SetStatusMessage(const char * Msg);
- void SetOsdTextItem(const char * Text, bool Scroll);
- //void SetColorButtons(const char * Red, const char * Green, const char * Yellow, const char * Blue);
- void SetVolume(int Volume, bool Absolute);
-
+ bool Initialise(GLCD::cDriver * Lcd, const std::string & CfgPath, const std::string & SkinsPath, const std::string & SkinName);
+ void Tick();
void Update();
+ void Replaying(bool Starting);
+ void SetMenuClear();
+ void SetMenuTitle();
+ void SetMenuCurrent();
+ const GLCD::cBitmap * GetScreen() const { return mScreen; }
protected:
virtual void Action();
private:
- bool update;
- bool active;
GLCD::cDriver * mLcd;
+ GLCD::cBitmap * mScreen;
+ GLCD::cSkin * mSkin;
+ cGraphLCDSkinConfig * mSkinConfig;
+
+ bool mUpdate;
+ uint64_t mUpdateAt;
+ uint64_t mLastTimeMs;
+
+ eThreadState mState;
+ eThreadState mLastState;
+
+ cMutex mMutex;
+ cGraphLCDState * mGraphLCDState;
+
+ bool mShowVolume;
- cFontList fontList;
- GLCD::cBitmap * bitmap;
- const GLCD::cFont * largeFont;
- const GLCD::cFont * normalFont;
- const GLCD::cFont * smallFont;
- const GLCD::cFont * symbols;
- std::string cfgDir;
- std::string fontDir;
- std::string logoDir;
-
- ThreadState State;
- ThreadState LastState;
-
- cMutex mutex;
- cGraphLCDState * GraphLCDState;
-
- int menuTop;
- int menuCount;
- int tabCount;
- int tab[kMaxTabCount];
- int tabMax[kMaxTabCount];
-
- std::vector <std::string> textItemLines;
- int textItemTop;
- int textItemVisibleLines;
-
- bool showVolume;
-
- time_t CurrTime;
- time_t LastTime;
- time_t LastTimeCheckSym;
- time_t LastTimeModSym;
- struct timeval CurrTimeval;
- struct timeval UpdateAt;
-
- std::vector<cScroller> scroller;
-
- cGraphLCDLogoList * logoList;
- cGraphLCDLogo * logo;
-
- char szETSymbols[32];
-
- void DisplayChannel();
- void DisplayTime();
- void DisplayLogo();
- void DisplaySymbols();
- void DisplayProgramme();
- void DisplayReplay(tReplayState & replay);
- void DisplayMenu();
- void DisplayMessage();
- void DisplayTextItem();
- void DisplayColorButtons();
- void DisplayVolume();
-
- void UpdateIn(long usec);
- bool CheckAndUpdateSymbols();
-
- /** Check if replay index bigger as one hour */
- bool IndexIsGreaterAsOneHour(int Index) const;
- /** Translate replay index to string with minute and second MM:SS */
- const char *IndexToMS(int Index) const;
- /** Compare Scroller with new Textbuffer*/
- bool IsScrollerTextChanged(const std::vector<cScroller> & scroller, const std::vector <std::string> & lines) const;
- /** Returns true if Logo loaded and active*/
- bool IsLogoActive() const;
- /** Returns true if Symbols loaded and active*/
- bool IsSymbolsActive() const;
-
- /** Set Brightness depends user activity */
- void SetBrightness();
- uint64_t LastTimeBrightness;
- int nCurrentBrightness;
- bool bBrightnessActive;
+ void UpdateIn(uint64_t msec);
};
#endif