Module Cpdfshape

module Cpdfshape: sig .. end

Basic Shapes


type fpoint = float * float 
type winding_rule = 
| EvenOdd
| NonZero
type segment = 
| Straight of fpoint * fpoint
| Bezier of fpoint * fpoint * fpoint * fpoint
type hole = 
| Hole
| Not_hole
type closure = 
| Closed
| Open
type subpath = hole * closure * segment list 
type path = winding_rule * subpath list 
val kappa : float

The factor by which the radius of a circle is multiplied to find the length of the bezier control lines when approximating quarter arcs to make circles.

val restrict_angle : float -> float -> float

Calling restrict_angle s a restricts an angle a to one of those at s, 2s, 3s... returning the chosen one.

val circle : float -> float -> float -> path

Calling circle x y r builds a path representing a circle at (x, y) with radius r.

val rectangle : float -> float -> float -> float -> path

Calling rectangle x y w h builds a path representing a rectangle with top left (x, y), width w and height h.