|
|
|
@ -884,8 +884,8 @@ CODE |
|
|
|
|
(The ImGuiWindowFlags_NoDecoration flag itself is a shortcut for NoTitleBar | NoResize | NoScrollbar | NoCollapse) |
|
|
|
|
Then you can retrieve the ImDrawList* via GetWindowDrawList() and draw to it in any way you like. |
|
|
|
|
- You can call ImGui::GetOverlayDrawList() and use this draw list to display contents over every other imgui windows (1 overlay per viewport). |
|
|
|
|
- You can create your own ImDrawList instance. You'll need to initialize them ImGui::GetDrawListSharedData(), or create your own ImDrawListSharedData, |
|
|
|
|
and then call your rendered code with your own ImDrawList or ImDrawData data. |
|
|
|
|
- You can create your own ImDrawList instance. You'll need to initialize them ImGui::GetDrawListSharedData(), or create |
|
|
|
|
your own ImDrawListSharedData, and then call your rendered code with your own ImDrawList or ImDrawData data. |
|
|
|
|
|
|
|
|
|
Q: How can I use this without a mouse, without a keyboard or without a screen? (gamepad, input share, remote display) |
|
|
|
|
A: - You can control Dear ImGui with a gamepad. Read about navigation in "Using gamepad/keyboard navigation controls". |
|
|
|
@ -3576,7 +3576,7 @@ void ImGui::NewFrame() |
|
|
|
|
|
|
|
|
|
UpdateViewportsNewFrame(); |
|
|
|
|
|
|
|
|
|
// Setup current font, and draw list shared data
|
|
|
|
|
// Setup current font and draw list shared data
|
|
|
|
|
// FIXME-VIEWPORT: the concept of a single ClipRectFullscreen is not ideal!
|
|
|
|
|
g.IO.Fonts->Locked = true; |
|
|
|
|
SetCurrentFont(GetDefaultFont()); |
|
|
|
@ -3587,7 +3587,8 @@ void ImGui::NewFrame() |
|
|
|
|
g.DrawListSharedData.ClipRectFullscreen = ImVec4(0.0f, 0.0f, virtual_space_max.x, virtual_space_max.y); |
|
|
|
|
g.DrawListSharedData.CurveTessellationTol = g.Style.CurveTessellationTol; |
|
|
|
|
|
|
|
|
|
// Mark rendering data as invalid to prevent user who may have a handle on it to use it. Setup Overlay draw list for the viewport.
|
|
|
|
|
// Setup Overlay draw list for the viewport.
|
|
|
|
|
// Mark rendering data as invalid to prevent user who may have a handle on it to use it.
|
|
|
|
|
for (int n = 0; n < g.Viewports.Size; n++) |
|
|
|
|
{ |
|
|
|
|
ImGuiViewportP* viewport = g.Viewports[n]; |
|
|
|
@ -5110,7 +5111,7 @@ static void ImGui::UpdateManualResize(ImGuiWindow* window, const ImVec2& size_au |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Apply back modified position/size to window
|
|
|
|
|
if (size_target.x != FLT_MAX && (size_target.x != window->SizeFull.x || size_target.y != window->SizeFull.y)) |
|
|
|
|
if (size_target.x != FLT_MAX) |
|
|
|
|
{ |
|
|
|
|
window->SizeFull = size_target; |
|
|
|
|
MarkIniSettingsDirty(window); |
|
|
|
@ -5451,9 +5452,6 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) |
|
|
|
|
MarkIniSettingsDirty(window); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//if (window->DockNode && window->DockIsActive)
|
|
|
|
|
// size_full_modified = window->SizeFull;
|
|
|
|
|
|
|
|
|
|
// Apply minimum/maximum window size constraints and final size
|
|
|
|
|
window->SizeFull = CalcSizeAfterConstraint(window, window->SizeFull); |
|
|
|
|
window->Size = window->Collapsed && !(flags & ImGuiWindowFlags_ChildWindow) ? window->TitleBarRect().GetSize() : window->SizeFull; |
|
|
|
@ -5596,7 +5594,7 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) |
|
|
|
|
{ |
|
|
|
|
if (flags & ImGuiWindowFlags_Popup) |
|
|
|
|
want_focus = true; |
|
|
|
|
else if ((window->DockIsActive || !(flags & ImGuiWindowFlags_ChildWindow)) && !(flags & ImGuiWindowFlags_Tooltip)) |
|
|
|
|
else if ((window->DockIsActive || (flags & ImGuiWindowFlags_ChildWindow) == 0) && !(flags & ImGuiWindowFlags_Tooltip)) |
|
|
|
|
want_focus = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -11398,10 +11396,9 @@ static void ImGui::DockNodeUpdateTabBar(ImGuiDockNode* node, ImGuiWindow* host_w |
|
|
|
|
node->IsFocused = is_focused; |
|
|
|
|
if (is_focused) |
|
|
|
|
node->LastFrameFocused = g.FrameCount; |
|
|
|
|
|
|
|
|
|
// Notify root of visible window (used to display title in OS task bar)
|
|
|
|
|
if (node->VisibleWindow) |
|
|
|
|
{ |
|
|
|
|
// Notify root of visible window (used to display title in OS task bar)
|
|
|
|
|
if (is_focused || root_node->VisibleWindow == NULL) |
|
|
|
|
root_node->VisibleWindow = node->VisibleWindow; |
|
|
|
|
if (node->TabBar) |
|
|
|
@ -13173,6 +13170,9 @@ static void ImGui::DockSettingsHandler_WriteAll(ImGuiContext* ctx, ImGuiSettings |
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
// [SECTION] LOGGING/CAPTURING
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
// All text output from the interface can be captured into tty/file/clipboard.
|
|
|
|
|
// By default, tree nodes are automatically opened during logging.
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
// Pass text data straight to log (without being displayed)
|
|
|
|
|
void ImGui::LogText(const char* fmt, ...) |
|
|
|
|