• 2.0.0 7406a7364f

    2.0.0 Stable

    abart27 released this 2025-03-11 05:47:05 +00:00 | 69 commits to main since this release

    Summary

    The 2.0.0 release of ugui is here, with major structural changes and new features.

    Breaking Changes

    Standard Package

    BreitbandGraphcis, ugui, and ugui-ext are now a standard Lua packages. They don't automatically insert themselves into the global scope when executed.

    To import the full ugui suite:

    -    dofile("mupen-lua-ugui.lua")
    -    dofile("mupen-lua-ugui-ext.lua")
    +    BreitbandGraphics = dofile("BreitbandGraphics.lua")
    +    ugui = dofile("mupen-lua-ugui.lua")
    +    ugui_ext = dofile("mupen-lua-ugui-ext.lua")
    

    Features

    • BreitbandGraphics: Add RawColor
    • BreitbandGraphics: Add default values for source_rectangle and color to draw_image
    • BreitbandGraphics: Implement draw_text2
    • BreitbandGraphics: Implicit color conversion
    • CombBox: Window overflow avoidance for dropdown
    • Core: Add unbalanced begin/end_frame detection
    • Demo: Add ColorSource demo
    • Josytick: Snap parameters
    • Layout: Initial implementation of layout sections
    • RichText: Allow specifying icon colors manually
    • RichText: Implement rich text rendering
    • Styler: Structured styler parameters
    • Tests: Add test summary
    • Tests: Add various BreitbandGraphics tests
    • Textbox|Numberbox: Allow changing selection color
    • Tooltip: Implement tooltips
    • ugui-ext: Icon draw override

    Changes

    • BreitbandGraphics: (BREAKING) Refactor to standard module
    • BreitbandGraphics: Remove 1.1.5-1.1.6 shim
    • ComboBox: Allow providing nil selected_index
    • Nineslice: Improve draw_icon error resilience
    • RichText: Provide visual_state to draw_rich_text and pass it on to draw_icon
    • ToggleButton: Allow providing nil is_checked, fix tooltip flickering when clicking
    • ugui-ext: (BREAKING) Refactor to standard module, move controls to ugui
    • ugui-ext: Remove 1.1.5-1.1.6 shim
    • ugui: (BREAKING) Refactor to standard module
    • ugui: (BREAKING) Require BreitbandGraphics to be present in global scope
    • ugui: Ignore hittest outside of window bounds

    Bugfixes

    • BreitbandGraphics: Define API surface for get_image_info
    • BreitbandGraphics: Incorrect empty table handling
    • ComboBox: nil_params_no_error test
    • Demo: Scripts failing to run when paths are too long
    • ListBox: Incorrect layout
    • ListBox: Use proper parameter name for control
    • Listbox: Error when pressing up/down while hovering over listbox with no selection
    • Listbox: Item height not being respected
    • Menu: Broken icon drawing
    • Menu: Invalid overlap size being read from styler
    • Menu: align_x = start not being specified in draw_menu_item
    • Nineslice: Incorrect draw_list_item implementation
    • NumberBox: Uninitialized control data being consumed
    • Numberbox: Text measuring accuracy issues
    • RichText: Handle nil text in compute_rich_text
    • RichText: draw_text2 being called for text segments with too low of a height, causing clipping
    • RichText: draw_text2 being called with too high y coordinate
    • TabControl: Incorrect text measurement when items contain rich text
    • ugui-ext: Broken custom icon rendering
    • ugui-ext: Cached rendering params still being applied
    • ugui-ext: Placeholder icon being drawn instead of falling back to default implementation
    • ugui-ext: control_data initialization crashes
    • ugui-ext: draw_list_item nineslice implementation using wrong text alignment
    • ugui: control_data initialization crashes

    Dev

    • BreitbandGraphics: Document internals
    • BreitbandGraphics: Improve BreitbandGraphics docs
    • Chore: Bump version to 2.0.0
    • Core: Better docs for environments
    • Core: Remove nil check for clamp( )
    • Doc: Improve documentation of extended controls
    • Docs: Improve documentation
    • Layout: Limit layout stack depth to 1
    • ListBox: Add FIXME about listbox parameter
    • ListBox: Fix click_sets_correct_selected_index tests
    • Listbox: Add regression test for d42656853c
    • Menu: Fix incorrect field being read for color
    • Numberbox: Add tests
    • StackPanel: Fix StackPanel tests
    • Styler: Add monospace_font_name param
    • ugui-ext: Add Spinner and TabControl tests
    • ugui-ext: Add more documentation, improve a warning message
    • ugui-ext: Add ugui-ext demo
    • ugui-ext: Bump version to 2.0.0
    • ugui-ext: Fix demos and tests
    • ugui-ext: Fix various bugs, port controls to new styler structure, remove treeview control
    • ugui: Add back commented out tests
    • ugui: Fix module inclusion typing in demos and tests
    • ugui: Make standard styler use draw_text2

    Full Changelog: https://github.com/Aurumaker72/mupen-lua-ugui/compare/1.0.4...2.0.0

    Downloads