use crate::{c_char, c_int, stdinc::*, video::*};
#[allow(unused)]
use crate::*;
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[repr(transparent)]
pub struct SDL_MessageBoxFlags(pub u32);
impl_bit_ops_for_tuple_newtype!(SDL_MessageBoxFlags);
pub const SDL_MESSAGEBOX_ERROR: SDL_MessageBoxFlags =
SDL_MessageBoxFlags(0x00000010);
pub const SDL_MESSAGEBOX_WARNING: SDL_MessageBoxFlags =
SDL_MessageBoxFlags(0x00000020);
pub const SDL_MESSAGEBOX_INFORMATION: SDL_MessageBoxFlags =
SDL_MessageBoxFlags(0x00000040);
pub const SDL_MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT: SDL_MessageBoxFlags =
SDL_MessageBoxFlags(0x00000080);
pub const SDL_MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT: SDL_MessageBoxFlags =
SDL_MessageBoxFlags(0x00000100);
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[repr(transparent)]
pub struct SDL_MessageBoxButtonFlags(pub u32);
impl_bit_ops_for_tuple_newtype!(SDL_MessageBoxButtonFlags);
pub const SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT: SDL_MessageBoxButtonFlags =
SDL_MessageBoxButtonFlags(0x00000001);
pub const SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT: SDL_MessageBoxButtonFlags =
SDL_MessageBoxButtonFlags(0x00000002);
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[repr(C)]
#[allow(missing_docs)]
pub struct SDL_MessageBoxButtonData {
pub flags: SDL_MessageBoxButtonFlags,
pub buttonid: c_int,
pub text: *const c_char,
}
impl Default for SDL_MessageBoxButtonData {
#[inline]
#[must_use]
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[repr(C)]
#[allow(missing_docs)]
pub struct SDL_MessageBoxColor {
pub r: Uint8,
pub g: Uint8,
pub b: Uint8,
}
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[repr(transparent)]
pub struct SDL_MessageBoxColorType(pub u32);
#[allow(missing_docs)]
pub const SDL_MESSAGEBOX_COLOR_BACKGROUND: SDL_MessageBoxColorType =
SDL_MessageBoxColorType(0);
#[allow(missing_docs)]
pub const SDL_MESSAGEBOX_COLOR_TEXT: SDL_MessageBoxColorType =
SDL_MessageBoxColorType(1);
#[allow(missing_docs)]
pub const SDL_MESSAGEBOX_COLOR_BUTTON_BORDER: SDL_MessageBoxColorType =
SDL_MessageBoxColorType(2);
#[allow(missing_docs)]
pub const SDL_MESSAGEBOX_COLOR_BUTTON_BACKGROUND: SDL_MessageBoxColorType =
SDL_MessageBoxColorType(3);
#[allow(missing_docs)]
pub const SDL_MESSAGEBOX_COLOR_BUTTON_SELECTED: SDL_MessageBoxColorType =
SDL_MessageBoxColorType(4);
#[allow(missing_docs)]
pub const SDL_MESSAGEBOX_COLOR_MAX: usize = 5;
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[repr(C)]
#[allow(missing_docs)]
pub struct SDL_MessageBoxColorScheme {
pub colors: [SDL_MessageBoxColor; SDL_MESSAGEBOX_COLOR_MAX],
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[repr(C)]
#[allow(missing_docs)]
pub struct SDL_MessageBoxData {
pub flags: SDL_MessageBoxFlags,
pub window: *mut SDL_Window,
pub title: *const c_char,
pub message: *const c_char,
pub numbuttons: c_int,
pub buttons: *const SDL_MessageBoxButtonData,
pub colorScheme: *const SDL_MessageBoxColorScheme,
}
impl Default for SDL_MessageBoxData {
#[inline]
#[must_use]
fn default() -> Self {
unsafe { core::mem::zeroed() }
}
}
extern "C" {
pub fn SDL_ShowMessageBox(
messageboxdata: *const SDL_MessageBoxData, buttonid: *mut c_int,
) -> c_int;
pub fn SDL_ShowSimpleMessageBox(
flags: SDL_MessageBoxFlags, title: *const c_char, message: *const c_char,
window: *mut SDL_Window,
) -> c_int;
}