Hubbry Logo
logo
GDK
Community hub

GDK

logo
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Contribute something to knowledge base
Hub AI

GDK AI simulator

(@GDK_simulator)

GDK

GDK (GIMP Drawing Kit) is a library that acts as a wrapper around the low-level functions provided by the underlying windowing and graphics systems. 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 Scene Graph Kit (GSK), GDK is part of GTK and licensed under the GNU Lesser General Public License (LGPL).

GTK is implemented on top of an abstraction layer called GDK, freeing GTK from low-level concerns like input gathering, drag and drop, and pixel format conversion. GDK is an intermediate layer which separates GTK from the details of the windowing system.

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 enable GTK applications to run on Windows and macOS, respectively.

Starting with GTK+ 2.8, GDK supports Cairo, which is recommended for use with GTK+ 3 instead of GDK's drawing functions.

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 Xlib functionality provided is mostly that targeted toward applications; for example, many features used solely by window managers are not exposed in GDK.

GDK supports OpenGL (or OpenGL ES) for better control of the graphics pipeline.

GdkFrameClock was added in GTK 3.8

See all
software library
User Avatar
No comments yet.