Cross Platform GUI for D programming language
Cross platform GUI for D. Widgets, layouts, styles, themes, unicode, i18n, OpenGL based acceleration.
GitHub page: https://github.com/buggins/dlangui
Project site: http://buggins.github.io/dlangui
API Documentation: http://buggins.github.io/dlangui/ddox
Wiki: https://github.com/buggins/dlangui/wiki/Home
Getting Started Tutorial: https://github.com/buggins/dlangui/wiki/Getting-Started
Screenshots: http://buggins.github.io/dlangui/screenshots.html
Coding style: https://github.com/buggins/dlangui/blob/master/CODING_STYLE.md
Main features:
Needs DMD frontend 2.100.2 or newer to build
List of widgets, layouts and other is available in the Wiki
Resources like fonts and images use reference counting. For proper resource freeing, always destroy widgets implicitly.
Styles and themes are a bit similar to ones in Android API.
If build of your app is failed due to dlangui or its dependencies, probably you have not upgraded dependencies.
Try following:
dub upgrade --force-remove
dub build --force
As well, sometimes removing of dub.json.selections can help.
Build and run demo app using DUB:
git clone --recursive https://github.com/buggins/dlangui.git
cd dlangui/examples/example1
dub run --build=release
To avoid showing console window add win_app.def file to your package source directory and add line to your dub.json.
win_app.def:
"sourceFiles": ["$PACKAGE_DIR/src/win_app.def"]
dub.json:
"sourceFiles-windows": ["$PACKAGE_DIR/src/win_app.def"],
Uses SDL2 as a backend.
Uses FreeType for font rendering.
Uses FontConfig to get list of available fonts.
OpenGL can be optionally used for better drawing performance.
libsdl2, libfreetype, libfontconfig
E.g. in Ubuntu, you can use following command to enable SDL2 backend builds:
sudo apt-get install libsdl2-dev
In runtime, .so for following libraries are being loaded (binary packages required):
freetype, opengl, fontconfig
Build and run on Linux using DUB:
cd examples/example1
dub run dlangui:example1
DlangUI theoretically supports MacOS, but I have no way of testing if it actually work. The support is not guaranteed.
binbc-opengl
- for OpenGL supportbindbc-freetype
+ FreeType library support under linux and optionally under Windows.bindbc-sdl
+ SDL2 for cross platform supportarsd-official
For image reading and XML parsingPlease refer to the Wiki for a hello world example.
It is a project to build D language IDE using DlangUI library.
But it already can open DUB based projects, edit, build and run them.
Simple syntax highlight.
DCD integration: go to definition and autocompletion for D source code.
Project page: https://github.com/buggins/dlangide
How to build and run using DUB:
git clone https://github.com/buggins/dlangide.git
cd dlangide
dub run