On Sun, 14 Dec 2014 22:52:59 +1300
Rikki Cattermole via Digitalmars-d <digitalmars-d@puremagic.com> wrote:

> > p.s. sorry for me being rude. DWT, GtkD and others are great project of
> > great value. it's not about "their authors doing wrong things", that's
> > about "i want something completely different!"
> 
> 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.
GUI toolkits are not really designed. that is. a good GUI toolkit
should be able to use any backend the end user want. DirectFB? OpenGL?
custom framebuffer library? anything, it should not matter at all.

the abstraction GUI toolkint using should be designed like X server.
want anything? ask the underlying layer to do that. pixmap with
gradient? don't do that in control painting code, ask the underlying
pixmap layer to do that. want text output? don't do that, use the
underlying layer that does ALL text rendering. and so on. this way GUI
toolkit can use any acceleration the underlying layer can provide. and
writing new control is a matter of compositing some high-level calls.

and if we'll go to the design stage, we can find markup language
useful. with markup language and constraint engine we moving our
rendering code even further away. thus we need two layers: basic
rendering engine that can draw pixels, and markup processing engine
that convert our declarative GUI description to basic operations.

and then comes the things like OpenGL, shaders and so on. on the lower
level, which can be controlled from markup. do we have only framebuffer?
ok, ignore advanced styling and degrate to that. modern OpenGL with
shaders? ok, pass the necessary info down the pipe.

that's where Devisualisation comes into play. it provides mechanics we
need, with simple and well-defined interface. what we also need is
high-level engine that will convert our declarative GUI descriptions to
low-level calls. HTML is not the best language to build GUIs, but the
overall way Harmonia takes looking fine. declarative language for
high-level descriptions and translation layer for low-level calls.

Attachment: signature.asc
Description: PGP signature

Reply via email to