NAME
SDL_ShowFileDialogWithProperties - Create and launch a file dialog with the specified properties.
HEADER FILE
Defined in SDL3/SDL_dialog.h
SYNOPSIS
#include "SDL3/SDL.h"
void SDL_ShowFileDialogWithProperties(SDL_FileDialogType type, SDL_DialogFileCallback callback, void *userdata, SDL_PropertiesID props);
DESCRIPTION
These are the supported properties:
• SDL_PROP_FILE_DIALOG_FILTERS_POINTER :
a pointer to a list of SDL_DialogFileFilter
structs, which will be used as filters for file-based selections. Ignored
if the dialog is an "Open Folder" dialog. If non-NULL, the array of
filters must remain valid at least until the callback is invoked.
• SDL_PROP_FILE_DIALOG_NFILTERS_NUMBER :
the number of filters in the array of filters, if it exists.
• SDL_PROP_FILE_DIALOG_WINDOW_POINTER :
the window that the dialog should be modal for.
• SDL_PROP_FILE_DIALOG_LOCATION_STRING :
the default folder or file to start the dialog at.
• SDL_PROP_FILE_DIALOG_MANY_BOOLEAN :
true to allow the user to select more than one entry.
• SDL_PROP_FILE_DIALOG_TITLE_STRING :
the title for the dialog.
• SDL_PROP_FILE_DIALOG_ACCEPT_STRING :
the label that the accept button should have.
• SDL_PROP_FILE_DIALOG_CANCEL_STRING :
the label that the cancel button should have.
Note that each platform may or may not support any of the properties.
FUNCTION PARAMETERS
- type
-
the type of file dialog.
- callback
-
a function pointer to be invoked when the user selects a file and accepts, or cancels the dialog, or an error occurs.
- userdata
-
an optional pointer to pass extra data to the callback when it will be invoked.
- props
-
the properties to use.
THREAD SAFETY
This function should be called only from the main thread. The callback may be invoked from the same thread or from a different one, depending on the OS's constraints.
AVAILABILITY
This function is available since SDL 3.2.0.
SEE ALSO
•(3), SDL_FileDialogType(3type), •(3), SDL_DialogFileCallback(3type), •(3), SDL_DialogFileFilter(3type), •(3), SDL_ShowOpenFileDialog(3), •(3), SDL_ShowSaveFileDialog(3), •(3), SDL_ShowOpenFolderDialog(3)