Window creation, for phobos?

Mike via Digitalmars-d digitalmars-d at puremagic.com
Thu Jan 29 03:17:30 PST 2015


On Tuesday, 27 January 2015 at 22:05:02 UTC, Rikki Cattermole 
wrote:
> I have dream! A dream, dream dream. A dream to see GUI's easy 
> to use in D! I must admit it will be hard, but it's time. Prime 
> time I mean!
>
> Now enough gabble.
> I'm proposing to get Devisualization.Window PR'd into phobos.

I would love to see some facilities in D for GUI development, but 
I'm not sure about window creation.  Is the concept of a *window* 
even that platform agnostic?  I thought that was mostly a desktop 
metaphor.

There are a few fundamental packages related to this domain that 
I think would fit nicely into Phobos, and could potentially plant 
a few seeds in this community that might spur exponential growth.

1. Color package
2. 2d/3d geometry package
3. Frame buffer package (Does OpenGL/DirectX make this obsolete?)

With those in place...
4. Imaging package
5. Vector graphics package
6. SVG package
7. Perhaps some kind of an input package
etc...

You get the idea:  Build a few platform agnostic fundamentals and 
I think the community will take it from there.  And once these 
are in place, a GUI toolkit isn't far away, and wouldn't need to 
have dependencies on 3rd party libraries.  But all this would be 
hard work, especially if it's intended to pass the high bar of 
standard library inclusion.

I have an interesting use case such for such libraries.  I 
sometimes build small HMIs (Graphical touch screens) for machines 
like thermostats, refrigerators, vending machines, etc...  The 
hardware is very resource constrained.  The LCDs are typically no 
greater than RGB666, so the primary frame buffer is RGB565 to 
save on memory. The API thinly exposes color as RGB8888, as 
that's a little more convenient to work with.  Almost all 
graphics is done in software with DMA being the only real 
hardware support.  I've been exploring D, Rust, and Nim for use 
in this domain.  I know this is a niche domain for D, but it 
seems these facilities, if designed to be efficient with 
resources, would scale well to, and perform superbly on, more 
resource abundant platforms.

Mike


More information about the Digitalmars-d mailing list