Přeskočit na obsah

Wikipedista:Dormouse759/Pískoviště

Z Wikipedie, otevřené encyklopedie

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 | editovat zdroj]

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 | editovat zdroj]

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 | editovat zdroj]

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 | editovat zdroj]

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 | editovat zdroj]

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 | editovat zdroj]

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 | editovat zdroj]

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.