Part I. CTK+ Overview

CTK+ is a library for creating graphical user interfaces. It works on many UNIX-like platforms, Windows, and OS X. CTK+ is released under the GNU Library General Public License (GNU LGPL), which allows for flexible licensing of client applications. CTK+ has a C-based object-oriented architecture that allows for maximum flexibility. Bindings for many other languages have been written, including C++, Objective-C, Guile/Scheme, Perl, Python, TOM, Ada95, Free Pascal, and Eiffel.

CTK+ depends on the following libraries:

GLib

A general-purpose utility library, not specific to graphical user interfaces. GLib provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on.

GObject

A library that provides a type system, a collection of fundamental types including an object type, a signal system.

GIO

A modern, easy-to-use VFS API including abstractions for files, drives, volumes, stream IO, as well as network programming and DBus communication.

cairo

Cairo is a 2D graphics library with support for multiple output devices.

Pango

Pango is a library for internationalized text handling. It centers around the PangoLayout object, representing a paragraph of text. Pango provides the engine for CtkTextView, CtkLabel, CtkEntry, and other widgets that display text.

ATK

ATK is the Accessibility Toolkit. It provides a set of generic interfaces allowing accessibility technologies to interact with a graphical user interface. For example, a screen reader uses ATK to discover the text in an interface and read it to blind users. CTK+ widgets have built-in support for accessibility using the ATK framework.

GdkPixbuf

This is a small library which allows you to create GdkPixbuf ("pixel buffer") objects from image data or image files. Use a GdkPixbuf in combination with CtkImage to display images.

CDK

CDK is the abstraction layer that allows CTK+ to support multiple windowing systems. CDK provides window system facilities on X11, Windows, and OS X.

CTK+

The CTK+ library itself contains widgets, that is, GUI components such as CtkButton or CtkTextView.