Fixed uint8_t text fields
This commit is contained in:
parent
97d308268d
commit
df3a78be1f
2 changed files with 5 additions and 4 deletions
|
|
@ -61,7 +61,7 @@ void input_text_field(GUIManager& gui, const char* id, std::string_view name, st
|
|||
});
|
||||
}
|
||||
|
||||
void input_scalar(GUIManager& gui, const char* id, uint8_t* val, uint8_t minVal, uint8_t maxVal, const TextBoxScalarOptions& options) {
|
||||
template <> void input_scalar<uint8_t>(GUIManager& gui, const char* id, uint8_t* val, uint8_t minVal, uint8_t maxVal, const TextBoxScalarOptions& options) {
|
||||
InputManager::TextInputProperties textInputProps {
|
||||
.inputType = SDL_TextInputType::SDL_TEXTINPUT_TYPE_NUMBER,
|
||||
.capitalization = SDL_Capitalization::SDL_CAPITALIZE_NONE,
|
||||
|
|
@ -76,13 +76,13 @@ void input_scalar(GUIManager& gui, const char* id, uint8_t* val, uint8_t minVal,
|
|||
d.fromStr = [minVal, maxVal](const std::string& a) {
|
||||
if(a.empty())
|
||||
return minVal;
|
||||
uint8_t toRet;
|
||||
uint32_t toRet;
|
||||
std::stringstream ss;
|
||||
ss << a;
|
||||
ss >> toRet;
|
||||
if(ss.fail())
|
||||
return minVal;
|
||||
return std::clamp(toRet, minVal, maxVal);
|
||||
return static_cast<uint8_t>(std::clamp(toRet, static_cast<uint32_t>(minVal), static_cast<uint32_t>(maxVal)));
|
||||
};
|
||||
d.toStr = [options](const uint8_t& a) {
|
||||
return std::to_string(static_cast<uint32_t>(a));
|
||||
|
|
|
|||
|
|
@ -49,7 +49,6 @@ struct TextBoxHexColorOptions {
|
|||
void input_color_component_255(GUIManager& gui, const char* id, float* val, const TextBoxOptions& options = {});
|
||||
void input_text(GUIManager& gui, const char* id, std::string* val, const TextBoxOptions& options = {});
|
||||
void input_text_field(GUIManager& gui, const char* id, std::string_view name, std::string* val, const TextBoxOptions& options = {});
|
||||
void input_scalar(GUIManager& gui, const char* id, uint8_t* val, uint8_t minVal, uint8_t maxVal, const TextBoxScalarOptions& options = {});
|
||||
void input_path(GUIManager& gui, const char* id, std::filesystem::path* val, const TextBoxPathOptions& options = {});
|
||||
void input_path_field(GUIManager& gui, const char* id, std::string_view name, std::filesystem::path* val, const TextBoxPathOptions& options = {});
|
||||
|
||||
|
|
@ -94,6 +93,8 @@ template <typename T> void input_scalar(GUIManager& gui, const char* id, T* val,
|
|||
gui.element<TextBox<T>>(id, d);
|
||||
}
|
||||
|
||||
template <> void input_scalar<uint8_t>(GUIManager& gui, const char* id, uint8_t* val, uint8_t minVal, uint8_t maxVal, const TextBoxScalarOptions& options);
|
||||
|
||||
template <typename TContainer, typename T> void input_scalars_field(GUIManager& gui, const char* id, std::string_view name, TContainer* val, size_t elemCount, T minVal, T maxVal, const TextBoxScalarOptions& options = {}) {
|
||||
gui.new_id(id, [&] {
|
||||
left_to_right_line_layout(gui, [&]() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue