The GeoSim Interface Library (GIL) is an easy to use set of functions and tools for implementing a graphical user interface (GUI). GIL was originally designed to support Project GeoSim, a series of interactive simulations for introductory geography classes. It is also used by the SWAN Data Structure Visualization System.
GIL presents the programmer with a simple application framework. GIL handles system-level startup tasks (such as window creation and color palette initialization) and system-level shutdown. GIL also implements standard interface elements: windows, buttons, popup menus, drag areas (rectangular regions in which mouse operations may be performed), and scrolling lists. The programmer's role is to provide functions for GIL to call when the user operates an interface element. Thus, the programmer's effort is directed toward introducing functionality into a program, not toward interacting with the windowing system.
A GIL interface is declared in an interface file. An interface file is simply a text file which conforms to GIL's interface file syntax. GIL's distribution includes the Graphical Interface Builder, a WYSIWYG (what-you-see-is-what-you-get) editor for GIL interfaces. With the Graphical Interface Builder, a programmer can "draw" an interface and see how it will appear in a GIL application.
GIL is a platform-independent C library. Source code which uses GIL, and contains no platform-dependent functionality, will compile and run on any system which supports GIL. Currently, GIL has been implemented on: MS-DOS, Macintosh (System 7.x), DECstation (Ultrix 4.4), DEC Alpha (OSF/1 3.2), FreeBSD, Linux 3.0, SparcStation (Solaris 2.4), and MS Windows (32-bit).
We encourage you to run some of the GeoSim simulations, to see examples of what can be done with GIL.
The source code for the sample application comes with the GIL distribution.