From 5332fa7320f8427bd68556ea50450d0f597ef5c5 Mon Sep 17 00:00:00 2001 From: Lorenzo Cogotti Date: Wed, 17 Aug 2022 17:04:25 +0200 Subject: [PATCH] [examples,README] Include "Hello, World!" example. --- README.md | 40 +++++++++++++++++++++++++++++++++- examples/pics/hello_world.png | Bin 0 -> 20592 bytes 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 examples/pics/hello_world.png diff --git a/README.md b/README.md index 82b0c42..e9f29ac 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,44 @@ for games using the [LÖVE](https://love2d.org) engine. Because I'm spending so much time tweaking and customizing existing libraries, I might as well make my own. +## Hello, World! + +```lua +local yui = require 'lib.yui' + +function love.load() + local w, h = 300, 80 + local x = math.floor((love.graphics.getWidth() - w) / 2) + local y = math.floor((love.graphics.getHeight() - h) / 2) + + ui = yui.Ui.new { + x = x, y = y, + + yui.Rows { + yui.Label { + w = w, h = h / 2, + text = "Hello, World!" + }, + yui.Button { + text = "Close", + + onHit = function() love.event.quit() end + } + } + } +end + +function love.update(dt) + ui:update(dt) +end + +function love.draw() + ui:draw() +end +``` + +![Hello, World!](examples/pics/hello_world.png) + ## Features **Yui** fills the following gaps: @@ -109,7 +147,7 @@ Simple User Interface Toolkit (**SUIT**) for LÖVE by Matthias Richter. SUIT's source code is available at: [vrld/SUIT](https://github.com/vrld/SUIT). SUIT is licensed under the [MIT license](https://github.com/vrld/suit/blob/master/license.txt). -Widgets offered by **yui** are also inspired by **SUIT**. +Widgets offered by **yui** and basic theme are also mostly taken from **SUIT**. See [ACKNOWLEDGEMENT](README.ACKNOWLEDGEMENT) for full SUIT license information and copyright notice. diff --git a/examples/pics/hello_world.png b/examples/pics/hello_world.png new file mode 100644 index 0000000000000000000000000000000000000000..4dc3ea581fb5e23d93657675db163ce49b3e2a12 GIT binary patch literal 20592 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 HB{Ts5;%D<8 literal 0 HcmV?d00001