@ -688,7 +688,7 @@ bool ImGui::ButtonEx(const char* label, const ImVec2& size_arg, ImGuiButtonFlags
if ( ! ItemAdd ( bb , id ) )
return false ;
if ( window- > DC . ItemFlags & ImGuiItemFlags_ButtonRepeat )
if ( g. Current ItemFlags & ImGuiItemFlags_ButtonRepeat )
flags | = ImGuiButtonFlags_Repeat ;
bool hovered , held ;
bool pressed = ButtonBehavior ( bb , id , & hovered , & held , flags ) ;
@ -764,7 +764,7 @@ bool ImGui::ArrowButtonEx(const char* str_id, ImGuiDir dir, ImVec2 size, ImGuiBu
if ( ! ItemAdd ( bb , id ) )
return false ;
if ( window- > DC . ItemFlags & ImGuiItemFlags_ButtonRepeat )
if ( g. Current ItemFlags & ImGuiItemFlags_ButtonRepeat )
flags | = ImGuiButtonFlags_Repeat ;
bool hovered , held ;
@ -1099,7 +1099,7 @@ bool ImGui::Checkbox(const char* label, bool* v)
RenderNavHighlight ( total_bb , id ) ;
RenderFrame ( check_bb . Min , check_bb . Max , GetColorU32 ( ( held & & hovered ) ? ImGuiCol_FrameBgActive : hovered ? ImGuiCol_FrameBgHovered : ImGuiCol_FrameBg ) , true , style . FrameRounding ) ;
ImU32 check_col = GetColorU32 ( ImGuiCol_CheckMark ) ;
bool mixed_value = ( window- > DC . ItemFlags & ImGuiItemFlags_MixedValue ) ! = 0 ;
bool mixed_value = ( g. Current ItemFlags & ImGuiItemFlags_MixedValue ) ! = 0 ;
if ( mixed_value )
{
// Undocumented tristate/mixed/indeterminate checkbox (#2644)
@ -1131,11 +1131,11 @@ bool ImGui::CheckboxFlagsT(const char* label, T* flags, T flags_value)
bool pressed ;
if ( ! all_on & & any_on )
{
ImGui Window* window = GetCurrentWindow ( ) ;
ImGuiItemFlags backup_item_flags = window- > DC . ItemFlags;
window- > DC . ItemFlags | = ImGuiItemFlags_MixedValue ;
ImGui Context& g = * GImGui ;
ImGuiItemFlags backup_item_flags = g. Current ItemFlags;
g. Current ItemFlags | = ImGuiItemFlags_MixedValue ;
pressed = Checkbox ( label , & all_on ) ;
window- > DC . ItemFlags = backup_item_flags ;
g. Current ItemFlags = backup_item_flags ;
}
else
{
@ -1433,10 +1433,10 @@ bool ImGui::SplitterBehavior(const ImRect& bb, ImGuiID id, ImGuiAxis axis, float
ImGuiContext & g = * GImGui ;
ImGuiWindow * window = g . CurrentWindow ;
const ImGuiItemFlags item_flags_backup = window- > DC . ItemFlags;
window- > DC . ItemFlags | = ImGuiItemFlags_NoNav | ImGuiItemFlags_NoNavDefaultFocus ;
const ImGuiItemFlags item_flags_backup = g. Current ItemFlags;
g. Current ItemFlags | = ImGuiItemFlags_NoNav | ImGuiItemFlags_NoNavDefaultFocus ;
bool item_add = ItemAdd ( bb , id ) ;
window- > DC . ItemFlags = item_flags_backup ;
g. Current ItemFlags = item_flags_backup ;
if ( ! item_add )
return false ;
@ -2277,7 +2277,7 @@ bool ImGui::DragBehavior(ImGuiID id, ImGuiDataType data_type, void* p_v, float v
}
if ( g . ActiveId ! = id )
return false ;
if ( ( g . Current Window- > DC . ItemFlags & ImGuiItemFlags_ReadOnly ) | | ( flags & ImGuiSliderFlags_ReadOnly ) )
if ( ( g . Current ItemFlags & ImGuiItemFlags_ReadOnly ) | | ( flags & ImGuiSliderFlags_ReadOnly ) )
return false ;
switch ( data_type )
@ -2884,7 +2884,7 @@ bool ImGui::SliderBehavior(const ImRect& bb, ImGuiID id, ImGuiDataType data_type
IM_ASSERT ( ( flags = = 1 | | ( flags & ImGuiSliderFlags_InvalidMask_ ) = = 0 ) & & " Invalid ImGuiSliderFlags flag! Has the 'float power' argument been mistakenly cast to flags? Call function with ImGuiSliderFlags_Logarithmic flags instead. " ) ;
ImGuiContext & g = * GImGui ;
if ( ( g . Current Window- > DC . ItemFlags & ImGuiItemFlags_ReadOnly ) | | ( flags & ImGuiSliderFlags_ReadOnly ) )
if ( ( g . Current ItemFlags & ImGuiItemFlags_ReadOnly ) | | ( flags & ImGuiSliderFlags_ReadOnly ) )
return false ;
switch ( data_type )
@ -6070,10 +6070,10 @@ bool ImGui::Selectable(const char* label, bool selected, ImGuiSelectableFlags fl
bool item_add ;
if ( flags & ImGuiSelectableFlags_Disabled )
{
ImGuiItemFlags backup_item_flags = window- > DC . ItemFlags;
window- > DC . ItemFlags | = ImGuiItemFlags_Disabled | ImGuiItemFlags_NoNavDefaultFocus ;
ImGuiItemFlags backup_item_flags = g. Current ItemFlags;
g. Current ItemFlags | = ImGuiItemFlags_Disabled | ImGuiItemFlags_NoNavDefaultFocus ;
item_add = ItemAdd ( bb , id ) ;
window- > DC . ItemFlags = backup_item_flags ;
g. Current ItemFlags = backup_item_flags ;
}
else
{
@ -6151,7 +6151,7 @@ bool ImGui::Selectable(const char* label, bool selected, ImGuiSelectableFlags fl
if ( flags & ImGuiSelectableFlags_Disabled ) PopStyleColor ( ) ;
// Automatically close popups
if ( pressed & & ( window - > Flags & ImGuiWindowFlags_Popup ) & & ! ( flags & ImGuiSelectableFlags_DontClosePopups ) & & ! ( window- > DC . ItemFlags & ImGuiItemFlags_SelectableDontClosePopup ) )
if ( pressed & & ( window - > Flags & ImGuiWindowFlags_Popup ) & & ! ( flags & ImGuiSelectableFlags_DontClosePopups ) & & ! ( g. Current ItemFlags & ImGuiItemFlags_SelectableDontClosePopup ) )
CloseCurrentPopup ( ) ;
IMGUI_TEST_ENGINE_ITEM_INFO ( id , label , window - > DC . LastItemStatusFlags ) ;