diff options
| author | physcik <mynameisgennadiy@vk.com> | 2026-03-27 14:49:41 +0500 |
|---|---|---|
| committer | physcik <mynameisgennadiy@vk.com> | 2026-03-27 14:50:00 +0500 |
| commit | 6f1a05cfa4d9323b55dc4da3221d10c58c2327d4 (patch) | |
| tree | 8812ad103641f0711b650b62e4b27d30405ffdb2 /engine/UI/Label.go | |
| parent | 3f6bf25f2ed5fc5626c46a4218cc1d627ec401c2 (diff) | |
Stacked elements display logic separated
Diffstat (limited to 'engine/UI/Label.go')
| -rw-r--r-- | engine/UI/Label.go | 33 |
1 files changed, 11 insertions, 22 deletions
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 |
