Woopsi 1.0
GUI Framework for Nintendo DS Homebrew

scrollablebase.h

00001 #ifndef _SCROLLABLE_BASE_H_
00002 #define _SCROLLABLE_BASE_H_
00003 
00004 #include <nds.h>
00005 
00006 namespace WoopsiUI {
00007 
00013         class ScrollableBase {
00014         public:
00018                 inline ScrollableBase() { };
00019                 
00024                 virtual const s32 getCanvasX() const = 0;
00025                 
00030                 virtual const s32 getCanvasY() const = 0;
00031 
00036                 virtual const s32 getCanvasWidth() const = 0;
00037                 
00042                 virtual const s32 getCanvasHeight() const = 0;
00043 
00049                 virtual void scroll(s32 dx, s32 dy) = 0;
00050                 
00056                 virtual void jump(s32 x, s32 y) = 0;
00057 
00062                 virtual bool allowsVerticalScroll() const = 0;
00063 
00068                 virtual bool allowsHorizontalScroll() const = 0;
00069 
00074                 virtual void setAllowsVerticalScroll(bool allow) = 0;
00075 
00080                 virtual void setAllowsHorizontalScroll(bool allow) = 0;
00081 
00086                 virtual void setCanvasWidth(const s32 width) = 0;
00087                 
00092                 virtual void setCanvasHeight(const s32 height) = 0;
00093 
00097                 virtual inline ~ScrollableBase() { };
00098         };
00099 }
00100 
00101 #endif