From a815a1262720905eed447cd2f6c7cb1ba086a14e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aaro=20Per=C3=A4maa?= Date: Mon, 4 Nov 2019 18:53:57 +0200 Subject: [PATCH] fix broken / missing `raw-window-handle` implementation on android (#1258) --- CHANGELOG.md | 4 ++++ Cargo.toml | 2 +- README.md | 2 +- src/platform/android/mod.rs | 9 +++++++++ 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b4840b090..cb9a53ea2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Unreleased +# Version 0.19.5 (2019-11-04) + +- On Android, fix the missing `raw-window-handle` support + # Version 0.19.4 (2019-10-16) - Add support for `raw-window-handle` 0.3. diff --git a/Cargo.toml b/Cargo.toml index c9a4e355e..64bc05acf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "winit" -version = "0.19.4" +version = "0.19.5" authors = ["The winit contributors", "Pierre Krieger "] description = "Cross-platform window creation library." keywords = ["windowing"] diff --git a/README.md b/README.md index 50f127a9d..bb9ca497f 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Please direct all work against `master`. ```toml [dependencies] -winit = "0.19.4" +winit = "0.19.5" ``` ## [Documentation](https://docs.rs/winit) diff --git a/src/platform/android/mod.rs b/src/platform/android/mod.rs index b69876d1e..d4da90fa5 100644 --- a/src/platform/android/mod.rs +++ b/src/platform/android/mod.rs @@ -4,6 +4,7 @@ extern crate android_glue; mod ffi; +use raw_window_handle::{android::AndroidHandle, RawWindowHandle}; use std::cell::RefCell; use std::collections::VecDeque; use std::fmt; @@ -422,6 +423,14 @@ impl Window { pub fn id(&self) -> WindowId { WindowId } + + pub fn raw_window_handle(&self) -> RawWindowHandle { + let handle = AndroidHandle { + a_native_window: self.native_window as _, + ..AndroidHandle::empty() + }; + RawWindowHandle::Android(handle) + } } unsafe impl Send for Window {}