Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports.
Go to file
Pietro Gagliardi 0552e7c4a1 Revert "Made other windows get events when a dialog is running on OS X. Of course I only now realize this creates a recursiion problem..."
This isn't going to work. The only real solution is to disable every window like we're already doing here, make sure it happens on GTK+, and re-add the dialog helper stuff on Windows.

This reverts commit 20994639c0.
2016-05-15 19:04:35 -04:00
_wip Removed the old osxaltest. Not needed now. I'll just design grids against master. 2016-05-06 17:49:09 -04:00
build Fixed some OS X 10.7 build errors. 2016-05-14 23:44:07 -04:00
common Finished the complain() migration. 2016-05-13 23:29:41 -04:00
darwin Revert "Made other windows get events when a dialog is running on OS X. Of course I only now realize this creates a recursiion problem..." 2016-05-15 19:04:35 -04:00
doc More Core Text stuff. 2016-01-11 19:34:42 -05:00
examples Updated the darwin screenshot with our new Auto Layout fixes. 2016-05-13 13:36:27 -04:00
test Disabled page 11 for now. 2016-05-15 16:34:14 -04:00
unix Cleaned up the debugging infrastructure on Windows (we stopped using the strsafe functions so there's no useful failure case anymore) and implemented the new one. 2016-05-13 22:05:02 -04:00
windows Finished the complain() migration. 2016-05-13 23:29:41 -04:00
.travis.yml Fixed the controlgallery example. Reenabled it in make examples. Changed .travis.yml to build the test first. 2016-01-06 19:38:27 -05:00
GNUmakefile Changed the release flag from NODEBUG to RELEASE. 2016-05-14 11:12:45 -04:00
LICENSE Split into a new repository and added a LICENSE. 2015-04-16 20:31:11 -04:00
README.md Wrote up a utf16 with conversion and allocating-sprintf() functions. Changed the way deubgging will work. 2016-04-21 18:03:52 -04:00
TODO.md A few more positioning bugs fixed and TODOs. I guess we can merge this now! (The redraw bugs will have to wait.) 2016-04-29 17:41:17 -04:00
buildnotes More TODOs. 2016-05-14 11:18:53 -04:00
oldhaiku.tgz Discontinued the Haiku port for now. 2016-04-24 14:18:56 -04:00
ui.h Made SyncEnableState() a uiDarwinControl method instead of a uiControl method since it's not needed on GTK+. 2016-04-25 17:52:16 -04:00
ui_darwin.h Some more work, edging us ever-closer to the correct solution... 2016-05-12 12:26:43 -04:00
ui_unix.h More ui_unix.h and unix/control.c work. NOW we're ready to migrate the controls. 2016-04-25 19:45:05 -04:00
ui_windows.h Fixed all compiiler errors. Now for runtime errors! 2016-04-29 17:08:31 -04:00

README.md

libui: a portable GUI library for C

This README is being written.
Build Status

Runtime Requirements

  • Windows: Windows Vista SP2 with Platform Update or newer
  • Unix: GTK+ 3.4 or newer
  • Mac OS X: OS X 10.7 or newer

Build Requirements

  • All platforms:
    • GNU make 3.81 or newer (Xcode comes with this; on Windows you will need to get it yourself)
  • Windows: Microsoft Visual Studio 2013 or newer (2013 is needed for va_copy())
    • MinGW is currently unsupported. MinGW-w64 support will be re-added once the following features come in:
      • Isolation awareness
      • Linker symbols for some functions such as TaskDialog() (which I thought I submitted...)
  • Unix: nothing specific
  • Mac OS X: nothing specific, so long as you can build Cocoa programs

(TODO write some notes on make variables and cross-compiling)

Documentation

Needs to be written. Consult ui.h and the examples for details for now.

Screenshots

From examples/controlgallery:

Windows

Unix

OS X