sig
  type fpoint = float * float
  type winding_rule = EvenOdd | NonZero
  type segment =
      Straight of Cpdfshape.fpoint * Cpdfshape.fpoint
    | Bezier of Cpdfshape.fpoint * Cpdfshape.fpoint * Cpdfshape.fpoint *
        Cpdfshape.fpoint
  type hole = Hole | Not_hole
  type closure = Closed | Open
  type subpath = Cpdfshape.hole * Cpdfshape.closure * Cpdfshape.segment list
  type path = Cpdfshape.winding_rule * Cpdfshape.subpath list
  val kappa : float
  val restrict_angle : float -> float -> float
  val circle : float -> float -> float -> Cpdfshape.path
  val rectangle : float -> float -> float -> float -> Cpdfshape.path
end