00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef SLIDERGUMP_H
00020 #define SLIDERGUMP_H
00021
00022 #include "ModalGump.h"
00023
00024 class UCProcess;
00025 class RenderedText;
00026
00027 class SliderGump : public ModalGump
00028 {
00029 public:
00030 ENABLE_RUNTIME_CLASSTYPE();
00031
00032 SliderGump();
00033 SliderGump(int x, int y, sint16 min, sint16 max,
00034 sint16 value, sint16 delta=1);
00035 virtual ~SliderGump(void);
00036
00037 virtual void InitGump(Gump* newparent, bool take_focus=true);
00038 virtual void PaintThis(RenderSurface* surf, sint32 lerp_factor, bool scaled);
00039 virtual void Close(bool no_del = false);
00040 virtual void ChildNotify(Gump *child, uint32 message);
00041
00042 void setUsecodeNotify(UCProcess* ucp);
00043
00044
00045 virtual bool StartDraggingChild(Gump* gump, int mx, int my);
00046 virtual void DraggingChild(Gump* gump, int mx, int my);
00047 virtual void StopDraggingChild(Gump* gump);
00048
00049 virtual bool OnKeyDown(int key, int mod);
00050
00051 bool loadData(IDataSource* ids, uint32 version);
00052 protected:
00053 virtual void saveData(ODataSource* ods);
00054
00055 sint16 min;
00056 sint16 max;
00057 sint16 delta;
00058 sint16 value;
00059
00060 uint16 usecodeNotifyPID;
00061
00062 sint16 renderedvalue;
00063 RenderedText* renderedtext;
00064
00065 int getSliderPos();
00066 void setSliderPos();
00067 void setValueFromSlider(int sliderx);
00068 void drawText(RenderSurface* surf);
00069 };
00070
00071 #endif