00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef SDLBUTTONGROUP_H
00030 #define SDLBUTTONGROUP_H
00031
00032 #ifdef SWIG
00033 %include "swigcommon.h"
00034 %module sdlbuttongroup
00035 %{
00036 #include "sdlbuttongroup.h"
00037 %}
00038 #endif
00039
00040 #include "sdlgradientwidget.h"
00041 #include "sdlbutton.h"
00042
00052 class DECLSPEC SDLButtonGroup : public SDLGradientWidget {
00053 public:
00054 SDLButtonGroup(SDLWidget* parent, int id, SDL_Rect& r, int x, int y, int d=1);
00055 ~SDLButtonGroup();
00056
00057 void Activate(int x, int y, int d=0);
00058 void Deactivate(int x, int y, int d=0);
00059 void Show();
00060 void SwitchTo(int d);
00061 void BlendTo(int d);
00062
00063 void SetText(int x, int y, int d, char* text);
00064
00065 SDLButton* GetButton(int x, int y, int d);
00066
00067 virtual bool OnButton(int x, int y, int d, SDLWidget* widget);
00068
00069 protected:
00070 int GetIndex(int x, int y, int d);
00071
00073 bool eventButtonClick(int id, SDLWidget* widget);
00074
00075 private:
00076 SDLButtonGroup(const SDLButtonGroup&);
00077 SDLButtonGroup& operator=(const SDLButtonGroup&);
00078
00079 private:
00080 void GetPosFromId(int id, int& x, int& y, int& d);
00081
00082 SDLButton** btnArray;
00083 Uint8* actArray;
00084 int count_x;
00085 int count_y;
00086 int count_d;
00087 int current_depth;
00088 };
00089
00090
00091 #endif // SDLBUTTONGROUP_H