diff options
Diffstat (limited to 'src/ui/scrollpane.h')
-rw-r--r-- | src/ui/scrollpane.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/ui/scrollpane.h b/src/ui/scrollpane.h new file mode 100644 index 0000000..47e68ee --- /dev/null +++ b/src/ui/scrollpane.h @@ -0,0 +1,47 @@ +/* + ui/scrollpane.h + This file is part of the Osirion project and is distributed under + the terms of the GNU General Public License version 2 +*/ + +#ifndef __INCLUDED_UI_SCROLLPANE_H__ +#define __INCLUDED_UI_SCROLLPANE_H__ + +#include "ui/widget.h" +#include "ui/definitions.h" + +namespace ui +{ + +/// a widget displaying centered text +class ScrollPane : public Widget +{ +public: + ScrollPane(Widget *parent, ui::Text &text); + ~ScrollPane(); + + /// set scroll + void set_scroll(int scroll); + + /// increase scroll + void inc_scroll(int scroll); + + /// decrease scroll + void dec_scroll(int scroll); + + /// current scroll position + inline int scroll() const { return scrollpane_scroll; } + +protected: + /// draw the scroll pane + virtual void draw(); + +private: + ui::Text &scrollpane_text; + int scrollpane_scroll; +}; + +} + +#endif // __INCLUDED_UI_SCROLLPANE_H__ + |