diff options
| author | physcik <mynameisgennadiy@vk.com> | 2026-03-23 18:04:56 +0500 |
|---|---|---|
| committer | physcik <mynameisgennadiy@vk.com> | 2026-03-23 18:04:56 +0500 |
| commit | a4d30665a9aeddc9777761a322a48d56d9f44378 (patch) | |
| tree | 13b7a2d48dfbcd9b29b191c6dd572ce4cd39d070 /engine/Dynamic/Descriptors | |
| parent | d470cca696d98b2a84f1667f29139c750888cdcd (diff) | |
Image UI element basics
Diffstat (limited to 'engine/Dynamic/Descriptors')
| -rw-r--r-- | engine/Dynamic/Descriptors/UIElement.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/engine/Dynamic/Descriptors/UIElement.go b/engine/Dynamic/Descriptors/UIElement.go index 1b19ba2..da523e9 100644 --- a/engine/Dynamic/Descriptors/UIElement.go +++ b/engine/Dynamic/Descriptors/UIElement.go @@ -4,6 +4,7 @@ import ( "fmt" "strings" + components "github.com/DegustatorPonos/RuinesOfRafdolon/Components" ui "github.com/DegustatorPonos/RuinesOfRafdolon/UI" rl "github.com/gen2brain/raylib-go/raylib" ) @@ -20,6 +21,9 @@ type UIElementDescriptor struct { // For grid elements Children []UIElementDescriptor Spacing float32 + + // For images + TextureName string } // We have to initialize the map so that we avoid the circular reference in the recursive parsing @@ -27,6 +31,7 @@ func InitUIParser() { typeParsers = map[string]func(*UIElementDescriptor) ui.UIElement { ui.VoidTypeName: parseAsVoid, ui.LabelTypeName: parseAsLabel, + ui.ImageTypeName: parseAsImage, ui.GridRowTypeName: parseAsGridRow, ui.GridColumnTypeName: parseAsGridColumn, } @@ -102,3 +107,17 @@ func parseAsGridColumn(base *UIElementDescriptor) ui.UIElement { } return &outp } + +func parseAsImage(base *UIElementDescriptor) ui.UIElement { + var texture, err = components.Resources.Textures.GetTextureByName(base.TextureName) + if err != nil { + rl.TraceLog(rl.LogWarning, "Failed to parse a texture %s requested by an inage UI element: %v", base.TextureName, err.Error()) + return nil + } + var outp = ui.Image { + Weight: base.Weight, + Texture: texture, + Style: base.Style.Parse(), + } + return &outp +} |
