00001 #ifndef _BUTTON_H_ 00002 #define _BUTTON_H_ 00003 00004 #include <nds.h> 00005 #include "label.h" 00006 #include "gadgetstyle.h" 00007 00008 namespace WoopsiUI { 00009 00013 class Button : public Label { 00014 public: 00015 00028 Button(s16 x, s16 y, u16 width, u16 height, const WoopsiString& text, GadgetStyle* style = NULL); 00029 00030 protected: 00031 00036 virtual void drawOutline(GraphicsPort* port); 00037 00044 virtual void drawContents(GraphicsPort* port); 00045 00052 virtual void drawBorder(GraphicsPort* port); 00053 00059 virtual void onClick(s16 x, s16 y); 00060 00066 virtual void onRelease(s16 x, s16 y); 00067 00073 virtual void onReleaseOutside(s16 x, s16 y); 00074 00078 virtual inline ~Button() { }; 00079 00083 inline Button(const Button& button) : Label(button) { }; 00084 }; 00085 } 00086 00087 #endif