pub trait ICoreWebView2CompositionController_Impl: Sized {
// Required methods
fn RootVisualTarget(&self) -> Result<IUnknown>;
fn SetRootVisualTarget(&self, target: Option<&IUnknown>) -> Result<()>;
fn SendMouseInput(
&self,
eventkind: COREWEBVIEW2_MOUSE_EVENT_KIND,
virtualkeys: COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS,
mousedata: u32,
point: &POINT
) -> Result<()>;
fn SendPointerInput(
&self,
eventkind: COREWEBVIEW2_POINTER_EVENT_KIND,
pointerinfo: Option<&ICoreWebView2PointerInfo>
) -> Result<()>;
fn Cursor(&self, cursor: *mut HCURSOR) -> Result<()>;
fn SystemCursorId(&self, systemcursorid: *mut u32) -> Result<()>;
fn add_CursorChanged(
&self,
eventhandler: Option<&ICoreWebView2CursorChangedEventHandler>,
token: *mut EventRegistrationToken
) -> Result<()>;
fn remove_CursorChanged(&self, token: &EventRegistrationToken) -> Result<()>;
}