sig
  external new_shape : unit -> SWF.shape = "ml_newswfshape"
  external destroy : shape:SWF.shape -> unit = "ml_destroyswfshape"
  external add_solid_fill :
    shape:SWF.shape -> r:int -> g:int -> b:int -> a:int -> SWF.fill
    = "ml_swfshape_addsolidfill"
  external set_line :
    shape:SWF.shape -> width:int -> r:int -> g:int -> b:int -> a:int -> unit
    = "ml_swfshape_setline_bytecode" "ml_swfshape_setline_native"
  external set_line_style :
    shape:SWF.shape -> width:int -> r:int -> g:int -> b:int -> a:int -> unit
    = "ml_swfshape_setlinestyle_bytecode" "ml_swfshape_setlinestyle_native"
  external hide_line : shape:SWF.shape -> unit = "ml_swfshape_hideline"
  external move_pen : shape:SWF.shape -> x:float -> y:float -> unit
    = "ml_swfshape_movepen"
  external move_pen_to : shape:SWF.shape -> x:float -> y:float -> unit
    = "ml_swfshape_movepento"
  external draw_line : shape:SWF.shape -> x:float -> y:float -> unit
    = "ml_swfshape_drawline"
  external draw_line_to : shape:SWF.shape -> x:float -> y:float -> unit
    = "ml_swfshape_drawlineto"
  external draw_curve :
    shape:SWF.shape ->
    controlx:float ->
    controly:float -> anchorx:float -> anchory:float -> unit
    = "ml_swfshape_drawcurve"
  external draw_curve_to :
    shape:SWF.shape ->
    controlx:float ->
    controly:float -> anchorx:float -> anchory:float -> unit
    = "ml_swfshape_drawcurveto"
  external draw_circle : shape:SWF.shape -> r:float -> unit
    = "ml_swfshape_drawcircle"
  external draw_arc :
    shape:SWF.shape ->
    r:float -> start_angle:float -> end_angle:float -> unit
    = "ml_swfshape_drawarc"
  external draw_glyph : shape:SWF.shape -> font:SWF.font -> c:char -> unit
    = "ml_swfshape_drawglyph"
  external set_right_fill_style :
    shape:SWF.shape -> fill_style:SWF.fill_style -> unit
    = "ml_swfshape_setrightfillstyle"
  external set_left_fill_style :
    shape:SWF.shape -> fill_style:SWF.fill_style -> unit
    = "ml_swfshape_setleftfillstyle"
  external set_right_fill : shape:SWF.shape -> fill:SWF.fill -> unit
    = "ml_swfshape_setrightfill"
  external set_left_fill : shape:SWF.shape -> fill:SWF.fill -> unit
    = "ml_swfshape_setleftfill"
  external add_linear_gradient_fill :
    shape:SWF.shape -> gradient:SWF.gradient -> SWF.fill
    = "ml_swfshape_addgradientfill_linear"
  external add_radial_gradient_fill :
    shape:SWF.shape -> gradient:SWF.gradient -> SWF.fill
    = "ml_swfshape_addgradientfill_radial"
end