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