mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-12-12 19:22:30 +00:00
51 lines
1.5 KiB
C++
51 lines
1.5 KiB
C++
#ifndef UI_C_SIMPLE_SLIDER_HPP
|
|
#define UI_C_SIMPLE_SLIDER_HPP
|
|
|
|
#include "ui/CSimpleFrame.hpp"
|
|
|
|
class CSimpleSlider : public CSimpleFrame {
|
|
public:
|
|
// Static variables
|
|
static int32_t s_metatable;
|
|
static int32_t s_objectType;
|
|
|
|
// Static functions
|
|
static void CreateScriptMetaTable();
|
|
static int32_t GetObjectType();
|
|
static void RegisterScriptMethods(lua_State* L);
|
|
|
|
// Member variables
|
|
int32_t m_changed : 1;
|
|
int32_t m_rangeSet : 1;
|
|
int32_t m_valueSet : 1;
|
|
int32_t m_buttonDown : 1;
|
|
float m_baseValue = 0.0f;
|
|
float m_range = 0.0f;
|
|
float m_value = 0.0f;
|
|
float m_valueStep = 0.0f;
|
|
ScriptIx m_onValueChanged;
|
|
ScriptIx m_onMinMaxChanged;
|
|
|
|
// Virtual member functions
|
|
virtual ScriptIx* GetScriptByName(const char* name, ScriptData& data);
|
|
virtual bool IsA(int32_t type);
|
|
virtual int32_t GetScriptMetaTable();
|
|
|
|
// Member functions
|
|
CSimpleSlider(CSimpleFrame* parent)
|
|
: CSimpleFrame(parent)
|
|
, m_changed(0)
|
|
, m_rangeSet(0)
|
|
, m_valueSet(0)
|
|
, m_buttonDown(0)
|
|
{
|
|
this->EnableEvent(SIMPLE_EVENT_MOUSE, -1);
|
|
};
|
|
void RunOnMinMaxChangedScript();
|
|
void RunOnValueChangedScript();
|
|
void SetMinMaxValues(float min, float max);
|
|
void SetValue(float value);
|
|
float Sub96BC10(float value);
|
|
};
|
|
|
|
#endif
|