#ifndef _NFD_H
#define _NFD_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stddef.h>
typedef char nfdchar_t;
typedef struct {
nfdchar_t* buf;
size_t* indices;
size_t count;
} nfdpathset_t;
typedef enum {
NFD_ERROR,
NFD_OKAY,
NFD_CANCEL
} nfdresult_t;
nfdresult_t NFD_OpenDialog(const nfdchar_t* filterList,
const nfdchar_t* defaultPath,
nfdchar_t** outPath);
nfdresult_t NFD_OpenDialogMultiple(const nfdchar_t* filterList,
const nfdchar_t* defaultPath,
nfdpathset_t* outPaths);
nfdresult_t NFD_SaveDialog(const nfdchar_t* filterList,
const nfdchar_t* defaultPath,
nfdchar_t** outPath);
nfdresult_t NFD_PickFolder(const nfdchar_t* defaultPath, nfdchar_t** outPath);
const char* NFD_GetError(void);
size_t NFD_PathSet_GetCount(const nfdpathset_t* pathSet);
nfdchar_t* NFD_PathSet_GetPath(const nfdpathset_t* pathSet, size_t index);
void NFD_PathSet_Free(nfdpathset_t* pathSet);
void NFD_Free(void* ptr);
#ifdef __cplusplus
}
#endif
#endif