Skip to content

Latest commit

 

History

History
105 lines (80 loc) · 2.69 KB

README.md

File metadata and controls

105 lines (80 loc) · 2.69 KB

mupen-lua-ugui

Flexible immediate-mode GUI library for Mupen Lua

🚀 Quickstart

dofile("mupen-lua-ugui.lua")

That's it. Don't forget to pass an absolute path, not a relative one.

Read the demo scripts and function documentation for usage information.

🏗️ Projects

Cool projects using mupen-lua-ugui

📈 Advantages

  • Easy Usage
    • Immediate-mode control spawning API
  • Flexible
    • Add or extend controls
    • Add or extend stylers
    • Mock subsystems
  • Host-authoritative
    • Invokable anytime and anywhere
    • No global pollution - only necessary components are exposed as tables
  • Fast
    • Shallow callstacks
    • Reduced indirection
    • Controls optimized for large datasets

✨ Features

mupen-lua-ugui — The base library

  • Stylers
    • Windows 10 (built-in)
  • Flexibility
    • Modify any part of the framework to your liking
  • User Productivity
    • Controls behave like Windows controls, ensuring consistency
  • Button
  • TextBox
    • Full-fledged selection and editing system
  • ToggleButton
  • CarrouselButton
  • Joystick
    • Adjustable magnitude circle
  • TrackBar
    • Automatic layout adjustement based on size ratio
  • ComboBox
  • ListBox
    • Scrolling support
    • Unlimited items with no performance degradation
  • Scrollbar

mupen-lua-ugui-ext — Extensions and advanced features

  • Spinner
  • TabControl
  • NumberBox
  • TreeView
  • Performance
    • Graphics caching extension
  • Stylers
    • Nineslice (built-in)

BreitbandGraphics — ugui's rendering core

  • Powerful abstraction layer over Mupen Lua drawing APIs
  • Maximized usability
    • Stable API surface
  • Helpful utilities
    • Hexadecimal color conversion
    • Standard color tables
  • Low overhead

🧩 Porting

To mupen-lua-ugui

Porting a script to mupen-lua-ugui requires an understanding of the library's usage, achieved by reading the demos and comment docs. For help, post an issue in this repository.