Skip to content

petabyt/libui-dev

Repository files navigation

libui-dev

A fork of libui-ng - a portable UI library written in C, which uses the native UI of the operating system it runs on.
Like wxWidgets, but in C. And much more bare-bones.

This adds a bunch of experimental features and fixes:

  • uiWindowSetIcon
  • Windows DPI scaling (4k)
  • uiTabOnSelected/uiTabSetSelected (289)
  • Tooltips (266/256)
  • Placeholders (224)
  • Fix uiWindowSetContentSize (261)
  • Fix darwin menu + modal window issues (295)
  • uiScroll (WIP)
  • uiImage control (209)
  • uiEntry and uiEditableCombobox placeholders (224)
  • uiEntryOnFinished (290)
  • uiImageButton
  • uiVersion API (143)
  • uiDrawBitmap (386)
  • OpenGLArea (405)
  • Type safety with C11 generics (#1)
  • Expose more system functions to make adding controls easier
  • Code editing control uiScintilla
  • Get Qt5 backend working (https://github.com/mischnic/libui/tree/qt5)

Significant changes:

  • Moved include files to include/
  • Make uiControl macro type-safe
  • Change uiImage API

Build system

Meson build system is preserved, but a make-based system is added for cross-compilation.

# Compile for MinGW from Linux
make TARGET=w libui_win64.a install

# Compile for linux from linux
make TARGET=l libui.so install

# Compile for Mac from Darling/Mac
make TARGET=m libui.dylib
  • X86_64 Linux (.so, .AppImage)
  • X86_64 Windows (.a, .exe)
  • X86_64 MacOS (.dylib, .app)
  • ARM64 Linux
  • ARM64 MacOS

Credits:

If any libui developer wants to work on this repo let me know and I'll add you as a maintainer.