- Switch ImRaii to new ref struct syntax

- Implement Disposable objects from ImSharp
This commit is contained in:
Infi 2026-02-14 18:43:22 +01:00
parent 5da79a7dba
commit f593433fcb
38 changed files with 2113 additions and 501 deletions

View file

@ -893,8 +893,8 @@ internal class SeStringCreatorWidget : IDataWindowWidget
return;
}
using var node = asTreeNode ? this.SeStringTreeNode(id, rosss) : null;
if (asTreeNode && !node!) return;
using var node = asTreeNode ? this.SeStringTreeNode(id, rosss) : default;
if (asTreeNode && !node) return;
if (!asTreeNode && renderSeString)
{
@ -1237,7 +1237,7 @@ internal class SeStringCreatorWidget : IDataWindowWidget
return parameters.OrderBy(x => x.Key).Select(x => x.Value).ToArray();
}
private ImRaii.IEndObject SeStringTreeNode(string id, ReadOnlySeStringSpan previewText, uint color = 0xFF00FFFF, ImGuiTreeNodeFlags flags = ImGuiTreeNodeFlags.None)
private ImRaii.TreeNodeDisposable SeStringTreeNode(string id, ReadOnlySeStringSpan previewText, uint color = 0xFF00FFFF, ImGuiTreeNodeFlags flags = ImGuiTreeNodeFlags.None)
{
using var titleColor = ImRaii.PushColor(ImGuiCol.Text, color);
var node = ImRaii.TreeNode("##" + id, flags);