From 5071a1754f3db0adcf477ecf8e5b2a818d1935bd Mon Sep 17 00:00:00 2001 From: lordjaxom Date: Wed, 14 Jul 2004 16:49:10 +0000 Subject: - fixed display of scrollbar if there is no text present - fixed animation delay if update takes longer than the delay - using backgrounds also in 8-bit fullscreen mode to improve performance - implemented screen layer to improve performance - corrected offsets and tab widths in main menu - implemented parameters "current", "mark" and "selected" to choose mark colors in replay display (defaults to the old values) - implemented color value "None" to be able to unset a color --- render.h | 35 +++++++++++++---------------------- 1 file changed, 13 insertions(+), 22 deletions(-) (limited to 'render.h') diff --git a/render.h b/render.h index 279a401..1c20beb 100644 --- a/render.h +++ b/render.h @@ -1,5 +1,5 @@ /* - * $Id: render.h,v 1.24 2004/06/24 18:37:30 lordjaxom Exp $ + * $Id: render.h,v 1.26 2004/07/13 13:52:51 lordjaxom Exp $ */ #ifndef VDR_TEXT2SKIN_RENDER_H @@ -17,6 +17,8 @@ class cText2SkinLoader; class cText2SkinData; class cText2SkinI18n; class cText2SkinTheme; +class cText2SkinScroller; +class cText2SkinScreen; class cText2SkinRender: public cThread { friend class cText2SkinDisplayChannel; @@ -28,22 +30,12 @@ class cText2SkinRender: public cThread { private: static cText2SkinRender *mRender; - cText2SkinData *mData; - cText2SkinI18n *mI18n; - cText2SkinTheme *mTheme; - eSkinSection mSection; - cOsd *mOsd; - cTextScroller *mScroller; - - struct ItemData { - string text; - string path; - int current; - int shown; - int total; - const cMarks *marks; - ItemData(void) { marks = NULL; } - }; + cText2SkinData *mData; + cText2SkinI18n *mI18n; + cText2SkinTheme *mTheme; + eSkinSection mSection; + cText2SkinScreen *mScreen; + cText2SkinScroller *mScroller; // channel display const cChannel *mChannel; @@ -119,13 +111,13 @@ protected: void DrawRectangle(const POINT &Pos, const SIZE &Size, const tColor *Fg); void DrawEllipse(const POINT &Pos, const SIZE &Size, const tColor *Fg, int Arc); void DrawSlope(const POINT &Pos, const SIZE &Size, const tColor *Fg, int Arc); - void DrawProgressbar(const POINT &Pos, const SIZE &Size, int Current, int Total, const tColor *Fg, const tColor *Bg, const cMarks *Marks = NULL); - void DrawMark(const POINT &Pos, const SIZE &Size, bool Start, bool Current, bool Horizontal); + void DrawProgressbar(const POINT &Pos, const SIZE &Size, int Current, int Total, const tColor *Fg, const tColor *Bg, const tColor *Selected, const tColor *Mark, const tColor *Cur, const cMarks *Marks = NULL); + void DrawMark(const POINT &Pos, const SIZE &Size, bool Start, bool Current, bool Horizontal, const tColor *Mark, const tColor *Cur); void DrawScrolltext(const POINT &Pos, const SIZE &Size, const tColor *Fg, const string &Text, const cFont *Font, int Align); void DrawScrollbar(const POINT &Pos, const SIZE &Size, int Offset, int Shown, int Total, const tColor *Bg, const tColor *Fg); // displays a full item - void DisplayItem(cText2SkinItem *Item, const ItemData *Data = NULL); + void DisplayItem(cText2SkinItem *Item, const tItemData *Data = NULL); // High-level operations void DisplayDateTime(cText2SkinItem *Item); @@ -155,8 +147,6 @@ protected: // Helpers string ItemText(cText2SkinItem *Item); string ItemText(cText2SkinItem *Item, const string &Content); - tColor *ItemFg(cText2SkinItem *Item); - tColor *ItemBg(cText2SkinItem *Item); int GetEditableWidth(MenuItem Item, bool Current); void Update(void); @@ -165,6 +155,7 @@ public: virtual ~cText2SkinRender(); static POINT Transform(const POINT &Pos); + static bool ItemColor(const string &Color, tColor &Result); void Flush(void) { Lock(); mDoUpdate.Broadcast(); Unlock(); } }; -- cgit v1.2.3