diff options
Diffstat (limited to 'engine/Dynamic')
| -rw-r--r-- | engine/Dynamic/Descriptors/UIElement.go | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/engine/Dynamic/Descriptors/UIElement.go b/engine/Dynamic/Descriptors/UIElement.go index 0e59c9a..616d001 100644 --- a/engine/Dynamic/Descriptors/UIElement.go +++ b/engine/Dynamic/Descriptors/UIElement.go @@ -67,22 +67,12 @@ func parseAsLabel(base *UIElementDescriptor) ui.UIElement { alignment = ui.Start } - var child ui.UIElement = nil - if base.BackgroundElement != nil { - var parsed, err = base.BackgroundElement.Parse() - if err == nil { - child = parsed - } else { - rl.TraceLog(rl.LogWarning, "Failed to parse a background element of a label: %v", err.Error()) - } - } - return &ui.Label { Weight: base.Weight, Text: base.Text, Alignment: alignment, Style: base.Style.Parse(), - BackgroundElement: child, + BackgroundElement: base.getBackgroundElement(), } } @@ -91,6 +81,7 @@ func parseAsGridRow(base *UIElementDescriptor) ui.UIElement { Weight: base.Weight, Spacing: base.Spacing, Style: base.Style.Parse(), + BackgroundElement: base.getBackgroundElement(), Objects: make([]ui.UIElement, 0, len(base.Children)), } for _, v := range base.Children { @@ -109,6 +100,7 @@ func parseAsGridColumn(base *UIElementDescriptor) ui.UIElement { Weight: base.Weight, Spacing: base.Spacing, Style: base.Style.Parse(), + BackgroundElement: base.getBackgroundElement(), Objects: make([]ui.UIElement, 0, len(base.Children)), } for _, v := range base.Children { @@ -135,3 +127,16 @@ func parseAsImage(base *UIElementDescriptor) ui.UIElement { } return &outp } + +func (base *UIElementDescriptor) getBackgroundElement() ui.UIElement { + var child ui.UIElement = nil + if base.BackgroundElement != nil { + var parsed, err = base.BackgroundElement.Parse() + if err == nil { + child = parsed + } else { + rl.TraceLog(rl.LogWarning, "Failed to parse a background element of a label: %v", err.Error()) + } + } + return child +} |
