sig
  type button_flags
  val button_returnkey_default : Tsdl.Sdl.Message_box.button_flags
  val button_escapekey_default : Tsdl.Sdl.Message_box.button_flags
  type button_data = {
    button_flags : Tsdl.Sdl.Message_box.button_flags;
    button_id : int;
    button_text : string;
  }
  type flags
  val error : Tsdl.Sdl.Message_box.flags
  val warning : Tsdl.Sdl.Message_box.flags
  val information : Tsdl.Sdl.Message_box.flags
  type color = int * int * int
  type color_scheme = {
    color_background : Tsdl.Sdl.Message_box.color;
    color_text : Tsdl.Sdl.Message_box.color;
    color_button_border : Tsdl.Sdl.Message_box.color;
    color_button_background : Tsdl.Sdl.Message_box.color;
    color_button_selected : Tsdl.Sdl.Message_box.color;
  }
  type data = {
    flags : Tsdl.Sdl.Message_box.flags;
    window : Tsdl.Sdl.window option;
    title : string;
    message : string;
    buttons : Tsdl.Sdl.Message_box.button_data list;
    color_scheme : Tsdl.Sdl.Message_box.color_scheme option;
  }
end