sig
  type surface = [ `Any | `PS ] Cairo.surface
  val surface_create_for_channel :
    Pervasives.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"
end