summaryrefslogtreecommitdiffstats
path: root/glutin
diff options
context:
space:
mode:
Diffstat (limited to 'glutin')
-rw-r--r--glutin/Cargo.toml4
-rw-r--r--glutin/src/application.rs26
-rw-r--r--glutin/src/lib.rs13
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;