Wikipedista:Dormouse759/Pískoviště

GTK+ (zkratka pro GIMP Toolkit) je cross-platformní sada nástrojů pro tvorbu grafických prostředí. Je licensována pod GLGPL, což umožňuje jak svodobnému, tak soukromému kódu užití tohoto toolkitu. Je to společně s Qt jeden z nejpopulárnějších toolkitů pro okenní systémy Wayland a X11.


Architektura softwaru editovat

Knihovna GTK+ obsahuje sadu grafických prvků (widgetů), verze 3.22.16 obsahuje 189 aktivních a 36 prvků s ukončenou podporou. GTK+ je objektově orientovaný toolkit napsaný v jazyce C. Používá tzv. GObject, což je objektový systém knihovny Glib pro objektovou orientaci. Zatímco GTK+ je primárně určen pro okenní systémy pro X11 a Wayland, funguje i na jinných platformách včetně Microsoft Windows (přes Windows API) a macOS (přes Quartz). Také existuje HTML5 back-end jménem Broadway.

GTK+ může být nakonfigurováno, aby změnilo vzhled svých prvků pomocí používání různých vykreslovacích enginů. Existují různé enginy, které se snaží emulovat vzhled nativních prvků právě používané platformy.

Od verze 2.8 vydané v roce 2005 GTK+ začalo s přechodem na renderování většiny svých prvků přes Cairo. Od verze 3.0 se veškerý rendering provádí přes Cairo.

Gimp Drawing Kit (GDK) editovat

GDK se chová jako wrapper kolem nízkoúrovňových funkcí grafického systému, na kterém zrovna běží.

GDK se nachází v adresáři Gdk/

GTK+ Scene Graph Kit (GSK) editovat

GSK je API pro render a uspořádání scény pro GTK+. GSK se nachází mezi ovládacími prvky a renderováním. GSK bylo začleněno do GTK+ ve verzi 3.90 vydané v březnu 2017.

GSK se nachází v adresáři /gsk

GtkInspector editovat

GtkInspector byl představen ve verzi 3.14. GtkInspector může být použit pouze po instalaci vývojářského balíčku libgtk-3-dev/gtk+-devel.

GUI designéry editovat

Existuje několik GUI designerů pro GTK+. Následující projekty byly aktivní období červenec 2011:

  • Glade, podporuje GtkBuilder, což je zabudovaný popisný formát GTK+.
  • Gazpacho, GUI builder pro GTK+ implementovaný v Pythonu.
  • Crow Designer, závisí na GuiXml formátu a GuiLoader knihovně.
  • Stetic, součást MonoDevelopu, orientovaný na Gtk#.

GtkBuilder editovat

GtkBuilder umožňuje navržení uživatelského rozhraní bez umu psaní kódu. Rozhraní je popsáno jakožto XML (Extensible Markup Language) soubor, který je následně nahrán při běhu programu a objekty se vytvoří automaticky. Rozhraní designéru Glade umožňuje tvorbu ve stylu WYSIWYG editoru. Popis uživatelského rozhraní je nezávislý na použitém programovacím jazyku.

Language bindings editovat

Knihovna napsaná v jednom jazyce může být použita i v jiném programovacím jazyce, jsou-li napsány bindingy. GTK+ má široký rozsah bindingů pro různé jazyky.