|Stable release||3.10.7 (January 28, 2014) [±]|
|Preview release||3.11.8 (March 4, 2014) [±]|
|Platform||X11, Wayland, DirectFB, others|
|License||GNU Lesser General Public License|
GDK (GIMP Drawing Kit) is a computer graphics library that acts as a wrapper around the low-level drawing and windowing functions provided by the underlying graphics system. Originally developed on the X Window System for the GIMP raster graphics editor, GDK lies between the display server and the GTK+ library, handling basic rendering such as drawing primitives, raster graphics (bitmaps), cursors, fonts, as well as window events and drag-and-drop functionality.
Like GTK+, GDK is licensed under the GNU Lesser General Public License.
GDK is an important part of GTK+'s portability. Since low-level cross-platform functionality is already provided by GLib, all that is needed to make GTK+ run on other platforms is to port GDK to the underlying operating system's graphics layer. Hence, the GDK ports to the Windows API and Quartz are what makes GTK+ applications run on Windows and Mac OS X, respectively.
GDK is an intermediate layer which isolates GTK+ from the details of the windowing system. GDK is a thin wrapper around Xlib. The X Window System comes with a low-level library called Xlib. Almost every function in GDK is a very thin wrapper around a corresponding Xlib function; but some of the complexity (and functionality) of Xlib is hidden, to simplify programming and to make GDK easier to port to other windowing systems, such as Wayland or Microsoft Windows. The concealed Xlib functionality will rarely be of interest to application programmers; for example, many features used solely by window managers are not exposed in GDK.
GDK lets you do low level stuff, like e.g. "blit this pixmap to the screen".
GDK provides a layer that is much more portable than say the X protocol, without sacrificing any of the low-level accessibility that systems such as X provide. The true power of this abstraction is that if you choose to use it rather than say, X, your software will automatically render on the Linux Framebuffer and Windows.
The GDK-Pixbuf is a toolkit for image loading and pixel buffer manipulation. It is used by GTK+ 2 and GTK+ 3 to load and manipulate images. In the past it was distributed as part of GTK+ 2 but it was split off into a separate package in preparation for the transition to GTK+ 3.
- Matthias Clasen (28 January 2014). "gtk+ 3.10.7". Gnome FTP releases mailing list. https://mail.gnome.org/archives/ftp-release-list/2014-January/msg00093.html.
- Matthias Clasen (4 March 2014). "gtk+ 3.11.8". Gnome FTP releases mailing list. https://mail.gnome.org/archives/ftp-release-list/2014-March/msg00043.html.