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.
| 2235 | // Bg2 is used by Selectable (and possibly other widgets) to render to the background. |
| 2236 | // 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. |
| 2237 | void ImGui::TablePushBackgroundChannel() |
| 2238 | { |
| 2239 | ImGuiContext& g = *GImGui; |
| 2240 | ImGuiWindow* window = g.CurrentWindow; |
| 2241 | ImGuiTable* table = g.CurrentTable; |
| 2242 | |
| 2243 | // Optimization: avoid SetCurrentChannel() + PushClipRect() |
| 2244 | table->HostBackupInnerClipRect = window->ClipRect; |
| 2245 | SetWindowClipRectBeforeSetChannel(window, table->Bg2ClipRectForDrawCmd); |
| 2246 | table->DrawSplitter->SetCurrentChannel(window->DrawList, table->Bg2DrawChannelCurrent); |
| 2247 | } |
| 2248 | |
| 2249 | void ImGui::TablePopBackgroundChannel() |
| 2250 | { |
nothing calls this directly
no test coverage detected