fix(sidebar): top-padding mirrors header toolbar height, restore standard button height
Sidebar buttons sat at the window top while messages began below the
chat header toolbar — vertical mismatch flagged by Flo. Adding a
GetFrameHeightWithSpacing dummy at the top of the sidebar child shifts
the entire button column down to align with the first message row.
Reverted the previous TextLineHeight+4f button shrink (commit 8a78390):
buttons size was fine, only their vertical position needed correction.
This commit is contained in:
@@ -1466,6 +1466,14 @@ public sealed class ChatLogWindow : Window
|
||||
{
|
||||
if (child)
|
||||
{
|
||||
// v1.2.0 — Top-Padding spiegelt die HeaderToolbar-Höhe der
|
||||
// rechten Spalte (DrawChatHeaderToolbar wird dort als erstes
|
||||
// gerendert, eine Frame-Zeile + ItemSpacing). Ohne diesen
|
||||
// Padding würden die Sidebar-Buttons oben am Window-Top
|
||||
// kleben, während die Messages erst unter der Toolbar
|
||||
// beginnen — vertikales Mismatch.
|
||||
ImGui.Dummy(new Vector2(0, ImGui.GetFrameHeightWithSpacing()));
|
||||
|
||||
var previousTab = Plugin.CurrentTab;
|
||||
// Hellion Chat — auto-tell-tabs section divider rendered
|
||||
// exactly once before the first temp tab, with a live unit
|
||||
@@ -1535,21 +1543,13 @@ public sealed class ChatLogWindow : Window
|
||||
: (showGreetedAffordance && tab.IsGreeted ? theme.Colors.TextDim : theme.Colors.TextPrimary);
|
||||
|
||||
bool clicked;
|
||||
// v1.2.0 Bug-Fix — Sidebar-Buttons waren sichtbar höher als das Input-Feld.
|
||||
// Ursache: ImGui.GetFrameHeight() = FontSize + FramePadding.Y * 2, und unser
|
||||
// HellionStyle pusht eigene FramePadding-Werte. Fix: explizit FramePadding
|
||||
// (4, 2) für diesen Button überschreiben UND Höhe FramePadding-unabhängig
|
||||
// aus TextLineHeight + 4f berechnen. Berechnung BEVOR FontAwesome.Push(),
|
||||
// weil Icon-Glyphen größere Line-Metriken haben als der Standard-Font.
|
||||
var buttonHeight = ImGui.GetTextLineHeight() + 4f;
|
||||
using (ImRaii.PushStyle(ImGuiStyleVar.FramePadding, new Vector2(4f, 2f)))
|
||||
using (ImRaii.PushColor(ImGuiCol.Button, 0u))
|
||||
using (ImRaii.PushColor(ImGuiCol.ButtonHovered, ColourUtil.RgbaToAbgr(theme.Colors.SurfaceHover)))
|
||||
using (ImRaii.PushColor(ImGuiCol.ButtonActive, ColourUtil.RgbaToAbgr(theme.Colors.Surface)))
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ColourUtil.RgbaToAbgr(iconColor)))
|
||||
using (Plugin.FontManager.FontAwesome.Push())
|
||||
{
|
||||
clicked = ImGui.Button($"{icon.ToIconString()}##sidebar-tab-{tabI}", new Vector2(36f, buttonHeight));
|
||||
clicked = ImGui.Button($"{icon.ToIconString()}##sidebar-tab-{tabI}", new Vector2(36f, ImGui.GetFrameHeight()));
|
||||
}
|
||||
|
||||
if (isCurrentTab)
|
||||
|
||||
Reference in New Issue
Block a user