sig
  class swfFill :
    fill:SWF.fill ->
    object
      val fill : SWF.fill
      method get_fill : unit -> SWF.fill
      method move : x:float -> y:float -> unit
      method move_to : x:float -> y:float -> unit
      method rotate : degrees:float -> unit
      method rotate_to : degrees:float -> unit
      method scale : scale:float -> unit
      method scale_to : scale:float -> unit
      method scale_x : x:float -> unit
      method scale_x_to : x:float -> unit
      method scale_xy : x:float -> y:float -> unit
      method scale_xy_to : x:float -> y:float -> unit
      method scale_y : y:float -> unit
      method scale_y_to : y:float -> unit
      method skew_x : x:float -> unit
      method skew_x_to : x:float -> unit
      method skew_y : y:float -> unit
      method skew_y_to : y:float -> unit
    end
  class swfGradient :
    object
      val gradient : SWF.gradient
      method add_entry :
        ratio:float -> r:int -> g:int -> b:int -> a:int -> unit
      method get_gradient : unit -> SWF.gradient
    end
  class swfFont :
    filename:string ->
    object
      val font : SWF.font
      method get_ascent : unit -> float
      method get_descent : unit -> float
      method get_font : unit -> SWF.font
      method get_leading : unit -> float
      method get_width : string:string -> float
    end
  class swfDisplayItem :
    display_item:SWF.display_item ->
    object
      val display_item : SWF.display_item
      method move : x:float -> y:float -> unit
      method move_to : x:float -> y:float -> unit
      method rotate : degrees:float -> unit
      method rotate_to : degrees:float -> unit
      method scale : x:float -> y:float -> unit
      method scale_to : x:float -> y:float -> unit
      method set_color_mult :
        r:float -> g:float -> b:float -> a:float -> unit
      method set_ratio : ratio:float -> unit
      method skew_x : x:float -> unit
      method skew_x_to : x:float -> unit
    end
  class swfShape :
    ?shape:SWF.shape ->
    unit ->
    object
      val shape : SWF.shape
      method add_fill : r:int -> g:int -> b:int -> a:int -> SWF.OO.swfFill
      method add_linear_gradient_fill :
        gradient:SWF.OO.swfGradient -> SWF.OO.swfFill
      method add_radial_gradient_fill :
        gradient:SWF.OO.swfGradient -> SWF.OO.swfFill
      method add_solid_fill :
        r:int -> g:int -> b:int -> a:int -> SWF.OO.swfFill
      method draw_arc :
        r:float -> start_angle:float -> end_angle:float -> unit
      method draw_circle : r:float -> unit
      method draw_curve :
        controlx:float ->
        controly:float -> anchorx:float -> anchory:float -> unit
      method draw_curve_to :
        controlx:float ->
        controly:float -> anchorx:float -> anchory:float -> unit
      method draw_glyph : font:SWF.OO.swfFont -> c:char -> unit
      method draw_line : x:float -> y:float -> unit
      method draw_line_to : x:float -> y:float -> unit
      method get_block : unit -> SWF.block
      method get_shape : unit -> SWF.shape
      method hide_line : unit -> unit
      method move_pen : x:float -> y:float -> unit
      method move_pen_to : x:float -> y:float -> unit
      method set_left_fill : fill:SWF.OO.swfFill -> unit
      method set_left_fill_style : fill_style:SWF.fill_style -> unit
      method set_line : width:int -> r:int -> g:int -> b:int -> a:int -> unit
      method set_line_style :
        width:int -> r:int -> g:int -> b:int -> a:int -> unit
      method set_right_fill : fill:SWF.OO.swfFill -> unit
      method set_right_fill_style : fill_style:SWF.fill_style -> unit
    end
  class swfMorph :
    object
      val morph : SWF.morph
      method get_morph : unit -> SWF.morph
      method get_shape1 : unit -> SWF.OO.swfShape
      method get_shape2 : unit -> SWF.OO.swfShape
    end
  type item = SWFShape of SWF.OO.swfShape | SWFMorph of SWF.OO.swfMorph
  class swfMovie :
    object
      val mutable filesize : int option
      val movie : SWF.movie
      method add : block:SWF.OO.item -> SWF.OO.swfDisplayItem
      method get_filesize : unit -> int option
      method next_frame : unit -> unit
      method save : filename:string -> unit
      method set_background : r:int -> g:int -> b:int -> unit
      method set_dimension : x:float -> y:float -> unit
      method set_rate : rate:float -> unit
    end
end