Weston Campbell wrote: > Actually, I want to know how the people who made these graphics > libraries and GUIs made them in the first place. How are these libraries > and toolkits working with graphics? How do they do it? In that case you might find shoes [1] a worthwhile study. It uses the native window creation routines on each platform, and then wraps the Cairo library to provide a cross-platform drawing canvas within those windows. Cairo (and its ruby wrapper) itself might be a next step. One advantages is the brevity and clarity of the source - only a few thousand lines of C. It's focussed on drawing, rather than accessing all the different platform routines for interacting with GUI objects. By comparison, wxWidgets source package is c20MB and makes extensive use of macros which can make the fundamentals hard to pick out. GTK+ is a similar size. QT is the real heavyweight - the source install package is a whopping 175MB. hth alex [1] http://code.whytheluckystiff.net/shoes