sig
  type t
  external create :
    Sdltype.renderer ->
    SdlpixelFormat.t -> SdltextureAccess.t -> int -> int -> Sdltexture.t
    = "caml_SDL_CreateTexture"
  external create_from_surface :
    Sdltype.renderer -> Sdlsurface.t -> Sdltexture.t
    = "caml_SDL_CreateTextureFromSurface"
  external destroy : Sdltexture.t -> unit = "caml_SDL_DestroyTexture"
  external set_blend_mode : Sdltexture.t -> SdlblendMode.t -> unit
    = "caml_SDL_SetTextureBlendMode" [@@noalloc]
  external get_blend_mode : Sdltexture.t -> SdlblendMode.t
    = "caml_SDL_GetTextureBlendMode"
  external set_alpha_mod : Sdltexture.t -> alpha:int -> unit
    = "caml_SDL_SetTextureAlphaMod"
  external get_alpha_mod : Sdltexture.t -> int
    = "caml_SDL_GetTextureAlphaMod"
  external set_color_mod : Sdltexture.t -> int * int * int -> unit
    = "caml_SDL_SetTextureColorMod"
  external set_color_mod3 : Sdltexture.t -> r:int -> g:int -> b:int -> unit
    = "caml_SDL_SetTextureColorMod3"
  external get_color_mod : Sdltexture.t -> int * int * int
    = "caml_SDL_GetTextureColorMod"
end