linux: stop exposing wayland_client's types

This commit is contained in:
Victor Berger 2017-06-23 20:20:49 +02:00
parent a08347eef0
commit 66a12d5332

View file

@ -10,9 +10,6 @@ use WindowBuilder;
use platform::x11::XConnection; use platform::x11::XConnection;
use platform::x11::ffi::XVisualInfo; use platform::x11::ffi::XVisualInfo;
use wayland_client::protocol::wl_display::WlDisplay;
use wayland_client::protocol::wl_surface::WlSurface;
pub use platform::x11; pub use platform::x11;
// TODO: do not expose XConnection // TODO: do not expose XConnection
@ -63,24 +60,6 @@ pub trait WindowExt {
/// ///
/// The pointer will become invalid when the glutin `Window` is destroyed. /// The pointer will become invalid when the glutin `Window` is destroyed.
fn get_wayland_display(&self) -> Option<*mut libc::c_void>; fn get_wayland_display(&self) -> Option<*mut libc::c_void>;
/// Returns a reference to the `WlSurface` object of wayland that is used by this window.
///
/// For use with the `wayland-client` crate.
///
/// **This function is not part of winit's public API.**
///
/// Returns `None` if the window doesn't use wayland (if it uses xlib for example).
fn get_wayland_client_surface(&self) -> Option<&WlSurface>;
/// Returns a pointer to the `WlDisplay` object of wayland that is used by this window.
///
/// For use with the `wayland-client` crate.
///
/// **This function is not part of winit's public API.**
///
/// Returns `None` if the window doesn't use wayland (if it uses xlib for example).
fn get_wayland_client_display(&self) -> Option<&WlDisplay>;
} }
impl WindowExt for Window { impl WindowExt for Window {
@ -124,28 +103,17 @@ impl WindowExt for Window {
#[inline] #[inline]
fn get_wayland_surface(&self) -> Option<*mut libc::c_void> { fn get_wayland_surface(&self) -> Option<*mut libc::c_void> {
use wayland_client::Proxy; use wayland_client::Proxy;
self.get_wayland_client_surface().map(|p| p.ptr() as *mut _)
}
#[inline]
fn get_wayland_display(&self) -> Option<*mut libc::c_void> {
use wayland_client::Proxy;
self.get_wayland_client_display().map(|p| p.ptr() as *mut _)
}
#[inline]
fn get_wayland_client_surface(&self) -> Option<&WlSurface> {
match self.window { match self.window {
LinuxWindow::Wayland(ref w) => Some(w.get_surface()), LinuxWindow::Wayland(ref w) => Some(w.get_surface().ptr() as *mut _),
_ => None _ => None
} }
} }
#[inline] #[inline]
fn get_wayland_client_display(&self) -> Option<&WlDisplay> { fn get_wayland_display(&self) -> Option<*mut libc::c_void> {
use wayland_client::Proxy;
match self.window { match self.window {
LinuxWindow::Wayland(ref w) => Some(w.get_display()), LinuxWindow::Wayland(ref w) => Some(w.get_display().ptr() as *mut _),
_ => None _ => None
} }
} }