Whats holding ~100% D GUI back?

rikki cattermole rikki at cattermole.co.nz
Tue Nov 26 12:15:57 UTC 2019


On 27/11/2019 1:01 AM, thedeemon wrote:
> On Wednesday, 20 November 2019 at 04:29:18 UTC, rikki cattermole wrote:
>> For 100% D GUI toolkit, we would need somebody who is knowledgeable on 
>> Unicode (text layouting e.g. Bidi) and font rasterization. These 
>> together are many a man year projects and quite massive.
>>
>> But more realistically with using e.g. FreeType and HarfBuzz:
>>
>> - Image library (started)
>> - Event loop (next on my list to do)
>> - Windowing
>> - Render pipeline
>> - Text rendering (part of render pipeline sort of)
>> - Widget rendering (I'm doing requirements gathering atm)
>> - Theme management (CSS-like + reloading + widget renderer + text 
>> rendering)
>> - UI automation
>> - Controls
>>
>> So yeah, lots of stuff.
> 
> That's the problem - basically all of it is already there in DLangUI, 
> it's done, complete, working, and has been for a few years. But 
> programmers being programmers, prefer ignoring existing libraries and 
> keep reimplementing the same stuff from scratch. In most cases it 
> doesn't go too far, as the steam dries out. In some cases it does go 
> far, we get one more UI library that nobody uses, and instead other 
> people reimplement the same from scratch and keep asking what's holding 
> us back... It's a cultural thing, I guess. ;)
> 

Things it does not have:

- Event loop
- Windowing (screenshots, notification messages, system tray)
- Render pipeline is from AAA games, the only person I trust with 
designing it is Manu
- UI automation (if you don't have this you can literally be sued and 
that ignores the customers you will loose and bad press in general)

Event loop, while it does exist you can't hook into it. See glib's event 
loop to see something *actually* acceptable.

Theme management is mostly there, not quite what I would suggest, but it 
is there.


More information about the Digitalmars-d mailing list