#![allow(
dead_code,
non_camel_case_types,
non_upper_case_globals,
non_snake_case
)]
use std::os::raw;
pub type ptrdiff_t = isize;
pub type size_t = usize;
pub type nfdchar_t = raw::c_char;
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct nfdpathset_t {
pub buf: *mut nfdchar_t,
pub indices: *mut size_t,
pub count: size_t,
}
impl Default for nfdpathset_t {
fn default() -> Self {
unsafe { std::mem::zeroed() }
}
}
#[derive(Copy, Clone)]
#[repr(u32)]
#[derive(Debug)]
pub enum nfdresult_t {
NFD_ERROR = 0,
NFD_OKAY = 1,
NFD_CANCEL = 2,
}
extern "C" {
pub fn NFD_OpenDialog(
filterList: *const nfdchar_t,
defaultPath: *const nfdchar_t,
outPath: *mut *mut nfdchar_t,
) -> nfdresult_t;
pub fn NFD_OpenDialogMultiple(
filterList: *const nfdchar_t,
defaultPath: *const nfdchar_t,
outPaths: *mut nfdpathset_t,
) -> nfdresult_t;
pub fn NFD_SaveDialog(
filterList: *const nfdchar_t,
defaultPath: *const nfdchar_t,
outPath: *mut *mut nfdchar_t,
) -> nfdresult_t;
pub fn NFD_PickFolder(
defaultPath: *const nfdchar_t,
outPath: *mut *mut nfdchar_t,
) -> nfdresult_t;
pub fn NFD_GetError() -> *const raw::c_char;
pub fn NFD_PathSet_GetCount(pathSet: *const nfdpathset_t) -> size_t;
pub fn NFD_PathSet_GetPath(pathSet: *const nfdpathset_t, index: size_t) -> *mut nfdchar_t;
pub fn NFD_PathSet_Free(pathSet: *mut nfdpathset_t);
}