sig
  module Surface_ba :
    sig
      type t = Sdlsurface.t
      external get_pixels :
        Sdlba.Surface_ba.t ->
        (int, Stdlib.Bigarray.int8_unsigned_elt, Stdlib.Bigarray.c_layout)
        Stdlib.Bigarray.Array1.t = "caml_SDL_Surface_ba_get_pixels"
      external create_rgb_surface_from :
        pixels:(int, Stdlib.Bigarray.int8_unsigned_elt,
                Stdlib.Bigarray.c_layout)
               Stdlib.Bigarray.Array1.t ->
        width:int ->
        height:int ->
        depth:int ->
        pitch:int ->
        r_mask:int32 ->
        g_mask:int32 -> b_mask:int32 -> a_mask:int32 -> Sdlba.Surface_ba.t
        = "caml_SDL_CreateRGBSurfaceFrom_bytecode"
        "caml_SDL_CreateRGBSurfaceFrom"
    end
  module Texture_ba :
    sig
      type t = Sdltexture.t
      val lock :
        Sdlba.Texture_ba.t ->
        ?rect:Sdlrect.t ->
        ('a, 'b) Stdlib.Bigarray.kind ->
        (('a, 'b, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t * int)
        option
      external unlock : Sdlba.Texture_ba.t -> unit
        = "caml_SDL_Texture_ba_unlock" [@@noalloc]
    end
end