PdfFunction
A PDF function (ISO 32000-1 §7.10). Functions map an n-component input to an m-component output, typically used by shadings, transparency groups, tint transforms, and halftone phase calculations.
KitePDF v0.0.x supports:
Type 2 (exponential interpolation, §7.10.3) — the most common case; used heavily by axial/radial shadings.
Type 3 (stitching, §7.10.4) — a piecewise combinator that glues subordinate functions back-to-back.
Type 0 (sampled) and Type 4 (PostScript calculator) parse but evaluate to zeros; they're called out in the README as future work.
Inheritors
Types
Exponential interpolation. Maps a single-component input x in [domain[0], domain[1]] to c0 + x^N * (c1 - c0) per output channel. The N ("exponent") of 1 yields linear interpolation; >1 biases toward c0; <1 toward c1.
Placeholder for function types we don't fully evaluate (Type 0 sampled, Type 4 PostScript calculator). Returns an all-zero output of the right length so callers don't crash; shadings using these degrade to flat black (or to the background color, if any).
Properties
Functions
Evaluate f(input) → output. The output length is outputCount.