MCPcopy Create free account
hub / github.com/danoon2/Boxedwine / SetCurrentChannel

Method SetCurrentChannel

lib/imgui/imgui_draw.cpp:1403–1415  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1401}
1402
1403void ImDrawListSplitter::SetCurrentChannel(ImDrawList* draw_list, int idx)
1404{
1405 IM_ASSERT(idx >= 0 && idx < _Count);
1406 if (_Current == idx)
1407 return;
1408 // Overwrite ImVector (12/16 bytes), four times. This is merely a silly optimization instead of doing .swap()
1409 memcpy(&_Channels.Data[_Current]._CmdBuffer, &draw_list->CmdBuffer, sizeof(draw_list->CmdBuffer));
1410 memcpy(&_Channels.Data[_Current]._IdxBuffer, &draw_list->IdxBuffer, sizeof(draw_list->IdxBuffer));
1411 _Current = idx;
1412 memcpy(&draw_list->CmdBuffer, &_Channels.Data[idx]._CmdBuffer, sizeof(draw_list->CmdBuffer));
1413 memcpy(&draw_list->IdxBuffer, &_Channels.Data[idx]._IdxBuffer, sizeof(draw_list->IdxBuffer));
1414 draw_list->_IdxWritePtr = draw_list->IdxBuffer.Data + draw_list->IdxBuffer.Size;
1415}
1416
1417//-----------------------------------------------------------------------------
1418// [SECTION] ImDrawData

Callers 5

ChannelsSetCurrentMethod · 0.80
PushColumnsBackgroundMethod · 0.80
PopColumnsBackgroundMethod · 0.80
BeginColumnsMethod · 0.80
NextColumnMethod · 0.80

Calls 1

memcpyFunction · 0.85

Tested by

no test coverage detected