00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _SLIDER_GUMP_H_
00020 #define _SLIDER_GUMP_H_
00021
00022 #include "Modal_gump.h"
00023
00024 class Slider_button;
00025
00026
00027
00028
00029 class Slider_gump : public Modal_gump
00030 {
00031 UNREPLICATABLE_CLASS_I(Slider_gump,Modal_gump(0,0,0,0));
00032
00033 protected:
00034
00035 Slider_button *left_arrow, *right_arrow;
00036 int diamondx;
00037 static short diamondy;
00038 int min_val, max_val;
00039 int step_val;
00040 int val;
00041 unsigned char dragging;
00042 int prev_dragx;
00043 void set_val(int newval);
00044
00045 static short leftbtnx, rightbtnx, btny;
00046 static short xmin, xmax;
00047
00048 ShapeID diamond;
00049
00050 public:
00051 Slider_gump(int mival, int mxval, int step, int defval);
00052 ~Slider_gump();
00053 int get_val()
00054 { return val; }
00055
00056 void clicked_arrow(Slider_button *arrow);
00057
00058 void move_diamond(int dir);
00059
00060
00061 virtual void paint();
00062 virtual void close()
00063 { done = 1; }
00064
00065 virtual void mouse_down(int mx, int my);
00066 virtual void mouse_up(int mx, int my);
00067 virtual void mouse_drag(int mx, int my);
00068 virtual void key_down(int chr);
00069
00070 virtual void mousewheel_up();
00071 virtual void mousewheel_down();
00072 };
00073
00074 #endif