The libart library

Mathieu Lacage

            mathieu@gnu.org
          

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

Table of Contents
What is Libart ?
Introduction
File names
LibArt's overall architecture
Using libart
From vector data to pixel buffers
Sample code
A non-displaying application
A displaying application
Basic APIs
Miscealeanous useful APIs
Memory Management — Memory Management API for libart users.
Affine transformation matrices — Instantiate and manipulate Affine transforms.
Art Alpha Gamma Stuff — Gamma-correct your image data.
Construction APIs
Core Construction APIs — Core construction API.
Extended Construction APIs — Extended Construction API
Transformation operations — Transformations which can be applied to bpaths or vpaths.
Rendering APIs
SVPs — Manipulating SVPs
Svp rendering — How to actually render SVPs into pixel buffers.
Known problems
Numerical Stability
Memory Footprint
Libart Internals
Rasterizer
Winding Number Calculation.
How libart does this for true.
Intersector
GNU Free Documentation License
0. PREAMBLE
1. APPLICABILITY AND DEFINITIONS
2. VERBATIM COPYING
3. COPYING IN QUANTITY
4. MODIFICATIONS
5. COMBINING DOCUMENTS
6. COLLECTIONS OF DOCUMENTS
7. AGGREGATION WITH INDEPENDENT WORKS
8. TRANSLATION
9. TERMINATION
10. FUTURE REVISIONS OF THIS LICENSE
Addendum