Coding GUIs from scratch

Hello,
I just learnt C++, I have been doing web development for the past 3 years and very much appreciate the structure of C++.
But I want to start writing GUI interfaces in C++ without using wizards. As in I would like to code gui interfaces from scratch using a simple notepad instead of using high-end IDEs.
I was told its something to do with matrices, can anyone please tell me where to get a tutorial about coding GUIs or anywhere to start.

Thanks in advance.
What o/s are you targetting?

You've got to code to some sort of API or GUI Toolkit, even if you don't use a wizard.

Writing your GUI code with a cross-platform toolkit like Qt, wxWidgets, or FLTK will mean you can build for Linux, OS X, and Windows.

Andy

P.S. I don't get the matrices comment??
Last edited on
A friend told me you can build GUIs in the C language primarily with sets of matrices or vectors which position components.
Last edited on
Matrices are commonly used to handle 2D and 3D object translations. They in no way actually assist in displaying anything on the screen.

Firstly, understand that C++ knows nothing of hardware. It doesn't have any understanding of a monitor, or even a mouse or a keyboard. Everything involving those is mediated by the OS. So, the first question is what OS or OSes do you want to target your GUI for? Then, you can examine the API provided by that OS which lets you draw to screen, and the various widget toolkits (as mentioned by Andy above) which will make it easier for you (with, of course, a trade-off in raw power).
Using matrices/vectors to position a standard set of components sounds similar to the way things like XAML and XUL work. XML is used to define the layout of the standard (or custom, I guess) components. The "glue" code that handles the positioning would probably store the positions and sizes in vectors/arrays.

I have come across one game library which lays its screens out in this way.

Andy

http://en.wikipedia.org/wiki/Xaml
http://en.wikipedia.org/wiki/Xul
Last edited on
Topic archived. No new replies allowed.