Lost a new commercial user this week :(

Vadim Lopatin via Digitalmars-d digitalmars-d at puremagic.com
Wed Dec 17 22:01:33 PST 2014


On Sunday, 14 December 2014 at 09:53:06 UTC, Rikki Cattermole 
wrote:
> Yeah they are great projects.
> But they won't ever be what I'm looking for.
>
> Personally?
> - I want a gui toolkit that is accelerated e.g. OpenGL.
> - That can be layered drawn on top of other OpenGL content.
> - Completely configurable at runtime e.g. change of shaders.
> - Centralized themeing.
> - That works on all major platforms without heartache.
>
> But here's the thing about guis in general.
> Gui toolkits are not really designed to work with OpenGL like 
> this.

Hello,

I'm working on GUI toolkit DLangUI which meets almost all of your 
requirements

https://github.com/buggins/dlangui

Try demo app:

git clone git at github.com:buggins/dlangui.git
dub run dlangui:example1

Native. Fully written in D. Widget set can be easy extended.
Look and feel is based on themes / styles similar to Android.
Scalable UI. Resources can be selected based on screen resolution.
Layouts similar to Android UI allow to adjust UI to different 
window sizes.
Cross platform.

> - I want a gui toolkit that is accelerated e.g. OpenGL.

Build it with USE_OPENGL to have OpenGL acceleration.

> - That can be layered drawn on top of other OpenGL content.

Additional development required.
a) To use in some custom environment (e.g. draw GUI in some 
gamedev engine), you need to implement Platform and Window 
classes to pass Mouse / Key event to UI, and to draw UI above 
other content when necessary.
b) Use DLangUI platform for event processing and context 
creation, just extend drawing functionality to draw custom 
content. (Easy to do).

> - Completely configurable at runtime e.g. change of shaders.

Internally it uses only two shaders.
For custom drawn GL scenes, just write your own code.

> - Centralized themeing.

Styles and themes are being defined in XML resources. Partially 
compatible with ones from Android. State aware drawables. 
Nine-patch drawables.
Theme can be switched in run time.

> - That works on all major platforms without heartache.

For most platforms, SLD2 backend can be used (version USE_SDL).
On Windows, you may use native Win32 backend (if not specified 
version USE_SDL).
XCB(X11) backend is suspended for now. Didn't manage to get 
OpenGL working under it.

For all platforms, OpenGL acceleration can be used (version 
USE_OPENGL).
If OpenGL context creation is failed, app just falls back to 
software renderer.

Development of the project is in progress. But it is getting more 
and more usable every day.

Best regards,
     Vadim (aka Buggins)


More information about the Digitalmars-d mailing list