GDK

GDK es la biblioteca de bajo nivel que usa GTK+ para interactuar con el sistema para los dispositivos gráficos y de entrada. Aunque rara vez usará GDK directamente en el código de la aplicación, contiene toda la funcionalidad necesaria para dibujar objetos y texto en la pantalla e interactuar con el usuario con varios dispositivos de entrada.

GDK le permite acceder a eventos del teclado, ratones y otros dispositivos de entrada, en lugar de conectarse con las señales de alto nivel que se usan en GTK+. GDK también proporciona rutinas de bajo nivel para acceder a los datos de arrastrar y soltar y del portapapeles del sistema. Cuando implemente controles personalizados, quizá deba acceder a estas características para implementar un comportamiento adecuado de la interacción con el usuario.

GDK proporciona otra funcionalidad necesaria para implementar un toolkit gráfico completo como GTK+. Ya que GDK actúa como una plataforma de abstracción, permitiendo que GTK+ se ejecute en múltiples entornos, proporciona una API para todas las funcionalidades del sistema que necesita GTK+. Esto incluye información acerca configuraciones multimonitor, resolución y profundidad de color, mapas de colores y cursores.

Debería usar GDK siempre que necesite acceso de bajo nivel al sistema de ventanas, incluyendo acceso a bajo nivel para eventos, ventanas y al portapapeles. Usar GDK para estas tareas asegura que su código es portable y se integra con el resto de su código GTK+. Generalmente no deberían usarse las rutinas de dibujado simple en GDK. En su lugar, debería usar la extensa funcionalidad que proporciona Cairo.