mirror of https://github.com/ocornut/imgui
ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
This commit is contained in:
parent
f617fe7890
commit
33ea1e8b78
|
@ -58,6 +58,8 @@ Other changes:
|
|||
setting large values. (#6749)
|
||||
- InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal
|
||||
point character when using Decimal/Scientific character filter. (#6719, #2278) [@adamsepp]
|
||||
- ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
|
||||
(Note that they may still be marked as Active/Hovered.)
|
||||
- Clipper: Added IncludeItemByIndex() helper to include a single item. (#6424, #3841)
|
||||
- ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum
|
||||
of individual ImDrawList's buffer sizes when a dimming/modal background is rendered. (#6716)
|
||||
|
|
|
@ -3940,6 +3940,8 @@ void ImGui::MarkItemEdited(ImGuiID id)
|
|||
// This marking is solely to be able to provide info for IsItemDeactivatedAfterEdit().
|
||||
// ActiveId might have been released by the time we call this (as in the typical press/release button behavior) but still need to fill the data.
|
||||
ImGuiContext& g = *GImGui;
|
||||
if (g.LockMarkEdited > 0)
|
||||
return;
|
||||
if (g.ActiveId == id || g.ActiveId == 0)
|
||||
{
|
||||
g.ActiveIdHasBeenEditedThisFrame = true;
|
||||
|
|
|
@ -2014,6 +2014,7 @@ struct ImGuiContext
|
|||
float ScrollbarClickDeltaToGrabCenter; // Distance between mouse and center of grab box, normalized in parent space. Use storage?
|
||||
float DisabledAlphaBackup; // Backup for style.Alpha for BeginDisabled()
|
||||
short DisabledStackSize;
|
||||
short LockMarkEdited;
|
||||
short TooltipOverrideCount;
|
||||
ImVector<char> ClipboardHandlerData; // If no custom clipboard handler is defined
|
||||
ImVector<ImGuiID> MenusIdSubmittedThisFrame; // A list of menu IDs that were rendered at least once
|
||||
|
@ -2207,6 +2208,7 @@ struct ImGuiContext
|
|||
ScrollbarClickDeltaToGrabCenter = 0.0f;
|
||||
DisabledAlphaBackup = 0.0f;
|
||||
DisabledStackSize = 0;
|
||||
LockMarkEdited = 0;
|
||||
TooltipOverrideCount = 0;
|
||||
|
||||
PlatformImeData.InputPos = ImVec2(0.0f, 0.0f);
|
||||
|
|
|
@ -5884,6 +5884,7 @@ void ImGui::ColorEditOptionsPopup(const float* col, ImGuiColorEditFlags flags)
|
|||
if ((!allow_opt_inputs && !allow_opt_datatype) || !BeginPopup("context"))
|
||||
return;
|
||||
ImGuiContext& g = *GImGui;
|
||||
g.LockMarkEdited++;
|
||||
ImGuiColorEditFlags opts = g.ColorEditOptions;
|
||||
if (allow_opt_inputs)
|
||||
{
|
||||
|
@ -5926,6 +5927,7 @@ void ImGui::ColorEditOptionsPopup(const float* col, ImGuiColorEditFlags flags)
|
|||
|
||||
g.ColorEditOptions = opts;
|
||||
EndPopup();
|
||||
g.LockMarkEdited--;
|
||||
}
|
||||
|
||||
void ImGui::ColorPickerOptionsPopup(const float* ref_col, ImGuiColorEditFlags flags)
|
||||
|
@ -5935,6 +5937,7 @@ void ImGui::ColorPickerOptionsPopup(const float* ref_col, ImGuiColorEditFlags fl
|
|||
if ((!allow_opt_picker && !allow_opt_alpha_bar) || !BeginPopup("context"))
|
||||
return;
|
||||
ImGuiContext& g = *GImGui;
|
||||
g.LockMarkEdited++;
|
||||
if (allow_opt_picker)
|
||||
{
|
||||
ImVec2 picker_size(g.FontSize * 8, ImMax(g.FontSize * 8 - (GetFrameHeight() + g.Style.ItemInnerSpacing.x), 1.0f)); // FIXME: Picker size copied from main picker function
|
||||
|
@ -5964,6 +5967,7 @@ void ImGui::ColorPickerOptionsPopup(const float* ref_col, ImGuiColorEditFlags fl
|
|||
CheckboxFlags("Alpha Bar", &g.ColorEditOptions, ImGuiColorEditFlags_AlphaBar);
|
||||
}
|
||||
EndPopup();
|
||||
g.LockMarkEdited--;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
|
Loading…
Reference in New Issue