1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 7 #ifndef _DCOMPTYPES_H_ 8 #define _DCOMPTYPES_H_ 9 10 #include <dxgitype.h> 11 #include <dxgi1_2.h> 12 #include <winapifamily.h> 13 14 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 15 16 enum DCOMPOSITION_BITMAP_INTERPOLATION_MODE { 17 DCOMPOSITION_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0, 18 DCOMPOSITION_BITMAP_INTERPOLATION_MODE_LINEAR = 1, 19 DCOMPOSITION_BITMAP_INTERPOLATION_MODE_INHERIT = 0xffffffff 20 }; 21 22 enum DCOMPOSITION_BORDER_MODE { 23 DCOMPOSITION_BORDER_MODE_SOFT = 0, 24 DCOMPOSITION_BORDER_MODE_HARD = 1, 25 DCOMPOSITION_BORDER_MODE_INHERIT = 0xffffffff 26 }; 27 28 enum DCOMPOSITION_COMPOSITE_MODE { 29 DCOMPOSITION_COMPOSITE_MODE_SOURCE_OVER = 0, 30 DCOMPOSITION_COMPOSITE_MODE_DESTINATION_INVERT = 1, 31 #if _WIN32_WINNT >= _WIN32_WINNT_WINBLUE 32 DCOMPOSITION_COMPOSITE_MODE_MIN_BLEND = 2, 33 #endif 34 DCOMPOSITION_COMPOSITE_MODE_INHERIT = 0xffffffff 35 }; 36 37 #if _WIN32_WINNT >= _WIN32_WINNT_WINBLUE 38 enum DCOMPOSITION_BACKFACE_VISIBILITY { 39 DCOMPOSITION_BACKFACE_VISIBILITY_VISIBLE = 0, 40 DCOMPOSITION_BACKFACE_VISIBILITY_HIDDEN = 1, 41 DCOMPOSITION_BACKFACE_VISIBILITY_INHERIT = 0xffffffff 42 }; 43 44 enum DCOMPOSITION_OPACITY_MODE { 45 DCOMPOSITION_OPACITY_MODE_LAYER = 0, 46 DCOMPOSITION_OPACITY_MODE_MULTIPLY = 1, 47 DCOMPOSITION_OPACITY_MODE_INHERIT = 0xffffffff 48 }; 49 #endif 50 51 #if _WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD 52 enum DCOMPOSITION_DEPTH_MODE { 53 DCOMPOSITION_DEPTH_MODE_TREE = 0, 54 DCOMPOSITION_DEPTH_MODE_SPATIAL = 1, 55 DCOMPOSITION_DEPTH_MODE_SORTED = 3, 56 DCOMPOSITION_DEPTH_MODE_INHERIT = 0xffffffff 57 }; 58 #endif 59 60 typedef struct { 61 LARGE_INTEGER lastFrameTime; 62 DXGI_RATIONAL currentCompositionRate; 63 LARGE_INTEGER currentTime; 64 LARGE_INTEGER timeFrequency; 65 LARGE_INTEGER nextEstimatedFrameTime; 66 } DCOMPOSITION_FRAME_STATISTICS; 67 68 #define COMPOSITIONOBJECT_READ 0x01 69 #define COMPOSITIONOBJECT_WRITE 0x02 70 #define COMPOSITIONOBJECT_ALL_ACCESS (COMPOSITIONOBJECT_READ | COMPOSITIONOBJECT_WRITE) 71 72 #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ 73 74 #endif /* _DCOMPTYPES_H_ */ 75