Woopsi 1.3
Nintendo DS Gui Framework
libwoopsi/include/animbutton.h
00001 #ifndef _ANIM_BUTTON_H_
00002 #define _ANIM_BUTTON_H_
00003 
00004 #include <nds.h>
00005 #include "gadget.h"
00006 #include "animation.h"
00007 #include "gadgeteventhandler.h"
00008 
00009 namespace WoopsiUI {
00010 
00011     class WoopsiTimer;
00012 
00017     class AnimButton : public Gadget, public GadgetEventHandler {
00018 
00019     public:
00020 
00032         AnimButton(s16 x, s16 y, u16 width, u16 height, u16 animX, u16 animY);
00033 
00039         virtual Animation* const getNormalAnimation();
00040         
00045         virtual Animation* const getClickedAnimation();
00046         
00053         virtual void getPreferredDimensions(Rect& rect) const;
00054 
00055     protected:
00056         Animation* _animNormal;                 
00057         Animation* _animClicked;                
00058         u16 _animX;                             
00059         u16 _animY;                             
00060         bool _initialised;                      
00061         WoopsiTimer* _timer;                    
00063         static const int ANIM_BUTTON_DEFAULT_WIDTH;     
00064         static const int ANIM_BUTTON_DEFAULT_HEIGHT;    
00072         virtual void drawContents(GraphicsPort* port);
00073 
00080         virtual void drawBorder(GraphicsPort* port);
00081 
00086         virtual void drawOutline(GraphicsPort* port);
00087 
00093         virtual void onClick(s16 x, s16 y);
00094         
00100         virtual void onRelease(s16 x, s16 y);
00101         
00107         virtual void onReleaseOutside(s16 x, s16 y);
00108         
00112         virtual void onDisable();
00113         
00117         virtual void onEnable();
00118 
00122         virtual ~AnimButton();
00123 
00127         inline AnimButton(const AnimButton& animButton) : Gadget(animButton) { };
00128 
00133         void handleActionEvent(const GadgetEventArgs& e);
00134     };
00135 }
00136 
00137 #endif
 All Classes Functions Variables Enumerations Enumerator