typedef struct ALLEGRO_NATIVE_FILE_DIALOG ALLEGRO_NATIVE_FILE_DIALOG;
Opaque handle to a native file dialog. You should only have one such dialog opened at a time. ALLEGRO_NATIVE_FILE_DIALOG *al_create_native_file_dialog(
ALLEGRO_PATH const *initial_path,
char const *title,
char const *patterns,
int mode)
Creates a new native file dialog. Parameters: - initial_path: The initial search path and filename. Can be NULL.
- title: Title of the dialog.
- patterns: A list of semi-colon separated patterns to match. You should always include the pattern "." as usually the MIME type and not the file pattern is relevant. If no file patterns are supported by the native dialog, this parameter is ignored.
- mode: 0, or a combination of the flags below.
Possible flags for the 'mode' parameter are: - ALLEGRO_FILECHOOSER_FILE_MUST_EXIST: If supported by the native dialog, it will not allow entering new names, but just allow existing files to be selected. Else it is ignored.
- ALLEGRO_FILECHOOSER_SAVE: If the native dialog system has a different dialog for saving (for example one which allows creating new directories), it is used. Else ignored.
- ALLEGRO_FILECHOOSER_FOLDER: If there is support for a separate dialog to select a folder instead of a file, it will be used.
- ALLEGRO_FILECHOOSER_PICTURES: If a different dialog is available for selecting pictures, it is used. Else ignored.
- ALLEGRO_FILECHOOSER_SHOW_HIDDEN: If the platform supports it, also hidden files will be shown.
- ALLEGRO_FILECHOOSER_MULTIPLE: If supported, allow selecting multiple files.
Returns: A handle to the dialog which you can pass to al_show_native_file_dialog to display it, and from which you then can query the results. When you are done, call al_destroy_native_file_dialog on it. void al_show_native_file_dialog(ALLEGRO_NATIVE_FILE_DIALOG *fd)
Show the dialog window. This function blocks the calling thread until it returns, so you may want to spawn a thread with al_create_thread and call it from inside that thread. int al_get_native_file_dialog_count(const ALLEGRO_NATIVE_FILE_DIALOG *fc)
Returns the number of files selected, or 0 if the dialog was cancelled. const ALLEGRO_PATH *al_get_native_file_dialog_path(
const ALLEGRO_NATIVE_FILE_DIALOG *fc, size_t i)
Returns one of the selected paths. void al_destroy_native_file_dialog(ALLEGRO_NATIVE_FILE_DIALOG *fd)
Frees up all resources used by the dialog. |