Ideal D GUI Toolkit

Flamaros flamaros.xavier at gmail.com
Tue May 21 01:34:20 PDT 2013


On Monday, 20 May 2013 at 22:48:01 UTC, Adam Wilson wrote:
> On Mon, 20 May 2013 15:35:57 -0700, Flamaros 
> <flamaros.xavier at gmail.com> wrote:
>
>> On Monday, 20 May 2013 at 21:47:56 UTC, Andrej Mitrovic wrote:
>>
>>> 1) A "core" for a GUI library written in D that people can 
>>> start
>>> hacking on (meaning you can create windows, and draw in a 
>>> pixel
>>> buffer, capture device input, all platform-independent), and
>>>
>>
>> Dereclit and SDL already does that. Rewrite SDL isn't needed, 
>> for my work it's already something I do and can tell you that 
>> it's really hard to support many platforms as Android, iOS, 
>> Windows, MacOS, consoles,... It's too long to learn all 
>> specifications and issues.
>
> Well I talked to Mike Parker (Derelict maintainer) at DConf and 
> even he seemed to think that Derelict wasn't up to the task. 
> The general consensus was that Derelict is primarily targeted 
> at games. Which poses a number of issues in terms of UI 
> toolkits, most of the relating to font rendering.
>
> Specifically:
> Font rendering is allowed to be vastly different across 
> platforms.
> Much of what we would require in UI's of the font rendering 
> engine is not available at all, wrapping, line spacing, layout, 
> etc.
> Sub-pixel font hinting. Almost no games use this, and almost 
> every OS toolkit does.
> There was more that I am forgetting...
>
> Derelict may be useful as a binding to OpenGL, but that's about 
> where it ends, there is still MUCH work to be done on top of it.

QML do sub pixel with a shader, but us think to start with a 
pixel perfect alignment. In games we works on, we don't have 
issues specifics to OS with fonts. Default font can't be the same 
but FreeType support many types of font files. As our games are 
mainly on smartphone we use kerning to save spacing, and space 
character to automatic wrapping. An advanced wrapping can only be 
done with dictionaries.

My vision is actually to start something to see if it's a valid 
choice. After other questions will find answers with the 
communauty.


More information about the Digitalmars-d mailing list