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.
| 2200 | // Bg2 is used by Selectable (and possibly other widgets) to render to the background. |
| 2201 | // 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. |
| 2202 | void ImGui::TablePushBackgroundChannel() |
| 2203 | { |
| 2204 | ImGuiContext& g = *GImGui; |
| 2205 | ImGuiWindow* window = g.CurrentWindow; |
| 2206 | ImGuiTable* table = g.CurrentTable; |
| 2207 | |
| 2208 | // Optimization: avoid SetCurrentChannel() + PushClipRect() |
| 2209 | table->HostBackupInnerClipRect = window->ClipRect; |
| 2210 | SetWindowClipRectBeforeSetChannel(window, table->Bg2ClipRectForDrawCmd); |
| 2211 | table->DrawSplitter->SetCurrentChannel(window->DrawList, table->Bg2DrawChannelCurrent); |
| 2212 | } |
| 2213 | |
| 2214 | void ImGui::TablePopBackgroundChannel() |
| 2215 | { |
nothing calls this directly
no test coverage detected