Overhauled about window & added credits

This commit is contained in:
Asriel Camora
2024-02-27 04:08:21 -08:00
parent 0d2c811c91
commit 2c6fcc7af7
3 changed files with 110 additions and 3 deletions
+40
View File
@@ -588,17 +588,51 @@ internal static class ImGuiUtils
public static void Tooltip(string text)
{
using var _font = ImRaii.PushFont(UiBuilder.DefaultFont);
using var _tooltip = ImRaii.Tooltip();
ImGui.TextUnformatted(text);
}
public static void TooltipWrapped(string text, float width = 300)
{
using var _font = ImRaii.PushFont(UiBuilder.DefaultFont);
using var _tooltip = ImRaii.Tooltip();
using var _wrap = ImRaii2.TextWrapPos(width);
ImGui.TextUnformatted(text);
}
public static void TextWrappedTo(string text, float wrapPosX = default, float basePosX = default)
{
var font = ImGui.GetFont();
var currentPos = ImGui.GetCursorPosX();
if (basePosX == default)
basePosX = ImGui.GetCursorStartPos().X;
float currentWrapWidth;
if (wrapPosX == default)
currentWrapWidth = ImGui.GetContentRegionAvail().X;
else
currentWrapWidth = wrapPosX - currentPos;
var textBuf = text.AsSpan();
var lineSize = font.CalcWordWrapPositionA(1, textBuf, currentWrapWidth) ?? textBuf.Length;
var lineBuf = textBuf[..lineSize];
ImGui.Text(lineBuf.ToString());
var remainingBuf = textBuf[lineSize..];
while (!remainingBuf.IsEmpty && char.IsWhiteSpace(remainingBuf[0]))
remainingBuf = remainingBuf[1..];
if (!remainingBuf.IsEmpty)
{
ImGui.SetCursorPosX(basePosX);
using (ImRaii2.TextWrapPos(wrapPosX))
ImGui.TextWrapped(remainingBuf.ToString());
}
}
public static void AlignCentered(float width, float availWidth = default)
{
if (availWidth == default)
@@ -657,6 +691,12 @@ internal static class ImGuiUtils
return ImGui.Button(text, buttonSize);
}
public static float GetFontSize(this IFontHandle font)
{
using (font.Push())
return ImGui.GetFontSize();
}
public static Vector2 CalcTextSize(this IFontHandle font, string text)
{
using (font.Push())