Viewport, DPI: Some early work on per-viewport DPI support. At the moment the easiest way is to replace fonts during the ChangedViewport callback, but down the line we should aim at handling some of it at ImFont level. (#1542, #1676)
ImGuiConfigFlags_EnableViewports=1<<4,// Viewport enable flags (require both ImGuiConfigFlags_PlatformHasViewports + ImGuiConfigFlags_RendererHasViewports set by the respective back-ends)
ImGuiConfigFlags_PlatformHasMouseHoveredViewport=1<<7,// Back-end Platform supports setting io.MouseHoveredViewport to the viewport directly under the mouse _IGNORING_ viewports with the ImGuiViewportFlags_NoInputs flag and _REGARDLESS_ of whether another viewport is focused and may be capturing the mouse. This information is _NOT EASY_ to provide correctly with most high-level engines. Don't see this without studying how the examples/ back-end handle it.
ImGuiConfigFlags_PlatformHasWantMoveMouseSupport=1<<8,// Back-end Platform supports io.WantMoveMouse request by updating the OS mouse cursor position (currently only used by ImGuiConfigFlags_NavMoveMouse feature, will be useful for widgets teleporting/wrapping the cursor)
ImGuiConfigFlags_PlatformHasWindowAlpha=1<<9,// Back-end Platform supports transparent windows
ImGuiConfigFlags_PlatformHasMouseHoveredViewport=1<<12,// Back-end Platform supports setting io.MouseHoveredViewport to the viewport directly under the mouse _IGNORING_ viewports with the ImGuiViewportFlags_NoInputs flag and _REGARDLESS_ of whether another viewport is focused and may be capturing the mouse. This information is _NOT EASY_ to provide correctly with most high-level engines. Don't see this without studying how the examples/ back-end handle it.
ImGuiConfigFlags_PlatformHasWantMoveMouseSupport=1<<13,// Back-end Platform supports io.WantMoveMouse request by updating the OS mouse cursor position (currently only used by ImGuiConfigFlags_NavMoveMouse feature, will be useful for widgets teleporting/wrapping the cursor)
ImGuiConfigFlags_PlatformHasWindowAlpha=1<<14,// Back-end Platform supports transparent windows
void(*BeginViewport)(ImGuiViewport*viewport);// (Optional) Called during Begin() every time the viewport we are outputting into changes (viewport = next viewport)
void(*EndViewport)(ImGuiViewport*viewport);// (Optional) Called during Begin() every time the viewport we are outputting into changes (viewport = previous viewport)
void(*ChangedViewport)(ImGuiViewport*viewport);// (Optional) Called during Begin() every time the viewport we are outputting into changes (viewport = next viewport)
};
// (Optional) Setup required only if (io.ConfigFlags & ImGuiConfigFlags_EnableMultiViewport) is enabled