|
|
@ -4234,14 +4234,17 @@ bool ImGui::ColorEdit4(const char* label, float col[4], ImGuiColorEditFlags flag
|
|
|
|
if (n > 0)
|
|
|
|
if (n > 0)
|
|
|
|
SameLine(0, style.ItemInnerSpacing.x);
|
|
|
|
SameLine(0, style.ItemInnerSpacing.x);
|
|
|
|
SetNextItemWidth((n + 1 < components) ? w_item_one : w_item_last);
|
|
|
|
SetNextItemWidth((n + 1 < components) ? w_item_one : w_item_last);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Disable Hue edit when Saturation is zero
|
|
|
|
|
|
|
|
const bool disable_hue_edit = (n == 0 && (flags & ImGuiColorEditFlags_DisplayHSV) && i[1] == 0);
|
|
|
|
if (flags & ImGuiColorEditFlags_Float)
|
|
|
|
if (flags & ImGuiColorEditFlags_Float)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
value_changed |= DragFloat(ids[n], &f[n], 1.0f/255.0f, 0.0f, hdr ? 0.0f : 1.0f, fmt_table_float[fmt_idx][n]);
|
|
|
|
value_changed |= DragFloat(ids[n], &f[n], 1.0f/255.0f, disable_hue_edit ? +FLT_MAX : 0.0f, disable_hue_edit ? -FLT_MAX : hdr ? 0.0f : 1.0f, fmt_table_float[fmt_idx][n]);
|
|
|
|
value_changed_as_float |= value_changed;
|
|
|
|
value_changed_as_float |= value_changed;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
value_changed |= DragInt(ids[n], &i[n], 1.0f, 0, hdr ? 0 : 255, fmt_table_int[fmt_idx][n]);
|
|
|
|
value_changed |= DragInt(ids[n], &i[n], 1.0f, disable_hue_edit ? INT_MAX : 0, disable_hue_edit ? INT_MIN : hdr ? 0 : 255, fmt_table_int[fmt_idx][n]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!(flags & ImGuiColorEditFlags_NoOptions))
|
|
|
|
if (!(flags & ImGuiColorEditFlags_NoOptions))
|
|
|
|
OpenPopupOnItemClick("context");
|
|
|
|
OpenPopupOnItemClick("context");
|
|
|
|