Library draw call sites match 1.93: AddLineH/AddLineV + StrokeCenterBiased/StrokeInside (window/menu borders, separators, text cursor), tab border PathStroke, check mark AALineEnds, CloseButton/TreeNode lines/ColorButton/alpha checkerboard 1.93, Ctrl+Tab highlight AddRect arg order, metrics AA push/pop
This commit is contained in:
@@ -1 +1 @@
|
|||||||
[[46, "imgui.lua"], [21461, "imgui_demo.lua"], [33313, "imgui_draw.lua"], [40829, "imgui_h.lua"], [43735, "imgui_impl_roblox.lua"], [45383, "imgui_impl_roblox_fonts.lua"], [51786, "imgui_internal.lua"], [55495, "imgui_tables.lua"], [60554, "imgui_widgets.lua"], [72543, "imstb_rectpack.lua"], [73207, "imstb_textedit.lua"], [74749, "imstb_truetype.lua"], [77537, "imstd_minstdio.lua"]]
|
[[46, "imgui.lua"], [21466, "imgui_demo.lua"], [33318, "imgui_draw.lua"], [40827, "imgui_h.lua"], [43733, "imgui_impl_roblox.lua"], [45381, "imgui_impl_roblox_fonts.lua"], [51784, "imgui_internal.lua"], [55494, "imgui_tables.lua"], [60553, "imgui_widgets.lua"], [72529, "imstb_rectpack.lua"], [73193, "imstb_textedit.lua"], [74735, "imstb_truetype.lua"], [77523, "imstd_minstdio.lua"]]
|
||||||
+101
-115
@@ -10504,7 +10504,7 @@ local function RenderWindowOuterBorders(window)
|
|||||||
|
|
||||||
if g.Style.FrameBorderSize > 0 and (bit32.band(window.Flags, 1 --[[ImGuiWindowFlags.NoTitleBar]]) == 0) and not window.DockIsActive then
|
if g.Style.FrameBorderSize > 0 and (bit32.band(window.Flags, 1 --[[ImGuiWindowFlags.NoTitleBar]]) == 0) and not window.DockIsActive then
|
||||||
local y = window.Pos.y + window.TitleBarHeight - 1
|
local y = window.Pos.y + window.TitleBarHeight - 1
|
||||||
window.DrawList:AddLineH(window.Pos.x + border_size * 0.5, window.Pos.x + window.Size.x - border_size * 0.5, y, border_col, g.Style.FrameBorderSize)
|
window.DrawList:AddLineH(window.Pos.x + border_size, window.Pos.x + window.Size.x - border_size, y, border_col, g.Style.FrameBorderSize, 393216 --[[ImDrawFlags.StrokeCenterBiased]])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -10585,7 +10585,7 @@ local function RenderWindowDecorations(window, title_bar_rect, title_bar_is_high
|
|||||||
menu_bar_rect:ClipWith(window:Rect()) -- Soft clipping, in particular child window don't have minimum size covering the menu bar so this is useful for them.
|
menu_bar_rect:ClipWith(window:Rect()) -- Soft clipping, in particular child window don't have minimum size covering the menu bar so this is useful for them.
|
||||||
window.DrawList:AddRectFilled(menu_bar_rect.Min, menu_bar_rect.Max, ImGui.GetColorU32(13 --[[ImGuiCol.MenuBarBg]]), (bit32.band(flags, 1 --[[ImGuiWindowFlags.NoTitleBar]]) ~= 0) and window_rounding or 0.0, 48 --[[ImDrawFlags.RoundTop]])
|
window.DrawList:AddRectFilled(menu_bar_rect.Min, menu_bar_rect.Max, ImGui.GetColorU32(13 --[[ImGuiCol.MenuBarBg]]), (bit32.band(flags, 1 --[[ImGuiWindowFlags.NoTitleBar]]) ~= 0) and window_rounding or 0.0, 48 --[[ImDrawFlags.RoundTop]])
|
||||||
if style.FrameBorderSize > 0.0 and menu_bar_rect.Max.y < window.Pos.y + window.Size.y then
|
if style.FrameBorderSize > 0.0 and menu_bar_rect.Max.y < window.Pos.y + window.Size.y then
|
||||||
window.DrawList:AddLineH(menu_bar_rect.Min.x + window_border_size * 0.5, menu_bar_rect.Max.x - window_border_size * 0.5, menu_bar_rect.Max.y, ImGui.GetColorU32(5 --[[ImGuiCol.Border]]), style.FrameBorderSize)
|
window.DrawList:AddLineH(menu_bar_rect.Min.x + window_border_size, menu_bar_rect.Max.x - window_border_size, menu_bar_rect.Max.y, ImGui.GetColorU32(5 --[[ImGuiCol.Border]]), style.FrameBorderSize, 393216 --[[ImDrawFlags.StrokeCenterBiased]])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -19084,7 +19084,7 @@ function ImGui.RenderDimmedBackgrounds()
|
|||||||
window.DrawList:ChannelsMerge()
|
window.DrawList:ChannelsMerge()
|
||||||
if window.DrawList.CmdBuffer.Size == 0 then window.DrawList:AddDrawCmd() end
|
if window.DrawList.CmdBuffer.Size == 0 then window.DrawList:AddDrawCmd() end
|
||||||
window.DrawList:PushClipRect(viewport.Pos, viewport.Pos + viewport.Size)
|
window.DrawList:PushClipRect(viewport.Pos, viewport.Pos + viewport.Size)
|
||||||
window.DrawList:AddRect(bb.Min, bb.Max, ImGui.GetColorU32(60 --[[ImGuiCol.NavWindowingHighlight]], g.NavWindowingHighlightAlpha), window.WindowRounding, 0, 3.0) -- FIXME-DPI
|
window.DrawList:AddRect(bb.Min, bb.Max, ImGui.GetColorU32(60 --[[ImGuiCol.NavWindowingHighlight]], g.NavWindowingHighlightAlpha), window.WindowRounding, 3.0) -- FIXME-DPI
|
||||||
window.DrawList:PopClipRect()
|
window.DrawList:PopClipRect()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -20730,8 +20730,7 @@ function ImGui.DebugNodeDrawList(window, viewport, draw_list, label)
|
|||||||
else
|
else
|
||||||
local cr = pcmd.ClipRect
|
local cr = pcmd.ClipRect
|
||||||
local open = ImGui.TreeNode(cmd_n, "DrawCmd:%5d tris, Tex %s, ClipRect (%4.0f,%4.0f)-(%4.0f,%4.0f)", math.floor(pcmd.ElemCount / 3), tostring(pcmd.TexRef and (pcmd.TexRef._TexID or pcmd.TexRef._TexData)), cr.x, cr.y, cr.z, cr.w)
|
local open = ImGui.TreeNode(cmd_n, "DrawCmd:%5d tris, Tex %s, ClipRect (%4.0f,%4.0f)-(%4.0f,%4.0f)", math.floor(pcmd.ElemCount / 3), tostring(pcmd.TexRef and (pcmd.TexRef._TexID or pcmd.TexRef._TexData)), cr.x, cr.y, cr.z, cr.w)
|
||||||
local function ShowMesh(show_mesh, show_aabb)
|
local function ShowMeshImpl(show_mesh, show_aabb)
|
||||||
if not fg_draw_list then return end
|
|
||||||
local clip_rect = ImRect(cr.x, cr.y, cr.z, cr.w)
|
local clip_rect = ImRect(cr.x, cr.y, cr.z, cr.w)
|
||||||
local vtxs_rect = ImRect(3.4028234663853e+38 --[[FLT_MAX]], 3.4028234663853e+38 --[[FLT_MAX]], -3.4028234663853e+38 --[[FLT_MAX]], -3.4028234663853e+38 --[[FLT_MAX]])
|
local vtxs_rect = ImRect(3.4028234663853e+38 --[[FLT_MAX]], 3.4028234663853e+38 --[[FLT_MAX]], -3.4028234663853e+38 --[[FLT_MAX]], -3.4028234663853e+38 --[[FLT_MAX]])
|
||||||
local base = pcmd.IdxOffset
|
local base = pcmd.IdxOffset
|
||||||
@@ -20750,6 +20749,12 @@ function ImGui.DebugNodeDrawList(window, viewport, draw_list, label)
|
|||||||
fg_draw_list:AddRect(ImTrunc(vtxs_rect.Min), ImTrunc(vtxs_rect.Max), IM_COL32(0, 255, 255, 255)) -- In cyan: bounding box of triangles
|
fg_draw_list:AddRect(ImTrunc(vtxs_rect.Min), ImTrunc(vtxs_rect.Max), IM_COL32(0, 255, 255, 255)) -- In cyan: bounding box of triangles
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
local function ShowMesh(show_mesh, show_aabb) -- DebugNodeDrawCmdShowMeshAndBoundingBox()
|
||||||
|
if not fg_draw_list then return end
|
||||||
|
fg_draw_list:PushDrawFlag(8192 --[[ImDrawFlags.AALines]], false) -- Disable AA on triangle outlines is more readable for very large and thin triangles.
|
||||||
|
ShowMeshImpl(show_mesh, show_aabb)
|
||||||
|
fg_draw_list:PopDrawFlag()
|
||||||
|
end
|
||||||
if ImGui.IsItemHovered() and (cfg.ShowDrawCmdMesh or cfg.ShowDrawCmdBoundingBoxes) then ShowMesh(cfg.ShowDrawCmdMesh, cfg.ShowDrawCmdBoundingBoxes) end
|
if ImGui.IsItemHovered() and (cfg.ShowDrawCmdMesh or cfg.ShowDrawCmdBoundingBoxes) then ShowMesh(cfg.ShowDrawCmdMesh, cfg.ShowDrawCmdBoundingBoxes) end
|
||||||
if open then
|
if open then
|
||||||
ImGui.Selectable(string.format("Mesh: ElemCount: %d, VtxOffset: +%d, IdxOffset: +%d", pcmd.ElemCount, pcmd.VtxOffset, pcmd.IdxOffset))
|
ImGui.Selectable(string.format("Mesh: ElemCount: %d, VtxOffset: +%d, IdxOffset: +%d", pcmd.ElemCount, pcmd.VtxOffset, pcmd.IdxOffset))
|
||||||
@@ -20778,8 +20783,8 @@ function ImGui.DebugNodeTabBar(tab_bar, label)
|
|||||||
if is_active and ImGui.IsItemHovered() then
|
if is_active and ImGui.IsItemHovered() then
|
||||||
local dl = FG(tab_bar.Window)
|
local dl = FG(tab_bar.Window)
|
||||||
dl:AddRect(tab_bar.BarRect.Min, tab_bar.BarRect.Max, IM_COL32(255, 255, 0, 255))
|
dl:AddRect(tab_bar.BarRect.Min, tab_bar.BarRect.Max, IM_COL32(255, 255, 0, 255))
|
||||||
dl:AddLine(ImVec2(tab_bar.ScrollingRectMinX, tab_bar.BarRect.Min.y), ImVec2(tab_bar.ScrollingRectMinX, tab_bar.BarRect.Max.y), IM_COL32(0, 255, 0, 255))
|
dl:AddLineV(tab_bar.ScrollingRectMinX, tab_bar.BarRect.Min.y, tab_bar.BarRect.Max.y, IM_COL32(0, 255, 0, 255))
|
||||||
dl:AddLine(ImVec2(tab_bar.ScrollingRectMaxX, tab_bar.BarRect.Min.y), ImVec2(tab_bar.ScrollingRectMaxX, tab_bar.BarRect.Max.y), IM_COL32(0, 255, 0, 255))
|
dl:AddLineV(tab_bar.ScrollingRectMaxX, tab_bar.BarRect.Min.y, tab_bar.BarRect.Max.y, IM_COL32(0, 255, 0, 255))
|
||||||
end
|
end
|
||||||
if open then
|
if open then
|
||||||
for tab_n, tab in tab_bar.Tabs:iter() do
|
for tab_n, tab in tab_bar.Tabs:iter() do
|
||||||
@@ -40469,7 +40474,7 @@ function ImGui.RenderCheckMark(draw_list, pos, col, sz)
|
|||||||
draw_list:PathLineTo(p)
|
draw_list:PathLineTo(p)
|
||||||
p.x = bx + third * 2.0; p.y = by - third * 2.0
|
p.x = bx + third * 2.0; p.y = by - third * 2.0
|
||||||
draw_list:PathLineTo(p)
|
draw_list:PathLineTo(p)
|
||||||
draw_list:PathStroke(col, thickness)
|
draw_list:PathStroke(col, thickness, 16384 --[[ImDrawFlags.AALineEnds]])
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Render an arrow. 'pos' is position of the arrow tip. half_sz.x is length from base to tip. half_sz.y is length on each side.
|
-- Render an arrow. 'pos' is position of the arrow tip. half_sz.x is length from base to tip. half_sz.y is length on each side.
|
||||||
@@ -40555,7 +40560,7 @@ function ImGui.RenderRectFilledInRangeH(draw_list, rect, col, fill_x0, fill_x1,
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
draw_list:PathFillConvex(col)
|
draw_list:PathFillConvex(col, 1024 --[[ImDrawFlags.JoinMiter]])
|
||||||
end
|
end
|
||||||
|
|
||||||
--- @param r_in ImRect
|
--- @param r_in ImRect
|
||||||
@@ -40589,16 +40594,16 @@ end
|
|||||||
-- Helper for ColorPicker4()
|
-- Helper for ColorPicker4()
|
||||||
-- NB: This is rather brittle and will show artifact when rounding this enabled if rounded corners overlap multiple cells. Caller currently responsible for avoiding that.
|
-- NB: This is rather brittle and will show artifact when rounding this enabled if rounded corners overlap multiple cells. Caller currently responsible for avoiding that.
|
||||||
-- Spent a non reasonable amount of time trying to getting this right for ColorButton with rounding+anti-aliasing+ImGuiColorEditFlags_HalfAlphaPreview flag + various grid sizes and offsets, and eventually gave up... probably more reasonable to disable rounding altogether.
|
-- Spent a non reasonable amount of time trying to getting this right for ColorButton with rounding+anti-aliasing+ImGuiColorEditFlags_HalfAlphaPreview flag + various grid sizes and offsets, and eventually gave up... probably more reasonable to disable rounding altogether.
|
||||||
-- FIXME: uses ImGui.GetColorU32
|
|
||||||
--- @param draw_list ImDrawList
|
--- @param draw_list ImDrawList
|
||||||
--- @param p_min ImVec2
|
--- @param p_min ImVec2
|
||||||
--- @param p_max ImVec2
|
--- @param p_max ImVec2
|
||||||
--- @param col ImU32
|
--- @param col ImU32
|
||||||
|
--- @param alpha float
|
||||||
--- @param grid_step float
|
--- @param grid_step float
|
||||||
--- @param grid_off ImVec2
|
--- @param grid_off ImVec2
|
||||||
--- @param rounding? float
|
--- @param rounding? float
|
||||||
--- @param flags? ImDrawFlags
|
--- @param flags? ImDrawFlags
|
||||||
function ImGui.RenderColorRectWithAlphaCheckerboard(draw_list, p_min, p_max, col, grid_step, grid_off, rounding, flags)
|
function ImGui.RenderColorRectWithAlphaCheckerboard(draw_list, p_min, p_max, col, alpha, grid_step, grid_off, rounding, flags)
|
||||||
if rounding == nil then rounding = 0.0 end
|
if rounding == nil then rounding = 0.0 end
|
||||||
if flags == nil then flags = 0 end
|
if flags == nil then flags = 0 end
|
||||||
|
|
||||||
@@ -40607,60 +40612,53 @@ function ImGui.RenderColorRectWithAlphaCheckerboard(draw_list, p_min, p_max, col
|
|||||||
end
|
end
|
||||||
|
|
||||||
if bit32.rshift(bit32.band(col, 4278190080 --[[IM_COL32_A_MASK]]), 24 --[[IM_COL32_A_SHIFT]]) < 0xFF then
|
if bit32.rshift(bit32.band(col, 4278190080 --[[IM_COL32_A_MASK]]), 24 --[[IM_COL32_A_SHIFT]]) < 0xFF then
|
||||||
local col_bg1 = ImGui.GetColorU32(ImStd.ImAlphaBlendColors(IM_COL32(128, 128, 128, 255), col), nil, true)
|
assert(alpha >= 0.0 and alpha <= 1.0)
|
||||||
local col_bg2 = ImGui.GetColorU32(ImStd.ImAlphaBlendColors(IM_COL32(204, 204, 204, 255), col), nil, true)
|
local a_mask = bit32.lshift(ImTrunc(alpha * 255.0), 24 --[[IM_COL32_A_SHIFT]])
|
||||||
draw_list:AddRectFilled(p_min, p_max, col_bg1, rounding, flags)
|
local col_bg1 = bit32.bor(bit32.band(ImStd.ImAlphaBlendColors(IM_COL32(128, 128, 128, 255), col), bit32.bnot(4278190080 --[[IM_COL32_A_MASK]])), a_mask)
|
||||||
|
local col_bg2 = bit32.bor(bit32.band(ImStd.ImAlphaBlendColors(IM_COL32(204, 204, 204, 255), col), bit32.bnot(4278190080 --[[IM_COL32_A_MASK]])), a_mask)
|
||||||
|
local dual_layer = (alpha == 1.0) -- Dual layer is faster but incorrect if blending.
|
||||||
|
if dual_layer then
|
||||||
|
draw_list:AddRectFilled(p_min, p_max, col_bg1, rounding, flags)
|
||||||
|
end
|
||||||
|
|
||||||
local yi = 0
|
local yi = 0
|
||||||
local y = p_min.y + grid_off.y
|
local y = p_min.y + grid_off.y
|
||||||
local x_start
|
|
||||||
local x
|
|
||||||
local cell_flags
|
|
||||||
while y < p_max.y do
|
while y < p_max.y do
|
||||||
repeat
|
local y1 = ImClamp(ImTrunc(y), p_min.y, p_max.y)
|
||||||
local y1 = ImClamp(y, p_min.y, p_max.y)
|
local y2 = ImMin(ImTrunc(y + grid_step), p_max.y)
|
||||||
local y2 = ImMin(y + grid_step, p_max.y)
|
if y2 > y1 then
|
||||||
|
local x_start_off = dual_layer and (((yi + 1) % 2) * grid_step) or 0.0
|
||||||
|
local x_step = dual_layer and (grid_step * 2.0) or grid_step
|
||||||
|
local xi = 0
|
||||||
|
local x = p_min.x + grid_off.x + x_start_off
|
||||||
|
while x < p_max.x do
|
||||||
|
local x1 = ImClamp(ImTrunc(x), p_min.x, p_max.x)
|
||||||
|
local x2 = ImMin(ImTrunc(x + grid_step), p_max.x)
|
||||||
|
if x2 > x1 then
|
||||||
|
local cell_flags = 256 --[[ImDrawFlags.RoundNone]] -- FIXME: Could use CalcRoundingFlagsForRectInRect()
|
||||||
|
if y1 <= p_min.y then
|
||||||
|
if x1 <= p_min.x then cell_flags = bit32.bor(cell_flags, 16 --[[ImDrawFlags.RoundTopLeft]]) end
|
||||||
|
if x2 >= p_max.x then cell_flags = bit32.bor(cell_flags, 32 --[[ImDrawFlags.RoundTopRight]]) end
|
||||||
|
end
|
||||||
|
if y2 >= p_max.y then
|
||||||
|
if x1 <= p_min.x then cell_flags = bit32.bor(cell_flags, 64 --[[ImDrawFlags.RoundBottomLeft]]) end
|
||||||
|
if x2 >= p_max.x then cell_flags = bit32.bor(cell_flags, 128 --[[ImDrawFlags.RoundBottomRight]]) end
|
||||||
|
end
|
||||||
|
|
||||||
if y2 <= y1 then
|
-- Combine flags
|
||||||
break
|
if flags == 256 --[[ImDrawFlags.RoundNone]] or cell_flags == 256 --[[ImDrawFlags.RoundNone]] then
|
||||||
|
cell_flags = 256 --[[ImDrawFlags.RoundNone]]
|
||||||
|
else
|
||||||
|
cell_flags = bit32.band(cell_flags, flags)
|
||||||
|
end
|
||||||
|
local col_bg
|
||||||
|
if dual_layer then col_bg = col_bg2 elseif (yi + xi) % 2 == 1 then col_bg = col_bg2 else col_bg = col_bg1 end
|
||||||
|
draw_list:AddRectFilled(ImVec2(x1, y1), ImVec2(x2, y2), col_bg, rounding, cell_flags)
|
||||||
|
end
|
||||||
|
x = x + x_step
|
||||||
|
xi = xi + 1
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
x_start = p_min.x + grid_off.x + ((yi + 1) % 2) * grid_step
|
|
||||||
x = x_start
|
|
||||||
while x < p_max.x do
|
|
||||||
repeat
|
|
||||||
local x1 = ImClamp(x, p_min.x, p_max.x)
|
|
||||||
local x2 = ImMin(x + grid_step, p_max.x)
|
|
||||||
|
|
||||||
if x2 <= x1 then
|
|
||||||
break
|
|
||||||
end
|
|
||||||
|
|
||||||
cell_flags = 256 --[[ImDrawFlags.RoundNone]] -- FIXME: Could use CalcRoundingFlagsForRectInRect()
|
|
||||||
if y1 <= p_min.y then
|
|
||||||
if x1 <= p_min.x then cell_flags = bit32.bor(cell_flags, 16 --[[ImDrawFlags.RoundTopLeft]]) end
|
|
||||||
if x2 >= p_max.x then cell_flags = bit32.bor(cell_flags, 32 --[[ImDrawFlags.RoundTopRight]]) end
|
|
||||||
end
|
|
||||||
if y2 >= p_max.y then
|
|
||||||
if x1 <= p_min.x then cell_flags = bit32.bor(cell_flags, 64 --[[ImDrawFlags.RoundBottomLeft]]) end
|
|
||||||
if x2 >= p_max.x then cell_flags = bit32.bor(cell_flags, 128 --[[ImDrawFlags.RoundBottomRight]]) end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Combine flags
|
|
||||||
if flags == 256 --[[ImDrawFlags.RoundNone]] or cell_flags == 256 --[[ImDrawFlags.RoundNone]] then
|
|
||||||
cell_flags = 256 --[[ImDrawFlags.RoundNone]]
|
|
||||||
else
|
|
||||||
cell_flags = bit32.band(cell_flags, flags)
|
|
||||||
end
|
|
||||||
draw_list:AddRectFilled(ImVec2(x1, y1), ImVec2(x2, y2), col_bg2, rounding, cell_flags)
|
|
||||||
|
|
||||||
until true
|
|
||||||
|
|
||||||
x = x + grid_step * 2.0
|
|
||||||
end
|
|
||||||
|
|
||||||
until true
|
|
||||||
|
|
||||||
y = y + grid_step
|
y = y + grid_step
|
||||||
yi = yi + 1
|
yi = yi + 1
|
||||||
end
|
end
|
||||||
@@ -54293,6 +54291,7 @@ function ImGuiContext(shared_font_atlas) -- TODO: tidy up / complete this struct
|
|||||||
|
|
||||||
DisabledAlphaBackup = 0.0, -- Backup for style.Alpha for BeginDisabled()
|
DisabledAlphaBackup = 0.0, -- Backup for style.Alpha for BeginDisabled()
|
||||||
DisabledStackSize = 0,
|
DisabledStackSize = 0,
|
||||||
|
MixedValueLabel = "-", -- Value replacement when displaying a mixed value.
|
||||||
|
|
||||||
ItemFlagsStack = ImVector(), -- Stack for PushItemFlag()/PopItemFlag() - inherited by Begin()
|
ItemFlagsStack = ImVector(), -- Stack for PushItemFlag()/PopItemFlag() - inherited by Begin()
|
||||||
GroupStack = ImVector(), -- Stack for BeginGroup()/EndGroup() - not inherited by Begin()
|
GroupStack = ImVector(), -- Stack for BeginGroup()/EndGroup() - not inherited by Begin()
|
||||||
@@ -61487,7 +61486,7 @@ function ImGui.CloseButton(id, pos)
|
|||||||
window.DrawList:AddRectFilled(bb.Min, bb.Max, bg_col)
|
window.DrawList:AddRectFilled(bb.Min, bb.Max, bg_col)
|
||||||
end
|
end
|
||||||
|
|
||||||
local cross_center = bb:GetCenter() - ImVec2(0.5, 0.5)
|
local cross_center = bb:GetCenter()
|
||||||
local cross_extent = g.FontSize * 0.5 * 0.7071 - 1
|
local cross_extent = g.FontSize * 0.5 * 0.7071 - 1
|
||||||
local cross_col = ImGui.GetColorU32(0 --[[ImGuiCol.Text]])
|
local cross_col = ImGui.GetColorU32(0 --[[ImGuiCol.Text]])
|
||||||
local cross_thickness = 1.0 -- FIXME-DPI
|
local cross_thickness = 1.0 -- FIXME-DPI
|
||||||
@@ -61497,32 +61496,6 @@ function ImGui.CloseButton(id, pos)
|
|||||||
return pressed
|
return pressed
|
||||||
end
|
end
|
||||||
|
|
||||||
--- @return bool
|
|
||||||
function ImGui.CollapseButton(id, pos)
|
|
||||||
local g = GImGui
|
|
||||||
|
|
||||||
local window = g.CurrentWindow
|
|
||||||
|
|
||||||
local bb = ImRect(pos, pos + ImVec2(g.FontSize, g.FontSize))
|
|
||||||
|
|
||||||
local is_clipped = not ImGui.ItemAdd(bb, id)
|
|
||||||
|
|
||||||
local pressed, hovered = ImGui.ButtonBehavior(bb, id)
|
|
||||||
|
|
||||||
-- Render
|
|
||||||
if hovered then
|
|
||||||
window.DrawList:AddRectFilled(bb.Min, bb.Max, ImGui.GetColorU32(23 --[[ImGuiCol.ButtonHovered]]))
|
|
||||||
end
|
|
||||||
|
|
||||||
if window.Collapsed then
|
|
||||||
ImGui.RenderArrow(window.DrawList, bb.Min, ImGui.GetColorU32(0 --[[ImGuiCol.Text]]), 1 --[[ImGuiDir.Right]], 1)
|
|
||||||
else
|
|
||||||
ImGui.RenderArrow(window.DrawList, bb.Min, ImGui.GetColorU32(0 --[[ImGuiCol.Text]]), 3 --[[ImGuiDir.Down]], 1)
|
|
||||||
end
|
|
||||||
|
|
||||||
return pressed
|
|
||||||
end
|
|
||||||
|
|
||||||
--- @param window ImGuiWindow
|
--- @param window ImGuiWindow
|
||||||
--- @param axis ImGuiAxis
|
--- @param axis ImGuiAxis
|
||||||
--- @return ImGuiID
|
--- @return ImGuiID
|
||||||
@@ -62427,7 +62400,7 @@ function ImGui.SeparatorTextEx(id, label, label_end, extra_w)
|
|||||||
|
|
||||||
local sep1_x1 = pos.x
|
local sep1_x1 = pos.x
|
||||||
local sep2_x2 = bb.Max.x
|
local sep2_x2 = bb.Max.x
|
||||||
local seps_y = ImTrunc((bb.Min.y + bb.Max.y) * 0.5 + 0.999)
|
local seps_y = ImTrunc((bb.Min.y + bb.Max.y) * 0.5) + 1.0
|
||||||
|
|
||||||
local label_avail_w = ImMax(0.0, sep2_x2 - sep1_x1 - padding.x * 2.0)
|
local label_avail_w = ImMax(0.0, sep2_x2 - sep1_x1 - padding.x * 2.0)
|
||||||
local label_pos = ImVec2(pos.x + padding.x + ImMax(0.0, (label_avail_w - label_size.x - extra_w) * style.SeparatorTextAlign.x), pos.y + text_baseline_y) -- FIXME-ALIGN
|
local label_pos = ImVec2(pos.x + padding.x + ImMax(0.0, (label_avail_w - label_size.x - extra_w) * style.SeparatorTextAlign.x), pos.y + text_baseline_y) -- FIXME-ALIGN
|
||||||
@@ -62442,11 +62415,11 @@ function ImGui.SeparatorTextEx(id, label, label_end, extra_w)
|
|||||||
local sep2_x1 = label_pos.x + label_size.x + extra_w + style.ItemSpacing.x
|
local sep2_x1 = label_pos.x + label_size.x + extra_w + style.ItemSpacing.x
|
||||||
|
|
||||||
if sep1_x2 > sep1_x1 and separator_thickness > 0.0 then
|
if sep1_x2 > sep1_x1 and separator_thickness > 0.0 then
|
||||||
window.DrawList:AddLineH(sep1_x1, sep1_x2, seps_y, separator_col, separator_thickness)
|
window.DrawList:AddLineH(sep1_x1, sep1_x2, seps_y, separator_col, separator_thickness, 393216 --[[ImDrawFlags.StrokeCenterBiased]])
|
||||||
end
|
end
|
||||||
|
|
||||||
if sep2_x2 > sep2_x1 and separator_thickness > 0.0 then
|
if sep2_x2 > sep2_x1 and separator_thickness > 0.0 then
|
||||||
window.DrawList:AddLineH(sep2_x1, sep2_x2, seps_y, separator_col, separator_thickness)
|
window.DrawList:AddLineH(sep2_x1, sep2_x2, seps_y, separator_col, separator_thickness, 393216 --[[ImDrawFlags.StrokeCenterBiased]])
|
||||||
end
|
end
|
||||||
|
|
||||||
if g.LogEnabled then
|
if g.LogEnabled then
|
||||||
@@ -62460,7 +62433,7 @@ function ImGui.SeparatorTextEx(id, label, label_end, extra_w)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if separator_thickness > 0.0 then
|
if separator_thickness > 0.0 then
|
||||||
window.DrawList:AddLineH(sep1_x1, sep2_x2, seps_y, separator_col, separator_thickness)
|
window.DrawList:AddLineH(sep1_x1, sep2_x2, seps_y, separator_col, separator_thickness, 393216 --[[ImDrawFlags.StrokeCenterBiased]])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -66789,10 +66762,10 @@ function ImGui.InputTextEx(label, hint, buf, buf_size, size_arg, flags, callback
|
|||||||
local cursor_is_visible = (not g.IO.ConfigInputTextCursorBlink) or (state.CursorAnim <= 0.0) or (ImFmod(state.CursorAnim, 1.20) <= 0.80)
|
local cursor_is_visible = (not g.IO.ConfigInputTextCursorBlink) or (state.CursorAnim <= 0.0) or (ImFmod(state.CursorAnim, 1.20) <= 0.80)
|
||||||
|
|
||||||
local cursor_screen_pos = ImTrunc(draw_pos + cursor_offset - draw_scroll)
|
local cursor_screen_pos = ImTrunc(draw_pos + cursor_offset - draw_scroll)
|
||||||
local cursor_screen_rect = ImRect(cursor_screen_pos.x, cursor_screen_pos.y - g.FontSize + 0.5, cursor_screen_pos.x + 1.0, cursor_screen_pos.y - 1.5)
|
local cursor_screen_rect = ImRect(cursor_screen_pos.x, cursor_screen_pos.y - g.FontSize + 1.0, cursor_screen_pos.x + 1.0, cursor_screen_pos.y - 1.0)
|
||||||
|
|
||||||
if cursor_is_visible and cursor_screen_rect:Overlaps(clip_rect) then
|
if cursor_is_visible and cursor_screen_rect:Overlaps(clip_rect) then
|
||||||
draw_window.DrawList:AddLineV(cursor_screen_rect.Min.x, cursor_screen_rect.Min.y, cursor_screen_rect.Max.y, ImGui.GetColorU32(34 --[[ImGuiCol.InputTextCursor]]), style.InputTextCursorSize)
|
draw_window.DrawList:AddLineV(cursor_screen_rect.Min.x, cursor_screen_rect.Min.y, cursor_screen_rect.Max.y, ImGui.GetColorU32(34 --[[ImGuiCol.InputTextCursor]]), style.InputTextCursorSize, 131072 --[[ImDrawFlags.StrokeInside]])
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Notify OS of text input position for advanced IME (-1 x offset so that Windows IME can cover our cursor. Bit of an extra nicety.)
|
-- Notify OS of text input position for advanced IME (-1 x offset so that Windows IME can cover our cursor. Bit of an extra nicety.)
|
||||||
@@ -67670,7 +67643,7 @@ function ImGui.ColorPicker4(label, col, flags, ref_col)
|
|||||||
if alpha_bar then
|
if alpha_bar then
|
||||||
local alpha = ImSaturate(col[4])
|
local alpha = ImSaturate(col[4])
|
||||||
local bar1_bb = ImRect(bar1_pos_x, picker_pos.y, bar1_pos_x + bars_width, picker_pos.y + sv_picker_size)
|
local bar1_bb = ImRect(bar1_pos_x, picker_pos.y, bar1_pos_x + bars_width, picker_pos.y + sv_picker_size)
|
||||||
ImGui.RenderColorRectWithAlphaCheckerboard(draw_list, bar1_bb.Min, bar1_bb.Max, 0, bar1_bb:GetWidth() / 2.0, ImVec2(0.0, 0.0))
|
ImGui.RenderColorRectWithAlphaCheckerboard(draw_list, bar1_bb.Min, bar1_bb.Max, IM_COL32(0, 0, 0, 0), style.Alpha, bar1_bb:GetWidth() / 2.0, ImVec2(0.0, 0.0))
|
||||||
draw_list:AddRectFilledMultiColor(bar1_bb.Min, bar1_bb.Max, user_col32_striped_of_alpha, user_col32_striped_of_alpha, bit32.band(user_col32_striped_of_alpha, bit32.bnot(4278190080 --[[IM_COL32_A_MASK]])), bit32.band(user_col32_striped_of_alpha, bit32.bnot(4278190080 --[[IM_COL32_A_MASK]])))
|
draw_list:AddRectFilledMultiColor(bar1_bb.Min, bar1_bb.Max, user_col32_striped_of_alpha, user_col32_striped_of_alpha, bit32.band(user_col32_striped_of_alpha, bit32.bnot(4278190080 --[[IM_COL32_A_MASK]])), bit32.band(user_col32_striped_of_alpha, bit32.bnot(4278190080 --[[IM_COL32_A_MASK]])))
|
||||||
|
|
||||||
local bar1_line_y = IM_ROUND(picker_pos.y + (1.0 - alpha) * sv_picker_size)
|
local bar1_line_y = IM_ROUND(picker_pos.y + (1.0 - alpha) * sv_picker_size)
|
||||||
@@ -67748,36 +67721,45 @@ function ImGui.ColorButton(desc_id, col, flags, size_arg)
|
|||||||
local col_rgb_without_alpha = ImVec4(col_rgb.x, col_rgb.y, col_rgb.z, 1.0)
|
local col_rgb_without_alpha = ImVec4(col_rgb.x, col_rgb.y, col_rgb.z, 1.0)
|
||||||
local grid_step = ImMin(size.x, size.y) / 2.99
|
local grid_step = ImMin(size.x, size.y) / 2.99
|
||||||
local rounding = ImMin(g.Style.FrameRounding, grid_step * 0.5)
|
local rounding = ImMin(g.Style.FrameRounding, grid_step * 0.5)
|
||||||
local bb_inner = ImRect()
|
local is_mixed = bit32.band(g.LastItemData.ItemFlags, 4096 --[[ImGuiItemFlags.MixedValue]]) ~= 0
|
||||||
ImRect_Copy(bb_inner, bb)
|
|
||||||
local off = 0.0
|
local backup_alpha = g.Style.Alpha
|
||||||
if bit32.band(flags, 1024 --[[ImGuiColorEditFlags.NoBorder]]) == 0 then
|
if g.DisabledStackSize > 0 then
|
||||||
off = -0.75
|
g.Style.Alpha = g.DisabledAlphaBackup -- Cancel out effect of BeginDisabled() for color swatches.
|
||||||
bb_inner:Expand(off)
|
|
||||||
end
|
end
|
||||||
if bit32.band(flags, 16384 --[[ImGuiColorEditFlags.AlphaPreviewHalf]]) ~= 0 and col_rgb.w < 1.0 then
|
if is_mixed then
|
||||||
local mid_x = IM_ROUND((bb_inner.Min.x + bb_inner.Max.x) * 0.5)
|
window.DrawList:AddRectFilled(bb.Min, bb.Max, ImGui.GetColorU32(7 --[[ImGuiCol.FrameBg]]), rounding)
|
||||||
if bit32.band(flags, 8192 --[[ImGuiColorEditFlags.AlphaNoBg]]) == 0 then
|
ImGui.PushStyleColor(0 --[[ImGuiCol.Text]], g.Style.Colors[1 --[[ImGuiCol.TextDisabled]]]) -- ImGuiCol_TextMixedValue
|
||||||
ImGui.RenderColorRectWithAlphaCheckerboard(window.DrawList, ImVec2(bb_inner.Min.x + grid_step, bb_inner.Min.y), bb_inner.Max, ImGui.GetColorU32(col_rgb), grid_step, ImVec2(-grid_step + off, off), rounding, 160 --[[ImDrawFlags.RoundRight]])
|
if g.MixedValueLabel ~= nil then
|
||||||
else
|
ImGui.RenderTextClipped(ImVec2(bb.Min.x, bb.Min.y + g.Style.FramePadding.y), bb.Max, g.MixedValueLabel, nil, nil, ImVec2(0.5, 0.0))
|
||||||
window.DrawList:AddRectFilled(ImVec2(bb_inner.Min.x + grid_step, bb_inner.Min.y), bb_inner.Max, ImGui.GetColorU32(col_rgb), rounding, 160 --[[ImDrawFlags.RoundRight]])
|
|
||||||
end
|
end
|
||||||
window.DrawList:AddRectFilled(bb_inner.Min, ImVec2(mid_x, bb_inner.Max.y), ImGui.GetColorU32(col_rgb_without_alpha), rounding, 80 --[[ImDrawFlags.RoundLeft]])
|
ImGui.PopStyleColor()
|
||||||
|
elseif bit32.band(flags, 16384 --[[ImGuiColorEditFlags.AlphaPreviewHalf]]) ~= 0 and col_rgb.w < 1.0 then
|
||||||
|
local mid_x = IM_ROUND((bb.Min.x + bb.Max.x) * 0.5)
|
||||||
|
if bit32.band(flags, 8192 --[[ImGuiColorEditFlags.AlphaNoBg]]) == 0 then
|
||||||
|
ImGui.RenderColorRectWithAlphaCheckerboard(window.DrawList, ImVec2(bb.Min.x + grid_step, bb.Min.y), bb.Max, ImGui.ColorConvertFloat4ToU32(col_rgb), g.Style.Alpha, grid_step, ImVec2(-grid_step, 0.0), rounding, 160 --[[ImDrawFlags.RoundRight]])
|
||||||
|
else
|
||||||
|
window.DrawList:AddRectFilled(ImVec2(bb.Min.x + grid_step, bb.Min.y), bb.Max, ImGui.GetColorU32(col_rgb), rounding, 160 --[[ImDrawFlags.RoundRight]])
|
||||||
|
end
|
||||||
|
window.DrawList:AddRectFilled(bb.Min, ImVec2(mid_x, bb.Max.y), ImGui.GetColorU32(col_rgb_without_alpha), rounding, 80 --[[ImDrawFlags.RoundLeft]])
|
||||||
else
|
else
|
||||||
-- Because GetColorU32() multiplies by the global style Alpha and we don't want to display a checkerboard if the source code had no alpha
|
-- Because GetColorU32() multiplies by the global style Alpha and we don't want to display a checkerboard if the source code had no alpha
|
||||||
local col_source = (bit32.band(flags, 4096 --[[ImGuiColorEditFlags.AlphaOpaque]]) ~= 0) and col_rgb_without_alpha or col_rgb
|
local col_source = (bit32.band(flags, 4096 --[[ImGuiColorEditFlags.AlphaOpaque]]) ~= 0) and col_rgb_without_alpha or col_rgb
|
||||||
if col_source.w < 1.0 and bit32.band(flags, 8192 --[[ImGuiColorEditFlags.AlphaNoBg]]) == 0 then
|
if col_source.w < 1.0 and bit32.band(flags, 8192 --[[ImGuiColorEditFlags.AlphaNoBg]]) == 0 then
|
||||||
ImGui.RenderColorRectWithAlphaCheckerboard(window.DrawList, bb_inner.Min, bb_inner.Max, ImGui.GetColorU32(col_source), grid_step, ImVec2(off, off), rounding)
|
ImGui.RenderColorRectWithAlphaCheckerboard(window.DrawList, bb.Min, bb.Max, ImGui.ColorConvertFloat4ToU32(col_source), g.Style.Alpha, grid_step, ImVec2(0.0, 0.0), rounding)
|
||||||
else
|
else
|
||||||
window.DrawList:AddRectFilled(bb_inner.Min, bb_inner.Max, ImGui.GetColorU32(col_source), rounding)
|
window.DrawList:AddRectFilled(bb.Min, bb.Max, ImGui.GetColorU32(col_source), rounding)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
if g.DisabledStackSize > 0 then
|
||||||
|
g.Style.Alpha = backup_alpha
|
||||||
|
end
|
||||||
ImGui.RenderNavCursor(bb, id)
|
ImGui.RenderNavCursor(bb, id)
|
||||||
if bit32.band(flags, 1024 --[[ImGuiColorEditFlags.NoBorder]]) == 0 then
|
if bit32.band(flags, 1024 --[[ImGuiColorEditFlags.NoBorder]]) == 0 then
|
||||||
if g.Style.FrameBorderSize > 0.0 then
|
if g.Style.FrameBorderSize > 0.0 then
|
||||||
ImGui.RenderFrameBorder(bb.Min, bb.Max, rounding)
|
ImGui.RenderFrameBorder(bb.Min, bb.Max, rounding)
|
||||||
else
|
else
|
||||||
window.DrawList:AddRect(bb.Min, bb.Max, ImGui.GetColorU32(7 --[[ImGuiCol.FrameBg]]), rounding) -- Color buttons are often in need of some sort of border
|
window.DrawList:AddRect(bb.Min, bb.Max, ImGui.GetColorU32(7 --[[ImGuiCol.FrameBg]]), rounding, 1.0 * ImTrunc(g.Style._MainScale)) -- Color buttons are often in need of some sort of border -- FIXME-DPI
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -68460,23 +68442,27 @@ function ImGui.TreeNodeDrawLineToChildNode(target_pos)
|
|||||||
|
|
||||||
-- FIXME: Could this be simplified using new stroke flags?
|
-- FIXME: Could this be simplified using new stroke flags?
|
||||||
local parent_data = g.TreeNodeStack.Data[g.TreeNodeStack.Size]
|
local parent_data = g.TreeNodeStack.Data[g.TreeNodeStack.Size]
|
||||||
local x1 = ImTrunc(parent_data.DrawLinesX1)
|
local half_size = g.Style.TreeLinesSize * 0.5
|
||||||
|
local x1 = ImTrunc(parent_data.DrawLinesX1 - half_size) + half_size -- Draw line centered at X1, but snap to pixels boundary.
|
||||||
local x2 = ImTrunc(target_pos.x - g.Style.ItemInnerSpacing.x)
|
local x2 = ImTrunc(target_pos.x - g.Style.ItemInnerSpacing.x)
|
||||||
local y = ImTrunc(target_pos.y)
|
local y = ImTrunc(target_pos.y - half_size) + half_size
|
||||||
local rounding = (g.Style.TreeLinesRounding > 0.0) and ImMin(x2 - x1, g.Style.TreeLinesRounding) or 0.0
|
local rounding = (g.Style.TreeLinesRounding > 0.0) and ImMin(x2 - x1, g.Style.TreeLinesRounding) or 0.0
|
||||||
parent_data.DrawLinesToNodesY2 = ImMax(parent_data.DrawLinesToNodesY2, y - rounding)
|
parent_data.DrawLinesToNodesY2 = ImMax(parent_data.DrawLinesToNodesY2, y - rounding)
|
||||||
if x1 >= x2 then
|
if x1 >= x2 then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if rounding > 0.0 then
|
if rounding > 0.0 and rounding > half_size then
|
||||||
x1 = x1 + 0.5 + rounding
|
x1 = x1 + rounding
|
||||||
window.DrawList:PathArcToFast(ImVec2(x1, y - rounding), rounding, 6, 3)
|
window.DrawList:PathArcToFast(ImVec2(x1, y - rounding), rounding, 6, 3)
|
||||||
if x1 < x2 then
|
if x1 < x2 then
|
||||||
window.DrawList:PathLineTo(ImVec2(x2, y))
|
window.DrawList:PathLineTo(ImVec2(x2, y))
|
||||||
end
|
end
|
||||||
window.DrawList:PathStroke(ImGui.GetColorU32(55 --[[ImGuiCol.TreeLines]]), g.Style.TreeLinesSize)
|
window.DrawList:PathStroke(ImGui.GetColorU32(55 --[[ImGuiCol.TreeLines]]), g.Style.TreeLinesSize)
|
||||||
else
|
else
|
||||||
window.DrawList:AddLineH(x1, x2, y, ImGui.GetColorU32(55 --[[ImGuiCol.TreeLines]]), g.Style.TreeLinesSize)
|
-- We use AddLine() instead of AddLineH() as we provide coordinates for line center,
|
||||||
|
-- in order to make the code use same coordinates for both rounded and non-rounded version. (FIXME-OPT)
|
||||||
|
x1 = x1 + half_size -- Avoid overdraw
|
||||||
|
window.DrawList:AddLine(ImVec2(x1, y), ImVec2(x2, y), ImGui.GetColorU32(55 --[[ImGuiCol.TreeLines]]), g.Style.TreeLinesSize)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -72458,7 +72444,7 @@ function ImGui.TabItemBackground(draw_list, bb, flags, col)
|
|||||||
draw_list:PathArcToFast(ImVec2(bb.Min.x + rounding, y1 + rounding), rounding, 6, 9)
|
draw_list:PathArcToFast(ImVec2(bb.Min.x + rounding, y1 + rounding), rounding, 6, 9)
|
||||||
draw_list:PathArcToFast(ImVec2(bb.Max.x - rounding, y1 + rounding), rounding, 9, 12)
|
draw_list:PathArcToFast(ImVec2(bb.Max.x - rounding, y1 + rounding), rounding, 9, 12)
|
||||||
draw_list:PathLineTo(ImVec2(bb.Max.x, y2))
|
draw_list:PathLineTo(ImVec2(bb.Max.x, y2))
|
||||||
draw_list:PathStroke(ImGui.GetColorU32(5 --[[ImGuiCol.Border]]), g.Style.TabBorderSize)
|
draw_list:PathStroke(ImGui.GetColorU32(5 --[[ImGuiCol.Border]]), g.Style.TabBorderSize, 393216 --[[ImDrawFlags.StrokeCenterBiased]]) -- Use _StrokeInside?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
[[183, "imgui.lua"], [21598, "imgui_demo.lua"], [33450, "imgui_draw.lua"], [40966, "imgui_h.lua"], [43872, "imgui_impl_love.lua"], [44412, "imgui_internal.lua"], [48121, "imgui_tables.lua"], [53180, "imgui_widgets.lua"], [65169, "imstb_rectpack.lua"], [65833, "imstb_textedit.lua"], [67375, "imstb_truetype.lua"], [70163, "imstd_minstdio.lua"]]
|
[[183, "imgui.lua"], [21603, "imgui_demo.lua"], [33455, "imgui_draw.lua"], [40964, "imgui_h.lua"], [43870, "imgui_impl_love.lua"], [44410, "imgui_internal.lua"], [48120, "imgui_tables.lua"], [53179, "imgui_widgets.lua"], [65155, "imstb_rectpack.lua"], [65819, "imstb_textedit.lua"], [67361, "imstb_truetype.lua"], [70149, "imstd_minstdio.lua"]]
|
||||||
+101
-115
@@ -10641,7 +10641,7 @@ local function RenderWindowOuterBorders(window)
|
|||||||
|
|
||||||
if g.Style.FrameBorderSize > 0 and (bit32.band(window.Flags, 1 --[[ImGuiWindowFlags.NoTitleBar]]) == 0) and not window.DockIsActive then
|
if g.Style.FrameBorderSize > 0 and (bit32.band(window.Flags, 1 --[[ImGuiWindowFlags.NoTitleBar]]) == 0) and not window.DockIsActive then
|
||||||
local y = window.Pos.y + window.TitleBarHeight - 1
|
local y = window.Pos.y + window.TitleBarHeight - 1
|
||||||
window.DrawList:AddLineH(window.Pos.x + border_size * 0.5, window.Pos.x + window.Size.x - border_size * 0.5, y, border_col, g.Style.FrameBorderSize)
|
window.DrawList:AddLineH(window.Pos.x + border_size, window.Pos.x + window.Size.x - border_size, y, border_col, g.Style.FrameBorderSize, 393216 --[[ImDrawFlags.StrokeCenterBiased]])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -10722,7 +10722,7 @@ local function RenderWindowDecorations(window, title_bar_rect, title_bar_is_high
|
|||||||
menu_bar_rect:ClipWith(window:Rect()) -- Soft clipping, in particular child window don't have minimum size covering the menu bar so this is useful for them.
|
menu_bar_rect:ClipWith(window:Rect()) -- Soft clipping, in particular child window don't have minimum size covering the menu bar so this is useful for them.
|
||||||
window.DrawList:AddRectFilled(menu_bar_rect.Min, menu_bar_rect.Max, ImGui.GetColorU32(13 --[[ImGuiCol.MenuBarBg]]), (bit32.band(flags, 1 --[[ImGuiWindowFlags.NoTitleBar]]) ~= 0) and window_rounding or 0.0, 48 --[[ImDrawFlags.RoundTop]])
|
window.DrawList:AddRectFilled(menu_bar_rect.Min, menu_bar_rect.Max, ImGui.GetColorU32(13 --[[ImGuiCol.MenuBarBg]]), (bit32.band(flags, 1 --[[ImGuiWindowFlags.NoTitleBar]]) ~= 0) and window_rounding or 0.0, 48 --[[ImDrawFlags.RoundTop]])
|
||||||
if style.FrameBorderSize > 0.0 and menu_bar_rect.Max.y < window.Pos.y + window.Size.y then
|
if style.FrameBorderSize > 0.0 and menu_bar_rect.Max.y < window.Pos.y + window.Size.y then
|
||||||
window.DrawList:AddLineH(menu_bar_rect.Min.x + window_border_size * 0.5, menu_bar_rect.Max.x - window_border_size * 0.5, menu_bar_rect.Max.y, ImGui.GetColorU32(5 --[[ImGuiCol.Border]]), style.FrameBorderSize)
|
window.DrawList:AddLineH(menu_bar_rect.Min.x + window_border_size, menu_bar_rect.Max.x - window_border_size, menu_bar_rect.Max.y, ImGui.GetColorU32(5 --[[ImGuiCol.Border]]), style.FrameBorderSize, 393216 --[[ImDrawFlags.StrokeCenterBiased]])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -19221,7 +19221,7 @@ function ImGui.RenderDimmedBackgrounds()
|
|||||||
window.DrawList:ChannelsMerge()
|
window.DrawList:ChannelsMerge()
|
||||||
if window.DrawList.CmdBuffer.Size == 0 then window.DrawList:AddDrawCmd() end
|
if window.DrawList.CmdBuffer.Size == 0 then window.DrawList:AddDrawCmd() end
|
||||||
window.DrawList:PushClipRect(viewport.Pos, viewport.Pos + viewport.Size)
|
window.DrawList:PushClipRect(viewport.Pos, viewport.Pos + viewport.Size)
|
||||||
window.DrawList:AddRect(bb.Min, bb.Max, ImGui.GetColorU32(60 --[[ImGuiCol.NavWindowingHighlight]], g.NavWindowingHighlightAlpha), window.WindowRounding, 0, 3.0) -- FIXME-DPI
|
window.DrawList:AddRect(bb.Min, bb.Max, ImGui.GetColorU32(60 --[[ImGuiCol.NavWindowingHighlight]], g.NavWindowingHighlightAlpha), window.WindowRounding, 3.0) -- FIXME-DPI
|
||||||
window.DrawList:PopClipRect()
|
window.DrawList:PopClipRect()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -20867,8 +20867,7 @@ function ImGui.DebugNodeDrawList(window, viewport, draw_list, label)
|
|||||||
else
|
else
|
||||||
local cr = pcmd.ClipRect
|
local cr = pcmd.ClipRect
|
||||||
local open = ImGui.TreeNode(cmd_n, "DrawCmd:%5d tris, Tex %s, ClipRect (%4.0f,%4.0f)-(%4.0f,%4.0f)", math.floor(pcmd.ElemCount / 3), tostring(pcmd.TexRef and (pcmd.TexRef._TexID or pcmd.TexRef._TexData)), cr.x, cr.y, cr.z, cr.w)
|
local open = ImGui.TreeNode(cmd_n, "DrawCmd:%5d tris, Tex %s, ClipRect (%4.0f,%4.0f)-(%4.0f,%4.0f)", math.floor(pcmd.ElemCount / 3), tostring(pcmd.TexRef and (pcmd.TexRef._TexID or pcmd.TexRef._TexData)), cr.x, cr.y, cr.z, cr.w)
|
||||||
local function ShowMesh(show_mesh, show_aabb)
|
local function ShowMeshImpl(show_mesh, show_aabb)
|
||||||
if not fg_draw_list then return end
|
|
||||||
local clip_rect = ImRect(cr.x, cr.y, cr.z, cr.w)
|
local clip_rect = ImRect(cr.x, cr.y, cr.z, cr.w)
|
||||||
local vtxs_rect = ImRect(3.4028234663853e+38 --[[FLT_MAX]], 3.4028234663853e+38 --[[FLT_MAX]], -3.4028234663853e+38 --[[FLT_MAX]], -3.4028234663853e+38 --[[FLT_MAX]])
|
local vtxs_rect = ImRect(3.4028234663853e+38 --[[FLT_MAX]], 3.4028234663853e+38 --[[FLT_MAX]], -3.4028234663853e+38 --[[FLT_MAX]], -3.4028234663853e+38 --[[FLT_MAX]])
|
||||||
local base = pcmd.IdxOffset
|
local base = pcmd.IdxOffset
|
||||||
@@ -20887,6 +20886,12 @@ function ImGui.DebugNodeDrawList(window, viewport, draw_list, label)
|
|||||||
fg_draw_list:AddRect(ImTrunc(vtxs_rect.Min), ImTrunc(vtxs_rect.Max), IM_COL32(0, 255, 255, 255)) -- In cyan: bounding box of triangles
|
fg_draw_list:AddRect(ImTrunc(vtxs_rect.Min), ImTrunc(vtxs_rect.Max), IM_COL32(0, 255, 255, 255)) -- In cyan: bounding box of triangles
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
local function ShowMesh(show_mesh, show_aabb) -- DebugNodeDrawCmdShowMeshAndBoundingBox()
|
||||||
|
if not fg_draw_list then return end
|
||||||
|
fg_draw_list:PushDrawFlag(8192 --[[ImDrawFlags.AALines]], false) -- Disable AA on triangle outlines is more readable for very large and thin triangles.
|
||||||
|
ShowMeshImpl(show_mesh, show_aabb)
|
||||||
|
fg_draw_list:PopDrawFlag()
|
||||||
|
end
|
||||||
if ImGui.IsItemHovered() and (cfg.ShowDrawCmdMesh or cfg.ShowDrawCmdBoundingBoxes) then ShowMesh(cfg.ShowDrawCmdMesh, cfg.ShowDrawCmdBoundingBoxes) end
|
if ImGui.IsItemHovered() and (cfg.ShowDrawCmdMesh or cfg.ShowDrawCmdBoundingBoxes) then ShowMesh(cfg.ShowDrawCmdMesh, cfg.ShowDrawCmdBoundingBoxes) end
|
||||||
if open then
|
if open then
|
||||||
ImGui.Selectable(string.format("Mesh: ElemCount: %d, VtxOffset: +%d, IdxOffset: +%d", pcmd.ElemCount, pcmd.VtxOffset, pcmd.IdxOffset))
|
ImGui.Selectable(string.format("Mesh: ElemCount: %d, VtxOffset: +%d, IdxOffset: +%d", pcmd.ElemCount, pcmd.VtxOffset, pcmd.IdxOffset))
|
||||||
@@ -20915,8 +20920,8 @@ function ImGui.DebugNodeTabBar(tab_bar, label)
|
|||||||
if is_active and ImGui.IsItemHovered() then
|
if is_active and ImGui.IsItemHovered() then
|
||||||
local dl = FG(tab_bar.Window)
|
local dl = FG(tab_bar.Window)
|
||||||
dl:AddRect(tab_bar.BarRect.Min, tab_bar.BarRect.Max, IM_COL32(255, 255, 0, 255))
|
dl:AddRect(tab_bar.BarRect.Min, tab_bar.BarRect.Max, IM_COL32(255, 255, 0, 255))
|
||||||
dl:AddLine(ImVec2(tab_bar.ScrollingRectMinX, tab_bar.BarRect.Min.y), ImVec2(tab_bar.ScrollingRectMinX, tab_bar.BarRect.Max.y), IM_COL32(0, 255, 0, 255))
|
dl:AddLineV(tab_bar.ScrollingRectMinX, tab_bar.BarRect.Min.y, tab_bar.BarRect.Max.y, IM_COL32(0, 255, 0, 255))
|
||||||
dl:AddLine(ImVec2(tab_bar.ScrollingRectMaxX, tab_bar.BarRect.Min.y), ImVec2(tab_bar.ScrollingRectMaxX, tab_bar.BarRect.Max.y), IM_COL32(0, 255, 0, 255))
|
dl:AddLineV(tab_bar.ScrollingRectMaxX, tab_bar.BarRect.Min.y, tab_bar.BarRect.Max.y, IM_COL32(0, 255, 0, 255))
|
||||||
end
|
end
|
||||||
if open then
|
if open then
|
||||||
for tab_n, tab in tab_bar.Tabs:iter() do
|
for tab_n, tab in tab_bar.Tabs:iter() do
|
||||||
@@ -40606,7 +40611,7 @@ function ImGui.RenderCheckMark(draw_list, pos, col, sz)
|
|||||||
draw_list:PathLineTo(p)
|
draw_list:PathLineTo(p)
|
||||||
p.x = bx + third * 2.0; p.y = by - third * 2.0
|
p.x = bx + third * 2.0; p.y = by - third * 2.0
|
||||||
draw_list:PathLineTo(p)
|
draw_list:PathLineTo(p)
|
||||||
draw_list:PathStroke(col, thickness)
|
draw_list:PathStroke(col, thickness, 16384 --[[ImDrawFlags.AALineEnds]])
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Render an arrow. 'pos' is position of the arrow tip. half_sz.x is length from base to tip. half_sz.y is length on each side.
|
-- Render an arrow. 'pos' is position of the arrow tip. half_sz.x is length from base to tip. half_sz.y is length on each side.
|
||||||
@@ -40692,7 +40697,7 @@ function ImGui.RenderRectFilledInRangeH(draw_list, rect, col, fill_x0, fill_x1,
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
draw_list:PathFillConvex(col)
|
draw_list:PathFillConvex(col, 1024 --[[ImDrawFlags.JoinMiter]])
|
||||||
end
|
end
|
||||||
|
|
||||||
--- @param r_in ImRect
|
--- @param r_in ImRect
|
||||||
@@ -40726,16 +40731,16 @@ end
|
|||||||
-- Helper for ColorPicker4()
|
-- Helper for ColorPicker4()
|
||||||
-- NB: This is rather brittle and will show artifact when rounding this enabled if rounded corners overlap multiple cells. Caller currently responsible for avoiding that.
|
-- NB: This is rather brittle and will show artifact when rounding this enabled if rounded corners overlap multiple cells. Caller currently responsible for avoiding that.
|
||||||
-- Spent a non reasonable amount of time trying to getting this right for ColorButton with rounding+anti-aliasing+ImGuiColorEditFlags_HalfAlphaPreview flag + various grid sizes and offsets, and eventually gave up... probably more reasonable to disable rounding altogether.
|
-- Spent a non reasonable amount of time trying to getting this right for ColorButton with rounding+anti-aliasing+ImGuiColorEditFlags_HalfAlphaPreview flag + various grid sizes and offsets, and eventually gave up... probably more reasonable to disable rounding altogether.
|
||||||
-- FIXME: uses ImGui.GetColorU32
|
|
||||||
--- @param draw_list ImDrawList
|
--- @param draw_list ImDrawList
|
||||||
--- @param p_min ImVec2
|
--- @param p_min ImVec2
|
||||||
--- @param p_max ImVec2
|
--- @param p_max ImVec2
|
||||||
--- @param col ImU32
|
--- @param col ImU32
|
||||||
|
--- @param alpha float
|
||||||
--- @param grid_step float
|
--- @param grid_step float
|
||||||
--- @param grid_off ImVec2
|
--- @param grid_off ImVec2
|
||||||
--- @param rounding? float
|
--- @param rounding? float
|
||||||
--- @param flags? ImDrawFlags
|
--- @param flags? ImDrawFlags
|
||||||
function ImGui.RenderColorRectWithAlphaCheckerboard(draw_list, p_min, p_max, col, grid_step, grid_off, rounding, flags)
|
function ImGui.RenderColorRectWithAlphaCheckerboard(draw_list, p_min, p_max, col, alpha, grid_step, grid_off, rounding, flags)
|
||||||
if rounding == nil then rounding = 0.0 end
|
if rounding == nil then rounding = 0.0 end
|
||||||
if flags == nil then flags = 0 end
|
if flags == nil then flags = 0 end
|
||||||
|
|
||||||
@@ -40744,60 +40749,53 @@ function ImGui.RenderColorRectWithAlphaCheckerboard(draw_list, p_min, p_max, col
|
|||||||
end
|
end
|
||||||
|
|
||||||
if bit32.rshift(bit32.band(col, 4278190080 --[[IM_COL32_A_MASK]]), 24 --[[IM_COL32_A_SHIFT]]) < 0xFF then
|
if bit32.rshift(bit32.band(col, 4278190080 --[[IM_COL32_A_MASK]]), 24 --[[IM_COL32_A_SHIFT]]) < 0xFF then
|
||||||
local col_bg1 = ImGui.GetColorU32(ImStd.ImAlphaBlendColors(IM_COL32(128, 128, 128, 255), col), nil, true)
|
assert(alpha >= 0.0 and alpha <= 1.0)
|
||||||
local col_bg2 = ImGui.GetColorU32(ImStd.ImAlphaBlendColors(IM_COL32(204, 204, 204, 255), col), nil, true)
|
local a_mask = bit32.lshift(ImTrunc(alpha * 255.0), 24 --[[IM_COL32_A_SHIFT]])
|
||||||
draw_list:AddRectFilled(p_min, p_max, col_bg1, rounding, flags)
|
local col_bg1 = bit32.bor(bit32.band(ImStd.ImAlphaBlendColors(IM_COL32(128, 128, 128, 255), col), bit32.bnot(4278190080 --[[IM_COL32_A_MASK]])), a_mask)
|
||||||
|
local col_bg2 = bit32.bor(bit32.band(ImStd.ImAlphaBlendColors(IM_COL32(204, 204, 204, 255), col), bit32.bnot(4278190080 --[[IM_COL32_A_MASK]])), a_mask)
|
||||||
|
local dual_layer = (alpha == 1.0) -- Dual layer is faster but incorrect if blending.
|
||||||
|
if dual_layer then
|
||||||
|
draw_list:AddRectFilled(p_min, p_max, col_bg1, rounding, flags)
|
||||||
|
end
|
||||||
|
|
||||||
local yi = 0
|
local yi = 0
|
||||||
local y = p_min.y + grid_off.y
|
local y = p_min.y + grid_off.y
|
||||||
local x_start
|
|
||||||
local x
|
|
||||||
local cell_flags
|
|
||||||
while y < p_max.y do
|
while y < p_max.y do
|
||||||
repeat
|
local y1 = ImClamp(ImTrunc(y), p_min.y, p_max.y)
|
||||||
local y1 = ImClamp(y, p_min.y, p_max.y)
|
local y2 = ImMin(ImTrunc(y + grid_step), p_max.y)
|
||||||
local y2 = ImMin(y + grid_step, p_max.y)
|
if y2 > y1 then
|
||||||
|
local x_start_off = dual_layer and (((yi + 1) % 2) * grid_step) or 0.0
|
||||||
|
local x_step = dual_layer and (grid_step * 2.0) or grid_step
|
||||||
|
local xi = 0
|
||||||
|
local x = p_min.x + grid_off.x + x_start_off
|
||||||
|
while x < p_max.x do
|
||||||
|
local x1 = ImClamp(ImTrunc(x), p_min.x, p_max.x)
|
||||||
|
local x2 = ImMin(ImTrunc(x + grid_step), p_max.x)
|
||||||
|
if x2 > x1 then
|
||||||
|
local cell_flags = 256 --[[ImDrawFlags.RoundNone]] -- FIXME: Could use CalcRoundingFlagsForRectInRect()
|
||||||
|
if y1 <= p_min.y then
|
||||||
|
if x1 <= p_min.x then cell_flags = bit32.bor(cell_flags, 16 --[[ImDrawFlags.RoundTopLeft]]) end
|
||||||
|
if x2 >= p_max.x then cell_flags = bit32.bor(cell_flags, 32 --[[ImDrawFlags.RoundTopRight]]) end
|
||||||
|
end
|
||||||
|
if y2 >= p_max.y then
|
||||||
|
if x1 <= p_min.x then cell_flags = bit32.bor(cell_flags, 64 --[[ImDrawFlags.RoundBottomLeft]]) end
|
||||||
|
if x2 >= p_max.x then cell_flags = bit32.bor(cell_flags, 128 --[[ImDrawFlags.RoundBottomRight]]) end
|
||||||
|
end
|
||||||
|
|
||||||
if y2 <= y1 then
|
-- Combine flags
|
||||||
break
|
if flags == 256 --[[ImDrawFlags.RoundNone]] or cell_flags == 256 --[[ImDrawFlags.RoundNone]] then
|
||||||
|
cell_flags = 256 --[[ImDrawFlags.RoundNone]]
|
||||||
|
else
|
||||||
|
cell_flags = bit32.band(cell_flags, flags)
|
||||||
|
end
|
||||||
|
local col_bg
|
||||||
|
if dual_layer then col_bg = col_bg2 elseif (yi + xi) % 2 == 1 then col_bg = col_bg2 else col_bg = col_bg1 end
|
||||||
|
draw_list:AddRectFilled(ImVec2(x1, y1), ImVec2(x2, y2), col_bg, rounding, cell_flags)
|
||||||
|
end
|
||||||
|
x = x + x_step
|
||||||
|
xi = xi + 1
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
x_start = p_min.x + grid_off.x + ((yi + 1) % 2) * grid_step
|
|
||||||
x = x_start
|
|
||||||
while x < p_max.x do
|
|
||||||
repeat
|
|
||||||
local x1 = ImClamp(x, p_min.x, p_max.x)
|
|
||||||
local x2 = ImMin(x + grid_step, p_max.x)
|
|
||||||
|
|
||||||
if x2 <= x1 then
|
|
||||||
break
|
|
||||||
end
|
|
||||||
|
|
||||||
cell_flags = 256 --[[ImDrawFlags.RoundNone]] -- FIXME: Could use CalcRoundingFlagsForRectInRect()
|
|
||||||
if y1 <= p_min.y then
|
|
||||||
if x1 <= p_min.x then cell_flags = bit32.bor(cell_flags, 16 --[[ImDrawFlags.RoundTopLeft]]) end
|
|
||||||
if x2 >= p_max.x then cell_flags = bit32.bor(cell_flags, 32 --[[ImDrawFlags.RoundTopRight]]) end
|
|
||||||
end
|
|
||||||
if y2 >= p_max.y then
|
|
||||||
if x1 <= p_min.x then cell_flags = bit32.bor(cell_flags, 64 --[[ImDrawFlags.RoundBottomLeft]]) end
|
|
||||||
if x2 >= p_max.x then cell_flags = bit32.bor(cell_flags, 128 --[[ImDrawFlags.RoundBottomRight]]) end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Combine flags
|
|
||||||
if flags == 256 --[[ImDrawFlags.RoundNone]] or cell_flags == 256 --[[ImDrawFlags.RoundNone]] then
|
|
||||||
cell_flags = 256 --[[ImDrawFlags.RoundNone]]
|
|
||||||
else
|
|
||||||
cell_flags = bit32.band(cell_flags, flags)
|
|
||||||
end
|
|
||||||
draw_list:AddRectFilled(ImVec2(x1, y1), ImVec2(x2, y2), col_bg2, rounding, cell_flags)
|
|
||||||
|
|
||||||
until true
|
|
||||||
|
|
||||||
x = x + grid_step * 2.0
|
|
||||||
end
|
|
||||||
|
|
||||||
until true
|
|
||||||
|
|
||||||
y = y + grid_step
|
y = y + grid_step
|
||||||
yi = yi + 1
|
yi = yi + 1
|
||||||
end
|
end
|
||||||
@@ -46919,6 +46917,7 @@ function ImGuiContext(shared_font_atlas) -- TODO: tidy up / complete this struct
|
|||||||
|
|
||||||
DisabledAlphaBackup = 0.0, -- Backup for style.Alpha for BeginDisabled()
|
DisabledAlphaBackup = 0.0, -- Backup for style.Alpha for BeginDisabled()
|
||||||
DisabledStackSize = 0,
|
DisabledStackSize = 0,
|
||||||
|
MixedValueLabel = "-", -- Value replacement when displaying a mixed value.
|
||||||
|
|
||||||
ItemFlagsStack = ImVector(), -- Stack for PushItemFlag()/PopItemFlag() - inherited by Begin()
|
ItemFlagsStack = ImVector(), -- Stack for PushItemFlag()/PopItemFlag() - inherited by Begin()
|
||||||
GroupStack = ImVector(), -- Stack for BeginGroup()/EndGroup() - not inherited by Begin()
|
GroupStack = ImVector(), -- Stack for BeginGroup()/EndGroup() - not inherited by Begin()
|
||||||
@@ -54113,7 +54112,7 @@ function ImGui.CloseButton(id, pos)
|
|||||||
window.DrawList:AddRectFilled(bb.Min, bb.Max, bg_col)
|
window.DrawList:AddRectFilled(bb.Min, bb.Max, bg_col)
|
||||||
end
|
end
|
||||||
|
|
||||||
local cross_center = bb:GetCenter() - ImVec2(0.5, 0.5)
|
local cross_center = bb:GetCenter()
|
||||||
local cross_extent = g.FontSize * 0.5 * 0.7071 - 1
|
local cross_extent = g.FontSize * 0.5 * 0.7071 - 1
|
||||||
local cross_col = ImGui.GetColorU32(0 --[[ImGuiCol.Text]])
|
local cross_col = ImGui.GetColorU32(0 --[[ImGuiCol.Text]])
|
||||||
local cross_thickness = 1.0 -- FIXME-DPI
|
local cross_thickness = 1.0 -- FIXME-DPI
|
||||||
@@ -54123,32 +54122,6 @@ function ImGui.CloseButton(id, pos)
|
|||||||
return pressed
|
return pressed
|
||||||
end
|
end
|
||||||
|
|
||||||
--- @return bool
|
|
||||||
function ImGui.CollapseButton(id, pos)
|
|
||||||
local g = GImGui
|
|
||||||
|
|
||||||
local window = g.CurrentWindow
|
|
||||||
|
|
||||||
local bb = ImRect(pos, pos + ImVec2(g.FontSize, g.FontSize))
|
|
||||||
|
|
||||||
local is_clipped = not ImGui.ItemAdd(bb, id)
|
|
||||||
|
|
||||||
local pressed, hovered = ImGui.ButtonBehavior(bb, id)
|
|
||||||
|
|
||||||
-- Render
|
|
||||||
if hovered then
|
|
||||||
window.DrawList:AddRectFilled(bb.Min, bb.Max, ImGui.GetColorU32(23 --[[ImGuiCol.ButtonHovered]]))
|
|
||||||
end
|
|
||||||
|
|
||||||
if window.Collapsed then
|
|
||||||
ImGui.RenderArrow(window.DrawList, bb.Min, ImGui.GetColorU32(0 --[[ImGuiCol.Text]]), 1 --[[ImGuiDir.Right]], 1)
|
|
||||||
else
|
|
||||||
ImGui.RenderArrow(window.DrawList, bb.Min, ImGui.GetColorU32(0 --[[ImGuiCol.Text]]), 3 --[[ImGuiDir.Down]], 1)
|
|
||||||
end
|
|
||||||
|
|
||||||
return pressed
|
|
||||||
end
|
|
||||||
|
|
||||||
--- @param window ImGuiWindow
|
--- @param window ImGuiWindow
|
||||||
--- @param axis ImGuiAxis
|
--- @param axis ImGuiAxis
|
||||||
--- @return ImGuiID
|
--- @return ImGuiID
|
||||||
@@ -55053,7 +55026,7 @@ function ImGui.SeparatorTextEx(id, label, label_end, extra_w)
|
|||||||
|
|
||||||
local sep1_x1 = pos.x
|
local sep1_x1 = pos.x
|
||||||
local sep2_x2 = bb.Max.x
|
local sep2_x2 = bb.Max.x
|
||||||
local seps_y = ImTrunc((bb.Min.y + bb.Max.y) * 0.5 + 0.999)
|
local seps_y = ImTrunc((bb.Min.y + bb.Max.y) * 0.5) + 1.0
|
||||||
|
|
||||||
local label_avail_w = ImMax(0.0, sep2_x2 - sep1_x1 - padding.x * 2.0)
|
local label_avail_w = ImMax(0.0, sep2_x2 - sep1_x1 - padding.x * 2.0)
|
||||||
local label_pos = ImVec2(pos.x + padding.x + ImMax(0.0, (label_avail_w - label_size.x - extra_w) * style.SeparatorTextAlign.x), pos.y + text_baseline_y) -- FIXME-ALIGN
|
local label_pos = ImVec2(pos.x + padding.x + ImMax(0.0, (label_avail_w - label_size.x - extra_w) * style.SeparatorTextAlign.x), pos.y + text_baseline_y) -- FIXME-ALIGN
|
||||||
@@ -55068,11 +55041,11 @@ function ImGui.SeparatorTextEx(id, label, label_end, extra_w)
|
|||||||
local sep2_x1 = label_pos.x + label_size.x + extra_w + style.ItemSpacing.x
|
local sep2_x1 = label_pos.x + label_size.x + extra_w + style.ItemSpacing.x
|
||||||
|
|
||||||
if sep1_x2 > sep1_x1 and separator_thickness > 0.0 then
|
if sep1_x2 > sep1_x1 and separator_thickness > 0.0 then
|
||||||
window.DrawList:AddLineH(sep1_x1, sep1_x2, seps_y, separator_col, separator_thickness)
|
window.DrawList:AddLineH(sep1_x1, sep1_x2, seps_y, separator_col, separator_thickness, 393216 --[[ImDrawFlags.StrokeCenterBiased]])
|
||||||
end
|
end
|
||||||
|
|
||||||
if sep2_x2 > sep2_x1 and separator_thickness > 0.0 then
|
if sep2_x2 > sep2_x1 and separator_thickness > 0.0 then
|
||||||
window.DrawList:AddLineH(sep2_x1, sep2_x2, seps_y, separator_col, separator_thickness)
|
window.DrawList:AddLineH(sep2_x1, sep2_x2, seps_y, separator_col, separator_thickness, 393216 --[[ImDrawFlags.StrokeCenterBiased]])
|
||||||
end
|
end
|
||||||
|
|
||||||
if g.LogEnabled then
|
if g.LogEnabled then
|
||||||
@@ -55086,7 +55059,7 @@ function ImGui.SeparatorTextEx(id, label, label_end, extra_w)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if separator_thickness > 0.0 then
|
if separator_thickness > 0.0 then
|
||||||
window.DrawList:AddLineH(sep1_x1, sep2_x2, seps_y, separator_col, separator_thickness)
|
window.DrawList:AddLineH(sep1_x1, sep2_x2, seps_y, separator_col, separator_thickness, 393216 --[[ImDrawFlags.StrokeCenterBiased]])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -59415,10 +59388,10 @@ function ImGui.InputTextEx(label, hint, buf, buf_size, size_arg, flags, callback
|
|||||||
local cursor_is_visible = (not g.IO.ConfigInputTextCursorBlink) or (state.CursorAnim <= 0.0) or (ImFmod(state.CursorAnim, 1.20) <= 0.80)
|
local cursor_is_visible = (not g.IO.ConfigInputTextCursorBlink) or (state.CursorAnim <= 0.0) or (ImFmod(state.CursorAnim, 1.20) <= 0.80)
|
||||||
|
|
||||||
local cursor_screen_pos = ImTrunc(draw_pos + cursor_offset - draw_scroll)
|
local cursor_screen_pos = ImTrunc(draw_pos + cursor_offset - draw_scroll)
|
||||||
local cursor_screen_rect = ImRect(cursor_screen_pos.x, cursor_screen_pos.y - g.FontSize + 0.5, cursor_screen_pos.x + 1.0, cursor_screen_pos.y - 1.5)
|
local cursor_screen_rect = ImRect(cursor_screen_pos.x, cursor_screen_pos.y - g.FontSize + 1.0, cursor_screen_pos.x + 1.0, cursor_screen_pos.y - 1.0)
|
||||||
|
|
||||||
if cursor_is_visible and cursor_screen_rect:Overlaps(clip_rect) then
|
if cursor_is_visible and cursor_screen_rect:Overlaps(clip_rect) then
|
||||||
draw_window.DrawList:AddLineV(cursor_screen_rect.Min.x, cursor_screen_rect.Min.y, cursor_screen_rect.Max.y, ImGui.GetColorU32(34 --[[ImGuiCol.InputTextCursor]]), style.InputTextCursorSize)
|
draw_window.DrawList:AddLineV(cursor_screen_rect.Min.x, cursor_screen_rect.Min.y, cursor_screen_rect.Max.y, ImGui.GetColorU32(34 --[[ImGuiCol.InputTextCursor]]), style.InputTextCursorSize, 131072 --[[ImDrawFlags.StrokeInside]])
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Notify OS of text input position for advanced IME (-1 x offset so that Windows IME can cover our cursor. Bit of an extra nicety.)
|
-- Notify OS of text input position for advanced IME (-1 x offset so that Windows IME can cover our cursor. Bit of an extra nicety.)
|
||||||
@@ -60296,7 +60269,7 @@ function ImGui.ColorPicker4(label, col, flags, ref_col)
|
|||||||
if alpha_bar then
|
if alpha_bar then
|
||||||
local alpha = ImSaturate(col[4])
|
local alpha = ImSaturate(col[4])
|
||||||
local bar1_bb = ImRect(bar1_pos_x, picker_pos.y, bar1_pos_x + bars_width, picker_pos.y + sv_picker_size)
|
local bar1_bb = ImRect(bar1_pos_x, picker_pos.y, bar1_pos_x + bars_width, picker_pos.y + sv_picker_size)
|
||||||
ImGui.RenderColorRectWithAlphaCheckerboard(draw_list, bar1_bb.Min, bar1_bb.Max, 0, bar1_bb:GetWidth() / 2.0, ImVec2(0.0, 0.0))
|
ImGui.RenderColorRectWithAlphaCheckerboard(draw_list, bar1_bb.Min, bar1_bb.Max, IM_COL32(0, 0, 0, 0), style.Alpha, bar1_bb:GetWidth() / 2.0, ImVec2(0.0, 0.0))
|
||||||
draw_list:AddRectFilledMultiColor(bar1_bb.Min, bar1_bb.Max, user_col32_striped_of_alpha, user_col32_striped_of_alpha, bit32.band(user_col32_striped_of_alpha, bit32.bnot(4278190080 --[[IM_COL32_A_MASK]])), bit32.band(user_col32_striped_of_alpha, bit32.bnot(4278190080 --[[IM_COL32_A_MASK]])))
|
draw_list:AddRectFilledMultiColor(bar1_bb.Min, bar1_bb.Max, user_col32_striped_of_alpha, user_col32_striped_of_alpha, bit32.band(user_col32_striped_of_alpha, bit32.bnot(4278190080 --[[IM_COL32_A_MASK]])), bit32.band(user_col32_striped_of_alpha, bit32.bnot(4278190080 --[[IM_COL32_A_MASK]])))
|
||||||
|
|
||||||
local bar1_line_y = IM_ROUND(picker_pos.y + (1.0 - alpha) * sv_picker_size)
|
local bar1_line_y = IM_ROUND(picker_pos.y + (1.0 - alpha) * sv_picker_size)
|
||||||
@@ -60374,36 +60347,45 @@ function ImGui.ColorButton(desc_id, col, flags, size_arg)
|
|||||||
local col_rgb_without_alpha = ImVec4(col_rgb.x, col_rgb.y, col_rgb.z, 1.0)
|
local col_rgb_without_alpha = ImVec4(col_rgb.x, col_rgb.y, col_rgb.z, 1.0)
|
||||||
local grid_step = ImMin(size.x, size.y) / 2.99
|
local grid_step = ImMin(size.x, size.y) / 2.99
|
||||||
local rounding = ImMin(g.Style.FrameRounding, grid_step * 0.5)
|
local rounding = ImMin(g.Style.FrameRounding, grid_step * 0.5)
|
||||||
local bb_inner = ImRect()
|
local is_mixed = bit32.band(g.LastItemData.ItemFlags, 4096 --[[ImGuiItemFlags.MixedValue]]) ~= 0
|
||||||
ImRect_Copy(bb_inner, bb)
|
|
||||||
local off = 0.0
|
local backup_alpha = g.Style.Alpha
|
||||||
if bit32.band(flags, 1024 --[[ImGuiColorEditFlags.NoBorder]]) == 0 then
|
if g.DisabledStackSize > 0 then
|
||||||
off = -0.75
|
g.Style.Alpha = g.DisabledAlphaBackup -- Cancel out effect of BeginDisabled() for color swatches.
|
||||||
bb_inner:Expand(off)
|
|
||||||
end
|
end
|
||||||
if bit32.band(flags, 16384 --[[ImGuiColorEditFlags.AlphaPreviewHalf]]) ~= 0 and col_rgb.w < 1.0 then
|
if is_mixed then
|
||||||
local mid_x = IM_ROUND((bb_inner.Min.x + bb_inner.Max.x) * 0.5)
|
window.DrawList:AddRectFilled(bb.Min, bb.Max, ImGui.GetColorU32(7 --[[ImGuiCol.FrameBg]]), rounding)
|
||||||
if bit32.band(flags, 8192 --[[ImGuiColorEditFlags.AlphaNoBg]]) == 0 then
|
ImGui.PushStyleColor(0 --[[ImGuiCol.Text]], g.Style.Colors[1 --[[ImGuiCol.TextDisabled]]]) -- ImGuiCol_TextMixedValue
|
||||||
ImGui.RenderColorRectWithAlphaCheckerboard(window.DrawList, ImVec2(bb_inner.Min.x + grid_step, bb_inner.Min.y), bb_inner.Max, ImGui.GetColorU32(col_rgb), grid_step, ImVec2(-grid_step + off, off), rounding, 160 --[[ImDrawFlags.RoundRight]])
|
if g.MixedValueLabel ~= nil then
|
||||||
else
|
ImGui.RenderTextClipped(ImVec2(bb.Min.x, bb.Min.y + g.Style.FramePadding.y), bb.Max, g.MixedValueLabel, nil, nil, ImVec2(0.5, 0.0))
|
||||||
window.DrawList:AddRectFilled(ImVec2(bb_inner.Min.x + grid_step, bb_inner.Min.y), bb_inner.Max, ImGui.GetColorU32(col_rgb), rounding, 160 --[[ImDrawFlags.RoundRight]])
|
|
||||||
end
|
end
|
||||||
window.DrawList:AddRectFilled(bb_inner.Min, ImVec2(mid_x, bb_inner.Max.y), ImGui.GetColorU32(col_rgb_without_alpha), rounding, 80 --[[ImDrawFlags.RoundLeft]])
|
ImGui.PopStyleColor()
|
||||||
|
elseif bit32.band(flags, 16384 --[[ImGuiColorEditFlags.AlphaPreviewHalf]]) ~= 0 and col_rgb.w < 1.0 then
|
||||||
|
local mid_x = IM_ROUND((bb.Min.x + bb.Max.x) * 0.5)
|
||||||
|
if bit32.band(flags, 8192 --[[ImGuiColorEditFlags.AlphaNoBg]]) == 0 then
|
||||||
|
ImGui.RenderColorRectWithAlphaCheckerboard(window.DrawList, ImVec2(bb.Min.x + grid_step, bb.Min.y), bb.Max, ImGui.ColorConvertFloat4ToU32(col_rgb), g.Style.Alpha, grid_step, ImVec2(-grid_step, 0.0), rounding, 160 --[[ImDrawFlags.RoundRight]])
|
||||||
|
else
|
||||||
|
window.DrawList:AddRectFilled(ImVec2(bb.Min.x + grid_step, bb.Min.y), bb.Max, ImGui.GetColorU32(col_rgb), rounding, 160 --[[ImDrawFlags.RoundRight]])
|
||||||
|
end
|
||||||
|
window.DrawList:AddRectFilled(bb.Min, ImVec2(mid_x, bb.Max.y), ImGui.GetColorU32(col_rgb_without_alpha), rounding, 80 --[[ImDrawFlags.RoundLeft]])
|
||||||
else
|
else
|
||||||
-- Because GetColorU32() multiplies by the global style Alpha and we don't want to display a checkerboard if the source code had no alpha
|
-- Because GetColorU32() multiplies by the global style Alpha and we don't want to display a checkerboard if the source code had no alpha
|
||||||
local col_source = (bit32.band(flags, 4096 --[[ImGuiColorEditFlags.AlphaOpaque]]) ~= 0) and col_rgb_without_alpha or col_rgb
|
local col_source = (bit32.band(flags, 4096 --[[ImGuiColorEditFlags.AlphaOpaque]]) ~= 0) and col_rgb_without_alpha or col_rgb
|
||||||
if col_source.w < 1.0 and bit32.band(flags, 8192 --[[ImGuiColorEditFlags.AlphaNoBg]]) == 0 then
|
if col_source.w < 1.0 and bit32.band(flags, 8192 --[[ImGuiColorEditFlags.AlphaNoBg]]) == 0 then
|
||||||
ImGui.RenderColorRectWithAlphaCheckerboard(window.DrawList, bb_inner.Min, bb_inner.Max, ImGui.GetColorU32(col_source), grid_step, ImVec2(off, off), rounding)
|
ImGui.RenderColorRectWithAlphaCheckerboard(window.DrawList, bb.Min, bb.Max, ImGui.ColorConvertFloat4ToU32(col_source), g.Style.Alpha, grid_step, ImVec2(0.0, 0.0), rounding)
|
||||||
else
|
else
|
||||||
window.DrawList:AddRectFilled(bb_inner.Min, bb_inner.Max, ImGui.GetColorU32(col_source), rounding)
|
window.DrawList:AddRectFilled(bb.Min, bb.Max, ImGui.GetColorU32(col_source), rounding)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
if g.DisabledStackSize > 0 then
|
||||||
|
g.Style.Alpha = backup_alpha
|
||||||
|
end
|
||||||
ImGui.RenderNavCursor(bb, id)
|
ImGui.RenderNavCursor(bb, id)
|
||||||
if bit32.band(flags, 1024 --[[ImGuiColorEditFlags.NoBorder]]) == 0 then
|
if bit32.band(flags, 1024 --[[ImGuiColorEditFlags.NoBorder]]) == 0 then
|
||||||
if g.Style.FrameBorderSize > 0.0 then
|
if g.Style.FrameBorderSize > 0.0 then
|
||||||
ImGui.RenderFrameBorder(bb.Min, bb.Max, rounding)
|
ImGui.RenderFrameBorder(bb.Min, bb.Max, rounding)
|
||||||
else
|
else
|
||||||
window.DrawList:AddRect(bb.Min, bb.Max, ImGui.GetColorU32(7 --[[ImGuiCol.FrameBg]]), rounding) -- Color buttons are often in need of some sort of border
|
window.DrawList:AddRect(bb.Min, bb.Max, ImGui.GetColorU32(7 --[[ImGuiCol.FrameBg]]), rounding, 1.0 * ImTrunc(g.Style._MainScale)) -- Color buttons are often in need of some sort of border -- FIXME-DPI
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -61086,23 +61068,27 @@ function ImGui.TreeNodeDrawLineToChildNode(target_pos)
|
|||||||
|
|
||||||
-- FIXME: Could this be simplified using new stroke flags?
|
-- FIXME: Could this be simplified using new stroke flags?
|
||||||
local parent_data = g.TreeNodeStack.Data[g.TreeNodeStack.Size]
|
local parent_data = g.TreeNodeStack.Data[g.TreeNodeStack.Size]
|
||||||
local x1 = ImTrunc(parent_data.DrawLinesX1)
|
local half_size = g.Style.TreeLinesSize * 0.5
|
||||||
|
local x1 = ImTrunc(parent_data.DrawLinesX1 - half_size) + half_size -- Draw line centered at X1, but snap to pixels boundary.
|
||||||
local x2 = ImTrunc(target_pos.x - g.Style.ItemInnerSpacing.x)
|
local x2 = ImTrunc(target_pos.x - g.Style.ItemInnerSpacing.x)
|
||||||
local y = ImTrunc(target_pos.y)
|
local y = ImTrunc(target_pos.y - half_size) + half_size
|
||||||
local rounding = (g.Style.TreeLinesRounding > 0.0) and ImMin(x2 - x1, g.Style.TreeLinesRounding) or 0.0
|
local rounding = (g.Style.TreeLinesRounding > 0.0) and ImMin(x2 - x1, g.Style.TreeLinesRounding) or 0.0
|
||||||
parent_data.DrawLinesToNodesY2 = ImMax(parent_data.DrawLinesToNodesY2, y - rounding)
|
parent_data.DrawLinesToNodesY2 = ImMax(parent_data.DrawLinesToNodesY2, y - rounding)
|
||||||
if x1 >= x2 then
|
if x1 >= x2 then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if rounding > 0.0 then
|
if rounding > 0.0 and rounding > half_size then
|
||||||
x1 = x1 + 0.5 + rounding
|
x1 = x1 + rounding
|
||||||
window.DrawList:PathArcToFast(ImVec2(x1, y - rounding), rounding, 6, 3)
|
window.DrawList:PathArcToFast(ImVec2(x1, y - rounding), rounding, 6, 3)
|
||||||
if x1 < x2 then
|
if x1 < x2 then
|
||||||
window.DrawList:PathLineTo(ImVec2(x2, y))
|
window.DrawList:PathLineTo(ImVec2(x2, y))
|
||||||
end
|
end
|
||||||
window.DrawList:PathStroke(ImGui.GetColorU32(55 --[[ImGuiCol.TreeLines]]), g.Style.TreeLinesSize)
|
window.DrawList:PathStroke(ImGui.GetColorU32(55 --[[ImGuiCol.TreeLines]]), g.Style.TreeLinesSize)
|
||||||
else
|
else
|
||||||
window.DrawList:AddLineH(x1, x2, y, ImGui.GetColorU32(55 --[[ImGuiCol.TreeLines]]), g.Style.TreeLinesSize)
|
-- We use AddLine() instead of AddLineH() as we provide coordinates for line center,
|
||||||
|
-- in order to make the code use same coordinates for both rounded and non-rounded version. (FIXME-OPT)
|
||||||
|
x1 = x1 + half_size -- Avoid overdraw
|
||||||
|
window.DrawList:AddLine(ImVec2(x1, y), ImVec2(x2, y), ImGui.GetColorU32(55 --[[ImGuiCol.TreeLines]]), g.Style.TreeLinesSize)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -65084,7 +65070,7 @@ function ImGui.TabItemBackground(draw_list, bb, flags, col)
|
|||||||
draw_list:PathArcToFast(ImVec2(bb.Min.x + rounding, y1 + rounding), rounding, 6, 9)
|
draw_list:PathArcToFast(ImVec2(bb.Min.x + rounding, y1 + rounding), rounding, 6, 9)
|
||||||
draw_list:PathArcToFast(ImVec2(bb.Max.x - rounding, y1 + rounding), rounding, 9, 12)
|
draw_list:PathArcToFast(ImVec2(bb.Max.x - rounding, y1 + rounding), rounding, 9, 12)
|
||||||
draw_list:PathLineTo(ImVec2(bb.Max.x, y2))
|
draw_list:PathLineTo(ImVec2(bb.Max.x, y2))
|
||||||
draw_list:PathStroke(ImGui.GetColorU32(5 --[[ImGuiCol.Border]]), g.Style.TabBorderSize)
|
draw_list:PathStroke(ImGui.GetColorU32(5 --[[ImGuiCol.Border]]), g.Style.TabBorderSize, 393216 --[[ImDrawFlags.StrokeCenterBiased]]) -- Use _StrokeInside?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
+325
-325
@@ -13,19 +13,19 @@ polyline stroker (AddPolyline), Lua-native replacements (ImGuiStorage, ImStr*, I
|
|||||||
|
|
||||||
upstream file funcs ported by size similarity stubs
|
upstream file funcs ported by size similarity stubs
|
||||||
imgui.cpp 786 87.4% 93.5% 75.1% 2
|
imgui.cpp 786 87.4% 93.5% 75.1% 2
|
||||||
imgui_widgets.cpp 308 93.8% 98.7% 78.1% 1
|
imgui_widgets.cpp 308 93.8% 98.7% 78.4% 1
|
||||||
imgui_draw.cpp 258 81.8% 92.3% 61.0% 2
|
imgui_draw.cpp 258 81.8% 92.3% 61.1% 2
|
||||||
imgui_tables.cpp 113 96.5% 99.0% 74.0% 0
|
imgui_tables.cpp 113 96.5% 99.0% 74.0% 0
|
||||||
imgui_demo.cpp 56 100.0% 100.0% 55.8% 0
|
imgui_demo.cpp 56 100.0% 100.0% 55.8% 0
|
||||||
imgui.h 110 53.6% 37.4% 60.0% 0
|
imgui.h 110 53.6% 37.4% 60.0% 0
|
||||||
imgui_internal.h 269 62.5% 65.7% 67.6% 1
|
imgui_internal.h 269 62.5% 65.7% 67.6% 1
|
||||||
TOTAL 1900 83.1% 95.3% 70.3% 6
|
TOTAL 1900 83.1% 95.3% 70.4% 6
|
||||||
|
|
||||||
upstream code reproduced (similarity x ported size / all upstream size): 67.0%
|
upstream code reproduced (similarity x ported size / all upstream size): 67.0%
|
||||||
Public API (imgui.h, namespace ImGui) 368 / 376 97.9%
|
Public API (imgui.h, namespace ImGui) 368 / 376 97.9%
|
||||||
Internal API (imgui_internal.h, namespace ImGui) 417 / 443 94.1%
|
Internal API (imgui_internal.h, namespace ImGui) 417 / 443 94.1%
|
||||||
Enum values (imgui.h + imgui_internal.h) 1034 / 1078 95.9%
|
Enum values (imgui.h + imgui_internal.h) 1034 / 1078 95.9%
|
||||||
Struct fields (imgui.h + imgui_internal.h) 1832 / 1926 95.1%
|
Struct fields (imgui.h + imgui_internal.h) 1833 / 1926 95.2%
|
||||||
|
|
||||||
Legend: [x] ported (sim %) [~] stub [ ] not ported [-] excluded (c++-only / obsolete / os-specific / #if 0 / test-engine)
|
Legend: [x] ported (sim %) [~] stub [ ] not ported [-] excluded (c++-only / obsolete / os-specific / #if 0 / test-engine)
|
||||||
|
|
||||||
@@ -123,7 +123,7 @@ imgui.cpp
|
|||||||
[x] 61% ImGui::ColorConvertHSVtoRGB imgui.lua:14466
|
[x] 61% ImGui::ColorConvertHSVtoRGB imgui.lua:14466
|
||||||
|
|
||||||
-- ImGuiStorage
|
-- ImGuiStorage
|
||||||
[x] 69% ImLowerBound imgui_widgets.lua:5186
|
[x] 69% ImLowerBound imgui_widgets.lua:5160
|
||||||
[ ] PairComparerByID
|
[ ] PairComparerByID
|
||||||
[ ] ImGuiStorage::BuildSortByKey
|
[ ] ImGuiStorage::BuildSortByKey
|
||||||
[ ] ImGuiStorage::GetInt
|
[ ] ImGuiStorage::GetInt
|
||||||
@@ -210,7 +210,7 @@ imgui.cpp
|
|||||||
[ ] ImGui::CallContextHooks
|
[ ] ImGui::CallContextHooks
|
||||||
|
|
||||||
-- MAIN CODE (most of the code! lots of stuff, needs tidying up!)
|
-- MAIN CODE (most of the code! lots of stuff, needs tidying up!)
|
||||||
[x] 11% ImGuiWindow::ImGuiWindow imgui_internal.lua:2842
|
[x] 11% ImGuiWindow::ImGuiWindow imgui_internal.lua:2843
|
||||||
[-] ImGuiWindow::~ImGuiWindow c++-only
|
[-] ImGuiWindow::~ImGuiWindow c++-only
|
||||||
[x] 74% SetCurrentWindow imgui.lua:10805
|
[x] 74% SetCurrentWindow imgui.lua:10805
|
||||||
[x] 85% ImGui::GcCompactTransientMiscBuffers imgui.lua:10826
|
[x] 85% ImGui::GcCompactTransientMiscBuffers imgui.lua:10826
|
||||||
@@ -269,7 +269,7 @@ imgui.cpp
|
|||||||
[x] 42% ImGui::PopClipRect imgui.lua:13626
|
[x] 42% ImGui::PopClipRect imgui.lua:13626
|
||||||
[x] 60% ImGui::RenderDimmedBackgroundBehindWindow imgui.lua:18992
|
[x] 60% ImGui::RenderDimmedBackgroundBehindWindow imgui.lua:18992
|
||||||
[x] 83% ImGui::FindBottomMostVisibleWindowWithinBeginStack imgui.lua:18965
|
[x] 83% ImGui::FindBottomMostVisibleWindowWithinBeginStack imgui.lua:18965
|
||||||
[x] 80% ImGui::RenderDimmedBackgrounds imgui.lua:19013
|
[x] 81% ImGui::RenderDimmedBackgrounds imgui.lua:19013
|
||||||
[x] 84% ImGui::EndFrame imgui.lua:14080
|
[x] 84% ImGui::EndFrame imgui.lua:14080
|
||||||
[x] 74% ImGui::Render imgui.lua:14191
|
[x] 74% ImGui::Render imgui.lua:14191
|
||||||
[x] 17% ImGui::CalcTextSize imgui.lua:14264
|
[x] 17% ImGui::CalcTextSize imgui.lua:14264
|
||||||
@@ -319,8 +319,8 @@ imgui.cpp
|
|||||||
[x] 71% ImGui::UpdateWindowManualResize imgui.lua:9799
|
[x] 71% ImGui::UpdateWindowManualResize imgui.lua:9799
|
||||||
[ ] ClampWindowPos
|
[ ] ClampWindowPos
|
||||||
[x] 95% RenderWindowOuterSingleBorder imgui.lua:10430
|
[x] 95% RenderWindowOuterSingleBorder imgui.lua:10430
|
||||||
[x] 93% ImGui::RenderWindowOuterBorders imgui.lua:10605 = RenderWindowOuterBorders
|
[x] 94% ImGui::RenderWindowOuterBorders imgui.lua:10605 = RenderWindowOuterBorders
|
||||||
[x] 83% ImGui::RenderWindowDecorations imgui.lua:10474
|
[x] 84% ImGui::RenderWindowDecorations imgui.lua:10474
|
||||||
[x] 93% ImGui::RenderWindowTitleBarContents imgui.lua:10615
|
[x] 93% ImGui::RenderWindowTitleBarContents imgui.lua:10615
|
||||||
[x] 85% ImGui::UpdateWindowParentAndRootLinks imgui.lua:10711
|
[x] 85% ImGui::UpdateWindowParentAndRootLinks imgui.lua:10711
|
||||||
[x] 33% ImGui::UpdateWindowSkipRefresh imgui.lua:10741
|
[x] 33% ImGui::UpdateWindowSkipRefresh imgui.lua:10741
|
||||||
@@ -850,7 +850,7 @@ imgui.cpp
|
|||||||
[x] 92% RenderViewportsThumbnails imgui.lua:18879
|
[x] 92% RenderViewportsThumbnails imgui.lua:18879
|
||||||
[ ] ViewportComparerByLastFocusedStampCount
|
[ ] ViewportComparerByLastFocusedStampCount
|
||||||
[ ] ImGui::DebugRenderKeyboardPreview
|
[ ] ImGui::DebugRenderKeyboardPreview
|
||||||
[x] 52% ImGui::DebugTextEncoding imgui.lua:20993
|
[x] 52% ImGui::DebugTextEncoding imgui.lua:20998
|
||||||
[ ] DebugFlashStyleColorStop
|
[ ] DebugFlashStyleColorStop
|
||||||
[ ] ImGui::DebugFlashStyleColor
|
[ ] ImGui::DebugFlashStyleColor
|
||||||
[ ] ImGui::UpdateDebugToolFlashStyleColor
|
[ ] ImGui::UpdateDebugToolFlashStyleColor
|
||||||
@@ -858,27 +858,27 @@ imgui.cpp
|
|||||||
[ ] FormatTextureRefForDebugDisplay
|
[ ] FormatTextureRefForDebugDisplay
|
||||||
[x] 52% ImGui::ShowFontAtlas imgui.lua:20292
|
[x] 52% ImGui::ShowFontAtlas imgui.lua:20292
|
||||||
[x] 84% ImGui::DebugNodeTexture imgui.lua:20259
|
[x] 84% ImGui::DebugNodeTexture imgui.lua:20259
|
||||||
[x] 44% ImGui::ShowMetricsWindow imgui.lua:21058
|
[x] 44% ImGui::ShowMetricsWindow imgui.lua:21063
|
||||||
[ ] ImGui::DebugBreakClearData
|
[ ] ImGui::DebugBreakClearData
|
||||||
[ ] ImGui::DebugBreakButtonTooltip
|
[ ] ImGui::DebugBreakButtonTooltip
|
||||||
[ ] ImGui::DebugBreakButton
|
[ ] ImGui::DebugBreakButton
|
||||||
[x] 87% ImGui::DebugNodeColumns imgui.lua:20637
|
[x] 87% ImGui::DebugNodeColumns imgui.lua:20637
|
||||||
[x] 48% DebugNodeDockNodeFlags imgui.lua:20825
|
[x] 48% DebugNodeDockNodeFlags imgui.lua:20830
|
||||||
[x] 79% ImGui::DebugNodeDockNode imgui.lua:20842
|
[x] 79% ImGui::DebugNodeDockNode imgui.lua:20847
|
||||||
[x] 28% ImGui::DebugNodeDrawList imgui.lua:20659
|
[x] 23% ImGui::DebugNodeDrawList imgui.lua:20659
|
||||||
[ ] ImGui::DebugNodeDrawCmdShowMeshAndBoundingBox
|
[ ] ImGui::DebugNodeDrawCmdShowMeshAndBoundingBox
|
||||||
[ ] CalcFontGlyphSrcOverlapMask
|
[ ] CalcFontGlyphSrcOverlapMask
|
||||||
[x] 60% ImGui::DebugNodeFont imgui.lua:20182
|
[x] 60% ImGui::DebugNodeFont imgui.lua:20182
|
||||||
[x] 59% ImGui::DebugNodeFontGlyphsForSrcMask imgui.lua:20127
|
[x] 59% ImGui::DebugNodeFontGlyphsForSrcMask imgui.lua:20127
|
||||||
[x] 89% ImGui::DebugNodeFontGlyph imgui.lua:20113
|
[x] 89% ImGui::DebugNodeFontGlyph imgui.lua:20113
|
||||||
[x] 37% ImGui::DebugNodeStorage imgui.lua:20647
|
[x] 37% ImGui::DebugNodeStorage imgui.lua:20647
|
||||||
[x] 68% ImGui::DebugNodeTabBar imgui.lua:20720
|
[x] 69% ImGui::DebugNodeTabBar imgui.lua:20725
|
||||||
[x] 62% ImGui::DebugNodeViewport imgui.lua:20975
|
[x] 62% ImGui::DebugNodeViewport imgui.lua:20980
|
||||||
[ ] ImGui::DebugNodePlatformMonitor
|
[ ] ImGui::DebugNodePlatformMonitor
|
||||||
[x] 70% ImGui::DebugNodeWindow imgui.lua:20886
|
[x] 70% ImGui::DebugNodeWindow imgui.lua:20891
|
||||||
[x] 87% ImGui::DebugNodeWindowSettings imgui.lua:20944
|
[x] 87% ImGui::DebugNodeWindowSettings imgui.lua:20949
|
||||||
[x] 73% ImGui::DebugNodeWindowsList imgui.lua:20950
|
[x] 73% ImGui::DebugNodeWindowsList imgui.lua:20955
|
||||||
[x] 67% ImGui::DebugNodeWindowsListByBeginStackParent imgui.lua:20961
|
[x] 67% ImGui::DebugNodeWindowsListByBeginStackParent imgui.lua:20966
|
||||||
|
|
||||||
-- DEBUG LOG WINDOW
|
-- DEBUG LOG WINDOW
|
||||||
[x] 5% ImGui::DebugLog imgui.lua:19932
|
[x] 5% ImGui::DebugLog imgui.lua:19932
|
||||||
@@ -915,17 +915,17 @@ imgui_widgets.cpp
|
|||||||
[x] 29% ImGui::Text imgui_widgets.lua:222
|
[x] 29% ImGui::Text imgui_widgets.lua:222
|
||||||
[x] 60% ImGui::TextV imgui_widgets.lua:208
|
[x] 60% ImGui::TextV imgui_widgets.lua:208
|
||||||
[x] 30% ImGui::TextColored imgui_widgets.lua:233
|
[x] 30% ImGui::TextColored imgui_widgets.lua:233
|
||||||
[x] 83% ImGui::TextColoredV imgui_widgets.lua:7447 = ImGui . TextColored(...)
|
[x] 83% ImGui::TextColoredV imgui_widgets.lua:7430 = ImGui . TextColored(...)
|
||||||
[x] 17% ImGui::TextDisabled imgui_widgets.lua:241
|
[x] 17% ImGui::TextDisabled imgui_widgets.lua:241
|
||||||
[x] 89% ImGui::TextDisabledV imgui_widgets.lua:7448 = ImGui . TextDisabled(...)
|
[x] 89% ImGui::TextDisabledV imgui_widgets.lua:7431 = ImGui . TextDisabled(...)
|
||||||
[x] 10% ImGui::TextWrapped imgui_widgets.lua:250
|
[x] 10% ImGui::TextWrapped imgui_widgets.lua:250
|
||||||
[x] 91% ImGui::TextWrappedV imgui_widgets.lua:7449 = ImGui . TextWrapped(...)
|
[x] 91% ImGui::TextWrappedV imgui_widgets.lua:7432 = ImGui . TextWrapped(...)
|
||||||
[x] 2% ImGui::TextAligned imgui_widgets.lua:269
|
[x] 2% ImGui::TextAligned imgui_widgets.lua:269
|
||||||
[x] 67% ImGui::TextAlignedV imgui_widgets.lua:7450 = ImGui . TextAligned(...)
|
[x] 67% ImGui::TextAlignedV imgui_widgets.lua:7433 = ImGui . TextAligned(...)
|
||||||
[x] 4% ImGui::LabelText imgui_widgets.lua:305
|
[x] 4% ImGui::LabelText imgui_widgets.lua:305
|
||||||
[x] 89% ImGui::LabelTextV imgui_widgets.lua:7451 = ImGui . LabelText(...)
|
[x] 89% ImGui::LabelTextV imgui_widgets.lua:7434 = ImGui . LabelText(...)
|
||||||
[x] 2% ImGui::BulletText imgui_widgets.lua:340
|
[x] 2% ImGui::BulletText imgui_widgets.lua:340
|
||||||
[x] 77% ImGui::BulletTextV imgui_widgets.lua:7452 = ImGui . BulletText(...)
|
[x] 77% ImGui::BulletTextV imgui_widgets.lua:7435 = ImGui . BulletText(...)
|
||||||
|
|
||||||
-- Widgets: Main
|
-- Widgets: Main
|
||||||
[x] 85% ImGui::ButtonBehavior imgui_widgets.lua:488
|
[x] 85% ImGui::ButtonBehavior imgui_widgets.lua:488
|
||||||
@@ -935,333 +935,333 @@ imgui_widgets.cpp
|
|||||||
[x] 71% ImGui::InvisibleButton imgui_widgets.lua:828
|
[x] 71% ImGui::InvisibleButton imgui_widgets.lua:828
|
||||||
[x] 87% ImGui::ArrowButtonEx imgui_widgets.lua:859
|
[x] 87% ImGui::ArrowButtonEx imgui_widgets.lua:859
|
||||||
[x] 97% ImGui::ArrowButton imgui_widgets.lua:891
|
[x] 97% ImGui::ArrowButton imgui_widgets.lua:891
|
||||||
[x] 79% ImGui::CloseButton imgui_widgets.lua:900
|
[x] 80% ImGui::CloseButton imgui_widgets.lua:900
|
||||||
[x] 90% ImGui::CollapseButton imgui.lua:4558
|
[x] 90% ImGui::CollapseButton imgui.lua:4558
|
||||||
[x] 52% ImGui::GetWindowScrollbarID imgui_widgets.lua:976
|
[x] 52% ImGui::GetWindowScrollbarID imgui_widgets.lua:950
|
||||||
[x] 90% ImGui::GetWindowScrollbarRect imgui_widgets.lua:989
|
[x] 90% ImGui::GetWindowScrollbarRect imgui_widgets.lua:963
|
||||||
[x] 99% ImGui::ExtendHitBoxWhenNearViewportEdge imgui_widgets.lua:1012
|
[x] 99% ImGui::ExtendHitBoxWhenNearViewportEdge imgui_widgets.lua:986
|
||||||
[x] 77% ImGui::Scrollbar imgui_widgets.lua:1189
|
[x] 77% ImGui::Scrollbar imgui_widgets.lua:1163
|
||||||
[x] 85% ImGui::ScrollbarEx imgui_widgets.lua:1040
|
[x] 85% ImGui::ScrollbarEx imgui_widgets.lua:1014
|
||||||
[x] 84% ImGui::ImageWithBg imgui_widgets.lua:1214
|
[x] 84% ImGui::ImageWithBg imgui_widgets.lua:1188
|
||||||
[x] 28% ImGui::Image imgui_widgets.lua:1252
|
[x] 28% ImGui::Image imgui_widgets.lua:1226
|
||||||
[x] 92% ImGui::ImageButtonEx imgui_widgets.lua:1264
|
[x] 92% ImGui::ImageButtonEx imgui_widgets.lua:1238
|
||||||
[x] 98% ImGui::ImageButton imgui_widgets.lua:1308
|
[x] 98% ImGui::ImageButton imgui_widgets.lua:1282
|
||||||
[x] 77% ImGui::Checkbox imgui_widgets.lua:1323
|
[x] 77% ImGui::Checkbox imgui_widgets.lua:1297
|
||||||
[x] 79% ImGui::CheckboxFlagsT imgui_widgets.lua:1436 = ImGui . CheckboxFlags
|
[x] 79% ImGui::CheckboxFlagsT imgui_widgets.lua:1410 = ImGui . CheckboxFlags
|
||||||
[x] 7% ImGui::CheckboxFlags imgui_widgets.lua:1415
|
[x] 7% ImGui::CheckboxFlags imgui_widgets.lua:1389
|
||||||
[x] 5% ImGui::RadioButton imgui_widgets.lua:1510
|
[x] 5% ImGui::RadioButton imgui_widgets.lua:1484
|
||||||
[x] 93% ImGui::ProgressBar imgui_widgets.lua:1522
|
[x] 93% ImGui::ProgressBar imgui_widgets.lua:1496
|
||||||
[x] 97% ImGui::Bullet imgui_widgets.lua:1585
|
[x] 97% ImGui::Bullet imgui_widgets.lua:1559
|
||||||
[x] 86% ImGui::TextLink imgui_widgets.lua:1612
|
[x] 86% ImGui::TextLink imgui_widgets.lua:1586
|
||||||
[x] 95% ImGui::TextLinkOpenURL imgui_widgets.lua:1667
|
[x] 95% ImGui::TextLinkOpenURL imgui_widgets.lua:1641
|
||||||
|
|
||||||
-- Widgets: Low-level Layout helpers
|
-- Widgets: Low-level Layout helpers
|
||||||
[x] 82% ImGui::Spacing imgui_widgets.lua:1702
|
[x] 82% ImGui::Spacing imgui_widgets.lua:1676
|
||||||
[x] 62% ImGui::Dummy imgui_widgets.lua:1711
|
[x] 62% ImGui::Dummy imgui_widgets.lua:1685
|
||||||
[x] 96% ImGui::NewLine imgui_widgets.lua:1723
|
[x] 96% ImGui::NewLine imgui_widgets.lua:1697
|
||||||
[x] 100% ImGui::AlignTextToFramePadding imgui_widgets.lua:1743
|
[x] 100% ImGui::AlignTextToFramePadding imgui_widgets.lua:1717
|
||||||
[x] 87% ImGui::SeparatorEx imgui_widgets.lua:1759
|
[x] 87% ImGui::SeparatorEx imgui_widgets.lua:1733
|
||||||
[x] 87% ImGui::Separator imgui_widgets.lua:1828
|
[x] 87% ImGui::Separator imgui_widgets.lua:1802
|
||||||
[x] 94% ImGui::SeparatorTextEx imgui_widgets.lua:1855
|
[x] 96% ImGui::SeparatorTextEx imgui_widgets.lua:1829
|
||||||
[x] 100% ImGui::SeparatorText imgui_widgets.lua:1916
|
[x] 100% ImGui::SeparatorText imgui_widgets.lua:1890
|
||||||
[x] 82% ImGui::SplitterBehavior imgui.lua:4592
|
[x] 82% ImGui::SplitterBehavior imgui.lua:4592
|
||||||
[ ] ShrinkWidthItemComparer
|
[ ] ShrinkWidthItemComparer
|
||||||
[x] 58% ImGui::ShrinkWidths imgui_widgets.lua:10696
|
[x] 58% ImGui::ShrinkWidths imgui_widgets.lua:10683
|
||||||
|
|
||||||
-- Widgets: ComboBox
|
-- Widgets: ComboBox
|
||||||
[x] 100% CalcMaxPopupHeightFromItemCount imgui_widgets.lua:1945
|
[x] 100% CalcMaxPopupHeightFromItemCount imgui_widgets.lua:1919
|
||||||
[x] 81% ImGui::BeginCombo imgui_widgets.lua:1956
|
[x] 81% ImGui::BeginCombo imgui_widgets.lua:1930
|
||||||
[x] 85% ImGui::BeginComboPopup imgui_widgets.lua:2072
|
[x] 85% ImGui::BeginComboPopup imgui_widgets.lua:2046
|
||||||
[x] 65% ImGui::EndCombo imgui_widgets.lua:2145
|
[x] 65% ImGui::EndCombo imgui_widgets.lua:2119
|
||||||
[x] 72% ImGui::BeginComboPreview imgui_widgets.lua:2163
|
[x] 72% ImGui::BeginComboPreview imgui_widgets.lua:2137
|
||||||
[x] 80% ImGui::EndComboPreview imgui_widgets.lua:2195
|
[x] 80% ImGui::EndComboPreview imgui_widgets.lua:2169
|
||||||
[x] 36% Items_ArrayGetter imgui_widgets.lua:2223
|
[x] 36% Items_ArrayGetter imgui_widgets.lua:2197
|
||||||
[x] 41% Items_SingleStringGetter imgui_widgets.lua:2228
|
[x] 41% Items_SingleStringGetter imgui_widgets.lua:2202
|
||||||
[x] 67% ImGui::Combo imgui_widgets.lua:2271
|
[x] 67% ImGui::Combo imgui_widgets.lua:2245
|
||||||
|
|
||||||
-- Data Type and Data Formatting Helpers [Internal]
|
-- Data Type and Data Formatting Helpers [Internal]
|
||||||
[x] 93% ImGui::DataTypeGetInfo imgui_widgets.lua:2371
|
[x] 93% ImGui::DataTypeGetInfo imgui_widgets.lua:2345
|
||||||
[x] 51% ImGui::DataTypeFormatString imgui_widgets.lua:2381
|
[x] 51% ImGui::DataTypeFormatString imgui_widgets.lua:2355
|
||||||
[x] 65% ImGui::DataTypeApplyOp imgui_widgets.lua:2409
|
[x] 65% ImGui::DataTypeApplyOp imgui_widgets.lua:2383
|
||||||
[x] 69% ImGui::DataTypeApplyFromText imgui_widgets.lua:2474
|
[x] 69% ImGui::DataTypeApplyFromText imgui_widgets.lua:2448
|
||||||
[x] 97% DataTypeCompareT imgui_widgets.lua:2535
|
[x] 97% DataTypeCompareT imgui_widgets.lua:2509
|
||||||
[x] 47% ImGui::DataTypeCompare imgui_widgets.lua:2544
|
[x] 47% ImGui::DataTypeCompare imgui_widgets.lua:2518
|
||||||
[x] 75% DataTypeClampT imgui_widgets.lua:2563
|
[x] 75% DataTypeClampT imgui_widgets.lua:2537
|
||||||
[x] 42% ImGui::DataTypeClamp imgui_widgets.lua:2574
|
[x] 42% ImGui::DataTypeClamp imgui_widgets.lua:2548
|
||||||
[x] 93% ImGui::DataTypeIsZero imgui_widgets.lua:2590
|
[x] 93% ImGui::DataTypeIsZero imgui_widgets.lua:2564
|
||||||
[x] 53% GetMinimumStepAtDecimalPrecision imgui_widgets.lua:2601
|
[x] 53% GetMinimumStepAtDecimalPrecision imgui_widgets.lua:2575
|
||||||
[x] 58% ImGui::RoundScalarWithFormatT imgui_widgets.lua:2619
|
[x] 58% ImGui::RoundScalarWithFormatT imgui_widgets.lua:2593
|
||||||
|
|
||||||
-- Widgets: DragScalar, DragFloat, DragInt, etc.
|
-- Widgets: DragScalar, DragFloat, DragInt, etc.
|
||||||
[x] 85% ImGui::DragBehaviorT imgui_widgets.lua:3172
|
[x] 85% ImGui::DragBehaviorT imgui_widgets.lua:3146
|
||||||
[ ] ShortcutsForCancel
|
[ ] ShortcutsForCancel
|
||||||
[x] 59% ImGui::DragBehavior imgui_widgets.lua:3328
|
[x] 59% ImGui::DragBehavior imgui_widgets.lua:3302
|
||||||
[x] 74% TempInputIsClampEnabled imgui_widgets.lua:3375
|
[x] 74% TempInputIsClampEnabled imgui_widgets.lua:3349
|
||||||
[x] 75% ImGui::DragScalar imgui_widgets.lua:3418
|
[x] 75% ImGui::DragScalar imgui_widgets.lua:3392
|
||||||
[x] 70% ImGui::DragScalarN imgui_widgets.lua:3561
|
[x] 70% ImGui::DragScalarN imgui_widgets.lua:3535
|
||||||
[x] 52% ImGui::DragFloat imgui_widgets.lua:3531
|
[x] 52% ImGui::DragFloat imgui_widgets.lua:3505
|
||||||
[x] n/a ImGui::DragFloat2 imgui_widgets.lua:3611 = DragFloatN ( 2 )
|
[x] n/a ImGui::DragFloat2 imgui_widgets.lua:3585 = DragFloatN ( 2 )
|
||||||
[x] n/a ImGui::DragFloat3 imgui_widgets.lua:3612 = DragFloatN ( 3 )
|
[x] n/a ImGui::DragFloat3 imgui_widgets.lua:3586 = DragFloatN ( 3 )
|
||||||
[x] n/a ImGui::DragFloat4 imgui_widgets.lua:3613 = DragFloatN ( 4 )
|
[x] n/a ImGui::DragFloat4 imgui_widgets.lua:3587 = DragFloatN ( 4 )
|
||||||
[x] 67% ImGui::DragFloatRange2 imgui_widgets.lua:3658
|
[x] 67% ImGui::DragFloatRange2 imgui_widgets.lua:3632
|
||||||
[x] 52% ImGui::DragInt imgui_widgets.lua:3550
|
[x] 52% ImGui::DragInt imgui_widgets.lua:3524
|
||||||
[x] n/a ImGui::DragInt2 imgui_widgets.lua:3614 = DragIntN ( 2 )
|
[x] n/a ImGui::DragInt2 imgui_widgets.lua:3588 = DragIntN ( 2 )
|
||||||
[x] n/a ImGui::DragInt3 imgui_widgets.lua:3615 = DragIntN ( 3 )
|
[x] n/a ImGui::DragInt3 imgui_widgets.lua:3589 = DragIntN ( 3 )
|
||||||
[x] n/a ImGui::DragInt4 imgui_widgets.lua:3616 = DragIntN ( 4 )
|
[x] n/a ImGui::DragInt4 imgui_widgets.lua:3590 = DragIntN ( 4 )
|
||||||
[x] 67% ImGui::DragIntRange2 imgui_widgets.lua:3662
|
[x] 67% ImGui::DragIntRange2 imgui_widgets.lua:3636
|
||||||
|
|
||||||
-- Widgets: SliderScalar, SliderFloat, SliderInt, etc.
|
-- Widgets: SliderScalar, SliderFloat, SliderInt, etc.
|
||||||
[x] 89% ImGui::ScaleRatioFromValueT imgui_widgets.lua:3696
|
[x] 89% ImGui::ScaleRatioFromValueT imgui_widgets.lua:3670
|
||||||
[x] 89% ImGui::ScaleValueFromRatioT imgui_widgets.lua:3773
|
[x] 89% ImGui::ScaleValueFromRatioT imgui_widgets.lua:3747
|
||||||
[x] 83% ImGui::SliderBehaviorT imgui_widgets.lua:3861
|
[x] 83% ImGui::SliderBehaviorT imgui_widgets.lua:3835
|
||||||
[x] 58% ImGui::SliderBehavior imgui_widgets.lua:4040
|
[x] 58% ImGui::SliderBehavior imgui_widgets.lua:4014
|
||||||
[x] 72% ImGui::SliderScalar imgui_widgets.lua:4093
|
[x] 72% ImGui::SliderScalar imgui_widgets.lua:4067
|
||||||
[x] 74% ImGui::SliderScalarN imgui_widgets.lua:4208
|
[x] 74% ImGui::SliderScalarN imgui_widgets.lua:4182
|
||||||
[x] 71% ImGui::SliderFloat imgui_widgets.lua:4284
|
[x] 71% ImGui::SliderFloat imgui_widgets.lua:4258
|
||||||
[x] 100% ImGui::SliderFloat2 imgui_widgets.lua:4254
|
[x] 100% ImGui::SliderFloat2 imgui_widgets.lua:4228
|
||||||
[x] 100% ImGui::SliderFloat3 imgui_widgets.lua:4264
|
[x] 100% ImGui::SliderFloat3 imgui_widgets.lua:4238
|
||||||
[x] 100% ImGui::SliderFloat4 imgui_widgets.lua:4274
|
[x] 100% ImGui::SliderFloat4 imgui_widgets.lua:4248
|
||||||
[x] 74% ImGui::SliderAngle imgui_widgets.lua:4299
|
[x] 74% ImGui::SliderAngle imgui_widgets.lua:4273
|
||||||
[x] 71% ImGui::SliderInt imgui_widgets.lua:4320
|
[x] 71% ImGui::SliderInt imgui_widgets.lua:4294
|
||||||
[x] 95% ImGui::SliderInt2 imgui_widgets.lua:4327
|
[x] 95% ImGui::SliderInt2 imgui_widgets.lua:4301
|
||||||
[x] 95% ImGui::SliderInt3 imgui_widgets.lua:4331
|
[x] 95% ImGui::SliderInt3 imgui_widgets.lua:4305
|
||||||
[x] 95% ImGui::SliderInt4 imgui_widgets.lua:4335
|
[x] 95% ImGui::SliderInt4 imgui_widgets.lua:4309
|
||||||
[x] 80% ImGui::VSliderScalar imgui_widgets.lua:4347
|
[x] 80% ImGui::VSliderScalar imgui_widgets.lua:4321
|
||||||
[x] 84% ImGui::VSliderFloat imgui_widgets.lua:4423
|
[x] 84% ImGui::VSliderFloat imgui_widgets.lua:4397
|
||||||
[x] 84% ImGui::VSliderInt imgui_widgets.lua:4436
|
[x] 84% ImGui::VSliderInt imgui_widgets.lua:4410
|
||||||
|
|
||||||
-- Widgets: InputScalar, InputFloat, InputInt, etc.
|
-- Widgets: InputScalar, InputFloat, InputInt, etc.
|
||||||
[x] 44% ImParseFormatFindStart imgui_widgets.lua:2661
|
[x] 44% ImParseFormatFindStart imgui_widgets.lua:2635
|
||||||
[x] 46% ImParseFormatFindEnd imgui_widgets.lua:2679
|
[x] 46% ImParseFormatFindEnd imgui_widgets.lua:2653
|
||||||
[x] 55% ImParseFormatTrimDecorations imgui_widgets.lua:2706
|
[x] 55% ImParseFormatTrimDecorations imgui_widgets.lua:2680
|
||||||
[ ] ImParseFormatSanitizeForPrinting
|
[ ] ImParseFormatSanitizeForPrinting
|
||||||
[x] 61% ImParseFormatSanitizeForScanning imgui_widgets.lua:2722
|
[x] 61% ImParseFormatSanitizeForScanning imgui_widgets.lua:2696
|
||||||
[x] 41% ImAtoi imgui_widgets.lua:2752
|
[x] 41% ImAtoi imgui_widgets.lua:2726
|
||||||
[x] 55% ImParseFormatPrecision imgui_widgets.lua:2777
|
[x] 55% ImParseFormatPrecision imgui_widgets.lua:2751
|
||||||
[x] 88% ImGui::TempInputText imgui_widgets.lua:2818
|
[x] 88% ImGui::TempInputText imgui_widgets.lua:2792
|
||||||
[x] 63% ImGui::TempInputScalar imgui_widgets.lua:2862
|
[x] 63% ImGui::TempInputScalar imgui_widgets.lua:2836
|
||||||
[x] 63% ImGui::SetNextItemRefVal imgui_widgets.lua:7456
|
[x] 63% ImGui::SetNextItemRefVal imgui_widgets.lua:7439
|
||||||
[x] 74% ImGui::InputScalar imgui_widgets.lua:2913
|
[x] 74% ImGui::InputScalar imgui_widgets.lua:2887
|
||||||
[x] 71% ImGui::InputScalarN imgui_widgets.lua:3030
|
[x] 71% ImGui::InputScalarN imgui_widgets.lua:3004
|
||||||
[x] 65% ImGui::InputFloat imgui_widgets.lua:3118
|
[x] 65% ImGui::InputFloat imgui_widgets.lua:3092
|
||||||
[x] 95% ImGui::InputFloat2 imgui_widgets.lua:3077
|
[x] 95% ImGui::InputFloat2 imgui_widgets.lua:3051
|
||||||
[x] 84% ImGui::InputFloat3 imgui_widgets.lua:3071
|
[x] 84% ImGui::InputFloat3 imgui_widgets.lua:3045
|
||||||
[x] 95% ImGui::InputFloat4 imgui_widgets.lua:3081
|
[x] 95% ImGui::InputFloat4 imgui_widgets.lua:3055
|
||||||
[x] 66% ImGui::InputInt imgui_widgets.lua:3102
|
[x] 66% ImGui::InputInt imgui_widgets.lua:3076
|
||||||
[x] 100% ImGui::InputInt2 imgui_widgets.lua:3085
|
[x] 100% ImGui::InputInt2 imgui_widgets.lua:3059
|
||||||
[x] 100% ImGui::InputInt3 imgui_widgets.lua:3089
|
[x] 100% ImGui::InputInt3 imgui_widgets.lua:3063
|
||||||
[x] 100% ImGui::InputInt4 imgui_widgets.lua:3093
|
[x] 100% ImGui::InputInt4 imgui_widgets.lua:3067
|
||||||
[x] 65% ImGui::InputDouble imgui_widgets.lua:3132
|
[x] 65% ImGui::InputDouble imgui_widgets.lua:3106
|
||||||
|
|
||||||
-- Widgets: InputText, InputTextMultiline, InputTextWithHint
|
-- Widgets: InputText, InputTextMultiline, InputTextWithHint
|
||||||
[x] 77% ImGui::InputText imgui_widgets.lua:4459
|
[x] 77% ImGui::InputText imgui_widgets.lua:4433
|
||||||
[x] 80% ImGui::InputTextMultiline imgui_widgets.lua:4481
|
[x] 80% ImGui::InputTextMultiline imgui_widgets.lua:4455
|
||||||
[x] 77% ImGui::InputTextWithHint imgui_widgets.lua:6305
|
[x] 77% ImGui::InputTextWithHint imgui_widgets.lua:6279
|
||||||
[x] 87% InputTextCalcTextSize imgui_widgets.lua:4501
|
[x] 87% InputTextCalcTextSize imgui_widgets.lua:4475
|
||||||
[x] 100% STB_TEXTEDIT_STRINGLEN imgui_widgets.lua:4517
|
[x] 100% STB_TEXTEDIT_STRINGLEN imgui_widgets.lua:4491
|
||||||
[x] 88% STB_TEXTEDIT_GETCHAR imgui_widgets.lua:4521
|
[x] 88% STB_TEXTEDIT_GETCHAR imgui_widgets.lua:4495
|
||||||
[x] 61% STB_TEXTEDIT_GETWIDTH imgui_widgets.lua:4527
|
[x] 61% STB_TEXTEDIT_GETWIDTH imgui_widgets.lua:4501
|
||||||
[x] 86% STB_TEXTEDIT_LAYOUTROW imgui_widgets.lua:4532
|
[x] 86% STB_TEXTEDIT_LAYOUTROW imgui_widgets.lua:4506
|
||||||
[x] 79% IMSTB_TEXTEDIT_GETNEXTCHARINDEX_IMPL imgui_widgets.lua:4545
|
[x] 79% IMSTB_TEXTEDIT_GETNEXTCHARINDEX_IMPL imgui_widgets.lua:4519
|
||||||
[x] 70% IMSTB_TEXTEDIT_GETPREVCHARINDEX_IMPL imgui_widgets.lua:4554
|
[x] 70% IMSTB_TEXTEDIT_GETPREVCHARINDEX_IMPL imgui_widgets.lua:4528
|
||||||
[x] 23% ImCharIsSeparatorW imgui_widgets.lua:4571
|
[x] 23% ImCharIsSeparatorW imgui_widgets.lua:4545
|
||||||
[x] 66% is_word_boundary_from_right imgui_widgets.lua:4584
|
[x] 66% is_word_boundary_from_right imgui_widgets.lua:4558
|
||||||
[x] 65% is_word_boundary_from_left imgui_widgets.lua:4603
|
[x] 65% is_word_boundary_from_left imgui_widgets.lua:4577
|
||||||
[x] 71% STB_TEXTEDIT_MOVEWORDLEFT_IMPL imgui_widgets.lua:4621
|
[x] 71% STB_TEXTEDIT_MOVEWORDLEFT_IMPL imgui_widgets.lua:4595
|
||||||
[ ] STB_TEXTEDIT_MOVEWORDRIGHT_MAC
|
[ ] STB_TEXTEDIT_MOVEWORDRIGHT_MAC
|
||||||
[ ] STB_TEXTEDIT_MOVEWORDRIGHT_WIN
|
[ ] STB_TEXTEDIT_MOVEWORDRIGHT_WIN
|
||||||
[x] 100% STB_TEXTEDIT_MOVEWORDRIGHT_IMPL imgui_widgets.lua:4653
|
[x] 100% STB_TEXTEDIT_MOVEWORDRIGHT_IMPL imgui_widgets.lua:4627
|
||||||
[x] 68% STB_TEXTEDIT_MOVELINESTART_IMPL imgui_widgets.lua:4666
|
[x] 68% STB_TEXTEDIT_MOVELINESTART_IMPL imgui_widgets.lua:4640
|
||||||
[x] 73% STB_TEXTEDIT_MOVELINEEND_IMPL imgui_widgets.lua:4705
|
[x] 73% STB_TEXTEDIT_MOVELINEEND_IMPL imgui_widgets.lua:4679
|
||||||
[x] 79% STB_TEXTEDIT_DELETECHARS imgui_widgets.lua:4738
|
[x] 79% STB_TEXTEDIT_DELETECHARS imgui_widgets.lua:4712
|
||||||
[x] 87% STB_TEXTEDIT_INSERTCHARS imgui_widgets.lua:4752
|
[x] 87% STB_TEXTEDIT_INSERTCHARS imgui_widgets.lua:4726
|
||||||
[x] 81% stb_textedit_replace imgui_widgets.lua:4795
|
[x] 81% stb_textedit_replace imgui_widgets.lua:4769
|
||||||
[x] 12% ImGuiInputTextState::ImGuiInputTextState imgui_internal.lua:1705
|
[x] 12% ImGuiInputTextState::ImGuiInputTextState imgui_internal.lua:1705
|
||||||
[-] ImGuiInputTextState::~ImGuiInputTextState c++-only
|
[-] ImGuiInputTextState::~ImGuiInputTextState c++-only
|
||||||
[x] 93% ImGuiInputTextState::OnKeyPressed imgui_widgets.lua:4823
|
[x] 93% ImGuiInputTextState::OnKeyPressed imgui_widgets.lua:4797
|
||||||
[x] 63% ImGuiInputTextState::OnCharPressed imgui_widgets.lua:4838
|
[x] 63% ImGuiInputTextState::OnCharPressed imgui_widgets.lua:4812
|
||||||
[x] 100% ImGuiInputTextState::CursorAnimReset imgui_widgets.lua:4850
|
[x] 100% ImGuiInputTextState::CursorAnimReset imgui_widgets.lua:4824
|
||||||
[x] 85% ImGuiInputTextState::CursorClamp imgui_widgets.lua:4852
|
[x] 85% ImGuiInputTextState::CursorClamp imgui_widgets.lua:4826
|
||||||
[x] 94% ImGuiInputTextState::HasSelection imgui_widgets.lua:4858
|
[x] 94% ImGuiInputTextState::HasSelection imgui_widgets.lua:4832
|
||||||
[ ] ImGuiInputTextState::ClearSelection
|
[ ] ImGuiInputTextState::ClearSelection
|
||||||
[ ] ImGuiInputTextState::GetCursorPos
|
[ ] ImGuiInputTextState::GetCursorPos
|
||||||
[ ] ImGuiInputTextState::GetSelectionStart
|
[ ] ImGuiInputTextState::GetSelectionStart
|
||||||
[ ] ImGuiInputTextState::GetSelectionEnd
|
[ ] ImGuiInputTextState::GetSelectionEnd
|
||||||
[ ] ImGuiInputTextState::SetSelection
|
[ ] ImGuiInputTextState::SetSelection
|
||||||
[ ] ImGuiInputTextState::GetPreferredOffsetX
|
[ ] ImGuiInputTextState::GetPreferredOffsetX
|
||||||
[x] 74% ImGuiInputTextState::SelectAll imgui_widgets.lua:4860
|
[x] 74% ImGuiInputTextState::SelectAll imgui_widgets.lua:4834
|
||||||
[ ] ImGuiInputTextState::ReloadUserBufAndSelectAll
|
[ ] ImGuiInputTextState::ReloadUserBufAndSelectAll
|
||||||
[ ] ImGuiInputTextState::ReloadUserBufAndKeepSelection
|
[ ] ImGuiInputTextState::ReloadUserBufAndKeepSelection
|
||||||
[ ] ImGuiInputTextState::ReloadUserBufAndMoveToEnd
|
[ ] ImGuiInputTextState::ReloadUserBufAndMoveToEnd
|
||||||
[x] 18% ImGuiInputTextCallbackData::ImGuiInputTextCallbackData imgui_h.lua:2468
|
[x] 18% ImGuiInputTextCallbackData::ImGuiInputTextCallbackData imgui_h.lua:2468
|
||||||
[x] 61% ImGuiInputTextCallbackData::DeleteChars imgui_h.lua:2472
|
[x] 61% ImGuiInputTextCallbackData::DeleteChars imgui_h.lua:2472
|
||||||
[x] 33% ImGuiInputTextCallbackData::InsertChars imgui_h.lua:2489
|
[x] 33% ImGuiInputTextCallbackData::InsertChars imgui_h.lua:2489
|
||||||
[x] 92% ImGui::PushPasswordFont imgui_widgets.lua:4869
|
[x] 92% ImGui::PushPasswordFont imgui_widgets.lua:4843
|
||||||
[x] 98% ImGui::PopPasswordFont imgui_widgets.lua:4884
|
[x] 98% ImGui::PopPasswordFont imgui_widgets.lua:4858
|
||||||
[x] 80% InputTextFilterCharacter imgui_widgets.lua:4904
|
[x] 80% InputTextFilterCharacter imgui_widgets.lua:4878
|
||||||
[x] 74% InputTextReconcileUndoState imgui_widgets.lua:5042
|
[x] 74% InputTextReconcileUndoState imgui_widgets.lua:5016
|
||||||
[x] 86% ImGui::InputTextDeactivateHook imgui_widgets.lua:5084
|
[x] 86% ImGui::InputTextDeactivateHook imgui_widgets.lua:5058
|
||||||
[x] 74% ImLowerBound imgui_widgets.lua:5186
|
[x] 74% ImLowerBound imgui_widgets.lua:5160
|
||||||
[x] 55% InputTextLineIndexBuild imgui_widgets.lua:5118
|
[x] 55% InputTextLineIndexBuild imgui_widgets.lua:5092
|
||||||
[x] 77% InputTextLineIndexGetPosOffset imgui_widgets.lua:5214
|
[x] 77% InputTextLineIndexGetPosOffset imgui_widgets.lua:5188
|
||||||
[x] 87% ImGui::InputTextEx imgui_widgets.lua:5259
|
[x] 87% ImGui::InputTextEx imgui_widgets.lua:5233
|
||||||
[ ] ImGui::DebugNodeInputTextState
|
[ ] ImGui::DebugNodeInputTextState
|
||||||
|
|
||||||
-- Widgets: ColorEdit, ColorPicker, ColorButton, etc.
|
-- Widgets: ColorEdit, ColorPicker, ColorButton, etc.
|
||||||
[x] 54% ImGui::ColorEdit3 imgui_widgets.lua:6683
|
[x] 54% ImGui::ColorEdit3 imgui_widgets.lua:6657
|
||||||
[x] 88% ColorEditRestoreH imgui_widgets.lua:6329
|
[x] 88% ColorEditRestoreH imgui_widgets.lua:6303
|
||||||
[x] 87% ColorEditRestoreHS imgui_widgets.lua:6346
|
[x] 87% ColorEditRestoreHS imgui_widgets.lua:6320
|
||||||
[x] 62% ImGui::ColorEdit4 imgui_widgets.lua:6389
|
[x] 62% ImGui::ColorEdit4 imgui_widgets.lua:6363
|
||||||
[x] 70% ImGui::ColorPicker3 imgui_widgets.lua:6691
|
[x] 70% ImGui::ColorPicker3 imgui_widgets.lua:6665
|
||||||
[x] 98% RenderArrowsForVerticalBar imgui_widgets.lua:6719
|
[x] 98% RenderArrowsForVerticalBar imgui_widgets.lua:6693
|
||||||
[x] 80% ImGui::ColorPicker4 imgui_widgets.lua:6738
|
[x] 80% ImGui::ColorPicker4 imgui_widgets.lua:6712
|
||||||
[x] 69% ImGui::ColorButton imgui_widgets.lua:7165
|
[x] 85% ImGui::ColorButton imgui_widgets.lua:7139
|
||||||
[-] ImGui::SetColorEditOptions obsolete
|
[-] ImGui::SetColorEditOptions obsolete
|
||||||
[x] 73% ImGui::ColorTooltip imgui_widgets.lua:7260
|
[x] 73% ImGui::ColorTooltip imgui_widgets.lua:7243
|
||||||
[x] 72% ImGui::ColorEditOptionsPopup imgui_widgets.lua:7304
|
[x] 72% ImGui::ColorEditOptionsPopup imgui_widgets.lua:7287
|
||||||
[x] 75% ImGui::ColorPickerOptionsPopup imgui_widgets.lua:7380
|
[x] 75% ImGui::ColorPickerOptionsPopup imgui_widgets.lua:7363
|
||||||
|
|
||||||
-- Widgets: TreeNode, CollapsingHeader, etc.
|
-- Widgets: TreeNode, CollapsingHeader, etc.
|
||||||
[x] 78% ImGui::TreeNode imgui_widgets.lua:7465
|
[x] 78% ImGui::TreeNode imgui_widgets.lua:7448
|
||||||
[x] 89% ImGui::TreeNodeV imgui_widgets.lua:7477
|
[x] 89% ImGui::TreeNodeV imgui_widgets.lua:7460
|
||||||
[x] 69% ImGui::TreeNodeEx imgui_widgets.lua:7484
|
[x] 69% ImGui::TreeNodeEx imgui_widgets.lua:7467
|
||||||
[x] 68% ImGui::TreeNodeExV imgui_widgets.lua:7498
|
[x] 68% ImGui::TreeNodeExV imgui_widgets.lua:7481
|
||||||
[x] 73% ImGui::TreeNodeGetOpen imgui_widgets.lua:7511
|
[x] 73% ImGui::TreeNodeGetOpen imgui_widgets.lua:7494
|
||||||
[x] 79% ImGui::TreeNodeSetOpen imgui_widgets.lua:7519
|
[x] 79% ImGui::TreeNodeSetOpen imgui_widgets.lua:7502
|
||||||
[x] 82% ImGui::TreeNodeUpdateNextOpen imgui_widgets.lua:7527
|
[x] 82% ImGui::TreeNodeUpdateNextOpen imgui_widgets.lua:7510
|
||||||
[x] 86% TreeNodeStoreStackData imgui_widgets.lua:7570
|
[x] 86% TreeNodeStoreStackData imgui_widgets.lua:7553
|
||||||
[x] 82% ImGui::TreeNodeBehavior imgui_widgets.lua:7597
|
[x] 82% ImGui::TreeNodeBehavior imgui_widgets.lua:7580
|
||||||
[x] 84% ImGui::TreeNodeDrawLineToChildNode imgui_widgets.lua:7901
|
[x] 91% ImGui::TreeNodeDrawLineToChildNode imgui_widgets.lua:7884
|
||||||
[x] 98% ImGui::TreeNodeDrawLineToTreePop imgui_widgets.lua:7932
|
[x] 98% ImGui::TreeNodeDrawLineToTreePop imgui_widgets.lua:7919
|
||||||
[x] 67% ImGui::TreePush imgui_widgets.lua:7964
|
[x] 67% ImGui::TreePush imgui_widgets.lua:7951
|
||||||
[x] 74% ImGui::TreePushOverrideID imgui_widgets.lua:7972
|
[x] 74% ImGui::TreePushOverrideID imgui_widgets.lua:7959
|
||||||
[x] 84% ImGui::TreePop imgui_widgets.lua:7980
|
[x] 84% ImGui::TreePop imgui_widgets.lua:7967
|
||||||
[x] 100% ImGui::GetTreeNodeToLabelSpacing imgui_widgets.lua:8029
|
[x] 100% ImGui::GetTreeNodeToLabelSpacing imgui_widgets.lua:8016
|
||||||
[x] 77% ImGui::SetNextItemOpen imgui_widgets.lua:8016
|
[x] 77% ImGui::SetNextItemOpen imgui_widgets.lua:8003
|
||||||
[x] 85% ImGui::SetNextItemStorageID imgui_widgets.lua:8036
|
[x] 85% ImGui::SetNextItemStorageID imgui_widgets.lua:8023
|
||||||
[x] 81% ImGui::CollapsingHeader imgui_widgets.lua:8055
|
[x] 81% ImGui::CollapsingHeader imgui_widgets.lua:8042
|
||||||
|
|
||||||
-- Widgets: Selectable
|
-- Widgets: Selectable
|
||||||
[x] 83% ImGui::Selectable imgui_widgets.lua:8112
|
[x] 83% ImGui::Selectable imgui_widgets.lua:8099
|
||||||
|
|
||||||
-- Widgets: Typing-Select support
|
-- Widgets: Typing-Select support
|
||||||
[x] 74% ImGui::GetTypingSelectRequest imgui_widgets.lua:8343
|
[x] 74% ImGui::GetTypingSelectRequest imgui_widgets.lua:8330
|
||||||
[x] 48% ImStrimatchlen imgui_widgets.lua:8445
|
[x] 48% ImStrimatchlen imgui_widgets.lua:8432
|
||||||
[x] 95% ImGui::TypingSelectFindMatch imgui_widgets.lua:8468
|
[x] 95% ImGui::TypingSelectFindMatch imgui_widgets.lua:8455
|
||||||
[x] 88% ImGui::TypingSelectFindNextSingleCharMatch imgui_widgets.lua:8485
|
[x] 88% ImGui::TypingSelectFindNextSingleCharMatch imgui_widgets.lua:8472
|
||||||
[x] 85% ImGui::TypingSelectFindBestLeadingMatch imgui_widgets.lua:8516
|
[x] 85% ImGui::TypingSelectFindBestLeadingMatch imgui_widgets.lua:8503
|
||||||
[x] 86% ImGui::DebugNodeTypingSelectState imgui_widgets.lua:8534
|
[x] 86% ImGui::DebugNodeTypingSelectState imgui_widgets.lua:8521
|
||||||
|
|
||||||
-- Widgets: Box-Select support
|
-- Widgets: Box-Select support
|
||||||
[x] 67% BoxSelectPreStartDrag imgui_widgets.lua:8555
|
[x] 67% BoxSelectPreStartDrag imgui_widgets.lua:8542
|
||||||
[x] 89% BoxSelectActivateDrag imgui_widgets.lua:8569
|
[x] 89% BoxSelectActivateDrag imgui_widgets.lua:8556
|
||||||
[x] 99% BoxSelectDeactivateDrag imgui_widgets.lua:8582
|
[x] 99% BoxSelectDeactivateDrag imgui_widgets.lua:8569
|
||||||
[x] 81% BoxSelectScrollWithMouseDrag imgui_widgets.lua:8592
|
[x] 81% BoxSelectScrollWithMouseDrag imgui_widgets.lua:8579
|
||||||
[x] 49% ImGui::BeginBoxSelect imgui_widgets.lua:8629
|
[x] 49% ImGui::BeginBoxSelect imgui_widgets.lua:8616
|
||||||
[x] 90% ImGui::EndBoxSelect imgui_widgets.lua:8725
|
[x] 90% ImGui::EndBoxSelect imgui_widgets.lua:8712
|
||||||
|
|
||||||
-- Widgets: Multi-Select support
|
-- Widgets: Multi-Select support
|
||||||
[x] 74% DebugLogMultiSelectRequests imgui_widgets.lua:8769
|
[x] 74% DebugLogMultiSelectRequests imgui_widgets.lua:8756
|
||||||
[x] 61% CalcScopeRect imgui_widgets.lua:8777
|
[x] 61% CalcScopeRect imgui_widgets.lua:8764
|
||||||
[x] 80% ImGui::BeginMultiSelect imgui_widgets.lua:8808
|
[x] 80% ImGui::BeginMultiSelect imgui_widgets.lua:8795
|
||||||
[x] 83% ImGui::EndMultiSelect imgui_widgets.lua:8955
|
[x] 83% ImGui::EndMultiSelect imgui_widgets.lua:8942
|
||||||
[x] 73% ImGui::SetNextItemSelectionUserData imgui_widgets.lua:9045
|
[x] 73% ImGui::SetNextItemSelectionUserData imgui_widgets.lua:9032
|
||||||
[x] 84% ImGui::MultiSelectItemHeader imgui_widgets.lua:9076
|
[x] 84% ImGui::MultiSelectItemHeader imgui_widgets.lua:9063
|
||||||
[x] 86% ImGui::MultiSelectItemFooter imgui_widgets.lua:9146
|
[x] 86% ImGui::MultiSelectItemFooter imgui_widgets.lua:9133
|
||||||
[x] 59% ImGui::MultiSelectAddSetAll imgui_widgets.lua:9360
|
[x] 59% ImGui::MultiSelectAddSetAll imgui_widgets.lua:9347
|
||||||
[x] 31% ImGui::MultiSelectAddSetRange imgui_widgets.lua:9372
|
[x] 31% ImGui::MultiSelectAddSetRange imgui_widgets.lua:9359
|
||||||
[x] 84% ImGui::DebugNodeMultiSelectState imgui_widgets.lua:9390
|
[x] 84% ImGui::DebugNodeMultiSelectState imgui_widgets.lua:9377
|
||||||
|
|
||||||
-- Widgets: Multi-Select helpers
|
-- Widgets: Multi-Select helpers
|
||||||
[x] 46% ImGuiSelectionBasicStorage::ImGuiSelectionBasicStorage imgui_widgets.lua:9435
|
[x] 46% ImGuiSelectionBasicStorage::ImGuiSelectionBasicStorage imgui_widgets.lua:9422
|
||||||
[x] 61% ImGuiSelectionBasicStorage::Clear imgui_widgets.lua:9447
|
[x] 61% ImGuiSelectionBasicStorage::Clear imgui_widgets.lua:9434
|
||||||
[x] 53% ImGuiSelectionBasicStorage::Swap imgui_widgets.lua:9454
|
[x] 53% ImGuiSelectionBasicStorage::Swap imgui_widgets.lua:9441
|
||||||
[x] 57% ImGuiSelectionBasicStorage::Contains imgui_widgets.lua:9462
|
[x] 57% ImGuiSelectionBasicStorage::Contains imgui_widgets.lua:9449
|
||||||
[x] 12% PairComparerByValueInt imgui_widgets.lua:9467
|
[x] 12% PairComparerByValueInt imgui_widgets.lua:9454
|
||||||
[x] 26% ImGuiSelectionBasicStorage::GetNextSelectedItem imgui_widgets.lua:9476
|
[x] 26% ImGuiSelectionBasicStorage::GetNextSelectedItem imgui_widgets.lua:9463
|
||||||
[x] 50% ImGuiSelectionBasicStorage::SetItemSelected imgui_widgets.lua:9507
|
[x] 50% ImGuiSelectionBasicStorage::SetItemSelected imgui_widgets.lua:9494
|
||||||
[x] 42% ImGuiSelectionBasicStorage_BatchSetItemSelected imgui_widgets.lua:9520
|
[x] 42% ImGuiSelectionBasicStorage_BatchSetItemSelected imgui_widgets.lua:9507
|
||||||
[~] 0% ImGuiSelectionBasicStorage_BatchFinish imgui_widgets.lua:9535 stub
|
[~] 0% ImGuiSelectionBasicStorage_BatchFinish imgui_widgets.lua:9522 stub
|
||||||
[x] 78% ImGuiSelectionBasicStorage::ApplyRequests imgui_widgets.lua:9554
|
[x] 78% ImGuiSelectionBasicStorage::ApplyRequests imgui_widgets.lua:9541
|
||||||
[x] 48% ImGuiSelectionExternalStorage::ImGuiSelectionExternalStorage imgui_widgets.lua:9619
|
[x] 48% ImGuiSelectionExternalStorage::ImGuiSelectionExternalStorage imgui_widgets.lua:9606
|
||||||
[x] 84% ImGuiSelectionExternalStorage::ApplyRequests imgui_widgets.lua:9630
|
[x] 84% ImGuiSelectionExternalStorage::ApplyRequests imgui_widgets.lua:9617
|
||||||
|
|
||||||
-- Widgets: ListBox
|
-- Widgets: ListBox
|
||||||
[x] 92% ImGui::BeginListBox imgui_widgets.lua:9663
|
[x] 92% ImGui::BeginListBox imgui_widgets.lua:9650
|
||||||
[x] 78% ImGui::EndListBox imgui_widgets.lua:9704
|
[x] 78% ImGui::EndListBox imgui_widgets.lua:9691
|
||||||
[x] 63% ImGui::ListBox imgui_widgets.lua:9719
|
[x] 63% ImGui::ListBox imgui_widgets.lua:9706
|
||||||
|
|
||||||
-- Widgets: PlotLines, PlotHistogram
|
-- Widgets: PlotLines, PlotHistogram
|
||||||
[x] 89% ImGui::PlotEx imgui_widgets.lua:9791
|
[x] 89% ImGui::PlotEx imgui_widgets.lua:9778
|
||||||
[x] 86% ImGuiPlotArrayGetterData::ImGuiPlotArrayGetterData imgui_widgets.lua:9921
|
[x] 86% ImGuiPlotArrayGetterData::ImGuiPlotArrayGetterData imgui_widgets.lua:9908
|
||||||
[x] 48% Plot_ArrayGetter imgui_widgets.lua:9932
|
[x] 48% Plot_ArrayGetter imgui_widgets.lua:9919
|
||||||
[x] 41% ImGui::PlotLines imgui_widgets.lua:9946
|
[x] 41% ImGui::PlotLines imgui_widgets.lua:9933
|
||||||
[x] 41% ImGui::PlotHistogram imgui_widgets.lua:9972
|
[x] 41% ImGui::PlotHistogram imgui_widgets.lua:9959
|
||||||
|
|
||||||
-- Widgets: Value helpers
|
-- Widgets: Value helpers
|
||||||
[x] 21% ImGui::Value imgui_widgets.lua:384
|
[x] 21% ImGui::Value imgui_widgets.lua:384
|
||||||
|
|
||||||
-- MenuItem, BeginMenu, EndMenu, etc.
|
-- MenuItem, BeginMenu, EndMenu, etc.
|
||||||
[x] 49% ImGuiMenuColumns::Update imgui_widgets.lua:10004
|
[x] 49% ImGuiMenuColumns::Update imgui_widgets.lua:9991
|
||||||
[x] 77% ImGuiMenuColumns::CalcNextTotalWidth imgui_widgets.lua:10016
|
[x] 77% ImGuiMenuColumns::CalcNextTotalWidth imgui_widgets.lua:10003
|
||||||
[x] 64% ImGuiMenuColumns::DeclColumns imgui_widgets.lua:10039
|
[x] 64% ImGuiMenuColumns::DeclColumns imgui_widgets.lua:10026
|
||||||
[x] 91% ImGui::BeginMenuBar imgui_widgets.lua:10052
|
[x] 91% ImGui::BeginMenuBar imgui_widgets.lua:10039
|
||||||
[x] 92% ImGui::EndMenuBar imgui_widgets.lua:10086
|
[x] 92% ImGui::EndMenuBar imgui_widgets.lua:10073
|
||||||
[x] 85% ImGui::BeginViewportSideBar imgui_widgets.lua:10149
|
[x] 85% ImGui::BeginViewportSideBar imgui_widgets.lua:10136
|
||||||
[x] 90% ImGui::BeginMainMenuBar imgui_widgets.lua:10185
|
[x] 90% ImGui::BeginMainMenuBar imgui_widgets.lua:10172
|
||||||
[x] 90% ImGui::EndMainMenuBar imgui_widgets.lua:10211
|
[x] 90% ImGui::EndMainMenuBar imgui_widgets.lua:10198
|
||||||
[x] 91% IsRootOfOpenMenuSet imgui_widgets.lua:10227
|
[x] 91% IsRootOfOpenMenuSet imgui_widgets.lua:10214
|
||||||
[x] 89% ImGui::BeginMenuEx imgui_widgets.lua:10255
|
[x] 89% ImGui::BeginMenuEx imgui_widgets.lua:10242
|
||||||
[x] 67% ImGui::BeginMenu imgui_widgets.lua:10486
|
[x] 67% ImGui::BeginMenu imgui_widgets.lua:10473
|
||||||
[x] 92% ImGui::EndMenu imgui_widgets.lua:10492
|
[x] 92% ImGui::EndMenu imgui_widgets.lua:10479
|
||||||
[x] 85% ImGui::MenuItemEx imgui_widgets.lua:10516
|
[x] 85% ImGui::MenuItemEx imgui_widgets.lua:10503
|
||||||
[x] 67% ImGui::MenuItem imgui_widgets.lua:10623
|
[x] 67% ImGui::MenuItem imgui_widgets.lua:10610
|
||||||
|
|
||||||
-- Widgets: BeginTabBar, EndTabBar, etc.
|
-- Widgets: BeginTabBar, EndTabBar, etc.
|
||||||
[x] 19% ImGuiTabBarSection::ImGuiTabBarSection imgui_widgets.lua:10691
|
[x] 19% ImGuiTabBarSection::ImGuiTabBarSection imgui_widgets.lua:10678
|
||||||
[x] 16% ImGuiTabBar::ImGuiTabBar imgui_internal.lua:2210
|
[x] 16% ImGuiTabBar::ImGuiTabBar imgui_internal.lua:2210
|
||||||
[x] 65% TabItemGetSectionIdx imgui_widgets.lua:10658
|
[x] 65% TabItemGetSectionIdx imgui_widgets.lua:10645
|
||||||
[ ] TabItemComparerBySection
|
[ ] TabItemComparerBySection
|
||||||
[ ] TabItemComparerByBeginOrder
|
[ ] TabItemComparerByBeginOrder
|
||||||
[ ] GetTabBarFromTabBarRef
|
[ ] GetTabBarFromTabBarRef
|
||||||
[ ] GetTabBarRefFromTabBar
|
[ ] GetTabBarRefFromTabBar
|
||||||
[x] 60% ImGui::TabBarFindByID imgui_widgets.lua:10779
|
[x] 60% ImGui::TabBarFindByID imgui_widgets.lua:10766
|
||||||
[x] 77% ImGui::TabBarRemove imgui_widgets.lua:10785
|
[x] 77% ImGui::TabBarRemove imgui_widgets.lua:10772
|
||||||
[x] 92% ImGui::BeginTabBar imgui_widgets.lua:10790
|
[x] 92% ImGui::BeginTabBar imgui_widgets.lua:10777
|
||||||
[x] 82% ImGui::BeginTabBarEx imgui_widgets.lua:10808
|
[x] 82% ImGui::BeginTabBarEx imgui_widgets.lua:10795
|
||||||
[x] 90% ImGui::EndTabBar imgui_widgets.lua:10872
|
[x] 90% ImGui::EndTabBar imgui_widgets.lua:10859
|
||||||
[x] 68% TabBarCalcScrollableWidth imgui_widgets.lua:10684
|
[x] 68% TabBarCalcScrollableWidth imgui_widgets.lua:10671
|
||||||
[x] 81% ImGui::TabBarLayout imgui_widgets.lua:10907
|
[x] 81% ImGui::TabBarLayout imgui_widgets.lua:10894
|
||||||
[x] 75% ImGui::TabBarCalcTabID imgui_widgets.lua:11178
|
[x] 75% ImGui::TabBarCalcTabID imgui_widgets.lua:11165
|
||||||
[x] 62% ImGui::TabBarCalcMaxTabWidth imgui_widgets.lua:11188
|
[x] 62% ImGui::TabBarCalcMaxTabWidth imgui_widgets.lua:11175
|
||||||
[x] 71% ImGui::TabBarFindTabByID imgui_widgets.lua:11192
|
[x] 71% ImGui::TabBarFindTabByID imgui_widgets.lua:11179
|
||||||
[x] 90% ImGui::TabBarFindTabByOrder imgui_widgets.lua:11204
|
[x] 90% ImGui::TabBarFindTabByOrder imgui_widgets.lua:11191
|
||||||
[x] 85% ImGui::TabBarFindMostRecentlySelectedTabForActiveWindow imgui_widgets.lua:11216
|
[x] 85% ImGui::TabBarFindMostRecentlySelectedTabForActiveWindow imgui_widgets.lua:11203
|
||||||
[x] 93% ImGui::TabBarGetCurrentTab imgui_widgets.lua:11227
|
[x] 93% ImGui::TabBarGetCurrentTab imgui_widgets.lua:11214
|
||||||
[x] 55% ImGui::TabBarGetTabName imgui_widgets.lua:11232
|
[x] 55% ImGui::TabBarGetTabName imgui_widgets.lua:11219
|
||||||
[x] 89% ImGui::TabBarGetTabPos imgui_widgets.lua:11238
|
[x] 89% ImGui::TabBarGetTabPos imgui_widgets.lua:11225
|
||||||
[x] 92% ImGui::TabBarAddTab imgui_widgets.lua:11247
|
[x] 92% ImGui::TabBarAddTab imgui_widgets.lua:11234
|
||||||
[x] 91% ImGui::TabBarRemoveTab imgui_widgets.lua:11264
|
[x] 91% ImGui::TabBarRemoveTab imgui_widgets.lua:11251
|
||||||
[x] 92% ImGui::TabBarCloseTab imgui_widgets.lua:11273
|
[x] 92% ImGui::TabBarCloseTab imgui_widgets.lua:11260
|
||||||
[x] 97% ImGui::TabBarScrollClamp imgui_widgets.lua:11291
|
[x] 97% ImGui::TabBarScrollClamp imgui_widgets.lua:11278
|
||||||
[x] 89% ImGui::TabBarScrollToTab imgui_widgets.lua:11297
|
[x] 89% ImGui::TabBarScrollToTab imgui_widgets.lua:11284
|
||||||
[x] 67% ImGui::TabBarQueueFocus imgui_widgets.lua:11335
|
[x] 67% ImGui::TabBarQueueFocus imgui_widgets.lua:11322
|
||||||
[x] 100% ImGui::TabBarQueueReorder imgui_widgets.lua:11344
|
[x] 100% ImGui::TabBarQueueReorder imgui_widgets.lua:11331
|
||||||
[x] 85% ImGui::TabBarQueueReorderFromMousePos imgui_widgets.lua:11351
|
[x] 85% ImGui::TabBarQueueReorderFromMousePos imgui_widgets.lua:11338
|
||||||
[x] 64% ImGui::TabBarProcessReorder imgui_widgets.lua:11385
|
[x] 64% ImGui::TabBarProcessReorder imgui_widgets.lua:11372
|
||||||
[x] 85% ImGui::TabBarScrollingButtons imgui_widgets.lua:11408
|
[x] 85% ImGui::TabBarScrollingButtons imgui_widgets.lua:11395
|
||||||
[x] 80% ImGui::TabBarTabListPopupButton imgui_widgets.lua:11468
|
[x] 80% ImGui::TabBarTabListPopupButton imgui_widgets.lua:11455
|
||||||
|
|
||||||
-- Widgets: BeginTabItem, EndTabItem, etc.
|
-- Widgets: BeginTabItem, EndTabItem, etc.
|
||||||
[x] 78% ImGui::BeginTabItem imgui_widgets.lua:11516
|
[x] 78% ImGui::BeginTabItem imgui_widgets.lua:11503
|
||||||
[x] 85% ImGui::EndTabItem imgui_widgets.lua:11535
|
[x] 85% ImGui::EndTabItem imgui_widgets.lua:11522
|
||||||
[x] 81% ImGui::TabItemButton imgui_widgets.lua:11549
|
[x] 81% ImGui::TabItemButton imgui_widgets.lua:11536
|
||||||
[x] 84% ImGui::TabItemSpacing imgui_widgets.lua:11559
|
[x] 84% ImGui::TabItemSpacing imgui_widgets.lua:11546
|
||||||
[x] 79% ImGui::TabItemEx imgui_widgets.lua:11570
|
[x] 79% ImGui::TabItemEx imgui_widgets.lua:11557
|
||||||
[x] 88% ImGui::SetTabItemClosed imgui_widgets.lua:11856
|
[x] 88% ImGui::SetTabItemClosed imgui_widgets.lua:11843
|
||||||
[x] 79% ImGui::TabItemCalcSize imgui_widgets.lua:11878
|
[x] 79% ImGui::TabItemCalcSize imgui_widgets.lua:11865
|
||||||
[x] 92% ImGui::TabItemBackground imgui_widgets.lua:11894
|
[x] 93% ImGui::TabItemBackground imgui_widgets.lua:11881
|
||||||
[x] 86% ImGui::TabItemLabelAndCloseButton imgui_widgets.lua:11915
|
[x] 86% ImGui::TabItemLabelAndCloseButton imgui_widgets.lua:11902
|
||||||
|
|
||||||
====================================================================================================
|
====================================================================================================
|
||||||
imgui_draw.cpp
|
imgui_draw.cpp
|
||||||
@@ -1314,13 +1314,13 @@ imgui_draw.cpp
|
|||||||
[x] 63% ImDrawList::_PathArcToN imgui_draw.lua:6761
|
[x] 63% ImDrawList::_PathArcToN imgui_draw.lua:6761
|
||||||
[x] 10% ImDrawList::PathArcToFast imgui_draw.lua:6747
|
[x] 10% ImDrawList::PathArcToFast imgui_draw.lua:6747
|
||||||
[x] 46% ImDrawList::PathArcTo imgui_draw.lua:6787
|
[x] 46% ImDrawList::PathArcTo imgui_draw.lua:6787
|
||||||
[x] 61% ImDrawList::PathEllipticalArcTo imgui_draw.lua:7384
|
[x] 61% ImDrawList::PathEllipticalArcTo imgui_draw.lua:7377
|
||||||
[x] 88% ImBezierCubicCalc imgui_draw.lua:7396
|
[x] 88% ImBezierCubicCalc imgui_draw.lua:7389
|
||||||
[x] 89% ImBezierQuadraticCalc imgui_draw.lua:7402
|
[x] 89% ImBezierQuadraticCalc imgui_draw.lua:7395
|
||||||
[x] 85% PathBezierCubicCurveToCasteljau imgui_draw.lua:7409
|
[x] 85% PathBezierCubicCurveToCasteljau imgui_draw.lua:7402
|
||||||
[x] 90% PathBezierQuadraticCurveToCasteljau imgui_draw.lua:7427
|
[x] 90% PathBezierQuadraticCurveToCasteljau imgui_draw.lua:7420
|
||||||
[x] 91% ImDrawList::PathBezierCubicCurveTo imgui_draw.lua:7441
|
[x] 91% ImDrawList::PathBezierCubicCurveTo imgui_draw.lua:7434
|
||||||
[x] 90% ImDrawList::PathBezierQuadraticCurveTo imgui_draw.lua:7453
|
[x] 90% ImDrawList::PathBezierQuadraticCurveTo imgui_draw.lua:7446
|
||||||
[x] 8% ImDrawList::PathRect imgui_draw.lua:5234
|
[x] 8% ImDrawList::PathRect imgui_draw.lua:5234
|
||||||
[x] 46% ImDrawList::_AddLine imgui_draw.lua:5366
|
[x] 46% ImDrawList::_AddLine imgui_draw.lua:5366
|
||||||
[x] 4% ImDrawList::AddLine imgui_draw.lua:5375
|
[x] 4% ImDrawList::AddLine imgui_draw.lua:5375
|
||||||
@@ -1364,7 +1364,7 @@ imgui_draw.cpp
|
|||||||
[ ] ImTriangulator::FlipNodeList
|
[ ] ImTriangulator::FlipNodeList
|
||||||
[ ] ImTriangulator::IsEar
|
[ ] ImTriangulator::IsEar
|
||||||
[ ] ImTriangulator::ReclassifyNode
|
[ ] ImTriangulator::ReclassifyNode
|
||||||
[x] 17% ImDrawList::AddConcavePolyFilled imgui_draw.lua:7467
|
[x] 17% ImDrawList::AddConcavePolyFilled imgui_draw.lua:7460
|
||||||
|
|
||||||
-- ImDrawListSplitter
|
-- ImDrawListSplitter
|
||||||
[x] 58% ImDrawListSplitter::ClearFreeMemory imgui_draw.lua:4201
|
[x] 58% ImDrawListSplitter::ClearFreeMemory imgui_draw.lua:4201
|
||||||
@@ -1556,14 +1556,14 @@ imgui_draw.cpp
|
|||||||
-- ImGui Internal Render Helpers
|
-- ImGui Internal Render Helpers
|
||||||
[x] 58% ImGui::RenderArrow imgui_draw.lua:7100
|
[x] 58% ImGui::RenderArrow imgui_draw.lua:7100
|
||||||
[x] 88% ImGui::RenderBullet imgui_draw.lua:7132
|
[x] 88% ImGui::RenderBullet imgui_draw.lua:7132
|
||||||
[x] 63% ImGui::RenderCheckMark imgui_draw.lua:7144
|
[x] 66% ImGui::RenderCheckMark imgui_draw.lua:7144
|
||||||
[x] 90% ImGui::RenderArrowPointingAt imgui_draw.lua:7169
|
[x] 90% ImGui::RenderArrowPointingAt imgui_draw.lua:7169
|
||||||
[x] 93% ImGui::RenderArrowDockMenu imgui.lua:4551
|
[x] 93% ImGui::RenderArrowDockMenu imgui.lua:4551
|
||||||
[x] 100% ImAcos01 imgui_draw.lua:7182
|
[x] 100% ImAcos01 imgui_draw.lua:7182
|
||||||
[x] 95% ImGui::RenderRectFilledInRangeH imgui_draw.lua:7198
|
[x] 95% ImGui::RenderRectFilledInRangeH imgui_draw.lua:7198
|
||||||
[x] 80% ImGui::RenderRectFilledWithHole imgui_draw.lua:7362
|
[x] 80% ImGui::RenderRectFilledWithHole imgui_draw.lua:7355
|
||||||
[x] 81% ImGui::CalcRoundingFlagsForRectInRect imgui_draw.lua:7253
|
[x] 81% ImGui::CalcRoundingFlagsForRectInRect imgui_draw.lua:7253
|
||||||
[x] 70% ImGui::RenderColorRectWithAlphaCheckerboard imgui_draw.lua:7289
|
[x] 79% ImGui::RenderColorRectWithAlphaCheckerboard imgui_draw.lua:7289
|
||||||
|
|
||||||
-- Decompression code
|
-- Decompression code
|
||||||
[ ] stb_decompress_length
|
[ ] stb_decompress_length
|
||||||
@@ -1697,8 +1697,8 @@ imgui_tables.cpp
|
|||||||
|
|
||||||
-- Tables: Debugging
|
-- Tables: Debugging
|
||||||
[ ] DebugNodeTableGetSizingPolicyDesc
|
[ ] DebugNodeTableGetSizingPolicyDesc
|
||||||
[x] 16% ImGui::DebugNodeTable imgui.lua:20778
|
[x] 16% ImGui::DebugNodeTable imgui.lua:20783
|
||||||
[x] 69% ImGui::DebugNodeTableSettings imgui.lua:20760
|
[x] 69% ImGui::DebugNodeTableSettings imgui.lua:20765
|
||||||
|
|
||||||
-- Columns, BeginColumns, EndColumns, etc.
|
-- Columns, BeginColumns, EndColumns, etc.
|
||||||
[x] 24% ImGui::SetWindowClipRectBeforeSetChannel imgui_tables.lua:2070
|
[x] 24% ImGui::SetWindowClipRectBeforeSetChannel imgui_tables.lua:2070
|
||||||
@@ -1955,7 +1955,7 @@ imgui.h
|
|||||||
[ ] IM_MSVC_RUNTIME_CHECKS_RESTORE::HSV
|
[ ] IM_MSVC_RUNTIME_CHECKS_RESTORE::HSV
|
||||||
|
|
||||||
-- Multi-Select API flags and structures (ImGuiMultiSelectFlags, ImGuiSelectionRequestType, ImGuiSelectionRequest, ImGuiMultiSelectIO, ImGuiSelectionBasicStorage)
|
-- Multi-Select API flags and structures (ImGuiMultiSelectFlags, ImGuiSelectionRequestType, ImGuiSelectionRequest, ImGuiMultiSelectIO, ImGuiSelectionBasicStorage)
|
||||||
[x] 100% ImGuiSelectionBasicStorage::GetStorageIdFromIndex imgui_widgets.lua:9516
|
[x] 100% ImGuiSelectionBasicStorage::GetStorageIdFromIndex imgui_widgets.lua:9503
|
||||||
|
|
||||||
-- Drawing API (ImDrawCmd, ImDrawIdx, ImDrawVert, ImDrawChannel, ImDrawListSplitter, ImDrawFlags, ImDrawList, ImDrawData)
|
-- Drawing API (ImDrawCmd, ImDrawIdx, ImDrawVert, ImDrawChannel, ImDrawListSplitter, ImDrawFlags, ImDrawList, ImDrawData)
|
||||||
[x] 14% ImDrawCmd::ImDrawCmd imgui_h.lua:507
|
[x] 14% ImDrawCmd::ImDrawCmd imgui_h.lua:507
|
||||||
@@ -1969,7 +1969,7 @@ imgui.h
|
|||||||
[x] 16% ImDrawList::PathLineTo imgui_internal.lua:1033
|
[x] 16% ImDrawList::PathLineTo imgui_internal.lua:1033
|
||||||
[x] 48% ImDrawList::PathLineToMergeDuplicate imgui_internal.lua:1043
|
[x] 48% ImDrawList::PathLineToMergeDuplicate imgui_internal.lua:1043
|
||||||
[x] 94% ImDrawList::PathFillConvex imgui_internal.lua:1053
|
[x] 94% ImDrawList::PathFillConvex imgui_internal.lua:1053
|
||||||
[x] 94% ImDrawList::PathFillConcave imgui_draw.lua:7508
|
[x] 94% ImDrawList::PathFillConcave imgui_draw.lua:7501
|
||||||
[x] 75% ImDrawList::PathStroke imgui_internal.lua:1061
|
[x] 75% ImDrawList::PathStroke imgui_internal.lua:1061
|
||||||
[x] 89% ImDrawList::ChannelsSplit imgui_draw.lua:4377
|
[x] 89% ImDrawList::ChannelsSplit imgui_draw.lua:4377
|
||||||
[x] 80% ImDrawList::ChannelsMerge imgui_draw.lua:4378
|
[x] 80% ImDrawList::ChannelsMerge imgui_draw.lua:4378
|
||||||
@@ -2073,7 +2073,7 @@ imgui_internal.h
|
|||||||
[ ] ImModPositive
|
[ ] ImModPositive
|
||||||
[x] 100% ImDot imgui_internal.lua:453
|
[x] 100% ImDot imgui_internal.lua:453
|
||||||
[x] 98% ImRotate imgui_internal.lua:447
|
[x] 98% ImRotate imgui_internal.lua:447
|
||||||
[x] 100% ImLinearSweep imgui_widgets.lua:10652
|
[x] 100% ImLinearSweep imgui_widgets.lua:10639
|
||||||
[x] 100% ImLinearRemapClamp imgui_internal.lua:399
|
[x] 100% ImLinearRemapClamp imgui_internal.lua:399
|
||||||
[x] 97% ImMul imgui_internal.lua:460
|
[x] 97% ImMul imgui_internal.lua:460
|
||||||
[ ] ImIsFloatAboveGuaranteedIntegerPrecision
|
[ ] ImIsFloatAboveGuaranteedIntegerPrecision
|
||||||
@@ -2177,7 +2177,7 @@ imgui_internal.h
|
|||||||
[ ] ImGuiPackedDate::SubtractMonths
|
[ ] ImGuiPackedDate::SubtractMonths
|
||||||
|
|
||||||
-- ImDrawList support
|
-- ImDrawList support
|
||||||
[x] 27% ImDrawDataBuilder::ImDrawDataBuilder imgui_internal.lua:3015
|
[x] 27% ImDrawDataBuilder::ImDrawDataBuilder imgui_internal.lua:3016
|
||||||
|
|
||||||
-- Style support
|
-- Style support
|
||||||
[ ] ImGuiStyleVarInfo::GetVarPtr
|
[ ] ImGuiStyleVarInfo::GetVarPtr
|
||||||
@@ -2185,7 +2185,7 @@ imgui_internal.h
|
|||||||
|
|
||||||
-- Widgets support: flags, enums, data structures
|
-- Widgets support: flags, enums, data structures
|
||||||
[x] 21% ImGuiComboPreviewData::ImGuiComboPreviewData imgui_internal.lua:1665
|
[x] 21% ImGuiComboPreviewData::ImGuiComboPreviewData imgui_internal.lua:1665
|
||||||
[x] 12% ImGuiMenuColumns::ImGuiMenuColumns imgui_internal.lua:2682
|
[x] 12% ImGuiMenuColumns::ImGuiMenuColumns imgui_internal.lua:2683
|
||||||
[x] 20% ImGuiInputTextDeactivatedState::ImGuiInputTextDeactivatedState imgui_internal.lua:1751
|
[x] 20% ImGuiInputTextDeactivatedState::ImGuiInputTextDeactivatedState imgui_internal.lua:1751
|
||||||
[ ] ImGuiInputTextDeactivatedState::ClearFreeMemory
|
[ ] ImGuiInputTextDeactivatedState::ClearFreeMemory
|
||||||
[ ] ImGuiInputTextState::ClearText
|
[ ] ImGuiInputTextState::ClearText
|
||||||
@@ -2200,10 +2200,10 @@ imgui_internal.h
|
|||||||
[ ] ImGuiPtrOrIndex::ImGuiPtrOrIndex
|
[ ] ImGuiPtrOrIndex::ImGuiPtrOrIndex
|
||||||
|
|
||||||
-- Popup support
|
-- Popup support
|
||||||
[x] 36% ImGuiPopupData::ImGuiPopupData imgui_internal.lua:3569
|
[x] 36% ImGuiPopupData::ImGuiPopupData imgui_internal.lua:3570
|
||||||
|
|
||||||
-- Inputs support
|
-- Inputs support
|
||||||
[x] 9% ImGuiInputEvent::ImGuiInputEvent imgui_internal.lua:3363
|
[x] 9% ImGuiInputEvent::ImGuiInputEvent imgui_internal.lua:3364
|
||||||
[x] 73% ImGuiKeyRoutingData::ImGuiKeyRoutingData imgui_internal.lua:1772
|
[x] 73% ImGuiKeyRoutingData::ImGuiKeyRoutingData imgui_internal.lua:1772
|
||||||
[x] 10% ImGuiKeyRoutingTable::ImGuiKeyRoutingTable imgui_internal.lua:1799
|
[x] 10% ImGuiKeyRoutingTable::ImGuiKeyRoutingTable imgui_internal.lua:1799
|
||||||
[ ] ImGuiKeyRoutingTable::Clear
|
[ ] ImGuiKeyRoutingTable::Clear
|
||||||
@@ -2252,18 +2252,18 @@ imgui_internal.h
|
|||||||
[x] 20% ImGuiDockContext::ImGuiDockContext imgui.lua:1040
|
[x] 20% ImGuiDockContext::ImGuiDockContext imgui.lua:1040
|
||||||
|
|
||||||
-- Viewport support
|
-- Viewport support
|
||||||
[x] 36% ImGuiViewportP::ImGuiViewportP imgui_internal.lua:3102
|
[x] 36% ImGuiViewportP::ImGuiViewportP imgui_internal.lua:3103
|
||||||
[-] ImGuiViewportP::~ImGuiViewportP c++-only
|
[-] ImGuiViewportP::~ImGuiViewportP c++-only
|
||||||
[x] 78% ImGuiViewportP::ClearRequestFlags imgui_internal.lua:3057
|
[x] 78% ImGuiViewportP::ClearRequestFlags imgui_internal.lua:3058
|
||||||
[x] 94% ImGuiViewportP::CalcWorkRectPos imgui_internal.lua:3064
|
[x] 94% ImGuiViewportP::CalcWorkRectPos imgui_internal.lua:3065
|
||||||
[x] 98% ImGuiViewportP::CalcWorkRectSize imgui_internal.lua:3068
|
[x] 98% ImGuiViewportP::CalcWorkRectSize imgui_internal.lua:3069
|
||||||
[x] 87% ImGuiViewportP::UpdateWorkRect imgui_internal.lua:3073
|
[x] 87% ImGuiViewportP::UpdateWorkRect imgui_internal.lua:3074
|
||||||
[x] 92% ImGuiViewportP::GetMainRect imgui_internal.lua:3080
|
[x] 92% ImGuiViewportP::GetMainRect imgui_internal.lua:3081
|
||||||
[x] 92% ImGuiViewportP::GetWorkRect imgui_internal.lua:3087
|
[x] 92% ImGuiViewportP::GetWorkRect imgui_internal.lua:3088
|
||||||
[x] 96% ImGuiViewportP::GetBuildWorkRect imgui_internal.lua:3094
|
[x] 96% ImGuiViewportP::GetBuildWorkRect imgui_internal.lua:3095
|
||||||
|
|
||||||
-- Settings support
|
-- Settings support
|
||||||
[x] 18% ImGuiWindowSettings::ImGuiWindowSettings imgui_internal.lua:2649
|
[x] 18% ImGuiWindowSettings::ImGuiWindowSettings imgui_internal.lua:2650
|
||||||
[ ] ImGuiWindowSettings::GetName
|
[ ] ImGuiWindowSettings::GetName
|
||||||
[x] 13% ImGuiSettingsHandler::ImGuiSettingsHandler imgui_h.lua:2898
|
[x] 13% ImGuiSettingsHandler::ImGuiSettingsHandler imgui_h.lua:2898
|
||||||
|
|
||||||
@@ -2277,9 +2277,9 @@ imgui_internal.h
|
|||||||
[ ] ImGuiContextHook::ImGuiContextHook
|
[ ] ImGuiContextHook::ImGuiContextHook
|
||||||
|
|
||||||
-- ImGuiWindowTempData, ImGuiWindow
|
-- ImGuiWindowTempData, ImGuiWindow
|
||||||
[x] 92% ImGuiWindow::Rect imgui_internal.lua:2823
|
[x] 92% ImGuiWindow::Rect imgui_internal.lua:2824
|
||||||
[x] 84% ImGuiWindow::TitleBarRect imgui_internal.lua:2829
|
[x] 84% ImGuiWindow::TitleBarRect imgui_internal.lua:2830
|
||||||
[x] 91% ImGuiWindow::MenuBarRect imgui_internal.lua:2835
|
[x] 91% ImGuiWindow::MenuBarRect imgui_internal.lua:2836
|
||||||
|
|
||||||
-- Tab bar, Tab item support
|
-- Tab bar, Tab item support
|
||||||
[x] 50% ImGuiTabItem::ImGuiTabItem imgui_internal.lua:2191
|
[x] 50% ImGuiTabItem::ImGuiTabItem imgui_internal.lua:2191
|
||||||
@@ -2309,7 +2309,7 @@ imgui_internal.h
|
|||||||
[ ] GetPixelDensity
|
[ ] GetPixelDensity
|
||||||
[x] 55% GetRoundedFontSize imgui_internal.lua:658
|
[x] 55% GetRoundedFontSize imgui_internal.lua:658
|
||||||
[x] 15% GetForegroundDrawList imgui.lua:13675
|
[x] 15% GetForegroundDrawList imgui.lua:13675
|
||||||
[x] 80% LocalizeGetMsg imgui_internal.lua:3673
|
[x] 80% LocalizeGetMsg imgui_internal.lua:3674
|
||||||
[ ] ScrollToBringRectIntoView
|
[ ] ScrollToBringRectIntoView
|
||||||
[ ] GetItemStatusFlags
|
[ ] GetItemStatusFlags
|
||||||
[ ] GetActiveID
|
[ ] GetActiveID
|
||||||
@@ -2338,22 +2338,22 @@ imgui_internal.h
|
|||||||
[x] 91% GetBoxSelectState imgui_internal.lua:2065
|
[x] 91% GetBoxSelectState imgui_internal.lua:2065
|
||||||
[x] 95% GetMultiSelectState imgui_internal.lua:2068
|
[x] 95% GetMultiSelectState imgui_internal.lua:2068
|
||||||
[ ] GetCurrentTabBar
|
[ ] GetCurrentTabBar
|
||||||
[x] 35% TabBarGetTabOrder imgui_widgets.lua:11210
|
[x] 35% TabBarGetTabOrder imgui_widgets.lua:11197
|
||||||
[-] RenderNavHighlight obsolete
|
[-] RenderNavHighlight obsolete
|
||||||
[x] 100% TempInputIsActive imgui_internal.lua:3680
|
[x] 100% TempInputIsActive imgui_internal.lua:3681
|
||||||
[x] 88% GetInputTextState imgui_internal.lua:3688
|
[x] 88% GetInputTextState imgui_internal.lua:3689
|
||||||
[ ] IsItemActiveAsInputText
|
[ ] IsItemActiveAsInputText
|
||||||
[x] 80% SetNextItemColorMarker imgui_internal.lua:1083
|
[x] 80% SetNextItemColorMarker imgui_internal.lua:1083
|
||||||
|
|
||||||
-- ImFontLoader
|
-- ImFontLoader
|
||||||
[x] 6% ImFontLoader::ImFontLoader imgui_internal.lua:3164
|
[x] 6% ImFontLoader::ImFontLoader imgui_internal.lua:3165
|
||||||
|
|
||||||
-- ImFontAtlas internal API
|
-- ImFontAtlas internal API
|
||||||
[-] operator== c++-only
|
[-] operator== c++-only
|
||||||
[-] operator!= c++-only
|
[-] operator!= c++-only
|
||||||
[x] 75% ImFontAtlasRectId_GetIndex imgui_internal.lua:3216
|
[x] 75% ImFontAtlasRectId_GetIndex imgui_internal.lua:3217
|
||||||
[x] 62% ImFontAtlasRectId_GetGeneration imgui_internal.lua:3220
|
[x] 62% ImFontAtlasRectId_GetGeneration imgui_internal.lua:3221
|
||||||
[x] 77% ImFontAtlasRectId_Make imgui_internal.lua:3225
|
[x] 77% ImFontAtlasRectId_Make imgui_internal.lua:3226
|
||||||
[x] 18% ImFontAtlasBuilder::ImFontAtlasBuilder imgui_internal.lua:1184
|
[x] 18% ImFontAtlasBuilder::ImFontAtlasBuilder imgui_internal.lua:1184
|
||||||
|
|
||||||
====================================================================================================
|
====================================================================================================
|
||||||
@@ -2527,7 +2527,7 @@ Struct fields (name found in the port / total; missing listed). Field names are
|
|||||||
ImGuiBoxSelectState 16 / 16
|
ImGuiBoxSelectState 16 / 16
|
||||||
ImGuiColorMod 2 / 2
|
ImGuiColorMod 2 / 2
|
||||||
ImGuiComboPreviewData 6 / 9 missing: BackupWorkRectMaxX, BackupContentRectMaxX, WithinPreview
|
ImGuiComboPreviewData 6 / 9 missing: BackupWorkRectMaxX, BackupContentRectMaxX, WithinPreview
|
||||||
ImGuiContext 312 / 338 missing: TestEngineHookItems, CurrentPixelDensity, TestEngine, InputEventsTrail, MixedValueLabel, DebugBreakInShortcutRouting, DebugLocateId, NavJustMovedToIsInit, DragDropPayloadBufHeap, DragDropPayloadBufLocal, ClipboardHandlerData, SessionDate, DemoMarkerCallback, DebugLogIndex, DebugLogSkippedErrors, DebugLocateFrames, DebugBreakInLocateId, DebugBreakKeyChord, DebugItemPickerActive, DebugItemPickerMouseButton, DebugItemPickerBreakId, DebugFlashStyleColorTime, DebugFlashStyleColorBackup, DebugDrawIdConflictsAliveCount, DebugDrawIdConflictsHighlightSet, TempKeychordName
|
ImGuiContext 313 / 338 missing: TestEngineHookItems, CurrentPixelDensity, TestEngine, InputEventsTrail, DebugBreakInShortcutRouting, DebugLocateId, NavJustMovedToIsInit, DragDropPayloadBufHeap, DragDropPayloadBufLocal, ClipboardHandlerData, SessionDate, DemoMarkerCallback, DebugLogIndex, DebugLogSkippedErrors, DebugLocateFrames, DebugBreakInLocateId, DebugBreakKeyChord, DebugItemPickerActive, DebugItemPickerMouseButton, DebugItemPickerBreakId, DebugFlashStyleColorTime, DebugFlashStyleColorBackup, DebugDrawIdConflictsAliveCount, DebugDrawIdConflictsHighlightSet, TempKeychordName
|
||||||
ImGuiContextHook 2 / 5 missing: HookId, Owner, Callback
|
ImGuiContextHook 2 / 5 missing: HookId, Owner, Callback
|
||||||
ImGuiDataTypeInfo 4 / 4
|
ImGuiDataTypeInfo 4 / 4
|
||||||
ImGuiDataTypeStorage 1 / 1
|
ImGuiDataTypeStorage 1 / 1
|
||||||
|
|||||||
@@ -10459,7 +10459,7 @@ local function RenderWindowOuterBorders(window)
|
|||||||
|
|
||||||
if g.Style.FrameBorderSize > 0 and (bit32.band(window.Flags, ImGuiWindowFlags.NoTitleBar) == 0) and not window.DockIsActive then
|
if g.Style.FrameBorderSize > 0 and (bit32.band(window.Flags, ImGuiWindowFlags.NoTitleBar) == 0) and not window.DockIsActive then
|
||||||
local y = window.Pos.y + window.TitleBarHeight - 1
|
local y = window.Pos.y + window.TitleBarHeight - 1
|
||||||
window.DrawList:AddLineH(window.Pos.x + border_size * 0.5, window.Pos.x + window.Size.x - border_size * 0.5, y, border_col, g.Style.FrameBorderSize)
|
window.DrawList:AddLineH(window.Pos.x + border_size, window.Pos.x + window.Size.x - border_size, y, border_col, g.Style.FrameBorderSize, ImDrawFlags.StrokeCenterBiased)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -10540,7 +10540,7 @@ local function RenderWindowDecorations(window, title_bar_rect, title_bar_is_high
|
|||||||
menu_bar_rect:ClipWith(window:Rect()) -- Soft clipping, in particular child window don't have minimum size covering the menu bar so this is useful for them.
|
menu_bar_rect:ClipWith(window:Rect()) -- Soft clipping, in particular child window don't have minimum size covering the menu bar so this is useful for them.
|
||||||
window.DrawList:AddRectFilled(menu_bar_rect.Min, menu_bar_rect.Max, ImGui.GetColorU32(ImGuiCol.MenuBarBg), (bit32.band(flags, ImGuiWindowFlags.NoTitleBar) ~= 0) and window_rounding or 0.0, ImDrawFlags.RoundTop)
|
window.DrawList:AddRectFilled(menu_bar_rect.Min, menu_bar_rect.Max, ImGui.GetColorU32(ImGuiCol.MenuBarBg), (bit32.band(flags, ImGuiWindowFlags.NoTitleBar) ~= 0) and window_rounding or 0.0, ImDrawFlags.RoundTop)
|
||||||
if style.FrameBorderSize > 0.0 and menu_bar_rect.Max.y < window.Pos.y + window.Size.y then
|
if style.FrameBorderSize > 0.0 and menu_bar_rect.Max.y < window.Pos.y + window.Size.y then
|
||||||
window.DrawList:AddLineH(menu_bar_rect.Min.x + window_border_size * 0.5, menu_bar_rect.Max.x - window_border_size * 0.5, menu_bar_rect.Max.y, ImGui.GetColorU32(ImGuiCol.Border), style.FrameBorderSize)
|
window.DrawList:AddLineH(menu_bar_rect.Min.x + window_border_size, menu_bar_rect.Max.x - window_border_size, menu_bar_rect.Max.y, ImGui.GetColorU32(ImGuiCol.Border), style.FrameBorderSize, ImDrawFlags.StrokeCenterBiased)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -19039,7 +19039,7 @@ function ImGui.RenderDimmedBackgrounds()
|
|||||||
window.DrawList:ChannelsMerge()
|
window.DrawList:ChannelsMerge()
|
||||||
if window.DrawList.CmdBuffer.Size == 0 then window.DrawList:AddDrawCmd() end
|
if window.DrawList.CmdBuffer.Size == 0 then window.DrawList:AddDrawCmd() end
|
||||||
window.DrawList:PushClipRect(viewport.Pos, viewport.Pos + viewport.Size)
|
window.DrawList:PushClipRect(viewport.Pos, viewport.Pos + viewport.Size)
|
||||||
window.DrawList:AddRect(bb.Min, bb.Max, ImGui.GetColorU32(ImGuiCol.NavWindowingHighlight, g.NavWindowingHighlightAlpha), window.WindowRounding, 0, 3.0) -- FIXME-DPI
|
window.DrawList:AddRect(bb.Min, bb.Max, ImGui.GetColorU32(ImGuiCol.NavWindowingHighlight, g.NavWindowingHighlightAlpha), window.WindowRounding, 3.0) -- FIXME-DPI
|
||||||
window.DrawList:PopClipRect()
|
window.DrawList:PopClipRect()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -20685,8 +20685,7 @@ function ImGui.DebugNodeDrawList(window, viewport, draw_list, label)
|
|||||||
else
|
else
|
||||||
local cr = pcmd.ClipRect
|
local cr = pcmd.ClipRect
|
||||||
local open = ImGui.TreeNode(cmd_n, "DrawCmd:%5d tris, Tex %s, ClipRect (%4.0f,%4.0f)-(%4.0f,%4.0f)", math.floor(pcmd.ElemCount / 3), tostring(pcmd.TexRef and (pcmd.TexRef._TexID or pcmd.TexRef._TexData)), cr.x, cr.y, cr.z, cr.w)
|
local open = ImGui.TreeNode(cmd_n, "DrawCmd:%5d tris, Tex %s, ClipRect (%4.0f,%4.0f)-(%4.0f,%4.0f)", math.floor(pcmd.ElemCount / 3), tostring(pcmd.TexRef and (pcmd.TexRef._TexID or pcmd.TexRef._TexData)), cr.x, cr.y, cr.z, cr.w)
|
||||||
local function ShowMesh(show_mesh, show_aabb)
|
local function ShowMeshImpl(show_mesh, show_aabb)
|
||||||
if not fg_draw_list then return end
|
|
||||||
local clip_rect = ImRect(cr.x, cr.y, cr.z, cr.w)
|
local clip_rect = ImRect(cr.x, cr.y, cr.z, cr.w)
|
||||||
local vtxs_rect = ImRect(FLT_MAX, FLT_MAX, -FLT_MAX, -FLT_MAX)
|
local vtxs_rect = ImRect(FLT_MAX, FLT_MAX, -FLT_MAX, -FLT_MAX)
|
||||||
local base = pcmd.IdxOffset
|
local base = pcmd.IdxOffset
|
||||||
@@ -20705,6 +20704,12 @@ function ImGui.DebugNodeDrawList(window, viewport, draw_list, label)
|
|||||||
fg_draw_list:AddRect(ImTrunc(vtxs_rect.Min), ImTrunc(vtxs_rect.Max), IM_COL32(0, 255, 255, 255)) -- In cyan: bounding box of triangles
|
fg_draw_list:AddRect(ImTrunc(vtxs_rect.Min), ImTrunc(vtxs_rect.Max), IM_COL32(0, 255, 255, 255)) -- In cyan: bounding box of triangles
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
local function ShowMesh(show_mesh, show_aabb) -- DebugNodeDrawCmdShowMeshAndBoundingBox()
|
||||||
|
if not fg_draw_list then return end
|
||||||
|
fg_draw_list:PushDrawFlag(ImDrawFlags.AALines, false) -- Disable AA on triangle outlines is more readable for very large and thin triangles.
|
||||||
|
ShowMeshImpl(show_mesh, show_aabb)
|
||||||
|
fg_draw_list:PopDrawFlag()
|
||||||
|
end
|
||||||
if ImGui.IsItemHovered() and (cfg.ShowDrawCmdMesh or cfg.ShowDrawCmdBoundingBoxes) then ShowMesh(cfg.ShowDrawCmdMesh, cfg.ShowDrawCmdBoundingBoxes) end
|
if ImGui.IsItemHovered() and (cfg.ShowDrawCmdMesh or cfg.ShowDrawCmdBoundingBoxes) then ShowMesh(cfg.ShowDrawCmdMesh, cfg.ShowDrawCmdBoundingBoxes) end
|
||||||
if open then
|
if open then
|
||||||
ImGui.Selectable(string.format("Mesh: ElemCount: %d, VtxOffset: +%d, IdxOffset: +%d", pcmd.ElemCount, pcmd.VtxOffset, pcmd.IdxOffset))
|
ImGui.Selectable(string.format("Mesh: ElemCount: %d, VtxOffset: +%d, IdxOffset: +%d", pcmd.ElemCount, pcmd.VtxOffset, pcmd.IdxOffset))
|
||||||
@@ -20733,8 +20738,8 @@ function ImGui.DebugNodeTabBar(tab_bar, label)
|
|||||||
if is_active and ImGui.IsItemHovered() then
|
if is_active and ImGui.IsItemHovered() then
|
||||||
local dl = FG(tab_bar.Window)
|
local dl = FG(tab_bar.Window)
|
||||||
dl:AddRect(tab_bar.BarRect.Min, tab_bar.BarRect.Max, IM_COL32(255, 255, 0, 255))
|
dl:AddRect(tab_bar.BarRect.Min, tab_bar.BarRect.Max, IM_COL32(255, 255, 0, 255))
|
||||||
dl:AddLine(ImVec2(tab_bar.ScrollingRectMinX, tab_bar.BarRect.Min.y), ImVec2(tab_bar.ScrollingRectMinX, tab_bar.BarRect.Max.y), IM_COL32(0, 255, 0, 255))
|
dl:AddLineV(tab_bar.ScrollingRectMinX, tab_bar.BarRect.Min.y, tab_bar.BarRect.Max.y, IM_COL32(0, 255, 0, 255))
|
||||||
dl:AddLine(ImVec2(tab_bar.ScrollingRectMaxX, tab_bar.BarRect.Min.y), ImVec2(tab_bar.ScrollingRectMaxX, tab_bar.BarRect.Max.y), IM_COL32(0, 255, 0, 255))
|
dl:AddLineV(tab_bar.ScrollingRectMaxX, tab_bar.BarRect.Min.y, tab_bar.BarRect.Max.y, IM_COL32(0, 255, 0, 255))
|
||||||
end
|
end
|
||||||
if open then
|
if open then
|
||||||
for tab_n, tab in tab_bar.Tabs:iter() do
|
for tab_n, tab in tab_bar.Tabs:iter() do
|
||||||
|
|||||||
+45
-52
@@ -7157,7 +7157,7 @@ function ImGui.RenderCheckMark(draw_list, pos, col, sz)
|
|||||||
draw_list:PathLineTo(p)
|
draw_list:PathLineTo(p)
|
||||||
p.x = bx + third * 2.0; p.y = by - third * 2.0
|
p.x = bx + third * 2.0; p.y = by - third * 2.0
|
||||||
draw_list:PathLineTo(p)
|
draw_list:PathLineTo(p)
|
||||||
draw_list:PathStroke(col, thickness)
|
draw_list:PathStroke(col, thickness, ImDrawFlags.AALineEnds)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Render an arrow. 'pos' is position of the arrow tip. half_sz.x is length from base to tip. half_sz.y is length on each side.
|
-- Render an arrow. 'pos' is position of the arrow tip. half_sz.x is length from base to tip. half_sz.y is length on each side.
|
||||||
@@ -7243,7 +7243,7 @@ function ImGui.RenderRectFilledInRangeH(draw_list, rect, col, fill_x0, fill_x1,
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
draw_list:PathFillConvex(col)
|
draw_list:PathFillConvex(col, ImDrawFlags.JoinMiter)
|
||||||
end
|
end
|
||||||
|
|
||||||
--- @param r_in ImRect
|
--- @param r_in ImRect
|
||||||
@@ -7277,16 +7277,16 @@ end
|
|||||||
-- Helper for ColorPicker4()
|
-- Helper for ColorPicker4()
|
||||||
-- NB: This is rather brittle and will show artifact when rounding this enabled if rounded corners overlap multiple cells. Caller currently responsible for avoiding that.
|
-- NB: This is rather brittle and will show artifact when rounding this enabled if rounded corners overlap multiple cells. Caller currently responsible for avoiding that.
|
||||||
-- Spent a non reasonable amount of time trying to getting this right for ColorButton with rounding+anti-aliasing+ImGuiColorEditFlags_HalfAlphaPreview flag + various grid sizes and offsets, and eventually gave up... probably more reasonable to disable rounding altogether.
|
-- Spent a non reasonable amount of time trying to getting this right for ColorButton with rounding+anti-aliasing+ImGuiColorEditFlags_HalfAlphaPreview flag + various grid sizes and offsets, and eventually gave up... probably more reasonable to disable rounding altogether.
|
||||||
-- FIXME: uses ImGui.GetColorU32
|
|
||||||
--- @param draw_list ImDrawList
|
--- @param draw_list ImDrawList
|
||||||
--- @param p_min ImVec2
|
--- @param p_min ImVec2
|
||||||
--- @param p_max ImVec2
|
--- @param p_max ImVec2
|
||||||
--- @param col ImU32
|
--- @param col ImU32
|
||||||
|
--- @param alpha float
|
||||||
--- @param grid_step float
|
--- @param grid_step float
|
||||||
--- @param grid_off ImVec2
|
--- @param grid_off ImVec2
|
||||||
--- @param rounding? float
|
--- @param rounding? float
|
||||||
--- @param flags? ImDrawFlags
|
--- @param flags? ImDrawFlags
|
||||||
function ImGui.RenderColorRectWithAlphaCheckerboard(draw_list, p_min, p_max, col, grid_step, grid_off, rounding, flags)
|
function ImGui.RenderColorRectWithAlphaCheckerboard(draw_list, p_min, p_max, col, alpha, grid_step, grid_off, rounding, flags)
|
||||||
if rounding == nil then rounding = 0.0 end
|
if rounding == nil then rounding = 0.0 end
|
||||||
if flags == nil then flags = 0 end
|
if flags == nil then flags = 0 end
|
||||||
|
|
||||||
@@ -7295,60 +7295,53 @@ function ImGui.RenderColorRectWithAlphaCheckerboard(draw_list, p_min, p_max, col
|
|||||||
end
|
end
|
||||||
|
|
||||||
if bit32.rshift(bit32.band(col, IM_COL32_A_MASK), IM_COL32_A_SHIFT) < 0xFF then
|
if bit32.rshift(bit32.band(col, IM_COL32_A_MASK), IM_COL32_A_SHIFT) < 0xFF then
|
||||||
local col_bg1 = ImGui.GetColorU32(ImStd.ImAlphaBlendColors(IM_COL32(128, 128, 128, 255), col), nil, true)
|
IM_ASSERT(alpha >= 0.0 and alpha <= 1.0)
|
||||||
local col_bg2 = ImGui.GetColorU32(ImStd.ImAlphaBlendColors(IM_COL32(204, 204, 204, 255), col), nil, true)
|
local a_mask = bit32.lshift(ImTrunc(alpha * 255.0), IM_COL32_A_SHIFT)
|
||||||
draw_list:AddRectFilled(p_min, p_max, col_bg1, rounding, flags)
|
local col_bg1 = bit32.bor(bit32.band(ImStd.ImAlphaBlendColors(IM_COL32(128, 128, 128, 255), col), bit32.bnot(IM_COL32_A_MASK)), a_mask)
|
||||||
|
local col_bg2 = bit32.bor(bit32.band(ImStd.ImAlphaBlendColors(IM_COL32(204, 204, 204, 255), col), bit32.bnot(IM_COL32_A_MASK)), a_mask)
|
||||||
|
local dual_layer = (alpha == 1.0) -- Dual layer is faster but incorrect if blending.
|
||||||
|
if dual_layer then
|
||||||
|
draw_list:AddRectFilled(p_min, p_max, col_bg1, rounding, flags)
|
||||||
|
end
|
||||||
|
|
||||||
local yi = 0
|
local yi = 0
|
||||||
local y = p_min.y + grid_off.y
|
local y = p_min.y + grid_off.y
|
||||||
local x_start
|
|
||||||
local x
|
|
||||||
local cell_flags
|
|
||||||
while y < p_max.y do
|
while y < p_max.y do
|
||||||
repeat
|
local y1 = ImClamp(ImTrunc(y), p_min.y, p_max.y)
|
||||||
local y1 = ImClamp(y, p_min.y, p_max.y)
|
local y2 = ImMin(ImTrunc(y + grid_step), p_max.y)
|
||||||
local y2 = ImMin(y + grid_step, p_max.y)
|
if y2 > y1 then
|
||||||
|
local x_start_off = dual_layer and (((yi + 1) % 2) * grid_step) or 0.0
|
||||||
|
local x_step = dual_layer and (grid_step * 2.0) or grid_step
|
||||||
|
local xi = 0
|
||||||
|
local x = p_min.x + grid_off.x + x_start_off
|
||||||
|
while x < p_max.x do
|
||||||
|
local x1 = ImClamp(ImTrunc(x), p_min.x, p_max.x)
|
||||||
|
local x2 = ImMin(ImTrunc(x + grid_step), p_max.x)
|
||||||
|
if x2 > x1 then
|
||||||
|
local cell_flags = ImDrawFlags.RoundNone -- FIXME: Could use CalcRoundingFlagsForRectInRect()
|
||||||
|
if y1 <= p_min.y then
|
||||||
|
if x1 <= p_min.x then cell_flags = bit32.bor(cell_flags, ImDrawFlags.RoundTopLeft) end
|
||||||
|
if x2 >= p_max.x then cell_flags = bit32.bor(cell_flags, ImDrawFlags.RoundTopRight) end
|
||||||
|
end
|
||||||
|
if y2 >= p_max.y then
|
||||||
|
if x1 <= p_min.x then cell_flags = bit32.bor(cell_flags, ImDrawFlags.RoundBottomLeft) end
|
||||||
|
if x2 >= p_max.x then cell_flags = bit32.bor(cell_flags, ImDrawFlags.RoundBottomRight) end
|
||||||
|
end
|
||||||
|
|
||||||
if y2 <= y1 then
|
-- Combine flags
|
||||||
break
|
if flags == ImDrawFlags.RoundNone or cell_flags == ImDrawFlags.RoundNone then
|
||||||
|
cell_flags = ImDrawFlags.RoundNone
|
||||||
|
else
|
||||||
|
cell_flags = bit32.band(cell_flags, flags)
|
||||||
|
end
|
||||||
|
local col_bg
|
||||||
|
if dual_layer then col_bg = col_bg2 elseif (yi + xi) % 2 == 1 then col_bg = col_bg2 else col_bg = col_bg1 end
|
||||||
|
draw_list:AddRectFilled(ImVec2(x1, y1), ImVec2(x2, y2), col_bg, rounding, cell_flags)
|
||||||
|
end
|
||||||
|
x = x + x_step
|
||||||
|
xi = xi + 1
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
x_start = p_min.x + grid_off.x + ((yi + 1) % 2) * grid_step
|
|
||||||
x = x_start
|
|
||||||
while x < p_max.x do
|
|
||||||
repeat
|
|
||||||
local x1 = ImClamp(x, p_min.x, p_max.x)
|
|
||||||
local x2 = ImMin(x + grid_step, p_max.x)
|
|
||||||
|
|
||||||
if x2 <= x1 then
|
|
||||||
break
|
|
||||||
end
|
|
||||||
|
|
||||||
cell_flags = ImDrawFlags.RoundNone -- FIXME: Could use CalcRoundingFlagsForRectInRect()
|
|
||||||
if y1 <= p_min.y then
|
|
||||||
if x1 <= p_min.x then cell_flags = bit32.bor(cell_flags, ImDrawFlags.RoundTopLeft) end
|
|
||||||
if x2 >= p_max.x then cell_flags = bit32.bor(cell_flags, ImDrawFlags.RoundTopRight) end
|
|
||||||
end
|
|
||||||
if y2 >= p_max.y then
|
|
||||||
if x1 <= p_min.x then cell_flags = bit32.bor(cell_flags, ImDrawFlags.RoundBottomLeft) end
|
|
||||||
if x2 >= p_max.x then cell_flags = bit32.bor(cell_flags, ImDrawFlags.RoundBottomRight) end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Combine flags
|
|
||||||
if flags == ImDrawFlags.RoundNone or cell_flags == ImDrawFlags.RoundNone then
|
|
||||||
cell_flags = ImDrawFlags.RoundNone
|
|
||||||
else
|
|
||||||
cell_flags = bit32.band(cell_flags, flags)
|
|
||||||
end
|
|
||||||
draw_list:AddRectFilled(ImVec2(x1, y1), ImVec2(x2, y2), col_bg2, rounding, cell_flags)
|
|
||||||
|
|
||||||
until true
|
|
||||||
|
|
||||||
x = x + grid_step * 2.0
|
|
||||||
end
|
|
||||||
|
|
||||||
until true
|
|
||||||
|
|
||||||
y = y + grid_step
|
y = y + grid_step
|
||||||
yi = yi + 1
|
yi = yi + 1
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -2508,6 +2508,7 @@ function ImGuiContext(shared_font_atlas) -- TODO: tidy up / complete this struct
|
|||||||
|
|
||||||
DisabledAlphaBackup = 0.0, -- Backup for style.Alpha for BeginDisabled()
|
DisabledAlphaBackup = 0.0, -- Backup for style.Alpha for BeginDisabled()
|
||||||
DisabledStackSize = 0,
|
DisabledStackSize = 0,
|
||||||
|
MixedValueLabel = "-", -- Value replacement when displaying a mixed value.
|
||||||
|
|
||||||
ItemFlagsStack = ImVector(), -- Stack for PushItemFlag()/PopItemFlag() - inherited by Begin()
|
ItemFlagsStack = ImVector(), -- Stack for PushItemFlag()/PopItemFlag() - inherited by Begin()
|
||||||
GroupStack = ImVector(), -- Stack for BeginGroup()/EndGroup() - not inherited by Begin()
|
GroupStack = ImVector(), -- Stack for BeginGroup()/EndGroup() - not inherited by Begin()
|
||||||
|
|||||||
+43
-56
@@ -934,7 +934,7 @@ function ImGui.CloseButton(id, pos)
|
|||||||
window.DrawList:AddRectFilled(bb.Min, bb.Max, bg_col)
|
window.DrawList:AddRectFilled(bb.Min, bb.Max, bg_col)
|
||||||
end
|
end
|
||||||
|
|
||||||
local cross_center = bb:GetCenter() - ImVec2(0.5, 0.5)
|
local cross_center = bb:GetCenter()
|
||||||
local cross_extent = g.FontSize * 0.5 * 0.7071 - 1
|
local cross_extent = g.FontSize * 0.5 * 0.7071 - 1
|
||||||
local cross_col = ImGui.GetColorU32(ImGuiCol.Text)
|
local cross_col = ImGui.GetColorU32(ImGuiCol.Text)
|
||||||
local cross_thickness = 1.0 -- FIXME-DPI
|
local cross_thickness = 1.0 -- FIXME-DPI
|
||||||
@@ -944,32 +944,6 @@ function ImGui.CloseButton(id, pos)
|
|||||||
return pressed
|
return pressed
|
||||||
end
|
end
|
||||||
|
|
||||||
--- @return bool
|
|
||||||
function ImGui.CollapseButton(id, pos)
|
|
||||||
local g = GImGui
|
|
||||||
|
|
||||||
local window = g.CurrentWindow
|
|
||||||
|
|
||||||
local bb = ImRect(pos, pos + ImVec2(g.FontSize, g.FontSize))
|
|
||||||
|
|
||||||
local is_clipped = not ImGui.ItemAdd(bb, id)
|
|
||||||
|
|
||||||
local pressed, hovered = ImGui.ButtonBehavior(bb, id)
|
|
||||||
|
|
||||||
-- Render
|
|
||||||
if hovered then
|
|
||||||
window.DrawList:AddRectFilled(bb.Min, bb.Max, ImGui.GetColorU32(ImGuiCol.ButtonHovered))
|
|
||||||
end
|
|
||||||
|
|
||||||
if window.Collapsed then
|
|
||||||
ImGui.RenderArrow(window.DrawList, bb.Min, ImGui.GetColorU32(ImGuiCol.Text), ImGuiDir.Right, 1)
|
|
||||||
else
|
|
||||||
ImGui.RenderArrow(window.DrawList, bb.Min, ImGui.GetColorU32(ImGuiCol.Text), ImGuiDir.Down, 1)
|
|
||||||
end
|
|
||||||
|
|
||||||
return pressed
|
|
||||||
end
|
|
||||||
|
|
||||||
--- @param window ImGuiWindow
|
--- @param window ImGuiWindow
|
||||||
--- @param axis ImGuiAxis
|
--- @param axis ImGuiAxis
|
||||||
--- @return ImGuiID
|
--- @return ImGuiID
|
||||||
@@ -1874,7 +1848,7 @@ function ImGui.SeparatorTextEx(id, label, label_end, extra_w)
|
|||||||
|
|
||||||
local sep1_x1 = pos.x
|
local sep1_x1 = pos.x
|
||||||
local sep2_x2 = bb.Max.x
|
local sep2_x2 = bb.Max.x
|
||||||
local seps_y = ImTrunc((bb.Min.y + bb.Max.y) * 0.5 + 0.999)
|
local seps_y = ImTrunc((bb.Min.y + bb.Max.y) * 0.5) + 1.0
|
||||||
|
|
||||||
local label_avail_w = ImMax(0.0, sep2_x2 - sep1_x1 - padding.x * 2.0)
|
local label_avail_w = ImMax(0.0, sep2_x2 - sep1_x1 - padding.x * 2.0)
|
||||||
local label_pos = ImVec2(pos.x + padding.x + ImMax(0.0, (label_avail_w - label_size.x - extra_w) * style.SeparatorTextAlign.x), pos.y + text_baseline_y) -- FIXME-ALIGN
|
local label_pos = ImVec2(pos.x + padding.x + ImMax(0.0, (label_avail_w - label_size.x - extra_w) * style.SeparatorTextAlign.x), pos.y + text_baseline_y) -- FIXME-ALIGN
|
||||||
@@ -1889,11 +1863,11 @@ function ImGui.SeparatorTextEx(id, label, label_end, extra_w)
|
|||||||
local sep2_x1 = label_pos.x + label_size.x + extra_w + style.ItemSpacing.x
|
local sep2_x1 = label_pos.x + label_size.x + extra_w + style.ItemSpacing.x
|
||||||
|
|
||||||
if sep1_x2 > sep1_x1 and separator_thickness > 0.0 then
|
if sep1_x2 > sep1_x1 and separator_thickness > 0.0 then
|
||||||
window.DrawList:AddLineH(sep1_x1, sep1_x2, seps_y, separator_col, separator_thickness)
|
window.DrawList:AddLineH(sep1_x1, sep1_x2, seps_y, separator_col, separator_thickness, ImDrawFlags.StrokeCenterBiased)
|
||||||
end
|
end
|
||||||
|
|
||||||
if sep2_x2 > sep2_x1 and separator_thickness > 0.0 then
|
if sep2_x2 > sep2_x1 and separator_thickness > 0.0 then
|
||||||
window.DrawList:AddLineH(sep2_x1, sep2_x2, seps_y, separator_col, separator_thickness)
|
window.DrawList:AddLineH(sep2_x1, sep2_x2, seps_y, separator_col, separator_thickness, ImDrawFlags.StrokeCenterBiased)
|
||||||
end
|
end
|
||||||
|
|
||||||
if g.LogEnabled then
|
if g.LogEnabled then
|
||||||
@@ -1907,7 +1881,7 @@ function ImGui.SeparatorTextEx(id, label, label_end, extra_w)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if separator_thickness > 0.0 then
|
if separator_thickness > 0.0 then
|
||||||
window.DrawList:AddLineH(sep1_x1, sep2_x2, seps_y, separator_col, separator_thickness)
|
window.DrawList:AddLineH(sep1_x1, sep2_x2, seps_y, separator_col, separator_thickness, ImDrawFlags.StrokeCenterBiased)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -6236,10 +6210,10 @@ function ImGui.InputTextEx(label, hint, buf, buf_size, size_arg, flags, callback
|
|||||||
local cursor_is_visible = (not g.IO.ConfigInputTextCursorBlink) or (state.CursorAnim <= 0.0) or (ImFmod(state.CursorAnim, 1.20) <= 0.80)
|
local cursor_is_visible = (not g.IO.ConfigInputTextCursorBlink) or (state.CursorAnim <= 0.0) or (ImFmod(state.CursorAnim, 1.20) <= 0.80)
|
||||||
|
|
||||||
local cursor_screen_pos = ImTrunc(draw_pos + cursor_offset - draw_scroll)
|
local cursor_screen_pos = ImTrunc(draw_pos + cursor_offset - draw_scroll)
|
||||||
local cursor_screen_rect = ImRect(cursor_screen_pos.x, cursor_screen_pos.y - g.FontSize + 0.5, cursor_screen_pos.x + 1.0, cursor_screen_pos.y - 1.5)
|
local cursor_screen_rect = ImRect(cursor_screen_pos.x, cursor_screen_pos.y - g.FontSize + 1.0, cursor_screen_pos.x + 1.0, cursor_screen_pos.y - 1.0)
|
||||||
|
|
||||||
if cursor_is_visible and cursor_screen_rect:Overlaps(clip_rect) then
|
if cursor_is_visible and cursor_screen_rect:Overlaps(clip_rect) then
|
||||||
draw_window.DrawList:AddLineV(cursor_screen_rect.Min.x, cursor_screen_rect.Min.y, cursor_screen_rect.Max.y, ImGui.GetColorU32(ImGuiCol.InputTextCursor), style.InputTextCursorSize)
|
draw_window.DrawList:AddLineV(cursor_screen_rect.Min.x, cursor_screen_rect.Min.y, cursor_screen_rect.Max.y, ImGui.GetColorU32(ImGuiCol.InputTextCursor), style.InputTextCursorSize, ImDrawFlags.StrokeInside)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Notify OS of text input position for advanced IME (-1 x offset so that Windows IME can cover our cursor. Bit of an extra nicety.)
|
-- Notify OS of text input position for advanced IME (-1 x offset so that Windows IME can cover our cursor. Bit of an extra nicety.)
|
||||||
@@ -7117,7 +7091,7 @@ function ImGui.ColorPicker4(label, col, flags, ref_col)
|
|||||||
if alpha_bar then
|
if alpha_bar then
|
||||||
local alpha = ImSaturate(col[4])
|
local alpha = ImSaturate(col[4])
|
||||||
local bar1_bb = ImRect(bar1_pos_x, picker_pos.y, bar1_pos_x + bars_width, picker_pos.y + sv_picker_size)
|
local bar1_bb = ImRect(bar1_pos_x, picker_pos.y, bar1_pos_x + bars_width, picker_pos.y + sv_picker_size)
|
||||||
ImGui.RenderColorRectWithAlphaCheckerboard(draw_list, bar1_bb.Min, bar1_bb.Max, 0, bar1_bb:GetWidth() / 2.0, ImVec2(0.0, 0.0))
|
ImGui.RenderColorRectWithAlphaCheckerboard(draw_list, bar1_bb.Min, bar1_bb.Max, IM_COL32(0, 0, 0, 0), style.Alpha, bar1_bb:GetWidth() / 2.0, ImVec2(0.0, 0.0))
|
||||||
draw_list:AddRectFilledMultiColor(bar1_bb.Min, bar1_bb.Max, user_col32_striped_of_alpha, user_col32_striped_of_alpha, bit32.band(user_col32_striped_of_alpha, bit32.bnot(IM_COL32_A_MASK)), bit32.band(user_col32_striped_of_alpha, bit32.bnot(IM_COL32_A_MASK)))
|
draw_list:AddRectFilledMultiColor(bar1_bb.Min, bar1_bb.Max, user_col32_striped_of_alpha, user_col32_striped_of_alpha, bit32.band(user_col32_striped_of_alpha, bit32.bnot(IM_COL32_A_MASK)), bit32.band(user_col32_striped_of_alpha, bit32.bnot(IM_COL32_A_MASK)))
|
||||||
|
|
||||||
local bar1_line_y = IM_ROUND(picker_pos.y + (1.0 - alpha) * sv_picker_size)
|
local bar1_line_y = IM_ROUND(picker_pos.y + (1.0 - alpha) * sv_picker_size)
|
||||||
@@ -7195,36 +7169,45 @@ function ImGui.ColorButton(desc_id, col, flags, size_arg)
|
|||||||
local col_rgb_without_alpha = ImVec4(col_rgb.x, col_rgb.y, col_rgb.z, 1.0)
|
local col_rgb_without_alpha = ImVec4(col_rgb.x, col_rgb.y, col_rgb.z, 1.0)
|
||||||
local grid_step = ImMin(size.x, size.y) / 2.99
|
local grid_step = ImMin(size.x, size.y) / 2.99
|
||||||
local rounding = ImMin(g.Style.FrameRounding, grid_step * 0.5)
|
local rounding = ImMin(g.Style.FrameRounding, grid_step * 0.5)
|
||||||
local bb_inner = ImRect()
|
local is_mixed = bit32.band(g.LastItemData.ItemFlags, ImGuiItemFlags.MixedValue) ~= 0
|
||||||
ImRect_Copy(bb_inner, bb)
|
|
||||||
local off = 0.0
|
local backup_alpha = g.Style.Alpha
|
||||||
if bit32.band(flags, ImGuiColorEditFlags.NoBorder) == 0 then
|
if g.DisabledStackSize > 0 then
|
||||||
off = -0.75
|
g.Style.Alpha = g.DisabledAlphaBackup -- Cancel out effect of BeginDisabled() for color swatches.
|
||||||
bb_inner:Expand(off)
|
|
||||||
end
|
end
|
||||||
if bit32.band(flags, ImGuiColorEditFlags.AlphaPreviewHalf) ~= 0 and col_rgb.w < 1.0 then
|
if is_mixed then
|
||||||
local mid_x = IM_ROUND((bb_inner.Min.x + bb_inner.Max.x) * 0.5)
|
window.DrawList:AddRectFilled(bb.Min, bb.Max, ImGui.GetColorU32(ImGuiCol.FrameBg), rounding)
|
||||||
if bit32.band(flags, ImGuiColorEditFlags.AlphaNoBg) == 0 then
|
ImGui.PushStyleColor(ImGuiCol.Text, g.Style.Colors[ImGuiCol.TextDisabled]) -- ImGuiCol_TextMixedValue
|
||||||
ImGui.RenderColorRectWithAlphaCheckerboard(window.DrawList, ImVec2(bb_inner.Min.x + grid_step, bb_inner.Min.y), bb_inner.Max, ImGui.GetColorU32(col_rgb), grid_step, ImVec2(-grid_step + off, off), rounding, ImDrawFlags.RoundRight)
|
if g.MixedValueLabel ~= nil then
|
||||||
else
|
ImGui.RenderTextClipped(ImVec2(bb.Min.x, bb.Min.y + g.Style.FramePadding.y), bb.Max, g.MixedValueLabel, nil, nil, ImVec2(0.5, 0.0))
|
||||||
window.DrawList:AddRectFilled(ImVec2(bb_inner.Min.x + grid_step, bb_inner.Min.y), bb_inner.Max, ImGui.GetColorU32(col_rgb), rounding, ImDrawFlags.RoundRight)
|
|
||||||
end
|
end
|
||||||
window.DrawList:AddRectFilled(bb_inner.Min, ImVec2(mid_x, bb_inner.Max.y), ImGui.GetColorU32(col_rgb_without_alpha), rounding, ImDrawFlags.RoundLeft)
|
ImGui.PopStyleColor()
|
||||||
|
elseif bit32.band(flags, ImGuiColorEditFlags.AlphaPreviewHalf) ~= 0 and col_rgb.w < 1.0 then
|
||||||
|
local mid_x = IM_ROUND((bb.Min.x + bb.Max.x) * 0.5)
|
||||||
|
if bit32.band(flags, ImGuiColorEditFlags.AlphaNoBg) == 0 then
|
||||||
|
ImGui.RenderColorRectWithAlphaCheckerboard(window.DrawList, ImVec2(bb.Min.x + grid_step, bb.Min.y), bb.Max, ImGui.ColorConvertFloat4ToU32(col_rgb), g.Style.Alpha, grid_step, ImVec2(-grid_step, 0.0), rounding, ImDrawFlags.RoundRight)
|
||||||
|
else
|
||||||
|
window.DrawList:AddRectFilled(ImVec2(bb.Min.x + grid_step, bb.Min.y), bb.Max, ImGui.GetColorU32(col_rgb), rounding, ImDrawFlags.RoundRight)
|
||||||
|
end
|
||||||
|
window.DrawList:AddRectFilled(bb.Min, ImVec2(mid_x, bb.Max.y), ImGui.GetColorU32(col_rgb_without_alpha), rounding, ImDrawFlags.RoundLeft)
|
||||||
else
|
else
|
||||||
-- Because GetColorU32() multiplies by the global style Alpha and we don't want to display a checkerboard if the source code had no alpha
|
-- Because GetColorU32() multiplies by the global style Alpha and we don't want to display a checkerboard if the source code had no alpha
|
||||||
local col_source = (bit32.band(flags, ImGuiColorEditFlags.AlphaOpaque) ~= 0) and col_rgb_without_alpha or col_rgb
|
local col_source = (bit32.band(flags, ImGuiColorEditFlags.AlphaOpaque) ~= 0) and col_rgb_without_alpha or col_rgb
|
||||||
if col_source.w < 1.0 and bit32.band(flags, ImGuiColorEditFlags.AlphaNoBg) == 0 then
|
if col_source.w < 1.0 and bit32.band(flags, ImGuiColorEditFlags.AlphaNoBg) == 0 then
|
||||||
ImGui.RenderColorRectWithAlphaCheckerboard(window.DrawList, bb_inner.Min, bb_inner.Max, ImGui.GetColorU32(col_source), grid_step, ImVec2(off, off), rounding)
|
ImGui.RenderColorRectWithAlphaCheckerboard(window.DrawList, bb.Min, bb.Max, ImGui.ColorConvertFloat4ToU32(col_source), g.Style.Alpha, grid_step, ImVec2(0.0, 0.0), rounding)
|
||||||
else
|
else
|
||||||
window.DrawList:AddRectFilled(bb_inner.Min, bb_inner.Max, ImGui.GetColorU32(col_source), rounding)
|
window.DrawList:AddRectFilled(bb.Min, bb.Max, ImGui.GetColorU32(col_source), rounding)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
if g.DisabledStackSize > 0 then
|
||||||
|
g.Style.Alpha = backup_alpha
|
||||||
|
end
|
||||||
ImGui.RenderNavCursor(bb, id)
|
ImGui.RenderNavCursor(bb, id)
|
||||||
if bit32.band(flags, ImGuiColorEditFlags.NoBorder) == 0 then
|
if bit32.band(flags, ImGuiColorEditFlags.NoBorder) == 0 then
|
||||||
if g.Style.FrameBorderSize > 0.0 then
|
if g.Style.FrameBorderSize > 0.0 then
|
||||||
ImGui.RenderFrameBorder(bb.Min, bb.Max, rounding)
|
ImGui.RenderFrameBorder(bb.Min, bb.Max, rounding)
|
||||||
else
|
else
|
||||||
window.DrawList:AddRect(bb.Min, bb.Max, ImGui.GetColorU32(ImGuiCol.FrameBg), rounding) -- Color buttons are often in need of some sort of border
|
window.DrawList:AddRect(bb.Min, bb.Max, ImGui.GetColorU32(ImGuiCol.FrameBg), rounding, 1.0 * ImTrunc(g.Style._MainScale)) -- Color buttons are often in need of some sort of border -- FIXME-DPI
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -7907,23 +7890,27 @@ function ImGui.TreeNodeDrawLineToChildNode(target_pos)
|
|||||||
|
|
||||||
-- FIXME: Could this be simplified using new stroke flags?
|
-- FIXME: Could this be simplified using new stroke flags?
|
||||||
local parent_data = g.TreeNodeStack.Data[g.TreeNodeStack.Size]
|
local parent_data = g.TreeNodeStack.Data[g.TreeNodeStack.Size]
|
||||||
local x1 = ImTrunc(parent_data.DrawLinesX1)
|
local half_size = g.Style.TreeLinesSize * 0.5
|
||||||
|
local x1 = ImTrunc(parent_data.DrawLinesX1 - half_size) + half_size -- Draw line centered at X1, but snap to pixels boundary.
|
||||||
local x2 = ImTrunc(target_pos.x - g.Style.ItemInnerSpacing.x)
|
local x2 = ImTrunc(target_pos.x - g.Style.ItemInnerSpacing.x)
|
||||||
local y = ImTrunc(target_pos.y)
|
local y = ImTrunc(target_pos.y - half_size) + half_size
|
||||||
local rounding = (g.Style.TreeLinesRounding > 0.0) and ImMin(x2 - x1, g.Style.TreeLinesRounding) or 0.0
|
local rounding = (g.Style.TreeLinesRounding > 0.0) and ImMin(x2 - x1, g.Style.TreeLinesRounding) or 0.0
|
||||||
parent_data.DrawLinesToNodesY2 = ImMax(parent_data.DrawLinesToNodesY2, y - rounding)
|
parent_data.DrawLinesToNodesY2 = ImMax(parent_data.DrawLinesToNodesY2, y - rounding)
|
||||||
if x1 >= x2 then
|
if x1 >= x2 then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if rounding > 0.0 then
|
if rounding > 0.0 and rounding > half_size then
|
||||||
x1 = x1 + 0.5 + rounding
|
x1 = x1 + rounding
|
||||||
window.DrawList:PathArcToFast(ImVec2(x1, y - rounding), rounding, 6, 3)
|
window.DrawList:PathArcToFast(ImVec2(x1, y - rounding), rounding, 6, 3)
|
||||||
if x1 < x2 then
|
if x1 < x2 then
|
||||||
window.DrawList:PathLineTo(ImVec2(x2, y))
|
window.DrawList:PathLineTo(ImVec2(x2, y))
|
||||||
end
|
end
|
||||||
window.DrawList:PathStroke(ImGui.GetColorU32(ImGuiCol.TreeLines), g.Style.TreeLinesSize)
|
window.DrawList:PathStroke(ImGui.GetColorU32(ImGuiCol.TreeLines), g.Style.TreeLinesSize)
|
||||||
else
|
else
|
||||||
window.DrawList:AddLineH(x1, x2, y, ImGui.GetColorU32(ImGuiCol.TreeLines), g.Style.TreeLinesSize)
|
-- We use AddLine() instead of AddLineH() as we provide coordinates for line center,
|
||||||
|
-- in order to make the code use same coordinates for both rounded and non-rounded version. (FIXME-OPT)
|
||||||
|
x1 = x1 + half_size -- Avoid overdraw
|
||||||
|
window.DrawList:AddLine(ImVec2(x1, y), ImVec2(x2, y), ImGui.GetColorU32(ImGuiCol.TreeLines), g.Style.TreeLinesSize)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -11905,7 +11892,7 @@ function ImGui.TabItemBackground(draw_list, bb, flags, col)
|
|||||||
draw_list:PathArcToFast(ImVec2(bb.Min.x + rounding, y1 + rounding), rounding, 6, 9)
|
draw_list:PathArcToFast(ImVec2(bb.Min.x + rounding, y1 + rounding), rounding, 6, 9)
|
||||||
draw_list:PathArcToFast(ImVec2(bb.Max.x - rounding, y1 + rounding), rounding, 9, 12)
|
draw_list:PathArcToFast(ImVec2(bb.Max.x - rounding, y1 + rounding), rounding, 9, 12)
|
||||||
draw_list:PathLineTo(ImVec2(bb.Max.x, y2))
|
draw_list:PathLineTo(ImVec2(bb.Max.x, y2))
|
||||||
draw_list:PathStroke(ImGui.GetColorU32(ImGuiCol.Border), g.Style.TabBorderSize)
|
draw_list:PathStroke(ImGui.GetColorU32(ImGuiCol.Border), g.Style.TabBorderSize, ImDrawFlags.StrokeCenterBiased) -- Use _StrokeInside?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -4,4 +4,4 @@ set -e
|
|||||||
cd "$(dirname "$0")/../../.."
|
cd "$(dirname "$0")/../../.."
|
||||||
python3 tools/bundle.py --target love >/dev/null
|
python3 tools/bundle.py --target love >/dev/null
|
||||||
nix-shell -p luajit --run "luajit tools/test/love/t_drawhash.lua 150 Widgets,Basic && luajit tools/test/love/t_drawhash.lua 150 all && luajit tools/test/love/t_examples.lua"
|
nix-shell -p luajit --run "luajit tools/test/love/t_drawhash.lua 150 Widgets,Basic && luajit tools/test/love/t_drawhash.lua 150 all && luajit tools/test/love/t_examples.lua"
|
||||||
echo "expected (Luau, tools/test/scripts/t_drawhash.luau): 1746012297 / 1639427837"
|
echo "expected (Luau, tools/test/scripts/t_drawhash.luau): 154977593 / 62816915"
|
||||||
|
|||||||
Reference in New Issue
Block a user