| /* |
| * This library is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU Lesser General Public |
| * License as published by the Free Software Foundation; either |
| * version 2.1 of the License, or (at your option) any later version. |
| * |
| * This library is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| * Lesser General Public License for more details. |
| * |
| * You should have received a copy of the GNU Lesser General Public |
| * License along with this library; if not, write to the Free Software |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
| */ |
| |
| #ifndef __WINE_DWMAPI_H |
| #define __WINE_DWMAPI_H |
| |
| #include "wtypes.h" |
| #include "uxtheme.h" |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #ifndef DWMAPI |
| # define DWMAPI STDAPI |
| # define DWMAPI_(type) STDAPI_(type) |
| #endif |
| |
| DECLARE_HANDLE(HTHUMBNAIL); |
| typedef HTHUMBNAIL *PHTHUMBNAIL; |
| |
| #include <pshpack1.h> |
| |
| typedef ULONGLONG DWM_FRAME_COUNT; |
| typedef ULONGLONG QPC_TIME; |
| |
| typedef enum _DWM_SOURCE_FRAME_SAMPLING { |
| DWM_SOURCE_FRAME_SAMPLING_POINT, |
| DWM_SOURCE_FRAME_SAMPLING_COVERAGE, |
| DWM_SOURCE_FRAME_SAMPLING_LAST |
| } DWM_SOURCE_FRAME_SAMPLING; |
| |
| typedef struct _UNSIGNED_RATIO { |
| UINT32 uiNumerator; |
| UINT32 uiDenominator; |
| } UNSIGNED_RATIO; |
| |
| typedef struct _DWM_TIMING_INFO { |
| UINT32 cbSize; |
| UNSIGNED_RATIO rateRefresh; |
| QPC_TIME qpcRefreshPeriod; |
| UNSIGNED_RATIO rateCompose; |
| QPC_TIME qpcVBlank; |
| DWM_FRAME_COUNT cRefresh; |
| UINT cDXRefresh; |
| QPC_TIME qpcCompose; |
| DWM_FRAME_COUNT cFrame; |
| UINT cDXPresent; |
| DWM_FRAME_COUNT cRefreshFrame; |
| DWM_FRAME_COUNT cFrameSubmitted; |
| UINT cDXPresentSubmitted; |
| DWM_FRAME_COUNT cFrameConfirmed; |
| UINT cDXPresentConfirmed; |
| DWM_FRAME_COUNT cRefreshConfirmed; |
| UINT cDXRefreshConfirmed; |
| DWM_FRAME_COUNT cFramesLate; |
| UINT cFramesOutstanding; |
| DWM_FRAME_COUNT cFrameDisplayed; |
| QPC_TIME qpcFrameDisplayed; |
| DWM_FRAME_COUNT cRefreshFrameDisplayed; |
| DWM_FRAME_COUNT cFrameComplete; |
| QPC_TIME qpcFrameComplete; |
| DWM_FRAME_COUNT cFramePending; |
| QPC_TIME qpcFramePending; |
| DWM_FRAME_COUNT cFramesDisplayed; |
| DWM_FRAME_COUNT cFramesComplete; |
| DWM_FRAME_COUNT cFramesPending; |
| DWM_FRAME_COUNT cFramesAvailable; |
| DWM_FRAME_COUNT cFramesDropped; |
| DWM_FRAME_COUNT cFramesMissed; |
| DWM_FRAME_COUNT cRefreshNextDisplayed; |
| DWM_FRAME_COUNT cRefreshNextPresented; |
| DWM_FRAME_COUNT cRefreshesDisplayed; |
| DWM_FRAME_COUNT cRefreshesPresented; |
| DWM_FRAME_COUNT cRefreshStarted; |
| ULONGLONG cPixelsReceived; |
| ULONGLONG cPixelsDrawn; |
| DWM_FRAME_COUNT cBuffersEmpty; |
| } DWM_TIMING_INFO; |
| |
| typedef struct _MilMatrix3x2D |
| { |
| DOUBLE S_11; |
| DOUBLE S_12; |
| DOUBLE S_21; |
| DOUBLE S_22; |
| DOUBLE DX; |
| DOUBLE DY; |
| } MilMatrix3x2D; |
| |
| #define DWM_BB_ENABLE 0x00000001 |
| #define DWM_BB_BLURREGION 0x00000002 |
| #define DWM_BB_TRANSITIONONMAXIMIZED 0x00000004 |
| |
| typedef struct _DWM_BLURBEHIND |
| { |
| DWORD dwFlags; |
| BOOL fEnable; |
| HRGN hRgnBlur; |
| BOOL fTransitionOnMaximized; |
| } DWM_BLURBEHIND, *PDWM_BLURBEHIND; |
| |
| typedef struct _DWM_THUMBNAIL_PROPERTIES |
| { |
| DWORD dwFlags; |
| RECT rcDestination; |
| RECT rcSource; |
| BYTE opacity; |
| BOOL fVisible; |
| BOOL fSourceClientAreaOnly; |
| } DWM_THUMBNAIL_PROPERTIES, *PDWM_THUMBNAIL_PROPERTIES; |
| |
| typedef struct _DWM_PRESENT_PARAMETERS { |
| UINT32 cbSize; |
| BOOL fQueue; |
| DWM_FRAME_COUNT cRefreshStart; |
| UINT cBuffer; |
| BOOL fUseSourceRate; |
| UNSIGNED_RATIO rateSource; |
| UINT cRefreshesPerFrame; |
| DWM_SOURCE_FRAME_SAMPLING eSampling; |
| } DWM_PRESENT_PARAMETERS; |
| |
| #include <poppack.h> |
| |
| DWMAPI DwmDefWindowProc(HWND, UINT, WPARAM, LPARAM, LRESULT*); |
| DWMAPI DwmEnableBlurBehindWindow(HWND, const DWM_BLURBEHIND *); |
| DWMAPI DwmEnableComposition(UINT); |
| DWMAPI DwmEnableMMCSS(BOOL); |
| DWMAPI DwmExtendFrameIntoClientArea(HWND,const MARGINS*); |
| DWMAPI DwmGetColorizationColor(DWORD*,BOOL); |
| DWMAPI DwmGetCompositionTimingInfo(HWND,DWM_TIMING_INFO*); |
| DWMAPI DwmInvalidateIconicBitmaps(HWND); |
| DWMAPI DwmIsCompositionEnabled(BOOL*); |
| DWMAPI DwmRegisterThumbnail(HWND, HWND, PHTHUMBNAIL); |
| DWMAPI DwmSetPresentParameters(HWND, DWM_PRESENT_PARAMETERS *); |
| DWMAPI DwmSetWindowAttribute(HWND, DWORD, LPCVOID, DWORD); |
| DWMAPI DwmUnregisterThumbnail(HTHUMBNAIL); |
| DWMAPI DwmUpdateThumbnailProperties(HTHUMBNAIL, const DWM_THUMBNAIL_PROPERTIES *); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* __WINE_DWMAPI_H */ |