94 lines
3.2 KiB
C
94 lines
3.2 KiB
C
#ifndef __al_included_allegro5_allegro_native_dialog_h
|
|
#define __al_included_allegro5_allegro_native_dialog_h
|
|
|
|
#include "allegro5/allegro.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#if (defined ALLEGRO_MINGW32) || (defined ALLEGRO_MSVC) || (defined ALLEGRO_BCC32)
|
|
#ifndef ALLEGRO_STATICLINK
|
|
#ifdef ALLEGRO_NATIVE_DIALOG_SRC
|
|
#define _ALLEGRO_DIALOG_DLL __declspec(dllexport)
|
|
#else
|
|
#define _ALLEGRO_DIALOG_DLL __declspec(dllimport)
|
|
#endif
|
|
#else
|
|
#define _ALLEGRO_DIALOG_DLL
|
|
#endif
|
|
#endif
|
|
|
|
#if defined ALLEGRO_MSVC
|
|
#define ALLEGRO_DIALOG_FUNC(type, name, args) _ALLEGRO_DIALOG_DLL type __cdecl name args
|
|
#elif defined ALLEGRO_MINGW32
|
|
#define ALLEGRO_DIALOG_FUNC(type, name, args) extern type name args
|
|
#elif defined ALLEGRO_BCC32
|
|
#define ALLEGRO_DIALOG_FUNC(type, name, args) extern _ALLEGRO_DIALOG_DLL type name args
|
|
#else
|
|
#define ALLEGRO_DIALOG_FUNC AL_FUNC
|
|
#endif
|
|
|
|
/* Type: ALLEGRO_FILECHOOSER
|
|
*/
|
|
typedef struct ALLEGRO_FILECHOOSER ALLEGRO_FILECHOOSER;
|
|
|
|
/* Type: ALLEGRO_TEXTLOG
|
|
*/
|
|
typedef struct ALLEGRO_TEXTLOG ALLEGRO_TEXTLOG;
|
|
|
|
ALLEGRO_DIALOG_FUNC(bool, al_init_native_dialog_addon, (void));
|
|
ALLEGRO_DIALOG_FUNC(void, al_shutdown_native_dialog_addon, (void));
|
|
|
|
ALLEGRO_DIALOG_FUNC(ALLEGRO_FILECHOOSER *, al_create_native_file_dialog, (char const *initial_path,
|
|
char const *title, char const *patterns, int mode));
|
|
ALLEGRO_DIALOG_FUNC(bool, al_show_native_file_dialog, (ALLEGRO_DISPLAY *display, ALLEGRO_FILECHOOSER *dialog));
|
|
ALLEGRO_DIALOG_FUNC(int, al_get_native_file_dialog_count, (const ALLEGRO_FILECHOOSER *dialog));
|
|
ALLEGRO_DIALOG_FUNC(const char *, al_get_native_file_dialog_path, (const ALLEGRO_FILECHOOSER *dialog,
|
|
size_t index));
|
|
ALLEGRO_DIALOG_FUNC(void, al_destroy_native_file_dialog, (ALLEGRO_FILECHOOSER *dialog));
|
|
|
|
ALLEGRO_DIALOG_FUNC(int, al_show_native_message_box, (ALLEGRO_DISPLAY *display, char const *title,
|
|
char const *heading, char const *text, char const *buttons, int flags));
|
|
|
|
ALLEGRO_DIALOG_FUNC(ALLEGRO_TEXTLOG *, al_open_native_text_log, (char const *title, int flags));
|
|
ALLEGRO_DIALOG_FUNC(void, al_close_native_text_log, (ALLEGRO_TEXTLOG *textlog));
|
|
ALLEGRO_DIALOG_FUNC(void, al_append_native_text_log, (ALLEGRO_TEXTLOG *textlog, char const *format, ...));
|
|
ALLEGRO_DIALOG_FUNC(ALLEGRO_EVENT_SOURCE *, al_get_native_text_log_event_source, (ALLEGRO_TEXTLOG *textlog));
|
|
|
|
ALLEGRO_DIALOG_FUNC(uint32_t, al_get_allegro_native_dialog_version, (void));
|
|
|
|
enum {
|
|
ALLEGRO_FILECHOOSER_FILE_MUST_EXIST = 1,
|
|
ALLEGRO_FILECHOOSER_SAVE = 2,
|
|
ALLEGRO_FILECHOOSER_FOLDER = 4,
|
|
ALLEGRO_FILECHOOSER_PICTURES = 8,
|
|
ALLEGRO_FILECHOOSER_SHOW_HIDDEN = 16,
|
|
ALLEGRO_FILECHOOSER_MULTIPLE = 32
|
|
};
|
|
|
|
enum {
|
|
ALLEGRO_MESSAGEBOX_WARN = 1<<0,
|
|
ALLEGRO_MESSAGEBOX_ERROR = 1<<1,
|
|
ALLEGRO_MESSAGEBOX_OK_CANCEL = 1<<2,
|
|
ALLEGRO_MESSAGEBOX_YES_NO = 1<<3,
|
|
ALLEGRO_MESSAGEBOX_QUESTION = 1<<4
|
|
};
|
|
|
|
enum {
|
|
ALLEGRO_TEXTLOG_NO_CLOSE = 1<<0,
|
|
ALLEGRO_TEXTLOG_MONOSPACE = 1<<1
|
|
};
|
|
|
|
enum {
|
|
ALLEGRO_EVENT_NATIVE_DIALOG_CLOSE = 600
|
|
};
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
|
|
/* vim: set sts=3 sw=3 et: */
|