# Until gh-actions allow us to use env variables inside other env variables (because we need %GITHUB_WORKSPACE%) we have to use relative path to imgui/examples/example_name directory.
# Not using matrix here because it would inflate job count too much. Check out and setup is done for every job and that makes build times way too long.
// We need a fopen() wrapper because MSVC/Windows fopen doesn't handle UTF-8 filenames. Converting both strings from UTF-8 to wchar format (using a single allocation, because we can)
// (NB: That term "drawing context / DC" lost its meaning a long time ago. Initially was meant to hold transient data only. Nowadays difference between window-> and window->DC-> is dubious.)
enum{WRT_OuterRect,WRT_OuterRectClipped,WRT_InnerRect,WRT_InnerClipRect,WRT_WorkRect,WRT_Contents,WRT_ContentsRegionRect,WRT_Count};// Windows Rect Type
ImRectOuterRectClipped;// == Window->Rect() just after setup in Begin(). == window->Rect() for root window.
ImRectInnerRect;// Inner rectangle (omit title bar, menu bar, scroll bar)
ImRectInnerClipRect;// == InnerRect shrunk by WindowPadding*0.5f on each side, clipped within viewport or parent clip rect.
ImRectWorkRect;// Cover the whole scrolling region, shrunk by WindowPadding*1.0f on each side. This is meant to replace ContentsRegionRect over time (from 1.71+ onward).
ImRectWorkRect;// Cover the whole scrolling region, shrunk by WindowPadding*1.0f on each side. This is meant to replace ContentRegionRect over time (from 1.71+ onward).
ImRectClipRect;// Current clipping/scissoring rectangle, evolve as we are using PushClipRect(), etc. == DrawList->clip_rect_stack.back().
ImRectContentsRegionRect;// FIXME: This is currently confusing/misleading. It is essentially WorkRect but not handling of scrolling. We currently rely on it as right/bottom aligned sizing operation need some size to rely on.
ImRectContentRegionRect;// FIXME: This is currently confusing/misleading. It is essentially WorkRect but not handling of scrolling. We currently rely on it as right/bottom aligned sizing operation need some size to rely on.
ImVec2ihHitTestHoleSize,HitTestHoleOffset;
intLastFrameActive;// Last frame number the window was Active.
ImGuiTabItemFlags_NoCloseButton=1<<20,// Store whether p_open is set or not, which we need to recompute WidthContents during layout.
ImGuiTabItemFlags_NoCloseButton=1<<20,// Store whether p_open is set or not, which we need to recompute ContentWidth during layout.
ImGuiTabItemFlags_Unsorted=1<<21,// [Docking] Trailing tabs with the _Unsorted flag will be sorted based on the DockOrder of their Window.
ImGuiTabItemFlags_Preview=1<<22// [Docking] Display tab shape for docking preview (height is adjusted slightly to compensate for the yet missing tab bar)
};
@ -1623,9 +1623,9 @@ struct ImGuiTabItem
intNameOffset;// When Window==NULL, offset to name within parent ImGuiTabBar::TabsNames
floatOffset;// Position relative to beginning of tab
floatWidth;// Width currently displayed
floatWidthContents;// Width of actual contents, stored during BeginTabItem() call
floatContentWidth;// Width of actual contents, stored during BeginTabItem() call
// and we cannot wait for the next BeginTabItem() call. We cannot compute this width within TabBarAddTab() because font size depends on the active window.