3#ifdef MAYAFLUX_PLATFORM_WINDOWS
21class MAYAFLUX_API COMBackend final :
public SystemBackend {
23 COMBackend() =
default;
24 ~COMBackend()
override =
default;
26 COMBackend(
const COMBackend&) =
delete;
27 COMBackend& operator=(
const COMBackend&) =
delete;
28 COMBackend(COMBackend&&) noexcept = default;
29 COMBackend& operator=(COMBackend&&) noexcept = default;
32 void shutdown() override;
33 [[nodiscard]]
bool is_initialized()
const override {
return m_initialized; }
36 FileDialogCallback callback,
37 std::vector<SystemFileFilter> filters,
38 std::filesystem::path start_dir)
override;
41 FileDialogCallback callback,
42 std::string suggested_name,
43 std::vector<SystemFileFilter> filters,
44 std::filesystem::path start_dir)
override;
47 bool m_initialized {
false };
51 FileDialogCallback callback,
52 const std::vector<SystemFileFilter>& filters,
53 const std::filesystem::path& start_dir,
54 const std::string& suggested_name);
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.