sig
  type t = { x : int; y : int; w : int; h : int; }
  val make : pos:int * int -> dims:int * int -> Sdlrect.t
  val make1 : int * int * int * int -> Sdlrect.t
  val make2 : pos:int * int -> dims:int * int -> Sdlrect.t
  val make4 : x:int -> y:int -> w:int -> h:int -> Sdlrect.t
  val move : Sdlrect.t -> x:int -> y:int -> Sdlrect.t
  external has_intersection : a:Sdlrect.t -> b:Sdlrect.t -> bool
    = "caml_SDL_HasIntersection"
  external intersect_rect_and_line :
    rect:Sdlrect.t ->
    p1:int * int -> p2:int * int -> (int * int * int * int) option
    = "caml_SDL_IntersectRectAndLine"
  external point_in_rect : p:int * int -> r:Sdlrect.t -> bool
    = "caml_SDL_PointInRect"
end