Rework MonitorId::get_native_identifier (#267)

* Rework MonitorId::get_native_identifier

* Try fix compilation

* Returns the monitor ID on wayland as well

* Try fix compilation

* Fix iOS compilation
This commit is contained in:
tomaka 2017-08-30 08:49:18 +02:00 committed by GitHub
parent f7a8bcddb8
commit 7dc6fcdedc
16 changed files with 67 additions and 69 deletions

View file

@ -1,6 +1,5 @@
use core_graphics::display;
use std::collections::VecDeque;
use native_monitor::NativeMonitorId;
#[derive(Clone)]
pub struct MonitorId(u32);
@ -33,9 +32,8 @@ impl MonitorId {
}
#[inline]
pub fn get_native_identifier(&self) -> NativeMonitorId {
let MonitorId(display_id) = *self;
NativeMonitorId::Numeric(display_id)
pub fn get_native_identifier(&self) -> u32 {
self.0
}
pub fn get_dimensions(&self) -> (u32, u32) {

View file

@ -4,7 +4,6 @@ use libc;
use WindowAttributes;
use FullScreenState;
use native_monitor::NativeMonitorId;
use os::macos::ActivationPolicy;
use os::macos::WindowExt;
@ -386,10 +385,7 @@ impl Window {
unsafe {
let screen = match attrs.fullscreen {
FullScreenState::Exclusive(ref monitor_id) => {
let native_id = match monitor_id.get_native_identifier() {
NativeMonitorId::Numeric(num) => num,
_ => panic!("OS X monitors should always have a numeric native ID")
};
let native_id = monitor_id.inner.get_native_identifier();
let matching_screen = {
let screens = appkit::NSScreen::screens(nil);
let count: NSUInteger = msg_send![screens, count];