OSDN Git Service

upgrade to 3.6.2
[jnethack/source.git] / sys / winnt / win10.h
1 /* NetHack 3.6  win10.h $NHDT-Date: 1432512810 2015/05/25 00:13:30 $  $NHDT-Branch: master $:$NHDT-Revision: 1.15 $ */
2 /* Copyright (C) 2018 by Bart House      */
3 /* NetHack may be freely redistributed.  See license for details. */
4
5 #ifndef WIN10_H
6 #define WIN10_H
7
8 #include "win32api.h"
9
10 typedef DPI_AWARENESS_CONTEXT(WINAPI *GetThreadDpiAwarenessContextProc)(VOID);
11 typedef BOOL(WINAPI *AreDpiAwarenessContextsEqualProc)(
12     DPI_AWARENESS_CONTEXT dpiContextA, DPI_AWARENESS_CONTEXT dpiContextB);
13 typedef UINT(WINAPI *GetDpiForWindowProc)(HWND hwnd);
14
15 typedef struct {
16     BOOL Valid;
17     GetThreadDpiAwarenessContextProc GetThreadDpiAwarenessContext;
18     AreDpiAwarenessContextsEqualProc AreDpiAwarenessContextsEqual;
19     GetDpiForWindowProc GetDpiForWindow;
20 } Win10;
21
22 typedef struct {
23     double  scale;  // dpi of monitor / 96
24     int     width;  // in pixels
25     int     height; // in pixels
26     int     top; // in desktop coordinate pixel space
27     int     left; // in desktop coordinate pixel space
28 } MonitorInfo;
29
30 extern Win10 gWin10;
31
32 void win10_init();
33 int win10_monitor_dpi(HWND hWnd);
34 double win10_monitor_scale(HWND hWnd);
35 void win10_monitor_size(HWND hWnd, int * width, int * height);
36 void win10_monitor_info(HWND hWnd, MonitorInfo * monitorInfo);
37
38
39 #endif // WIN10_H