// Licensed under the Apache License, Version 2.0 // or the MIT license // , at your option. // All files in the project carrying such notice may not be copied, modified, or distributed // except according to those terms. use shared::minwindef::UINT; use shared::windef::HMONITOR; use um::winnt::{HANDLE, HRESULT}; ENUM!{enum PROCESS_DPI_AWARENESS { PROCESS_DPI_UNAWARE = 0, PROCESS_SYSTEM_DPI_AWARE = 1, PROCESS_PER_MONITOR_DPI_AWARE = 2, }} ENUM!{enum MONITOR_DPI_TYPE { MDT_EFFECTIVE_DPI = 0, MDT_ANGULAR_DPI = 1, MDT_RAW_DPI = 2, MDT_DEFAULT = MDT_EFFECTIVE_DPI, }} extern "system" { pub fn SetProcessDpiAwareness( value: PROCESS_DPI_AWARENESS, ) -> HRESULT; pub fn GetProcessDpiAwareness( hProcess: HANDLE, value: *mut PROCESS_DPI_AWARENESS, ) -> HRESULT; pub fn GetDpiForMonitor( hmonitor: HMONITOR, dpiType: MONITOR_DPI_TYPE, dpiX: *mut UINT, dpiY: *mut UINT, ) -> HRESULT; } ENUM!{enum SHELL_UI_COMPONENT { SHELL_UI_COMPONENT_TASKBARS = 0, SHELL_UI_COMPONENT_NOTIFICATIONAREA = 1, SHELL_UI_COMPONENT_DESKBAND = 2, }} extern "system" { pub fn GetDpiForShellUIComponent( component: SHELL_UI_COMPONENT, ) -> UINT; }