SDL_ShowFileDialogWithProperties(3)

NAME
SDL_ShowFileDialogWithProperties - Create and launch a file dialog with the specified properties.

SYNOPSIS
#include <SDL3/SDL_dialog.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
SDL_FileDialogType(3type), SDL_DialogFileCallback(3type), SDL_DialogFileFilter(3type), SDL_ShowOpenFileDialog(3), SDL_ShowSaveFileDialog(3), SDL_ShowOpenFolderDialog(3)