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.
| 2460 | // Bg2 is used by Selectable (and possibly other widgets) to render to the background. |
| 2461 | // 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. |
| 2462 | void ImGui::TablePushBackgroundChannel() |
| 2463 | { |
| 2464 | ImGuiContext& g = *GImGui; |
| 2465 | ImGuiWindow* window = g.CurrentWindow; |
| 2466 | ImGuiTable* table = g.CurrentTable; |
| 2467 | |
| 2468 | // Optimization: avoid SetCurrentChannel() + PushClipRect() |
| 2469 | table->HostBackupInnerClipRect = window->ClipRect; |
| 2470 | SetWindowClipRectBeforeSetChannel(window, table->Bg2ClipRectForDrawCmd); |
| 2471 | table->DrawSplitter->SetCurrentChannel(window->DrawList, table->Bg2DrawChannelCurrent); |
| 2472 | } |
| 2473 | |
| 2474 | void ImGui::TablePopBackgroundChannel() |
| 2475 | { |
nothing calls this directly
no test coverage detected