# The Ipe library (Ipelib) documentation

The Ipe program is a "relatively" thin layers on top of the "Ipe library" (Ipelib). The library provides the geometric primitives and implements all the geometric objects that appear in Ipe. Most tasks related to modifying an Ipe document are actually performed by the library. Since Ipelib uses no external libraries---except for the standard C++ library, including the STL---it can easily be reused by other programs to read, write, and modify Ipe documents.

In particular, authors of Ipelets (plug-ins for Ipe) will need this documentation, as Ipelets have to be linked with this library. Using the library, one can also write independent programs that can read and write Ipe documents in XML format. The Ipe manual has an example program that does so.

On top of Ipelib, the Ipe application adds support for reading and writing PDF files, for running Pdflatex, and implements the user interface using the Qt toolkit.