3#ifdef MAYAFLUX_PLATFORM_MACOS
20class MAYAFLUX_API NSBackend final :
public SystemBackend {
22 NSBackend() =
default;
23 ~NSBackend()
override =
default;
25 NSBackend(
const NSBackend&) =
delete;
26 NSBackend& operator=(
const NSBackend&) =
delete;
27 NSBackend(NSBackend&&) noexcept = default;
28 NSBackend& operator=(NSBackend&&) noexcept = default;
31 void shutdown() override;
32 [[nodiscard]]
bool is_initialized()
const override {
return m_initialized; }
35 FileDialogCallback callback,
36 std::vector<SystemFileFilter> filters,
37 std::filesystem::path start_dir)
override;
40 FileDialogCallback callback,
41 std::string suggested_name,
42 std::vector<SystemFileFilter> filters,
43 std::filesystem::path start_dir)
override;
46 bool m_initialized {
false };
void open_file(ChooserCallback callback, std::vector< ChooserFilter > filters, std::filesystem::path start_dir)
Present a native open-file dialog, delivering the result via callback.
void save_file(ChooserCallback callback, std::string suggested_name, std::vector< ChooserFilter > filters, std::filesystem::path start_dir)
Present a native save-file dialog, delivering the result via callback.