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     DCOMPOSITION_COMPOSITE_MODE_MIN_BLEND = 2,
32     DCOMPOSITION_COMPOSITE_MODE_INHERIT = 0xffffffff
33 };
34 
35 typedef struct {
36     LARGE_INTEGER lastFrameTime;
37     DXGI_RATIONAL currentCompositionRate;
38     LARGE_INTEGER currentTime;
39     LARGE_INTEGER timeFrequency;
40     LARGE_INTEGER nextEstimatedFrameTime;
41 } DCOMPOSITION_FRAME_STATISTICS;
42 
43 #endif
44 #endif /* _DCOMPTYPES_H_ */
45