Ideal D GUI Toolkit

Flamaros flamaros.xavier at gmail.com
Mon May 20 15:26:38 PDT 2013


With a friend/coworker we work on a prototype of a GUI system 
like QML.

QML is not native and visual aspect can't follow platform 
specific style efficiently, but today GUI style changes often and 
fast. Old Windows Widget style seems dying. Microsoft now use 
Aero and Office don't looks close to old Widgets applications. An 
other important point is that smallest devices now support OpenGL
  more and more.

We choose to do something like QML because it's a relatively to 
implement, the user have to create it's own components and give a 
fine control of GUI behavior.
http://en.wikipedia.org/wiki/QML

Techno we use :
  - OpenGL 2.1 (to support older hardware)
  - SDL2
  - Lua for ui declaration (QML use a javascript engine, JIT cause 
some issues on iOS for exemple, a move to D should be great in a 
future)
  - __traits to generate bindings
  - D signals (we don't use thread for the moment)

Status of "DQuick" :
The major features actually missing in the script engine are 
components and user defined properties to allow user to declare 
it's own virtual types, without this it's not possible to create 
a Button because it's not a base type.
Property binding just works fine.
For other part of DQuick a lot of objects are missing, like 
State, Animation, Loader. Our item can't be loaded asynchronously 
and for images it can be an issue.

Issues :
  - Remote desktop doesn't seems work under Windows (due to 
OpenGL? or bad driver?)
  - Realtime resize doesn't works (investigation need to be done)


We may open our code when components will be implemented plus the 
addition of a better demonstration. We are really far of a 
production release and a schedule can't be done for the moment, 
don't hope to much on it :-).


More information about the Digitalmars-d mailing list