1<?xml version="1.0"?> 2<!DOCTYPE partintro PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" 3 "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [ 4 ]> 5<partintro> 6<para> 7GTK is a library for creating graphical user interfaces. It 8works on many UNIX-like platforms, Windows, and OS X. 9GTK is released under the GNU Library General Public License 10(GNU LGPL), which allows for flexible licensing of client 11applications. GTK has a C-based object-oriented architecture that 12allows for maximum flexibility. Bindings for many other languages have 13been written, including C++, Objective-C, Guile/Scheme, Perl, Python, 14TOM, Ada95, Free Pascal, and Eiffel. The GTK library itself contains 15<firstterm>widgets</firstterm>, that is, GUI components such as GtkButton 16or GtkTextView. 17 18</para> 19<para> 20GTK depends on the following libraries: 21<variablelist> 22 23<varlistentry> 24<term>GLib</term> 25<listitem><para> 26A general-purpose utility library, not specific to graphical user interfaces. 27GLib provides many useful data types, macros, type conversions, 28string utilities, file utilities, a main loop abstraction, and so on. 29</para></listitem> 30</varlistentry> 31 32<varlistentry> 33<term>GObject</term> 34<listitem><para>A library that provides a type system, a collection of 35fundamental types including an object type, a signal system. 36</para></listitem> 37</varlistentry> 38 39<varlistentry> 40<term>GIO</term> 41<listitem><para>A modern, easy-to-use VFS API including abstractions for 42files, drives, volumes, stream IO, as well as network programming and 43DBus communication. 44</para></listitem> 45</varlistentry> 46 47<varlistentry> 48<term>cairo</term> 49<listitem><para>Cairo is a 2D graphics library with support for multiple 50output devices. 51</para></listitem> 52</varlistentry> 53 54<varlistentry> 55<term>Pango</term> 56<listitem><para> 57Pango is a library for internationalized text handling. It centers 58around the PangoLayout object, representing a paragraph of text. 59Pango provides the engine for GtkTextView, GtkLabel, GtkEntry, and 60other widgets that display text. 61</para></listitem> 62</varlistentry> 63 64<varlistentry> 65<term>GdkPixbuf</term> 66<listitem><para> 67This is a small library which allows you to create GdkPixbuf 68("pixel buffer") objects from image data or image files. 69Use a GdkPixbuf in combination with GtkImage to display images. 70</para></listitem> 71</varlistentry> 72 73<varlistentry> 74<term>graphene</term> 75<listitem><para> 76This is a small library which provides vector and matrix datatypes 77and operations. graphene provides optimized implementations using 78various SIMD instruction sets such as SSE. 79</para></listitem> 80</varlistentry> 81 82<varlistentry> 83<term>GDK</term> 84<listitem><para> 85GDK is the abstraction layer that allows GTK to support multiple 86windowing systems. GDK provides window system facilities on Wayland, 87X11, Windows, and OS X. 88</para></listitem> 89</varlistentry> 90 91<varlistentry> 92<term>GSK</term> 93<listitem><para> 94GSK is a library for creating a scene graph from render nodes, 95and rendering it using different rendering APIs. GSK provides renderers 96for OpenGL, Vulkan and cairo. 97</para></listitem> 98</varlistentry> 99</variablelist> 100</para> 101</partintro> 102