MCPcopy Create free account
hub / github.com/ddnet/ddnet / DoNextRow

Method DoNextRow

src/game/client/ui_listbox.cpp:116–136  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

114}
115
116CListboxItem CListBox::DoNextRow()
117{
118 CListboxItem Item = {};
119
120 if(m_ListBoxItemIndex % m_ListBoxItemsPerRow == 0)
121 m_ListBoxView.HSplitTop(m_ListBoxRowHeight, &m_RowView, &m_ListBoxView);
122 m_ScrollRegion.AddRect(m_RowView);
123 if(m_ListBoxUpdateScroll && m_ListBoxSelectedIndex == m_ListBoxItemIndex)
124 {
125 m_ScrollRegion.ScrollHere(CScrollRegion::SCROLLHERE_KEEP_IN_VIEW);
126 m_ListBoxUpdateScroll = false;
127 }
128
129 m_RowView.VSplitLeft(m_RowView.w / (m_ListBoxItemsPerRow - m_ListBoxItemIndex % m_ListBoxItemsPerRow), &Item.m_Rect, &m_RowView);
130
131 Item.m_Selected = m_ListBoxSelectedIndex == m_ListBoxItemIndex;
132 Item.m_Visible = !m_ScrollRegion.RectClipped(Item.m_Rect);
133
134 m_ListBoxItemIndex++;
135 return Item;
136}
137
138CListboxItem CListBox::DoNextItem(const void *pId, bool Selected, float CornerRadius)
139{

Callers

nothing calls this directly

Calls 5

HSplitTopMethod · 0.80
AddRectMethod · 0.80
ScrollHereMethod · 0.80
VSplitLeftMethod · 0.80
RectClippedMethod · 0.80

Tested by

no test coverage detected