LibUI icon indicating copy to clipboard operation
LibUI copied to clipboard

libui-ng

Open kojix2 opened this issue 3 years ago • 6 comments

In future releases, we will consider including libui-ng in the package instead of the original libui.

https://github.com/andlabs/libui/issues/547 https://github.com/libui-ng/libui-ng

https://github.com/AndyObtiva/glimmer-dsl-libui/issues/17

kojix2 avatar Jan 14 '22 23:01 kojix2

This would be nice. There were some API changes already, from the changelog:

https://github.com/libui-ng/libui-ng/blob/master/CHANGELOG.md

Added

uiBoxNumChildren() API
uiFormNumChildren() API
uiComboboxInsertAt() API
uiComboboxDelete() API
uiComboboxClear() API
uiWindowResizeable() API
uiWindowSetResizeable() API
uiDrawPathEnded() API
uiFreeFontDescriptor() API
uiLoadControlFont() API

rubyFeedback avatar Jan 16 '22 00:01 rubyFeedback

Think about packing a more "static" DLL into the gem instead of a shared version to prevent problems on Windows. Or, consider packing the necessary DLLs into the gem. See https://github.com/kojix2/LibUI/issues/32#issuecomment-1023790045

Can I bundle the Visual Studio 2015 C++ Redistributable DLL's with my application?

kojix2 avatar Jan 28 '22 04:01 kojix2

There is an undocumented environment variable called LIBUIDIR. You can use this environment variable to specify the path to the directory where the shared LibUI libraries are located.

git clone https://github.com/libui-ng/libui-ng
cd libui-ng
meson setup build
ninja -C build

cd build/meson-out
ln -s libui.so.0 libui.so # Linux
export LIBUIDIR=$(pwd)

kojix2 avatar Feb 16 '22 14:02 kojix2

libui-ng provides Github Actions for build. Each time a commit is pushed to the repository, libui-ng is automatically built and the artifacts are uploaded to the Actions page.

For example, https://github.com/libui-ng/libui-ng/actions/runs/1801977866

kojix2 avatar Mar 22 '22 04:03 kojix2

Added Rake task to build libui-ng

rake libui-ng:build

Confirmed to work on GithubActions macOS and Ubuntu.

kojix2 avatar May 21 '22 04:05 kojix2

Added rake task to download develoment build.

rake libui-ng:mac         # Download dev build for Mac to vendor directory
rake libui-ng:ubuntu_x64  # Download dev build for Ubuntu to vendor directory

kojix2 avatar May 23 '22 13:05 kojix2

Added rake task to download pre-build shared library for each platform.

rake vendor:kojix2:auto           # Download kojix2 pre-build for your platform to vendor directory
rake vendor:kojix2:mac            # Download kojix2 pre-build for Mac to vendor directory
rake vendor:kojix2:ubuntu_x64     # Download kojix2 pre-build for Ubuntu to vendor directory
rake vendor:kojix2:windows_x64    # Download kojix2 pre-build for Windows to vendor directory
rake vendor:kojix2:windows_x86    # Download kojix2 pre-build for Windows to vendor directory

I have released a preview version of the Gem.

  • gem build --platform x86_64-linux did not work as expected. It needs to be improved.

kojix2 avatar Nov 13 '22 06:11 kojix2

The rake tasks to download the original libui libraries has been removed from the Rakefile. The project has been moved to libui-ng.

kojix2 avatar Nov 12 '23 06:11 kojix2