IMGUI_APIImGuiPlatformIO&GetPlatformIO();// platform/renderer functions, for back-end to setup + viewports list.
IMGUI_APIImGuiPlatformIO&GetPlatformIO();// platform/renderer functions, for back-end to setup + viewports list.
IMGUI_APIImGuiViewport*GetMainViewport();// main viewport. same as GetPlatformIO().MainViewport == GetPlatformIO().Viewports[0].
IMGUI_APIImGuiViewport*GetMainViewport();// main viewport. same as GetPlatformIO().MainViewport == GetPlatformIO().Viewports[0].
IMGUI_APIvoidUpdatePlatformWindows();// call in main loop. will call CreateWindow/ResizeWindow/etc. platform functions for each secondary viewport, and DestroyWindow for each inactive viewport.
IMGUI_APIvoidUpdatePlatformWindows();// call in main loop. will call CreateWindow/ResizeWindow/etc. platform functions for each secondary viewport, and DestroyWindow for each inactive viewport.
IMGUI_APIvoidRenderPlatformWindowsDefault(void*platform_arg=NULL,void*renderer_arg=NULL);// call in main loop. will call RenderWindow/SwapBuffers platform functions for each secondary viewport. may be reimplemented by user for custom rendering needs.
IMGUI_APIvoidRenderPlatformWindowsDefault(void*platform_arg=NULL,void*renderer_arg=NULL);// call in main loop. will call RenderWindow/SwapBuffers platform functions for each secondary viewport which doesn't have the ImGuiViewportFlags_Minimized flag set. May be reimplemented by user for custom rendering needs.
IMGUI_APIvoidDestroyPlatformWindows();// call DestroyWindow platform functions for all viewports. call from back-end Shutdown() if you need to close platform windows before imgui shutdown. otherwise will be called by DestroyContext().
IMGUI_APIvoidDestroyPlatformWindows();// call DestroyWindow platform functions for all viewports. call from back-end Shutdown() if you need to close platform windows before imgui shutdown. otherwise will be called by DestroyContext().
IMGUI_APIImGuiViewport*FindViewportByID(ImGuiIDid);// this is a helper for back-ends.
IMGUI_APIImGuiViewport*FindViewportByID(ImGuiIDid);// this is a helper for back-ends.
IMGUI_APIImGuiViewport*FindViewportByPlatformHandle(void*platform_handle);// this is a helper for back-ends. the type platform_handle is decided by the back-end (e.g. HWND, MyWindow*, GLFWwindow* etc.)
IMGUI_APIImGuiViewport*FindViewportByPlatformHandle(void*platform_handle);// this is a helper for back-ends. the type platform_handle is decided by the back-end (e.g. HWND, MyWindow*, GLFWwindow* etc.)
@ -2347,7 +2347,8 @@ enum ImGuiViewportFlags_
ImGuiViewportFlags_NoFocusOnClick=1<<3,// Platform Window: Don't take focus when clicked on.
ImGuiViewportFlags_NoFocusOnClick=1<<3,// Platform Window: Don't take focus when clicked on.
ImGuiViewportFlags_NoInputs=1<<4,// Platform Window: Make mouse pass through so we can drag this window while peaking behind it.
ImGuiViewportFlags_NoInputs=1<<4,// Platform Window: Make mouse pass through so we can drag this window while peaking behind it.
ImGuiViewportFlags_NoRendererClear=1<<5,// Platform Window: Renderer doesn't need to clear the framebuffer ahead (because we will fill it entirely).
ImGuiViewportFlags_NoRendererClear=1<<5,// Platform Window: Renderer doesn't need to clear the framebuffer ahead (because we will fill it entirely).
ImGuiViewportFlags_TopMost=1<<6// Platform Window: Display on top (for tooltips only)
ImGuiViewportFlags_TopMost=1<<6,// Platform Window: Display on top (for tooltips only)
ImGuiViewportFlags_Minimized=1<<7// Platform Window: Window is minimized, can skip render. When minimized we tend to avoid using the viewport pos/size for clipping window or testing if they are contained in the viewport.
};
};
// The viewports created and managed by imgui. The role of the platform back-end is to create the platform/OS windows corresponding to each viewport.
// The viewports created and managed by imgui. The role of the platform back-end is to create the platform/OS windows corresponding to each viewport.
@ -756,7 +756,6 @@ struct ImGuiViewportP : public ImGuiViewport
floatLastAlpha;
floatLastAlpha;
shortPlatformMonitor;
shortPlatformMonitor;
boolPlatformWindowCreated;
boolPlatformWindowCreated;
boolPlatformWindowMinimized;// When minimized we tend to avoid using the viewport pos/size for clipping window or testing if they are contained in the viewport
ImGuiWindow*Window;// Set when the viewport is owned by a window (and ImGuiViewportFlags_CanHostOtherWindows is NOT set)
ImGuiWindow*Window;// Set when the viewport is owned by a window (and ImGuiViewportFlags_CanHostOtherWindows is NOT set)
ImDrawList*DrawLists[2];// Convenience background (0) and foreground (1) draw lists. We use them to draw software mouser cursor when io.MouseDrawCursor is set and to draw most debug overlays.
ImDrawList*DrawLists[2];// Convenience background (0) and foreground (1) draw lists. We use them to draw software mouser cursor when io.MouseDrawCursor is set and to draw most debug overlays.
ImDrawDataDrawDataP;
ImDrawDataDrawDataP;
@ -765,7 +764,7 @@ struct ImGuiViewportP : public ImGuiViewport