| 4841 | } |
| 4842 | |
| 4843 | static void InitViewportDrawData(ImGuiViewportP* viewport) |
| 4844 | { |
| 4845 | ImGuiIO& io = ImGui::GetIO(); |
| 4846 | ImDrawData* draw_data = &viewport->DrawDataP; |
| 4847 | |
| 4848 | viewport->DrawDataBuilder.Layers[0] = &draw_data->CmdLists; |
| 4849 | viewport->DrawDataBuilder.Layers[1] = &viewport->DrawDataBuilder.LayerData1; |
| 4850 | viewport->DrawDataBuilder.Layers[0]->resize(0); |
| 4851 | viewport->DrawDataBuilder.Layers[1]->resize(0); |
| 4852 | |
| 4853 | draw_data->Valid = true; |
| 4854 | draw_data->CmdListsCount = 0; |
| 4855 | draw_data->TotalVtxCount = draw_data->TotalIdxCount = 0; |
| 4856 | draw_data->DisplayPos = viewport->Pos; |
| 4857 | draw_data->DisplaySize = viewport->Size; |
| 4858 | draw_data->FramebufferScale = io.DisplayFramebufferScale; |
| 4859 | draw_data->OwnerViewport = viewport; |
| 4860 | } |
| 4861 | |
| 4862 | // Push a clipping rectangle for both ImGui logic (hit-testing etc.) and low-level ImDrawList rendering. |
| 4863 | // - When using this function it is sane to ensure that float are perfectly rounded to integer values, |