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.
| 2489 | // Bg2 is used by Selectable (and possibly other widgets) to render to the background. |
| 2490 | // 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. |
| 2491 | void ImGui::TablePushBackgroundChannel() |
| 2492 | { |
| 2493 | ImGuiContext& g = *GImGui; |
| 2494 | ImGuiWindow* window = g.CurrentWindow; |
| 2495 | ImGuiTable* table = g.CurrentTable; |
| 2496 | |
| 2497 | // Optimization: avoid SetCurrentChannel() + PushClipRect() |
| 2498 | table->HostBackupInnerClipRect = window->ClipRect; |
| 2499 | SetWindowClipRectBeforeSetChannel(window, table->Bg2ClipRectForDrawCmd); |
| 2500 | table->DrawSplitter->SetCurrentChannel(window->DrawList, table->Bg2DrawChannelCurrent); |
| 2501 | } |
| 2502 | |
| 2503 | void ImGui::TablePopBackgroundChannel() |
| 2504 | { |
nothing calls this directly
no test coverage detected