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