159 lines
4.5 KiB
C
159 lines
4.5 KiB
C
/*
|
|
* 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_(BOOL) 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 */
|