From e7962eed26d87f32fac475e98049d943b8f3dfea Mon Sep 17 00:00:00 2001 From: Mads Marquart Date: Sat, 27 Nov 2021 11:18:25 +0100 Subject: [PATCH] Update raw-window-handle to `0.4.2` See: - https://github.com/rust-windowing/raw-window-handle/issues/72 - https://github.com/rust-windowing/raw-window-handle/pull/73 - https://github.com/rust-windowing/raw-window-handle/pull/74 --- CHANGELOG.md | 1 + Cargo.toml | 2 +- src/platform_impl/android/mod.rs | 4 ++-- src/platform_impl/ios/window.rs | 8 ++++---- src/platform_impl/linux/wayland/window/mod.rs | 2 +- src/platform_impl/linux/x11/window.rs | 2 +- src/platform_impl/macos/window.rs | 8 ++++---- src/platform_impl/web/window.rs | 2 +- src/platform_impl/windows/window.rs | 8 ++++---- 9 files changed, 19 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 39c80c9353..8dbff9fdac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ # Unreleased +- Update `raw-window-handle` to `v0.4`. This is _not_ a breaking change, we still implement `HasRawWindowHandle` from `v0.3`, see [rust-windowing/raw-window-handle#74](https://github.com/rust-windowing/raw-window-handle/pull/74). - On X11, bump `mio` to 0.8. - On Android, fixed `WindowExtAndroid::config` initially returning an empty `Configuration`. - On Android, fixed `Window::scale_factor` and `MonitorHandle::scale_factor` initially always returning 1.0. diff --git a/Cargo.toml b/Cargo.toml index b7bb5ae668..5541ce8488 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,7 +27,7 @@ instant = { version = "0.1", features = ["wasm-bindgen"] } lazy_static = "1" log = "0.4" serde = { version = "1", optional = true, features = ["serde_derive"] } -raw-window-handle = "0.3" +raw-window-handle = "0.4.2" bitflags = "1" mint = { version = "0.5.6", optional = true } diff --git a/src/platform_impl/android/mod.rs b/src/platform_impl/android/mod.rs index 94a78c625d..a007629bbd 100644 --- a/src/platform_impl/android/mod.rs +++ b/src/platform_impl/android/mod.rs @@ -595,9 +595,9 @@ impl Window { } else { panic!("Cannot get the native window, it's null and will always be null before Event::Resumed and after Event::Suspended. Make sure you only call this function between those events."); }; - let mut handle = raw_window_handle::android::AndroidHandle::empty(); + let mut handle = raw_window_handle::AndroidNdkHandle::empty(); handle.a_native_window = a_native_window; - raw_window_handle::RawWindowHandle::Android(handle) + raw_window_handle::RawWindowHandle::AndroidNdk(handle) } pub fn config(&self) -> Configuration { diff --git a/src/platform_impl/ios/window.rs b/src/platform_impl/ios/window.rs index 036bdf20c0..294a532923 100644 --- a/src/platform_impl/ios/window.rs +++ b/src/platform_impl/ios/window.rs @@ -1,4 +1,4 @@ -use raw_window_handle::{ios::IOSHandle, RawWindowHandle}; +use raw_window_handle::{UiKitHandle, RawWindowHandle}; use std::{ collections::VecDeque, ops::{Deref, DerefMut}, @@ -307,13 +307,13 @@ impl Inner { } pub fn raw_window_handle(&self) -> RawWindowHandle { - let handle = IOSHandle { + let handle = UiKitHandle { ui_window: self.window as _, ui_view: self.view as _, ui_view_controller: self.view_controller as _, - ..IOSHandle::empty() + ..UiKitHandle::empty() }; - RawWindowHandle::IOS(handle) + RawWindowHandle::UiKit(handle) } } diff --git a/src/platform_impl/linux/wayland/window/mod.rs b/src/platform_impl/linux/wayland/window/mod.rs index 3dc6c4da18..272d253396 100644 --- a/src/platform_impl/linux/wayland/window/mod.rs +++ b/src/platform_impl/linux/wayland/window/mod.rs @@ -7,7 +7,7 @@ use sctk::reexports::client::Display; use sctk::reexports::calloop; -use raw_window_handle::unix::WaylandHandle; +use raw_window_handle::WaylandHandle; use sctk::window::{Decorations, FallbackFrame}; use crate::dpi::{LogicalSize, PhysicalPosition, PhysicalSize, Position, Size}; diff --git a/src/platform_impl/linux/x11/window.rs b/src/platform_impl/linux/x11/window.rs index 3648c22527..b0c213ea68 100644 --- a/src/platform_impl/linux/x11/window.rs +++ b/src/platform_impl/linux/x11/window.rs @@ -1,4 +1,4 @@ -use raw_window_handle::unix::XlibHandle; +use raw_window_handle::XlibHandle; use std::{ cmp, env, ffi::CString, diff --git a/src/platform_impl/macos/window.rs b/src/platform_impl/macos/window.rs index afea222e07..aef20db50d 100644 --- a/src/platform_impl/macos/window.rs +++ b/src/platform_impl/macos/window.rs @@ -1,4 +1,4 @@ -use raw_window_handle::{macos::MacOSHandle, RawWindowHandle}; +use raw_window_handle::{AppKitHandle, RawWindowHandle}; use std::{ collections::VecDeque, f64, @@ -1059,12 +1059,12 @@ impl UnownedWindow { #[inline] pub fn raw_window_handle(&self) -> RawWindowHandle { - let handle = MacOSHandle { + let handle = AppKitHandle { ns_window: *self.ns_window as *mut _, ns_view: *self.ns_view as *mut _, - ..MacOSHandle::empty() + ..AppKitHandle::empty() }; - RawWindowHandle::MacOS(handle) + RawWindowHandle::AppKit(handle) } } diff --git a/src/platform_impl/web/window.rs b/src/platform_impl/web/window.rs index 7d3942f5bd..11def402ed 100644 --- a/src/platform_impl/web/window.rs +++ b/src/platform_impl/web/window.rs @@ -7,7 +7,7 @@ use crate::window::{ CursorIcon, Fullscreen, UserAttentionType, WindowAttributes, WindowId as RootWI, }; -use raw_window_handle::web::WebHandle; +use raw_window_handle::WebHandle; use super::{backend, monitor, EventLoopWindowTarget}; diff --git a/src/platform_impl/windows/window.rs b/src/platform_impl/windows/window.rs index e3dd723ca0..71d76b6b1c 100644 --- a/src/platform_impl/windows/window.rs +++ b/src/platform_impl/windows/window.rs @@ -1,7 +1,7 @@ #![cfg(target_os = "windows")] use parking_lot::Mutex; -use raw_window_handle::{windows::WindowsHandle, RawWindowHandle}; +use raw_window_handle::{Win32Handle, RawWindowHandle}; use std::{ cell::Cell, ffi::OsStr, @@ -233,12 +233,12 @@ impl Window { #[inline] pub fn raw_window_handle(&self) -> RawWindowHandle { - let handle = WindowsHandle { + let handle = Win32Handle { hwnd: self.window.0 as *mut _, hinstance: self.hinstance() as *mut _, - ..WindowsHandle::empty() + ..Win32Handle::empty() }; - RawWindowHandle::Windows(handle) + RawWindowHandle::Win32(handle) } #[inline]