This commit is contained in:
Michael Freno
2025-12-11 07:03:06 -05:00
parent 0d35825913
commit eaf7383b8f
2 changed files with 16 additions and 21 deletions

View File

@@ -2,15 +2,8 @@
**A comprehensive UI library providing flexbox/grid layouts, theming, animations, and event handling for LÖVE2D games.** **A comprehensive UI library providing flexbox/grid layouts, theming, animations, and event handling for LÖVE2D games.**
FlexLöve is a lightweight, flexible GUI library for Löve2D that implements a flexbox-based layout system. FlexLöve is a flexible GUI library for Löve2D that implements a flexbox-based layout system.
The goals of this project are two-fold, first, anyone with basic CSS knowledge should be able to The goals of this project are two-fold, first, to make a UI library that anyone with basic CSS knowledge can run with a minimal learning curve, and second, to have a single library take you from early prototyping to production easily and gradually.
use this library with minimal learning curve. Second, this library should take you from early prototyping to production.
## ⚠️ Development Status
This library is under rapid, active development. While many features are functional, some aspects may change or have incomplete/broken implementations.
## Features ## Features
@@ -27,7 +20,7 @@ This library is under rapid, active development. While many features are functio
- **Text Rendering**: Flexible text display with alignment and auto-scaling - **Text Rendering**: Flexible text display with alignment and auto-scaling
- **Corner Radius**: Rounded corners with individual corner control - **Corner Radius**: Rounded corners with individual corner control
- **Advanced Positioning**: Absolute, relative, flex, and grid positioning modes - **Advanced Positioning**: Absolute, relative, flex, and grid positioning modes
- **Multi-Touch & Gestures(Not yet tested)**: Touch event tracking, gesture recognition (tap, double-tap, long-press, swipe, pan, pinch, rotate), and touch scrolling with momentum/bounce - **(Warning - Alpha-stages - Not yet tested) Multi-Touch & Gestures**: Touch event tracking, gesture recognition (tap, double-tap, long-press, swipe, pan, pinch, rotate), and touch scrolling with momentum/bounce
## Quick Start ## Quick Start
@@ -43,20 +36,22 @@ luarocks install flexlove
Going this route, you will need to link the luarocks path to your project: Going this route, you will need to link the luarocks path to your project:
(for mac/linux) (for mac/linux)
```lua ```lua
package.path = package.path .. ";/Users/<your_username>/.luarocks/share/lua/5.1/?.lua" package.path = package.path .. ";/Users/<username>/.luarocks/share/lua/<version>/?.lua"
package.path = package.path .. ";/Users/<your_username>/.luarocks/share/lua/5.1/?/init.lua" package.path = package.path .. ";/Users/<username>/.luarocks/share/lua/<version>/?/init.lua"
package.cpath = package.cpath .. ";/Users/<your_username>/.luarocks/lib/lua/5.1/?.so" package.cpath = package.cpath .. ";/Users/<username>/.luarocks/lib/lua/<version>/?.so"
``` ```
```lua ```lua
local FlexLove = require("FlexLove") local FlexLove = require("FlexLove")
function love.load()
-- (Optional) Initialize with a theme and immediate mode -- (Optional) Initialize with a theme and immediate mode
FlexLove.init({ FlexLove.init({
theme = "space", theme = "space",
immediateMode = true immediateMode = true
}) })
end
function love.update(dt) function love.update(dt)
FlexLove.update(dt) FlexLove.update(dt)

View File

@@ -28,9 +28,9 @@ description = {
Going this route, you will need to link the luarocks path to your project: Going this route, you will need to link the luarocks path to your project:
(for mac/linux) (for mac/linux)
```lua ```lua
package.path = package.path .. ";/Users/<your_username>/.luarocks/share/lua/5.1/?.lua" package.path = package.path .. ";/Users/<username>/.luarocks/share/lua/<version>/?.lua"
package.path = package.path .. ";/Users/<your_username>/.luarocks/share/lua/5.1/?/init.lua" package.path = package.path .. ";/Users/<username>/.luarocks/share/lua/<version>/?/init.lua"
package.cpath = package.cpath .. ";/Users/<your_username>/.luarocks/lib/lua/5.1/?.so" package.cpath = package.cpath .. ";/Users/<username>/.luarocks/lib/lua/<version>/?.so"
``` ```
]], ]],
homepage = "https://mikefreno.github.io/FlexLove/", homepage = "https://mikefreno.github.io/FlexLove/",