`sig
val init_identity : Cairo.matrix
val init_translate : float -> float -> Cairo.matrix
val init_scale : float -> float -> Cairo.matrix
val init_rotate : float -> Cairo.matrix
external translate : Cairo.matrix -> float -> float -> Cairo.matrix
= "ml_cairo_matrix_translate"
external scale : Cairo.matrix -> float -> float -> Cairo.matrix
= "ml_cairo_matrix_scale"
external rotate : Cairo.matrix -> float -> Cairo.matrix
= "ml_cairo_matrix_rotate"
external invert : Cairo.matrix -> Cairo.matrix = "ml_cairo_matrix_invert"
external multiply : Cairo.matrix -> Cairo.matrix -> Cairo.matrix
= "ml_cairo_matrix_multiply"
external transform_distance : Cairo.matrix -> Cairo.point -> Cairo.point
= "ml_cairo_matrix_transform_distance"
external transform_point : Cairo.matrix -> Cairo.point -> Cairo.point
= "ml_cairo_matrix_transform_point"
end`