#![allow(non_camel_case_types, non_snake_case)]
use crate::co;
use crate::decl::*;
use crate::kernel::privs::*;
use crate::user::ffi;
handle! { HMONITOR;
}
impl HMONITOR {
pub fn GetMonitorInfo(&self) -> SysResult<MONITORINFOEX> {
let mut mi = MONITORINFOEX::default();
BoolRet(unsafe { ffi::GetMonitorInfoW(self.ptr(), pvoid(&mut mi)) })
.to_sysresult()
.map(|_| mi)
}
#[must_use]
pub fn MonitorFromPoint(pt: POINT, flags: co::MONITOR) -> HMONITOR {
unsafe { HMONITOR::from_ptr(ffi::MonitorFromPoint(pt.into(), flags.raw())) }
}
#[must_use]
pub fn MonitorFromRect(rc: RECT, flags: co::MONITOR) -> HMONITOR {
unsafe { HMONITOR::from_ptr(ffi::MonitorFromRect(pcvoid(&rc), flags.raw())) }
}
}