pub trait IFerroNativeFactoryImpl: IUnknownImpl {
Show 25 methods
// Required methods
fn initialize(
&self,
deallocator: Option<&IFrnGCHandleDeallocatorCallback>,
app_cb: Option<&IFrnApplicationEvents>,
dispatcher: Option<&IFrnDispatcher>,
) -> Result<(), HResult>;
fn get_mac_options(&self) -> Option<ComPtr<IFrnMacOptions>>;
fn create_top_level(
&self,
cb: Option<&IFrnTopLevelEvents>,
) -> Result<Option<ComPtr<IFrnTopLevel>>, HResult>;
fn create_window(
&self,
cb: Option<&IFrnWindowEvents>,
) -> Result<Option<ComPtr<IFrnWindow>>, HResult>;
fn create_popup(
&self,
cb: Option<&IFrnWindowEvents>,
) -> Result<Option<ComPtr<IFrnPopup>>, HResult>;
fn create_platform_threading_interface(
&self,
) -> Result<Option<ComPtr<IFrnPlatformThreadingInterface>>, HResult>;
fn create_storage_provider(
&self,
) -> Result<Option<ComPtr<IFrnStorageProvider>>, HResult>;
fn create_screens(
&self,
cb: Option<&IFrnScreenEvents>,
) -> Result<Option<ComPtr<IFrnScreens>>, HResult>;
fn create_clipboard(&self) -> Result<Option<ComPtr<IFrnClipboard>>, HResult>;
fn create_cursor_factory(
&self,
) -> Result<Option<ComPtr<IFrnCursorFactory>>, HResult>;
fn obtain_gl_display(
&self,
) -> Result<Option<ComPtr<IFrnGlDisplay>>, HResult>;
fn obtain_metal_display(
&self,
) -> Result<Option<ComPtr<IFrnMetalDisplay>>, HResult>;
fn set_app_menu(&self, menu: Option<&IFrnMenu>) -> Result<(), HResult>;
fn set_services_menu(&self, menu: Option<&IFrnMenu>) -> Result<(), HResult>;
fn create_menu(
&self,
cb: Option<&IFrnMenuEvents>,
) -> Result<Option<ComPtr<IFrnMenu>>, HResult>;
fn create_menu_item(&self) -> Result<Option<ComPtr<IFrnMenuItem>>, HResult>;
fn create_menu_item_separator(
&self,
) -> Result<Option<ComPtr<IFrnMenuItem>>, HResult>;
fn create_tray_icon(&self) -> Result<Option<ComPtr<IFrnTrayIcon>>, HResult>;
fn create_application_commands(
&self,
) -> Result<Option<ComPtr<IFrnApplicationCommands>>, HResult>;
fn create_platform_settings(
&self,
) -> Result<Option<ComPtr<IFrnPlatformSettings>>, HResult>;
fn create_platform_behavior_inhibition(
&self,
) -> Result<Option<ComPtr<IFrnPlatformBehaviorInhibition>>, HResult>;
fn create_platform_render_timer(
&self,
) -> Result<Option<ComPtr<IFrnPlatformRenderTimer>>, HResult>;
fn import_mtl_shared_event(
&self,
id_mtl_shared_event: *mut c_void,
) -> Result<Option<ComPtr<IFrnMTLSharedEvent>>, HResult>;
fn create_memory_management_helper(
&self,
) -> Result<Option<ComPtr<IFrnNativeObjectsMemoryManagement>>, HResult>;
fn set_dock_menu(&self, menu: Option<&IFrnMenu>) -> Result<(), HResult>;
}Expand description
Implement this to provide IFerroNativeFactory to native code (see IFerroNativeFactory::from_impl).
Required Methods§
fn initialize( &self, deallocator: Option<&IFrnGCHandleDeallocatorCallback>, app_cb: Option<&IFrnApplicationEvents>, dispatcher: Option<&IFrnDispatcher>, ) -> Result<(), HResult>
fn get_mac_options(&self) -> Option<ComPtr<IFrnMacOptions>>
fn create_top_level( &self, cb: Option<&IFrnTopLevelEvents>, ) -> Result<Option<ComPtr<IFrnTopLevel>>, HResult>
fn create_window( &self, cb: Option<&IFrnWindowEvents>, ) -> Result<Option<ComPtr<IFrnWindow>>, HResult>
fn create_popup( &self, cb: Option<&IFrnWindowEvents>, ) -> Result<Option<ComPtr<IFrnPopup>>, HResult>
fn create_platform_threading_interface( &self, ) -> Result<Option<ComPtr<IFrnPlatformThreadingInterface>>, HResult>
fn create_storage_provider( &self, ) -> Result<Option<ComPtr<IFrnStorageProvider>>, HResult>
fn create_screens( &self, cb: Option<&IFrnScreenEvents>, ) -> Result<Option<ComPtr<IFrnScreens>>, HResult>
fn create_clipboard(&self) -> Result<Option<ComPtr<IFrnClipboard>>, HResult>
fn create_cursor_factory( &self, ) -> Result<Option<ComPtr<IFrnCursorFactory>>, HResult>
fn obtain_gl_display(&self) -> Result<Option<ComPtr<IFrnGlDisplay>>, HResult>
fn obtain_metal_display( &self, ) -> Result<Option<ComPtr<IFrnMetalDisplay>>, HResult>
fn create_tray_icon(&self) -> Result<Option<ComPtr<IFrnTrayIcon>>, HResult>
fn create_application_commands( &self, ) -> Result<Option<ComPtr<IFrnApplicationCommands>>, HResult>
fn create_platform_settings( &self, ) -> Result<Option<ComPtr<IFrnPlatformSettings>>, HResult>
fn create_platform_behavior_inhibition( &self, ) -> Result<Option<ComPtr<IFrnPlatformBehaviorInhibition>>, HResult>
fn create_platform_render_timer( &self, ) -> Result<Option<ComPtr<IFrnPlatformRenderTimer>>, HResult>
fn create_memory_management_helper( &self, ) -> Result<Option<ComPtr<IFrnNativeObjectsMemoryManagement>>, HResult>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".