sig
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.transform_op list
val i : Transform.transform
val string_of_transform : Transform.transform -> string
type transform_matrix = {
a : float;
b : float;
c : float;
d : float;
e : float;
f : float;
}
val i_matrix : Transform.transform_matrix
val string_of_matrix : Transform.transform_matrix -> string
val mktranslate : float -> float -> Transform.transform_matrix
val mkscale : float * float -> float -> float -> Transform.transform_matrix
val mkrotate : float * float -> float -> Transform.transform_matrix
val mkshearx : float * float -> float -> Transform.transform_matrix
val mksheary : float * float -> float -> Transform.transform_matrix
val compose :
Transform.transform_op -> Transform.transform -> Transform.transform
val append :
Transform.transform -> Transform.transform -> Transform.transform
val matrix_compose :
Transform.transform_matrix ->
Transform.transform_matrix -> Transform.transform_matrix
exception NonInvertable
val matrix_invert :
Transform.transform_matrix -> Transform.transform_matrix
val transform : Transform.transform -> float * float -> float * float
val transform_matrix :
Transform.transform_matrix -> float * float -> float * float
val matrix_of_op : Transform.transform_op -> Transform.transform_matrix
val matrix_of_transform : Transform.transform -> Transform.transform_matrix
val decompose :
Transform.transform_matrix ->
float * float * float * float * float * float
val recompose :
float ->
float -> float -> float -> float -> float -> Transform.transform_matrix
end