IM_ASSERT((flags&(ImGuiHoveredFlags_AnyWindow|ImGuiHoveredFlags_RootWindow|ImGuiHoveredFlags_ChildWindows|ImGuiHoveredFlags_NoPopupHierarchy|ImGuiHoveredFlags_DockHierarchy))==0);// Flags not supported by this function
// Test if we are hovering the right window (our window could be behind another window)
// [2021/03/02] Reworked / reverted the revert, finally. Note we want e.g. BeginGroup/ItemAdd/EndGroup to work as well. (#3851)
// [2017/10/16] Reverted commit 344d48be3 and testing RootWindow instead. I believe it is correct to NOT test for RootWindow but this leaves us unable
// to use IsItemHovered() after EndChild() itself. Until a solution is found I believe reverting to the test from 2017/09/27 is safe since this was
// the test that has been running for a long while.
IM_ASSERT((flags&(ImGuiHoveredFlags_AnyWindow|ImGuiHoveredFlags_RootWindow|ImGuiHoveredFlags_ChildWindows|ImGuiHoveredFlags_NoPopupHierarchy|ImGuiHoveredFlags_DockHierarchy))==0);// Flags not supported by this function
// Test if we are hovering the right window (our window could be behind another window)
// [2021/03/02] Reworked / reverted the revert, finally. Note we want e.g. BeginGroup/ItemAdd/EndGroup to work as well. (#3851)
// [2017/10/16] Reverted commit 344d48be3 and testing RootWindow instead. I believe it is correct to NOT test for RootWindow but this leaves us unable
// to use IsItemHovered() after EndChild() itself. Until a solution is found I believe reverting to the test from 2017/09/27 is safe since this was
// the test that has been running for a long while.
// (FIXME: Consider splitting the HasXXX flags into X/Y components
// (FIXME: Consider splitting the HasXXX flags into X/Y components
@ -8562,7 +8567,7 @@ void ImGui::EndGroup()
window->DC.CurrLineTextBaseOffset=ImMax(window->DC.PrevLineTextBaseOffset,group_data.BackupCurrLineTextBaseOffset);// FIXME: Incorrect, we should grab the base offset from the *first line* of the group but it is hard to obtain now.
window->DC.CurrLineTextBaseOffset=ImMax(window->DC.PrevLineTextBaseOffset,group_data.BackupCurrLineTextBaseOffset);// FIXME: Incorrect, we should grab the base offset from the *first line* of the group but it is hard to obtain now.
// If the current ActiveId was declared within the boundary of our group, we copy it to LastItemId so IsItemActive(), IsItemDeactivated() etc. will be functional on the entire group.
// If the current ActiveId was declared within the boundary of our group, we copy it to LastItemId so IsItemActive(), IsItemDeactivated() etc. will be functional on the entire group.
// It would be be neater if we replaced window.DC.LastItemId by e.g. 'bool LastItemIsActive', but would put a little more burden on individual widgets.
// It would be be neater if we replaced window.DC.LastItemId by e.g. 'bool LastItemIsActive', but would put a little more burden on individual widgets.
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals. Work in progress versions typically starts at XYY99 then bounce up to XYY00, XYY01 etc. when release tagging happens)
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals. Work in progress versions typically starts at XYY99 then bounce up to XYY00, XYY01 etc. when release tagging happens)
ImGuiWindowFlags_NavFlattened=1<<23,// [BETA] Allow gamepad/keyboard navigation to cross over parent border to this child (only use on child that have no scrolling!)
ImGuiWindowFlags_NavFlattened=1<<23,// [BETA] On child window: allow gamepad/keyboard navigation to cross over parent border to this child or between sibling child windows.
ImGuiWindowFlags_ChildWindow=1<<24,// Don't use! For internal use by BeginChild()
ImGuiWindowFlags_ChildWindow=1<<24,// Don't use! For internal use by BeginChild()
ImGuiWindowFlags_Tooltip=1<<25,// Don't use! For internal use by BeginTooltip()
ImGuiWindowFlags_Tooltip=1<<25,// Don't use! For internal use by BeginTooltip()
ImGuiWindowFlags_Popup=1<<26,// Don't use! For internal use by BeginPopup()
ImGuiWindowFlags_Popup=1<<26,// Don't use! For internal use by BeginPopup()
if(item_type==5){ret=ImGui::InputText("ITEM: InputText",&str[0],IM_ARRAYSIZE(str));}// Testing input text (which handles tabbing)
if(item_type==5){ret=ImGui::InputText("ITEM: InputText",&str[0],IM_ARRAYSIZE(str));}// Testing input text (which handles tabbing)
if(item_type==6){ret=ImGui::InputFloat("ITEM: InputFloat",col4f,1.0f);}// Testing +/- buttons on scalar input
if(item_type==6){ret=ImGui::InputTextMultiline("ITEM: InputTextMultiline",&str[0],IM_ARRAYSIZE(str));}// Testing input text (which uses a child window)
if(item_type==7){ret=ImGui::InputFloat3("ITEM: InputFloat3",col4f);}// Testing multi-component items (IsItemXXX flags are reported merged)
if(item_type==7){ret=ImGui::InputFloat("ITEM: InputFloat",col4f,1.0f);}// Testing +/- buttons on scalar input
if(item_type==8){ret=ImGui::ColorEdit4("ITEM: ColorEdit4",col4f);}// Testing multi-component items (IsItemXXX flags are reported merged)
if(item_type==8){ret=ImGui::InputFloat3("ITEM: InputFloat3",col4f);}// Testing multi-component items (IsItemXXX flags are reported merged)