mirror of
https://github.com/ApfelTeeSaft/vb01.git
synced 2026-08-26 19:33:45 +00:00
54 lines
1.6 KiB
C++
54 lines
1.6 KiB
C++
#ifndef SLIDER_H
|
|
#define SLIDER_H
|
|
|
|
#include "vector.h"
|
|
#include "button.h"
|
|
#include "textbox.h"
|
|
|
|
namespace vb01Gui{
|
|
class Slider {
|
|
public:
|
|
Slider(vb01::Vector3, vb01::Vector2, double, double);
|
|
~Slider();
|
|
void update();
|
|
inline void setTextbox(Textbox *t){this->textbox=t;}
|
|
inline double getMinValue(){return minValue;}
|
|
inline double getValue(){return value;}
|
|
inline double getMaxValue(){return maxValue;}
|
|
inline void setValue(double v){this->value=v;}
|
|
inline vb01::Vector3 getPos(){return pos;}
|
|
inline vb01::Vector2 getSize(){return size;}
|
|
inline Textbox* getTextbox(){return textbox;}
|
|
private:
|
|
class MovableSliderButton : public Button {
|
|
public:
|
|
MovableSliderButton(Slider*, vb01::Vector3, vb01::Vector2, std::string, bool);
|
|
void onClick();
|
|
void update();
|
|
private:
|
|
Slider *slider;
|
|
bool clicked = false;
|
|
};
|
|
|
|
class StaticSliderButton : public Button {
|
|
public:
|
|
StaticSliderButton(Slider*, vb01::Vector3, vb01::Vector2, std::string, bool);
|
|
void onClick();
|
|
private:
|
|
Slider *slider;
|
|
};
|
|
|
|
MovableSliderButton *movableSliderButton = nullptr;
|
|
StaticSliderButton *staticSliderButton = nullptr;
|
|
double minValue, value, maxValue;
|
|
vb01::Vector3 pos;
|
|
vb01::Vector2 size;
|
|
Textbox *textbox = nullptr;
|
|
public:
|
|
inline MovableSliderButton* getMovableSliderButton(){return movableSliderButton;}
|
|
inline StaticSliderButton* getStaticSliderButton(){return staticSliderButton;}
|
|
};
|
|
}
|
|
|
|
#endif
|