From: John Joyce Date: 2007-09-13T00:36:58+09:00 Subject: Re: Graphics... why so shrouded in mystery? If you want to draw GUI stuff, and have control over it, you will find this is where code can get really complex. Every platform handles things in its own way. Your first choice is between a particular platform or cross platform. Cross platform may be the most useful way to go first. With that, check out the Wx, Tk or Qt code, all are open source and cross platform. Qt is not free for all uses though. (but arguably the best looking) Ruby has bindings to all 3. All 3 do things in their own way to some degree. Most of the bindings don't look much different from the C or C++ native to the libraries. If you want to do CGI like drawing 2D or 3D graphics, again, you need to make a decision. You can go with Microsoft's stuff, or you can go with OpenGL. SDL is also a popular and easy to use library with bindings in many languages. Regardless, you might be best off using C or C++ for this stuff if you want deep control and customization. One approach is to look at the code of a functioning open source project and see how they do it, tweak it and see if you can learn what you want to do. I recommend checking out VLC (video lan client) it's a nice cross platform video player that has native GUI for each platform. The code is well maintained and should give you some insights. You can also consider using game creation libraries and tools. They're intended for games, but may as well be used for creating original GUI's ! Ruby has Gosu and Rubygame and ruby/sdl. But you could even probably use Torque game engine or some other. A graphical game is just an application after all!