| /** | |
| * This file has no copyright assigned and is placed in the Public Domain. | |
| * This file is part of the mingw-w64 runtime package. | |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. | |
| */ | |
| #ifndef _DCOMPTYPES_H_ | |
| #define _DCOMPTYPES_H_ | |
| #include <dxgitype.h> | |
| #include <dxgi1_2.h> | |
| #include <winapifamily.h> | |
| #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) | |
| enum DCOMPOSITION_BITMAP_INTERPOLATION_MODE { | |
| DCOMPOSITION_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0, | |
| DCOMPOSITION_BITMAP_INTERPOLATION_MODE_LINEAR = 1, | |
| DCOMPOSITION_BITMAP_INTERPOLATION_MODE_INHERIT = 0xffffffff | |
| }; | |
| enum DCOMPOSITION_BORDER_MODE { | |
| DCOMPOSITION_BORDER_MODE_SOFT = 0, | |
| DCOMPOSITION_BORDER_MODE_HARD = 1, | |
| DCOMPOSITION_BORDER_MODE_INHERIT = 0xffffffff | |
| }; | |
| enum DCOMPOSITION_COMPOSITE_MODE { | |
| DCOMPOSITION_COMPOSITE_MODE_SOURCE_OVER = 0, | |
| DCOMPOSITION_COMPOSITE_MODE_DESTINATION_INVERT = 1, | |
| #if _WIN32_WINNT >= _WIN32_WINNT_WINBLUE | |
| DCOMPOSITION_COMPOSITE_MODE_MIN_BLEND = 2, | |
| #endif | |
| DCOMPOSITION_COMPOSITE_MODE_INHERIT = 0xffffffff | |
| }; | |
| #if _WIN32_WINNT >= _WIN32_WINNT_WINBLUE | |
| enum DCOMPOSITION_BACKFACE_VISIBILITY { | |
| DCOMPOSITION_BACKFACE_VISIBILITY_VISIBLE = 0, | |
| DCOMPOSITION_BACKFACE_VISIBILITY_HIDDEN = 1, | |
| DCOMPOSITION_BACKFACE_VISIBILITY_INHERIT = 0xffffffff | |
| }; | |
| enum DCOMPOSITION_OPACITY_MODE { | |
| DCOMPOSITION_OPACITY_MODE_LAYER = 0, | |
| DCOMPOSITION_OPACITY_MODE_MULTIPLY = 1, | |
| DCOMPOSITION_OPACITY_MODE_INHERIT = 0xffffffff | |
| }; | |
| #endif | |
| #if _WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD | |
| enum DCOMPOSITION_DEPTH_MODE { | |
| DCOMPOSITION_DEPTH_MODE_TREE = 0, | |
| DCOMPOSITION_DEPTH_MODE_SPATIAL = 1, | |
| DCOMPOSITION_DEPTH_MODE_SORTED = 3, | |
| DCOMPOSITION_DEPTH_MODE_INHERIT = 0xffffffff | |
| }; | |
| #endif | |
| typedef struct { | |
| LARGE_INTEGER lastFrameTime; | |
| DXGI_RATIONAL currentCompositionRate; | |
| LARGE_INTEGER currentTime; | |
| LARGE_INTEGER timeFrequency; | |
| LARGE_INTEGER nextEstimatedFrameTime; | |
| } DCOMPOSITION_FRAME_STATISTICS; | |
| #define COMPOSITIONOBJECT_READ 0x01 | |
| #define COMPOSITIONOBJECT_WRITE 0x02 | |
| #define COMPOSITIONOBJECT_ALL_ACCESS (COMPOSITIONOBJECT_READ | COMPOSITIONOBJECT_WRITE) | |
| #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ | |
| #endif /* _DCOMPTYPES_H_ */ |