pub trait IFrnTopLevelImpl: IUnknownImpl {
Show 16 methods
// Required methods
fn get_client_size(&self) -> Result<FrnSize, HResult>;
fn get_scaling(&self) -> Result<f64, HResult>;
fn invalidate(&self) -> Result<(), HResult>;
fn point_to_client(&self, point: FrnPoint) -> Result<FrnPoint, HResult>;
fn point_to_screen(&self, point: FrnPoint) -> Result<FrnPoint, HResult>;
fn set_cursor(&self, cursor: Option<&IFrnCursor>) -> Result<(), HResult>;
fn create_gl_render_target(
&self,
context: Option<&IFrnGlContext>,
) -> Result<Option<ComPtr<IFrnGlSurfaceRenderTarget>>, HResult>;
fn create_software_render_target(
&self,
) -> Result<Option<ComPtr<IFrnSoftwareRenderTarget>>, HResult>;
fn create_metal_render_target(
&self,
device: Option<&IFrnMetalDevice>,
) -> Result<Option<ComPtr<IFrnMetalRenderTarget>>, HResult>;
fn obtain_ns_view_handle(&self) -> Result<*mut c_void, HResult>;
fn obtain_ns_view_handle_retained(&self) -> Result<*mut c_void, HResult>;
fn create_native_control_host(
&self,
) -> Result<Option<ComPtr<IFrnNativeControlHost>>, HResult>;
fn get_input_method(
&self,
) -> Result<Option<ComPtr<IFrnTextInputMethod>>, HResult>;
fn set_transparency_mode(
&self,
mode: FrnWindowTransparencyMode,
) -> Result<(), HResult>;
fn get_current_display_id(&self) -> Result<u32, HResult>;
fn begin_drag_and_drop_operation(
&self,
effects: FrnDragDropEffects,
point: FrnPoint,
source: Option<&IFrnClipboardDataSource>,
callback: Option<&IFrnDndResultCallback>,
source_handle: *mut c_void,
) -> Result<(), HResult>;
}Expand description
Implement this to provide IFrnTopLevel to native code (see IFrnTopLevel::from_impl).
Required Methods§
fn get_client_size(&self) -> Result<FrnSize, HResult>
fn get_scaling(&self) -> Result<f64, HResult>
fn invalidate(&self) -> Result<(), HResult>
fn point_to_client(&self, point: FrnPoint) -> Result<FrnPoint, HResult>
fn point_to_screen(&self, point: FrnPoint) -> Result<FrnPoint, HResult>
fn set_cursor(&self, cursor: Option<&IFrnCursor>) -> Result<(), HResult>
fn create_gl_render_target( &self, context: Option<&IFrnGlContext>, ) -> Result<Option<ComPtr<IFrnGlSurfaceRenderTarget>>, HResult>
fn create_software_render_target( &self, ) -> Result<Option<ComPtr<IFrnSoftwareRenderTarget>>, HResult>
fn create_metal_render_target( &self, device: Option<&IFrnMetalDevice>, ) -> Result<Option<ComPtr<IFrnMetalRenderTarget>>, HResult>
fn obtain_ns_view_handle(&self) -> Result<*mut c_void, HResult>
fn obtain_ns_view_handle_retained(&self) -> Result<*mut c_void, HResult>
fn create_native_control_host( &self, ) -> Result<Option<ComPtr<IFrnNativeControlHost>>, HResult>
fn get_input_method( &self, ) -> Result<Option<ComPtr<IFrnTextInputMethod>>, HResult>
fn set_transparency_mode( &self, mode: FrnWindowTransparencyMode, ) -> Result<(), HResult>
fn get_current_display_id(&self) -> Result<u32, HResult>
fn begin_drag_and_drop_operation( &self, effects: FrnDragDropEffects, point: FrnPoint, source: Option<&IFrnClipboardDataSource>, callback: Option<&IFrnDndResultCallback>, source_handle: *mut c_void, ) -> Result<(), HResult>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".