@ -2269,7 +2269,7 @@ void ImGui::SetActiveID(ImGuiID id, ImGuiWindow* window)
if ( g . ActiveIdIsJustActivated )
{
g . ActiveIdTimer = 0.0f ;
g . ActiveId ValueChang ed = false ;
g . ActiveId HasBeenEdit ed = false ;
if ( id ! = 0 )
{
g . LastActiveId = id ;
@ -2338,7 +2338,7 @@ void ImGui::KeepAliveID(ImGuiID id)
g . ActiveIdPreviousFrameIsAlive = true ;
}
void ImGui : : MarkItem ValueChang ed( ImGuiID id )
void ImGui : : MarkItem Edit ed( 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 need to fill the data.
@ -2346,8 +2346,8 @@ void ImGui::MarkItemValueChanged(ImGuiID id)
ImGuiContext & g = * GImGui ;
IM_ASSERT ( g . ActiveId = = id | | g . ActiveId = = 0 | | g . DragDropActive ) ;
//IM_ASSERT(g.CurrentWindow->DC.LastItemId == id);
g . ActiveId ValueChang ed = true ;
g . CurrentWindow - > DC . LastItemStatusFlags | = ImGuiItemStatusFlags_ ValueChang ed;
g . ActiveId HasBeenEdit ed = true ;
g . CurrentWindow - > DC . LastItemStatusFlags | = ImGuiItemStatusFlags_ Edit ed;
}
static inline bool IsWindowContentHoverable ( ImGuiWindow * window , ImGuiHoveredFlags flags )
@ -3954,7 +3954,7 @@ void ImGui::NewFrame()
g . LastActiveIdTimer + = g . IO . DeltaTime ;
g . ActiveIdPreviousFrame = g . ActiveId ;
g . ActiveIdPreviousFrameWindow = g . ActiveIdWindow ;
g . ActiveIdPreviousFrame ValueChanged = g . ActiveIdValueChang ed;
g . ActiveIdPreviousFrame HasBeenEdited = g . ActiveIdHasBeenEdit ed;
g . ActiveIdIsAlive = 0 ;
g . ActiveIdPreviousFrameIsAlive = false ;
g . ActiveIdIsJustActivated = false ;
@ -5209,7 +5209,7 @@ bool ImGui::IsItemDeactivated()
bool ImGui : : IsItemDeactivatedAfterEdit ( )
{
ImGuiContext & g = * GImGui ;
return IsItemDeactivated ( ) & & ( g . ActiveIdPreviousFrame ValueChang ed | | ( g . ActiveId = = 0 & & g . ActiveId ValueChang ed) ) ;
return IsItemDeactivated ( ) & & ( g . ActiveIdPreviousFrame HasBeenEdit ed | | ( g . ActiveId = = 0 & & g . ActiveId HasBeenEdit ed) ) ;
}
bool ImGui : : IsItemFocused ( )
@ -5250,7 +5250,7 @@ bool ImGui::IsItemVisible()
bool ImGui : : IsItemEdited ( )
{
ImGuiWindow * window = GetCurrentWindowRead ( ) ;
return ( window - > DC . LastItemStatusFlags & ImGuiItemStatusFlags_ ValueChang ed) ! = 0 ;
return ( window - > DC . LastItemStatusFlags & ImGuiItemStatusFlags_ Edit ed) ! = 0 ;
}
// Allow last item to be overlapped by a subsequent item. Both may be activated during the same frame before the later one takes priority.
@ -8294,7 +8294,7 @@ bool ImGui::ButtonEx(const char* label, const ImVec2& size_arg, ImGuiButtonFlags
bool hovered , held ;
bool pressed = ButtonBehavior ( bb , id , & hovered , & held , flags ) ;
if ( pressed )
MarkItem ValueChang ed( id ) ;
MarkItem Edit ed( id ) ;
// Render
const ImU32 col = GetColorU32 ( ( held & & hovered ) ? ImGuiCol_ButtonActive : hovered ? ImGuiCol_ButtonHovered : ImGuiCol_Button ) ;
@ -9635,7 +9635,7 @@ bool ImGui::SliderScalar(const char* label, ImGuiDataType data_type, void* v, co
ImRect grab_bb ;
const bool value_changed = SliderBehavior ( frame_bb , id , data_type , v , v_min , v_max , format , power , ImGuiSliderFlags_None , & grab_bb ) ;
if ( value_changed )
MarkItem ValueChang ed( id ) ;
MarkItem Edit ed( id ) ;
// Render grab
window - > DrawList - > AddRectFilled ( grab_bb . Min , grab_bb . Max , GetColorU32 ( g . ActiveId = = id ? ImGuiCol_SliderGrabActive : ImGuiCol_SliderGrab ) , style . GrabRounding ) ;
@ -9701,7 +9701,7 @@ bool ImGui::VSliderScalar(const char* label, const ImVec2& size, ImGuiDataType d
ImRect grab_bb ;
const bool value_changed = SliderBehavior ( frame_bb , id , data_type , v , v_min , v_max , format , power , ImGuiSliderFlags_Vertical , & grab_bb ) ;
if ( value_changed )
MarkItem ValueChang ed( id ) ;
MarkItem Edit ed( id ) ;
// Render grab
window - > DrawList - > AddRectFilled ( grab_bb . Min , grab_bb . Max , GetColorU32 ( g . ActiveId = = id ? ImGuiCol_SliderGrabActive : ImGuiCol_SliderGrab ) , style . GrabRounding ) ;
@ -9982,7 +9982,7 @@ bool ImGui::DragScalar(const char* label, ImGuiDataType data_type, void* v, floa
ItemSize ( total_bb , style . FramePadding . y ) ;
const bool value_changed = DragBehavior ( id , data_type , v , v_speed , v_min , v_max , format , power ) ;
if ( value_changed )
MarkItem ValueChang ed( id ) ;
MarkItem Edit ed( id ) ;
// Draw frame
const ImU32 frame_col = GetColorU32 ( g . ActiveId = = id ? ImGuiCol_FrameBgActive : g . HoveredId = = id ? ImGuiCol_FrameBgHovered : ImGuiCol_FrameBg ) ;
@ -10333,7 +10333,7 @@ bool ImGui::Checkbox(const char* label, bool* v)
if ( pressed )
{
* v = ! ( * v ) ;
MarkItem ValueChang ed( id ) ;
MarkItem Edit ed( id ) ;
}
RenderNavHighlight ( total_bb , id ) ;
@ -10403,7 +10403,7 @@ bool ImGui::RadioButton(const char* label, bool active)
bool hovered , held ;
bool pressed = ButtonBehavior ( total_bb , id , & hovered , & held ) ;
if ( pressed )
MarkItem ValueChang ed( id ) ;
MarkItem Edit ed( id ) ;
RenderNavHighlight ( total_bb , id ) ;
window - > DrawList - > AddCircleFilled ( center , radius , GetColorU32 ( ( held & & hovered ) ? ImGuiCol_FrameBgActive : hovered ? ImGuiCol_FrameBgHovered : ImGuiCol_FrameBg ) , 16 ) ;
@ -11384,7 +11384,7 @@ bool ImGui::InputTextEx(const char* label, char* buf, int buf_size, const ImVec2
RenderText ( ImVec2 ( frame_bb . Max . x + style . ItemInnerSpacing . x , frame_bb . Min . y + style . FramePadding . y ) , label ) ;
if ( value_changed )
MarkItem ValueChang ed( id ) ;
MarkItem Edit ed( id ) ;
if ( ( flags & ImGuiInputTextFlags_EnterReturnsTrue ) ! = 0 )
return enter_pressed ;
@ -11851,7 +11851,7 @@ bool ImGui::Selectable(const char* label, bool selected, ImGuiSelectableFlags fl
SetNavID ( id , window - > DC . NavLayerCurrent ) ;
}
if ( pressed )
MarkItem ValueChang ed( id ) ;
MarkItem Edit ed( id ) ;
// Render
if ( hovered | | selected )
@ -11984,7 +11984,7 @@ bool ImGui::ListBox(const char* label, int* current_item, bool (*items_getter)(v
}
ListBoxFooter ( ) ;
if ( value_changed )
MarkItem ValueChang ed( g . CurrentWindow - > DC . LastItemId ) ;
MarkItem Edit ed( g . CurrentWindow - > DC . LastItemId ) ;
return value_changed ;
}
@ -12451,7 +12451,7 @@ bool ImGui::ColorButton(const char* desc_id, const ImVec4& col, ImGuiColorEditFl
ColorTooltip ( desc_id , & col . x , flags & ( ImGuiColorEditFlags_NoAlpha | ImGuiColorEditFlags_AlphaPreview | ImGuiColorEditFlags_AlphaPreviewHalf ) ) ;
if ( pressed )
MarkItem ValueChang ed( id ) ;
MarkItem Edit ed( id ) ;
return pressed ;
}
@ -12748,7 +12748,7 @@ bool ImGui::ColorEdit4(const char* label, float col[4], ImGuiColorEditFlags flag
window - > DC . LastItemId = g . ActiveId ;
if ( value_changed )
MarkItem ValueChang ed( window - > DC . LastItemId ) ;
MarkItem Edit ed( window - > DC . LastItemId ) ;
return value_changed ;
}
@ -13064,7 +13064,7 @@ bool ImGui::ColorPicker4(const char* label, float col[4], ImGuiColorEditFlags fl
if ( value_changed & & memcmp ( backup_initial_col , col , components * sizeof ( float ) ) = = 0 )
value_changed = false ;
if ( value_changed )
MarkItem ValueChang ed( window - > DC . LastItemId ) ;
MarkItem Edit ed( window - > DC . LastItemId ) ;
PopID ( ) ;
@ -13184,7 +13184,7 @@ bool ImGui::SplitterBehavior(const ImRect& bb, ImGuiID id, ImGuiAxis axis, float
* size1 + = mouse_delta ;
* size2 - = mouse_delta ;
bb_render . Translate ( ( axis = = ImGuiAxis_X ) ? ImVec2 ( mouse_delta , 0.0f ) : ImVec2 ( 0.0f , mouse_delta ) ) ;
MarkItem ValueChang ed( id ) ;
MarkItem Edit ed( id ) ;
}
}