GDK (de l'anglais « GIMP Drawing Kit ») est une bibliothèque intégrée au widget toolkit GTK+[2] et s'interfaçant avec le système graphique afin de gérer le rendu de primitives graphiques (rectangles, arcs, droites), d'images matricielles (bitmaps), de curseurs, de fontes de caractères. Elle traite également les événements provenant notamment du clavier ou de la souris.

GDK

Description de l'image GTK+ software architecture.svg.
Informations
Développé par Projet GNOME (en)Voir et modifier les données sur Wikidata
Dernière version 4.11.5 ()[1]Voir et modifier les données sur Wikidata
Dépôt gitlab.gnome.org/GNOME/gtk/tree/master/gdkVoir et modifier les données sur Wikidata
Écrit en CVoir et modifier les données sur Wikidata
Système d'exploitation LinuxVoir et modifier les données sur Wikidata
Type Bibliothèque logicielleVoir et modifier les données sur Wikidata
Licence Licence publique générale limitée GNU version 2.1 ou ultérieure (d)Voir et modifier les données sur Wikidata
Documentation docs.gtk.org/gdk3Voir et modifier les données sur Wikidata

GDK est multiplateforme et elle est publiée sous licence GNU LGPL 2.1. Elle a été initialement conçue pour l'éditeur d'image matricielle GIMP.

Architecture

modifier

La bibliothèque GDK se place en surcouche du système graphique ce qui permet d'isoler GTK+ des interfaces liées au système graphique. Elle joue ainsi un rôle important pour assurer la fonctionnalité multiplateforme de GTK+, en complément de la bibliothèque GLib aussi utilisée par GTK+ pour la portabilité.

GDK peut donc s'interfacer avec les systèmes graphiques GDI, Quartz, X11, Wayland, Mir.

Dans des environnements embarqués, GDK peut aussi s'interfacer avec les systèmes graphiques DirectFB[3], ou directement avec le Framebuffer Linux[4].

A noter également que GDK peut s'interfacer avec Broadway[5] pour un affichage dans un Navigateur web.

GDK a d'abord été implémentée avec le support X11.

Les supports pour GDI et pour le Framebuffer Linux ont été introduits dans GTK+ 2.0. N'ayant pas été maintenu après GTK+ 2.4, le support pour le Framebuffer Linux a finalement été retiré après GTK+ 2.10.

Les supports DirectFB et Quartz ont été introduits dans GTK+ 2.10. N'ayant pas été maintenu après GTK+ 2.12, le support DirectFB a finalement été retiré à partir de GTK+ 3.0.

Les supports Wayland et Broadway ont été introduits dans GTK+ 3.2, tandis que le support Mir a été introduit à partir de GTK+ 3.16.

Pour l'instant, il n'y a pas de support KMS/DRM implémenté dans GDK.

Depuis GTK+ 2.8, GDK s'appuie sur la bibliothèque Cairo qui est alors utilisée dans l'implémentation de widgets GTK+. À partir de GTK+ 3.0, les fonctions de dessin de GDK sont devenues obsolètes, Cairo pouvant être utilisé[6].

Notes et références

modifier
  1. « n Namespace Gdk – 4.0; The GTK toolkit Version 4.11.5 », (consulté le )
  2. « Index of /sources/gtk+/ », sur gnome.org (consulté le ).
  3. (en) « Caramelli/higfxback », sur GitHub (consulté le ).
  4. (en) « Caramelli/higfxback », sur GitHub (consulté le ).
  5. (en) « Gtk-3.0 », sur gnome.org (consulté le ).
  6. Migrating from GTK+ 2.x to GTK+ 3 - Use cairo for drawing

Voir aussi

modifier

Articles connexes

modifier

Liens externes

modifier