Léxico de TI › Programação › GDK

GDK

Programação Svenska → Atualizado: 2026-10-09
Mais informações
Criado por
Peter Mattis, Spencer Kimball e Josh MacDonald
Tipo
Camada do sistema de janelas no GTK
Licença
LGPL
Código-fonte
gitlab.gnome.org/GNOME/gtk

A camada do GTK que conversa com o sistema de janelas, para que os widgets acima dela não precisem saber se estão no X11, no Wayland, no Windows, no macOS ou dentro de um navegador.

O GIMP Drawing Kit existia desde o início, quando Peter Mattis, Spencer Kimball e Josh MacDonald escreveram o GTK para o GIMP, em meados dos anos 1990. A ideia era manter a Xlib em um só lugar: o GDK abre o display, cria e move janelas, lê eventos, cuida de cursores, seleções e arrastar e soltar e, no GTK 1 e 2, desenhava com um contexto gráfico próprio que espelhava o do X. Os widgets enxergam apenas GdkWindow e GdkEvent. Assim, quando Tor Lillqvist quis o GIMP no Windows, em 1998, foi o GDK que ele reimplementou, não o GTK, e o mesmo padrão se repetiu para o Quartz no macOS, o DirectFB, o Broadway, que renderiza em HTML5 num navegador, e, a partir de 2011, o Wayland.

O desenho passou para o Cairo em 2005 e, no GTK 4, saiu do GDK por completo: GdkWindow virou GdkSurface e os pixels são produzidos pelo GSK na GPU. O carregamento de imagens já havia saído antes, como gdk-pixbuf, depois de uma temporada com o Imlib. O que sobra é uma camada que quase nenhum programador chama diretamente, mas da qual todo mundo depende. Quando um programa GTK se comporta de forma diferente no X11 e no Wayland, é no GDK que a diferença costuma morar.

← Voltar ao léxico