-
Notifications
You must be signed in to change notification settings - Fork 33
Home
The library cl-cffi-gtk is a Lisp binding to the GTK (GIMP Toolkit) which is a library for creating graphical user interfaces. It is licensed using the LGPL which has been adopted for the cl-cffi-gtk with a preamble that clarifies the terms for use with Lisp programs and is referred as the LLGPL.
This work is based on the cl-gtk2 library which has been developped by Kalyanov Dmitry and already is a fairly complete Lisp binding to GTK. The focus of this work is to document the library much more complete and to do the implementation as consistent as possible. Most informations about GTK can be gained by reading the C documentation. Therefore, the C documentation from www.gtk.org is included into the Lisp files to document the Lisp binding to the GTK library. This way the calling conventions are easier to determine and missing functionality is easier to detect.
The GTK library is called the GIMP toolkit because it was originally written for developing the GNU Image Manipulation Program (GIMP), but GTK has now been used in a large number of software projects, including the GNU Network Object Model Environment (GNOME) project. GTK is built on top of GDK (GIMP Drawing Kit) which is basically a wrapper around the low-level functions for accessing the underlying windowing functions (Xlib in the case of the X windows system), and gdk-pixbuf, a library for client-side image manipulation.
GTK is essentially an object oriented application programmers interface (API). Although written completely in C, it is implemented using the idea of classes and callback functions (pointers to functions).