DisplayWindowPadding=ImVec2(19,19);// Window position are clamped to be visible within the display area or monitors by at least this amount. Only applies to regular windows.
DisplaySafeAreaPadding=ImVec2(3,3);// If you cannot see the edge of your screen (e.g. on a TV) increase the safe area padding. Covers popups/tooltips as well regular windows.
MouseCursorScale=1.0f;// Scale software rendered mouse cursor (when io.MouseDrawCursor is enabled). May be removed later.
AntiAliasedLines=true;// Enable anti-aliasing on lines/borders. Disable if you are really short on CPU/GPU.
AntiAliasedFill=true;// Enable anti-aliasing on filled shapes (rounded rectangles, circles, etc.)
AntiAliasedLines=true;// Enable anti-aliased lines/borders. Disable if you are really tight on CPU/GPU.
AntiAliasedLinesUseTex=true;// Enable anti-aliased lines/borders using textures where possible. Require back-end to render with bilinear filtering.
CurveTessellationTol=1.25f;// Tessellation tolerance when using PathBezierCurveTo() without a specific number of segments. Decrease for highly tessellated curves (higher quality, more polygons), increase to reduce quality.
CircleSegmentMaxError=1.60f;// Maximum error (in pixels) allowed when using AddCircle()/AddCircleFilled() or drawing rounded corner rectangles with no explicit segment count specified. Decrease for higher quality but more geometry.
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals. Work in progress versions typically starts at XYY99 then bounce up to XYY00, XYY01 etc. when release tagging happens)
// Define attributes of all API symbols declarations (e.g. for DLL under Windows)
@ -156,7 +156,7 @@ typedef int ImGuiSortDirection; // -> enum ImGuiSortDirection_ // Enum: A
typedefintImGuiStyleVar;// -> enum ImGuiStyleVar_ // Enum: A variable identifier for styling
typedefintImDrawCornerFlags;// -> enum ImDrawCornerFlags_ // Flags: for ImDrawList::AddRect(), AddRectFilled() etc.
typedefintImDrawListFlags;// -> enum ImDrawListFlags_ // Flags: for ImDrawList
typedefintImFontAtlasFlags;// -> enum ImFontAtlasFlags_ // Flags: for ImFontAtlas
typedefintImFontAtlasFlags;// -> enum ImFontAtlasFlags_ // Flags: for ImFontAtlas build
typedefintImGuiBackendFlags;// -> enum ImGuiBackendFlags_ // Flags: for io.BackendFlags
typedefintImGuiColorEditFlags;// -> enum ImGuiColorEditFlags_ // Flags: for ColorEdit4(), ColorPicker4() etc.
typedefintImGuiConfigFlags;// -> enum ImGuiConfigFlags_ // Flags: for io.ConfigFlags
@ -1583,8 +1583,9 @@ struct ImGuiStyle
ImVec2DisplayWindowPadding;// Window position are clamped to be visible within the display area by at least this amount. Only applies to regular windows.
ImVec2DisplaySafeAreaPadding;// If you cannot see the edges of your screen (e.g. on a TV) increase the safe area padding. Apply to popups/tooltips as well regular windows. NB: Prefer configuring your TV sets correctly!
floatMouseCursorScale;// Scale software rendered mouse cursor (when io.MouseDrawCursor is enabled). May be removed later.
boolAntiAliasedLines;// Enable anti-aliasing on lines/borders. Disable if you are really tight on CPU/GPU.
boolAntiAliasedFill;// Enable anti-aliasing on filled shapes (rounded rectangles, circles, etc.)
boolAntiAliasedLines;// Enable anti-aliased lines/borders. Disable if you are really tight on CPU/GPU. Latched at the beginning of the frame (copied to ImDrawList).
boolAntiAliasedLinesUseTex;// Enable anti-aliased lines/borders using textures where possible. Require back-end to render with bilinear filtering. Latched at the beginning of the frame (copied to ImDrawList).
boolAntiAliasedFill;// Enable anti-aliased edges around filled shapes (rounded rectangles, circles, etc.). Disable if you are really tight on CPU/GPU. Latched at the beginning of the frame (copied to ImDrawList).
floatCurveTessellationTol;// Tessellation tolerance when using PathBezierCurveTo() without a specific number of segments. Decrease for highly tessellated curves (higher quality, more polygons), increase to reduce quality.
floatCircleSegmentMaxError;// Maximum error (in pixels) allowed when using AddCircle()/AddCircleFilled() or drawing rounded corner rectangles with no explicit segment count specified. Decrease for higher quality but more geometry.
ImVec4Colors[ImGuiCol_COUNT];
@ -2064,6 +2065,11 @@ struct ImColor
// Hold a series of drawing commands. The user provides a renderer for ImDrawData which essentially contains an array of ImDrawList.
// The maximum line width to bake anti-aliased textures for. Build atlas with ImFontAtlasFlags_NoBakedLines to disable baking.
#ifndef IM_DRAWLIST_TEX_LINES_WIDTH_MAX
#define IM_DRAWLIST_TEX_LINES_WIDTH_MAX (63)
#endif
// ImDrawCallback: Draw callbacks for advanced uses [configurable type: override in imconfig.h]
// NB: You most likely do NOT need to use draw callbacks just to create your own widget or customized UI rendering,
// you can poke into the draw list for that! Draw callback may be useful for example to:
@ -2160,12 +2166,15 @@ enum ImDrawCornerFlags_
ImDrawCornerFlags_All=0xF// In your function calls you may use ~0 (= all bits sets) instead of ImDrawCornerFlags_All, as a convenience
};
// Flags for ImDrawList. Those are set automatically by ImGui:: functions from ImGuiIO settings, and generally not manipulated directly.
// It is however possible to temporarily alter flags between calls to ImDrawList:: functions.
enumImDrawListFlags_
{
ImDrawListFlags_None=0,
ImDrawListFlags_AntiAliasedLines=1<<0,// Lines are anti-aliased (*2 the number of triangles for 1.0f wide line, otherwise *3 the number of triangles)
ImDrawListFlags_AntiAliasedFill=1<<1,// Filled shapes have anti-aliased edges (*2 the number of vertices)
ImDrawListFlags_AllowVtxOffset=1<<2// Can emit 'VtxOffset > 0' to allow large meshes. Set when 'ImGuiBackendFlags_RendererHasVtxOffset' is enabled.
ImDrawListFlags_None=0,
ImDrawListFlags_AntiAliasedLines=1<<0,// Enable anti-aliased lines/borders (*2 the number of triangles for 1.0f wide line or lines thin enough to be drawn using textures, otherwise *3 the number of triangles)
ImDrawListFlags_AntiAliasedLinesUseTex=1<<1,// Enable anti-aliased lines/borders using textures when possible. Require back-end to render with bilinear filtering.
ImDrawListFlags_AntiAliasedFill=1<<2,// Enable anti-aliased edge around filled shapes (rounded rectangles, circles).
ImDrawListFlags_AllowVtxOffset=1<<3// Can emit 'VtxOffset > 0' to allow large meshes. Set when 'ImGuiBackendFlags_RendererHasVtxOffset' is enabled.
ImFontAtlasFlags_NoPowerOfTwoHeight=1<<0,// Don't round the height to next power of two
ImFontAtlasFlags_NoMouseCursors=1<<1// Don't build software mouse cursors into the atlas
ImFontAtlasFlags_NoMouseCursors=1<<1,// Don't build software mouse cursors into the atlas (save a little texture memory)
ImFontAtlasFlags_NoBakedLines=1<<2// Don't build thick line textures into the atlas (save a little texture memory). The AntiAliasedLinesUseTex features uses them, otherwise they will be rendered using polygons (more expensive for CPU/GPU).
};
// Load and rasterize multiple TTF/OTF fonts into a same texture. The font atlas will build a single texture holding:
@ -2457,7 +2468,7 @@ struct ImFontAtlas
// Note: this API may be redesigned later in order to support multi-monitor varying DPI settings.
ImVec2TexUvWhitePixel;// Texture coordinates to a white pixel
ImVector<ImFont*>Fonts;// Hold all the fonts returned by AddFont*. Fonts[0] is the default font upon calling ImGui::NewFrame(), use ImGui::PushFont()/PopFont() to change the current font.
ImVector<ImFontAtlasCustomRect>CustomRects;// Rectangles for packing custom texture data into the atlas.
ImVector<ImFontConfig>ConfigData;// Internal data
intCustomRectIds[1];// Identifiers of custom texture rectangle used by ImFontAtlas/ImDrawList
ImVector<ImFontConfig>ConfigData;// Configuration data
ImVec4TexUvLines[IM_DRAWLIST_TEX_LINES_WIDTH_MAX+1];// UVs for baked anti-aliased lines
// [Internal] Packing data
intPackIdMouseCursors;// Custom texture rectangle ID for white pixel and mouse cursors
intPackIdLines;// Custom texture rectangle ID for baked anti-aliased lines
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
typedefImFontAtlasCustomRectCustomRect;// OBSOLETED in 1.72+
ImVec2ArcFastVtx[12*IM_DRAWLIST_ARCFAST_TESSELLATION_MULTIPLIER];// FIXME: Bake rounded corners fill/borders in atlas
ImU8CircleSegmentCounts[64];// Precomputed segment count for given radius (array index + 1) before we calculate it dynamically (to avoid calculation overhead)
constImVec4*TexUvLines;// UV of anti-aliased lines in the atlas