Bg2 is used by Selectable (and possibly other widgets) to render to the background. Unlike our Bg0/1 channel which we uses for RowBg/CellBg/Borders and where we guarantee all shapes to be CPU-clipped, the Bg2 channel being widgets-facing will rely on regular ClipRect.
| 2288 | // Bg2 is used by Selectable (and possibly other widgets) to render to the background. |
| 2289 | // Unlike our Bg0/1 channel which we uses for RowBg/CellBg/Borders and where we guarantee all shapes to be CPU-clipped, the Bg2 channel being widgets-facing will rely on regular ClipRect. |
| 2290 | void ImGui::TablePushBackgroundChannel() |
| 2291 | { |
| 2292 | ImGuiContext& g = *GImGui; |
| 2293 | ImGuiWindow* window = g.CurrentWindow; |
| 2294 | ImGuiTable* table = g.CurrentTable; |
| 2295 | |
| 2296 | // Optimization: avoid SetCurrentChannel() + PushClipRect() |
| 2297 | table->HostBackupInnerClipRect = window->ClipRect; |
| 2298 | SetWindowClipRectBeforeSetChannel(window, table->Bg2ClipRectForDrawCmd); |
| 2299 | table->DrawSplitter->SetCurrentChannel(window->DrawList, table->Bg2DrawChannelCurrent); |
| 2300 | } |
| 2301 | |
| 2302 | void ImGui::TablePopBackgroundChannel() |
| 2303 | { |
nothing calls this directly
no test coverage detected