| 5024 | } |
| 5025 | |
| 5026 | static void InitViewportDrawData(ImGuiViewportP* viewport) |
| 5027 | { |
| 5028 | ImGuiIO& io = ImGui::GetIO(); |
| 5029 | ImDrawData* draw_data = &viewport->DrawDataP; |
| 5030 | |
| 5031 | viewport->DrawDataBuilder.Layers[0] = &draw_data->CmdLists; |
| 5032 | viewport->DrawDataBuilder.Layers[1] = &viewport->DrawDataBuilder.LayerData1; |
| 5033 | viewport->DrawDataBuilder.Layers[0]->resize(0); |
| 5034 | viewport->DrawDataBuilder.Layers[1]->resize(0); |
| 5035 | |
| 5036 | draw_data->Valid = true; |
| 5037 | draw_data->CmdListsCount = 0; |
| 5038 | draw_data->TotalVtxCount = draw_data->TotalIdxCount = 0; |
| 5039 | draw_data->DisplayPos = viewport->Pos; |
| 5040 | draw_data->DisplaySize = viewport->Size; |
| 5041 | draw_data->FramebufferScale = io.DisplayFramebufferScale; |
| 5042 | draw_data->OwnerViewport = viewport; |
| 5043 | } |
| 5044 | |
| 5045 | // Push a clipping rectangle for both ImGui logic (hit-testing etc.) and low-level ImDrawList rendering. |
| 5046 | // - When using this function it is sane to ensure that float are perfectly rounded to integer values, |