Title

Cairo Tutorial Outline

Cairo Design Goals

History

Cairo Architecture

Target Rendering Systems

2D Graphics

2D Applications

3D Graphics

2D Applications on 3D API

Cairo on 3D API

PostScript Graphics Model

Choosing PostScript

Paths

Cairo API and Examples

Cairo API

Rendering in Memory

Rendering to X

Paths

Using Paths

Path Example

Stroking Paths

Stroke Example

Closing the Path

Close Path Example

Caps and Joins

Caps and Joins Setup

Caps and Joins Example

Filling Paths

Fill Example

Fill and Stroke

Fill and Stroke Example

Affine Transformations

Affine Transform Example

Even/Odd vs Winding

Combining Images

Loading an Image File

Image Example

Image Transformation

Resampling Modes

Patterns

Pattern Example

Pattern Transformations

Pattern Transform

Gradients

Gradient Setup

Gradient Creation

Gradient Example

Text

“Toy” Text API

“Toy” Text Example

Cairo Internals

Drawing Splines

Minkowski Sum

de Castlejau

Polygonal Pens

Convolution of Pen w/ Path

Stroked Spline Comparison

Compositing Modes

Correlated Sub-pixels

Cairo Wrap-up

Credits

End