|  | /* | 
|  | * 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 */ |