From 6f1a05cfa4d9323b55dc4da3221d10c58c2327d4 Mon Sep 17 00:00:00 2001 From: physcik Date: Fri, 27 Mar 2026 14:49:41 +0500 Subject: Stacked elements display logic separated --- engine/UI/Label.go | 33 +++++++++++---------------------- 1 file changed, 11 insertions(+), 22 deletions(-) (limited to 'engine/UI/Label.go') diff --git a/engine/UI/Label.go b/engine/UI/Label.go index 08f5943..64bb8d0 100644 --- a/engine/UI/Label.go +++ b/engine/UI/Label.go @@ -53,9 +53,17 @@ func (base *Label) Init(menu *Menu) { func (base *Label) Destroy() { } +func (base *Label) GetBackgroundElement() UIElement { + return base.BackgroundElement +} + +func (base *Label) GetOccupationWeight() float32 { + return base.Weight +} + func (base *Label) Draw(position *rl.Rectangle) { // rl.TraceLog(rl.LogInfo, "Drawn at %v/%v/%v/%v", position.X, position.Y, position.Width, position.Height) - base.drawBackground(position) + drawStackedElementBackground(base, position) var textHeight = base.getTextHeight(position) var textY = int32(position.Y + *base.Style.Padding) if base.Alignment == Center { @@ -68,27 +76,8 @@ func (base *Label) Draw(position *rl.Rectangle) { *base.Style.FontColor) } -func (base *Label) drawBackground(position *rl.Rectangle) { - if base.BackgroundElement == nil { - base.drawSimpleBackground(position) - } else { - base.drawBackgroundElement(position) - } -} - -func (base *Label) drawSimpleBackground(position *rl.Rectangle) { - rl.DrawRectangleRounded(*position, - *base.Style.Roundness, - 0, // Assume the segments param is always 0 - it doesn't really matter without a border - *base.Style.BacgroundColor) -} - -func (base *Label) drawBackgroundElement(position *rl.Rectangle) { - base.BackgroundElement.Draw(position) -} - -func (base *Label) GetOccupationWeight() float32 { - return base.Weight +func (base *Label) GetStyle() *Style { + return &base.Style } // Returns the size of the text that will not overflow in the side -- cgit v1.3