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