@ -7022,7 +7022,7 @@ bool ImGui::BeginMenuEx(const char* label, const char* icon, bool enabled)
PushStyleVar ( ImGuiStyleVar_ItemSpacing , ImVec2 ( style . ItemSpacing . x * 2.0f , style . ItemSpacing . y ) ) ;
float w = label_size . x ;
ImVec2 text_pos ( window - > DC . CursorPos . x + offsets - > OffsetLabel , window - > DC . CursorPos . y + window - > DC . CurrLineTextBaseOffset ) ;
pressed = Selectable ( " " , menu_is_open , selectable_flags , ImVec2 ( w , 0.0f ) ) ;
pressed = Selectable ( " " , menu_is_open , selectable_flags , ImVec2 ( w , label_size . y ) ) ;
RenderText ( text_pos , label ) ;
PopStyleVar ( ) ;
window - > DC . CursorPos . x + = IM_FLOOR ( style . ItemSpacing . x * ( - 1.0f + 0.5f ) ) ; // -1 spacing to compensate the spacing added when Selectable() did a SameLine(). It would also work to call SameLine() ourselves after the PopStyleVar().
@ -7038,7 +7038,7 @@ bool ImGui::BeginMenuEx(const char* label, const char* icon, bool enabled)
float min_w = window - > DC . MenuColumns . DeclColumns ( icon_w , label_size . x , 0.0f , checkmark_w ) ; // Feedback to next frame
float extra_w = ImMax ( 0.0f , GetContentRegionAvail ( ) . x - min_w ) ;
ImVec2 text_pos ( window - > DC . CursorPos . x + offsets - > OffsetLabel , window - > DC . CursorPos . y + window - > DC . CurrLineTextBaseOffset ) ;
pressed = Selectable ( " " , menu_is_open , selectable_flags | ImGuiSelectableFlags_SpanAvailWidth , ImVec2 ( min_w , 0.0f ) ) ;
pressed = Selectable ( " " , menu_is_open , selectable_flags | ImGuiSelectableFlags_SpanAvailWidth , ImVec2 ( min_w , label_size . y ) ) ;
RenderText ( text_pos , label ) ;
if ( icon_w > 0.0f )
RenderText ( pos + ImVec2 ( offsets - > OffsetIcon , 0.0f ) , icon ) ;
@ -7230,7 +7230,7 @@ bool ImGui::MenuItemEx(const char* label, const char* icon, const char* shortcut
float checkmark_w = IM_FLOOR ( g . FontSize * 1.20f ) ;
float min_w = window - > DC . MenuColumns . DeclColumns ( icon_w , label_size . x , shortcut_w , checkmark_w ) ; // Feedback for next frame
float stretch_w = ImMax ( 0.0f , GetContentRegionAvail ( ) . x - min_w ) ;
pressed = Selectable ( " " , false , selectable_flags | ImGuiSelectableFlags_SpanAvailWidth , ImVec2 ( min_w , 0.0f ) ) ;
pressed = Selectable ( " " , false , selectable_flags | ImGuiSelectableFlags_SpanAvailWidth , ImVec2 ( min_w , label_size . y ) ) ;
if ( g . LastItemData . StatusFlags & ImGuiItemStatusFlags_Visible )
{
RenderText ( pos + ImVec2 ( offsets - > OffsetLabel , 0.0f ) , label ) ;