Initial commit: AetherBags + KamiToolKit for FC Gitea
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
using System.Numerics;
|
||||
using KamiToolKit.Nodes;
|
||||
using Lumina.Text.ReadOnly;
|
||||
|
||||
namespace KamiToolKit.Premade.Nodes;
|
||||
|
||||
public class UnderlinedTextNode : SimpleComponentNode {
|
||||
|
||||
public readonly CategoryTextNode LabelTextNode;
|
||||
public readonly HorizontalLineNode LineNode;
|
||||
|
||||
public UnderlinedTextNode() {
|
||||
LabelTextNode = new CategoryTextNode();
|
||||
LabelTextNode.AttachNode(this);
|
||||
|
||||
LineNode = new HorizontalLineNode {
|
||||
Height = 4.0f,
|
||||
};
|
||||
LineNode.AttachNode(this);
|
||||
}
|
||||
|
||||
protected override void OnSizeChanged() {
|
||||
base.OnSizeChanged();
|
||||
|
||||
LabelTextNode.Size = new Vector2(Width, Height - 4.0f);
|
||||
LabelTextNode.Position = new Vector2(0.0f, 0.0f);
|
||||
|
||||
LineNode.Position = new Vector2(0.0f, LabelTextNode.Bounds.Bottom - 4.0f);
|
||||
RecalculateLineSize();
|
||||
}
|
||||
|
||||
public ReadOnlySeString String {
|
||||
get => LabelTextNode.String;
|
||||
set {
|
||||
LabelTextNode.String = value;
|
||||
RecalculateLineSize();
|
||||
}
|
||||
}
|
||||
|
||||
private void RecalculateLineSize() {
|
||||
var textSize = LabelTextNode.GetTextDrawSize();
|
||||
LineNode.Width = textSize.X + 32.0f;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user