I want to create a program that is skinned, i.e. it would look like MSN messenger / iTunes on Windows. What would be the best way of creating a skinned application in C++.
The program needs to be able to run on Windows, Linux, and possibly Mac OS.
The program would also include some lists etc, so not just static images.
Since you're requiring your program to work on multiple operating systems, you have a slight problem. First of all, all non-console applications for any OS are generally done via OS specific methods, which means you would have to write your GUI code three different ways, one for every OS you want to support.
A possible alternative is to look for a GUI library that is written for each OS, so you only have to write your code once. Skinning might not be something that you would find in most GUI libraries, but it's worth looking to see if it's supported.
generally skinned applications are built from small images used as building blocks. For example, a button will have 4 "corner" images, 4 tileable "edge" images and a stretchable centre. as you can see it's not a small amount of work.
I have looked into wxWidgets, however that is "strongly advised against" for using skins.
I was also heard breif mention of OpenGL + Glut being able to create skinned interfaces.
I have allready created some OpenGL + Glut programs with basic interfaces, that run on both linux and windows. Has anyone had any experience using OpenGL to create good interfaces.
Hi, I am aware of the level of work which may be required, I do have good experience with designing "classic" interfaces, and so would be willing to find a more complex, but satisfactory solution.
There's a really good article on gamedev.net about writing a GUI using directX. Have a search for it, you might be able to adapt some of the ideas to opengl.
Thanks for that, I'll give them a read (theres a few articles).
I do believe the openGL option may be the way forward for the task.
yes, GTK+ or GTKMM in your case are good examples of this.