sig
  type orient =
      [ `flip_horizontal
      | `flip_transpose
      | `flip_transverse
      | `flip_vertical
      | `orient_none
      | `rotate_180
      | `rotate_270
      | `rotate_90 ]
  type progress = { now : float; total : float; }
  val add : Evas.obj -> Evas.obj
  val addx : Elm_object.t_addx
  val file_set : Evas.obj -> string -> ?g:string -> unit -> bool
  val file_get : Evas.obj -> string * string option
  val smooth_set : Evas.obj -> bool -> unit
  val smooth_get : Evas.obj -> bool
  val object_size_get : Evas.obj -> int * int
  val no_scale_set : Evas.obj -> bool -> unit
  val no_scale_get : Evas.obj -> bool
  val resizable_set : Evas.obj -> bool -> bool -> unit
  val resizable_get : Evas.obj -> bool * bool
  val fill_outside_set : Evas.obj -> bool -> unit
  val fill_outside_get : Evas.obj -> bool
  val preload_disabled_set : Evas.obj -> bool -> unit
  val prescale_set : Evas.obj -> int -> unit
  val prescale_get : Evas.obj -> int
  val orient_set : Evas.obj -> Elm_image.orient -> unit
  val orient_get : Evas.obj -> Elm_image.orient
  val editable_set : Evas.obj -> bool -> unit
  val editable_get : Evas.obj -> bool
  val object_get : Evas.obj -> Evas.obj option
  val aspect_fixed_set : Evas.obj -> bool -> unit
  val aspect_fixed_get : Evas.obj -> bool
  val animated_available_get : Evas.obj -> bool
  val animated_set : Evas.obj -> bool -> unit
  val animated_get : Evas.obj -> bool
  val animated_play_set : Evas.obj -> bool -> unit
  val animated_play_get : Evas.obj -> bool
  val async_open_set : Evas.obj -> bool -> unit
end