2 * This library is free software; you can redistribute it and/or
3 * modify it under the terms of the GNU Lesser General Public
4 * License as published by the Free Software Foundation; either
5 * version 2.1 of the License, or (at your option) any later version.
7 * This library is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10 * Lesser General Public License for more details.
12 * You should have received a copy of the GNU Lesser General Public
13 * License along with this library; if not, write to the Free Software
14 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 #ifndef __WINE_DWMAPI_H
18 #define __WINE_DWMAPI_H
28 # define DWMAPI STDAPI
29 # define DWMAPI_(type) STDAPI_(type)
32 DECLARE_HANDLE(HTHUMBNAIL
);
33 typedef HTHUMBNAIL
*PHTHUMBNAIL
;
37 typedef ULONGLONG DWM_FRAME_COUNT
;
38 typedef ULONGLONG QPC_TIME
;
40 typedef struct _UNSIGNED_RATIO
{
45 typedef struct _DWM_TIMING_INFO
{
47 UNSIGNED_RATIO rateRefresh
;
48 QPC_TIME qpcRefreshPeriod
;
49 UNSIGNED_RATIO rateCompose
;
51 DWM_FRAME_COUNT cRefresh
;
54 DWM_FRAME_COUNT cFrame
;
56 DWM_FRAME_COUNT cRefreshFrame
;
57 DWM_FRAME_COUNT cFrameSubmitted
;
58 UINT cDXPresentSubmitted
;
59 DWM_FRAME_COUNT cFrameConfirmed
;
60 UINT cDXPresentConfirmed
;
61 DWM_FRAME_COUNT cRefreshConfirmed
;
62 UINT cDXRefreshConfirmed
;
63 DWM_FRAME_COUNT cFramesLate
;
64 UINT cFramesOutstanding
;
65 DWM_FRAME_COUNT cFrameDisplayed
;
66 QPC_TIME qpcFrameDisplayed
;
67 DWM_FRAME_COUNT cRefreshFrameDisplayed
;
68 DWM_FRAME_COUNT cFrameComplete
;
69 QPC_TIME qpcFrameComplete
;
70 DWM_FRAME_COUNT cFramePending
;
71 QPC_TIME qpcFramePending
;
72 DWM_FRAME_COUNT cFramesDisplayed
;
73 DWM_FRAME_COUNT cFramesComplete
;
74 DWM_FRAME_COUNT cFramesPending
;
75 DWM_FRAME_COUNT cFramesAvailable
;
76 DWM_FRAME_COUNT cFramesDropped
;
77 DWM_FRAME_COUNT cFramesMissed
;
78 DWM_FRAME_COUNT cRefreshNextDisplayed
;
79 DWM_FRAME_COUNT cRefreshNextPresented
;
80 DWM_FRAME_COUNT cRefreshesDisplayed
;
81 DWM_FRAME_COUNT cRefreshesPresented
;
82 DWM_FRAME_COUNT cRefreshStarted
;
83 ULONGLONG cPixelsReceived
;
84 ULONGLONG cPixelsDrawn
;
85 DWM_FRAME_COUNT cBuffersEmpty
;
88 typedef struct _MilMatrix3x2D
100 #define DWM_BB_ENABLE 0x00000001
101 #define DWM_BB_BLURREGION 0x00000002
102 #define DWM_BB_TRANSITIONONMAXIMIZED 0x00000004
104 typedef struct _DWM_BLURBEHIND
109 BOOL fTransitionOnMaximized
;
110 } DWM_BLURBEHIND
, *PDWM_BLURBEHIND
;
112 DWMAPI
DwmDefWindowProc(HWND
, UINT
, WPARAM
, LPARAM
, LRESULT
*);
113 DWMAPI
DwmEnableBlurBehindWindow(HWND
, const DWM_BLURBEHIND
*);
114 DWMAPI
DwmEnableComposition(UINT
);
115 DWMAPI
DwmEnableMMCSS(BOOL
);
116 DWMAPI
DwmExtendFrameIntoClientArea(HWND
,const MARGINS
*);
117 DWMAPI
DwmGetColorizationColor(DWORD
*,BOOL
);
118 DWMAPI
DwmGetCompositionTimingInfo(HWND
,DWM_TIMING_INFO
*);
119 DWMAPI
DwmIsCompositionEnabled(BOOL
*);
120 DWMAPI
DwmRegisterThumbnail(HWND
, HWND
, PHTHUMBNAIL
);
121 DWMAPI
DwmSetWindowAttribute(HWND
, DWORD
, LPCVOID
, DWORD
);
122 DWMAPI
DwmUnregisterThumbnail(HTHUMBNAIL
);
128 #endif /* __WINE_DWMAPI_H */