Re: A new GUI/Widget Toolkit?

new topic     » goto parent     » topic index » view thread      » older message » newer message
Icy_Viking said...

Hello all,

Does anyone have idea on where to start to make a GUI/Widget toolkit from scratch? I'd like to write it in C, so that I could then make a wrapper for it in Euphoria. I've briefly looked over source code for IUP and FLTK, but it looks it has to be built on top of something. Like the Windows API or Xlib(For Linux/Unix). Something that would have common controls to start, like a window, buttons, menus, menu-items, check-boxes and radio buttons. I've seen some GUIs built on top of SDL, so that could be one way. I of course want it to be cross-platform.

What you really need in the first place is a simple canvas occupying a window, on which you can draw decent-quality text (so not SDL!).
Get that working cross-platform before you start adding any bells and whistles. Most toolkits go the wrong way about that, getting it all
really fancy on one platform and then facing a mountain of work and fresh compromises that a breadth-first approach would avoid (or
at least get correct much earlier in the process). "I'll do Linux later" would be a big turn-off for me (ditto "Windows later").

I would urge you to take a look at https://rosettacode.org/wiki/Polynomial_regression#Phix which can be run online here.
Gloss over the fact that it is written in IUP, focus on the fact it is effectively less than 285 lines, and (effectively) written in pure Phix.
There is no need to put C into the mix, imnsho, or at the very least strive for the absolute bare minimum performance-critical parts.

What I'd really be interested in is a toolkit which is fundamentally based on the HTML/JavaScript/CSS box model (with extreme emphasis
on the word model, I'm not suggesting you implement CSS on the desktop!), or at least something that could easily be transpiled to that.

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu