camlpdf

Read, write and modify PDF files
Library camlpdf
Module Pdftransform
type transform_op =
| Scale of float * float * float * float
| Rotate of float * float * float
| Translate of float * float
| ShearX of float * float * float
| ShearY of float * float * float
type transform = transform_op list
type transform_matrix = {
a : float;
b : float;
c : float;
d : float;
e : float;
f : float;
}
val string_of_trop : transform_op -> string
val string_of_transform : transform_op list -> string
val i : transform
val compose : transform_op -> transform_op list -> transform_op list
val append : transform -> transform -> transform
val i_matrix : transform_matrix
val string_of_matrix : transform_matrix -> string
exception NonInvertable
val matrix_invert : transform_matrix -> transform_matrix
val mktranslate : float -> float -> transform_matrix
val mkscale : (float * float) -> float -> float -> transform_matrix
val mkrotate : (float * float) -> float -> transform_matrix
val mkshearx : (float * float) -> float -> transform_matrix
val mksheary : (float * float) -> float -> transform_matrix
val matrix_of_op : transform_op -> transform_matrix
val transform_matrix : transform_matrix -> (float * float) -> float * float
val matrix_of_transform : transform_op list -> transform_matrix
val transform : transform_op list -> (float * float) -> float * float
val decompose : transform_matrix -> float * float * float * float * float * float
val recompose : float -> float -> float -> float -> float -> float -> transform_matrix