diff options
Diffstat (limited to 'glutin')
-rw-r--r-- | glutin/Cargo.toml | 4 | ||||
-rw-r--r-- | glutin/src/application.rs | 26 | ||||
-rw-r--r-- | glutin/src/lib.rs | 13 |
3 files changed, 30 insertions, 13 deletions
diff --git a/glutin/Cargo.toml b/glutin/Cargo.toml index fca0cd9f..5ad038c0 100644 --- a/glutin/Cargo.toml +++ b/glutin/Cargo.toml @@ -12,6 +12,10 @@ categories = ["gui"] [features] debug = ["iced_winit/debug"] +system = ["iced_winit/system"] + +[dependencies.log] +version = "0.4" [dependencies.glutin] version = "0.28" diff --git a/glutin/src/application.rs b/glutin/src/application.rs index 27a932fc..dbc9b580 100644 --- a/glutin/src/application.rs +++ b/glutin/src/application.rs @@ -61,6 +61,8 @@ where settings.id, ); + log::info!("Window builder: {:#?}", builder); + let opengl_builder = ContextBuilder::new() .with_vsync(true) .with_multisampling(C::sample_count(&compositor_settings) as u16); @@ -75,17 +77,35 @@ where (opengl_builder, opengles_builder) }; + log::info!("Trying first builder: {:#?}", first_builder); + let context = first_builder .build_windowed(builder.clone(), &event_loop) - .or_else(|_| second_builder.build_windowed(builder, &event_loop)) + .or_else(|_| { + log::info!("Trying second builder: {:#?}", second_builder); + second_builder.build_windowed(builder, &event_loop) + }) .map_err(|error| { use glutin::CreationError; + use iced_graphics::Error as ContextError; match error { CreationError::Window(error) => { Error::WindowCreationFailed(error) } - _ => Error::GraphicsAdapterNotFound, + CreationError::OpenGlVersionNotSupported => { + Error::GraphicsCreationFailed( + ContextError::VersionNotSupported, + ) + } + CreationError::NoAvailablePixelFormat => { + Error::GraphicsCreationFailed( + ContextError::NoAvailablePixelFormat, + ) + } + error => Error::GraphicsCreationFailed( + ContextError::BackendError(error.to_string()), + ), } })?; @@ -110,6 +130,7 @@ where &mut clipboard, &mut proxy, context.window(), + || compositor.fetch_information(), ); runtime.track(subscription); @@ -244,6 +265,7 @@ async fn run_instance<A, E, C>( &mut debug, &mut messages, context.window(), + || compositor.fetch_information(), ); // Update window diff --git a/glutin/src/lib.rs b/glutin/src/lib.rs index 72397791..146dfc4d 100644 --- a/glutin/src/lib.rs +++ b/glutin/src/lib.rs @@ -14,20 +14,11 @@ #![forbid(rust_2018_idioms)] pub use glutin; + #[doc(no_inline)] -pub use iced_native::*; +pub use iced_winit::*; pub mod application; -pub use iced_winit::clipboard; -pub use iced_winit::conversion; -pub use iced_winit::settings; -pub use iced_winit::window; -pub use iced_winit::{Error, Mode}; - #[doc(no_inline)] pub use application::Application; -#[doc(no_inline)] -pub use clipboard::Clipboard; -#[doc(no_inline)] -pub use settings::Settings; |