summaryrefslogtreecommitdiff
path: root/scroller.h
diff options
context:
space:
mode:
Diffstat (limited to 'scroller.h')
-rw-r--r--scroller.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/scroller.h b/scroller.h
new file mode 100644
index 0000000..9b338d9
--- /dev/null
+++ b/scroller.h
@@ -0,0 +1,47 @@
+/*
+ * $Id: scroller.h,v 1.1 2004/07/05 17:55:34 lordjaxom Exp $
+ */
+
+#ifndef VDR_TEXT2SKIN_SCROLLER_H
+#define VDR_TEXT2SKIN_SCROLLER_H
+
+#include "common.h"
+#include <vdr/font.h>
+
+class cText2SkinScreen;
+
+class cText2SkinScroller {
+private:
+ cText2SkinScreen *mScreen;
+ const cFont *mFont;
+ int mLeft;
+ int mTop;
+ int mWidth;
+ int mHeight;
+ int mOffset;
+ int mShown;
+ tColor mColorFg;
+ tColor mColorBg;
+ cTextWrapper mWrapper;
+
+public:
+ cText2SkinScroller(void);
+ cText2SkinScroller(cText2SkinScreen *Screen, int Left, int Top, int Width, int Height, const char *Text, const cFont *Font, tColor ColorFg, tColor ColorBg);
+
+ void Set(cText2SkinScreen *Screen, int Left, int Top, int Width, int Height, const char *Text, const cFont *Font, tColor ColorFg, tColor ColorBg);
+ void DrawText(void);
+ void Reset(void);
+ int Left(void) { return mLeft; }
+ int Top(void) { return mTop; }
+ int Width(void) { return mWidth; }
+ int Height(void) { return mHeight; }
+ int Total(void) { return mWrapper.Lines(); }
+ int Offset(void) { return mOffset; }
+ int Shown(void) { return mShown; }
+ bool CanScroll(void) { return CanScrollUp() || CanScrollDown(); }
+ bool CanScrollUp(void) { return mOffset > 0; }
+ bool CanScrollDown(void) { return mOffset + mShown < Total(); }
+ void Scroll(bool Up, bool Page);
+};
+
+#endif // VDR_TEXT2SKIN_SCROLLER_H