use inset_embedder::EmbedderClient;
#[cfg(not(target_arch = "wasm32"))]
pub use inset_embedder_winit::ImplicitViewConfig;
#[derive(Default)]
pub struct DefaultEmbedder {
#[cfg(not(target_arch = "wasm32"))]
inner: inset_embedder_winit::WinitEmbedder,
#[cfg(target_arch = "wasm32")]
inner: inset_embedder_web::WebEmbedder,
}
impl DefaultEmbedder {
#[cfg(not(target_arch = "wasm32"))]
pub fn implicit_view(mut self, config: Option<ImplicitViewConfig>) -> DefaultEmbedder {
self.inner.implicit_view = config;
self
}
#[cfg(target_arch = "wasm32")]
pub fn canvas_id(mut self, id: impl Into<String>) -> DefaultEmbedder {
self.inner = self.inner.canvas_id(id);
self
}
pub fn run<C: EmbedderClient + 'static>(
self,
start: impl FnOnce(inset_embedder::PlatformRef) -> C + 'static,
) {
self.inner.run(start);
}
}