sig
  type surface = [ `Any | `PS ] Cairo.surface
  val surface_create_for_channel :
    Stdlib.out_channel ->
    width_in_points:float -> height_in_points:float -> Cairo_ps.surface
  external surface_create_for_stream :
    (string -> unit) ->
    width_in_points:float -> height_in_points:float -> Cairo_ps.surface
    = "ml_cairo_ps_surface_create_for_stream"
  external set_size :
    [> `PS ] Cairo.surface ->
    width_in_points:float -> height_in_points:float -> unit
    = "ml_cairo_ps_surface_set_size"
end