|
|
|
@ -8580,19 +8580,20 @@ bool ImGui::ColorEdit4(const char* label, float col[4], bool alpha) |
|
|
|
|
else |
|
|
|
|
ImFormatString(buf, IM_ARRAYSIZE(buf), "#%02X%02X%02X", i[0], i[1], i[2]); |
|
|
|
|
ImGui::PushItemWidth(w_slider_all - style.ItemInnerSpacing.x); |
|
|
|
|
value_changed |= ImGui::InputText("##Text", buf, IM_ARRAYSIZE(buf), ImGuiInputTextFlags_CharsHexadecimal | ImGuiInputTextFlags_CharsUppercase); |
|
|
|
|
ImGui::PopItemWidth(); |
|
|
|
|
if (ImGui::InputText("##Text", buf, IM_ARRAYSIZE(buf), ImGuiInputTextFlags_CharsHexadecimal | ImGuiInputTextFlags_CharsUppercase)) |
|
|
|
|
{ |
|
|
|
|
value_changed |= true; |
|
|
|
|
char* p = buf; |
|
|
|
|
while (*p == '#' || ImCharIsSpace(*p)) |
|
|
|
|
p++; |
|
|
|
|
|
|
|
|
|
// Treat at unsigned (%X is unsigned)
|
|
|
|
|
i[0] = i[1] = i[2] = i[3] = 0; |
|
|
|
|
if (alpha) |
|
|
|
|
sscanf(p, "%02X%02X%02X%02X", (unsigned int*)&i[0], (unsigned int*)&i[1], (unsigned int*)&i[2], (unsigned int*)&i[3]); |
|
|
|
|
sscanf(p, "%02X%02X%02X%02X", (unsigned int*)&i[0], (unsigned int*)&i[1], (unsigned int*)&i[2], (unsigned int*)&i[3]); // Treat at unsigned (%X is unsigned)
|
|
|
|
|
else |
|
|
|
|
sscanf(p, "%02X%02X%02X", (unsigned int*)&i[0], (unsigned int*)&i[1], (unsigned int*)&i[2]); |
|
|
|
|
} |
|
|
|
|
ImGui::PopItemWidth(); |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|