1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
use shared::dxgitype::DXGI_RATIONAL;
use shared::minwindef::DWORD;
use um::winnt::LARGE_INTEGER;
ENUM!{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!{enum DCOMPOSITION_BORDER_MODE {
DCOMPOSITION_BORDER_MODE_SOFT = 0,
DCOMPOSITION_BORDER_MODE_HARD = 1,
DCOMPOSITION_BORDER_MODE_INHERIT = 0xffffffff,
}}
ENUM!{enum DCOMPOSITION_COMPOSITE_MODE {
DCOMPOSITION_COMPOSITE_MODE_SOURCE_OVER = 0,
DCOMPOSITION_COMPOSITE_MODE_DESTINATION_INVERT = 1,
DCOMPOSITION_COMPOSITE_MODE_MIN_BLEND = 2,
DCOMPOSITION_COMPOSITE_MODE_INHERIT = 0xffffffff,
}}
ENUM!{enum DCOMPOSITION_BACKFACE_VISIBILITY {
DCOMPOSITION_BACKFACE_VISIBILITY_VISIBLE = 0,
DCOMPOSITION_BACKFACE_VISIBILITY_HIDDEN = 1,
DCOMPOSITION_BACKFACE_VISIBILITY_INHERIT = 0xffffffff,
}}
ENUM!{enum DCOMPOSITION_OPACITY_MODE {
DCOMPOSITION_OPACITY_MODE_LAYER = 0,
DCOMPOSITION_OPACITY_MODE_MULTIPLY = 1,
DCOMPOSITION_OPACITY_MODE_INHERIT = 0xffffffff,
}}
ENUM!{enum DCOMPOSITION_DEPTH_MODE {
DCOMPOSITION_DEPTH_MODE_TREE = 0,
DCOMPOSITION_DEPTH_MODE_SPATIAL = 1,
DCOMPOSITION_DEPTH_MODE_INHERIT = 0xffffffff,
}}
STRUCT!{struct DCOMPOSITION_FRAME_STATISTICS {
lastFrameTime: LARGE_INTEGER,
currentCompositionRate: DXGI_RATIONAL,
currentTime: LARGE_INTEGER,
timeFrequency: LARGE_INTEGER,
nextEstimatedFrameTime: LARGE_INTEGER,
}}
pub const COMPOSITIONOBJECT_READ: DWORD = 0x0001;
pub const COMPOSITIONOBJECT_WRITE: DWORD = 0x0002;
pub const COMPOSITIONOBJECT_ALL_ACCESS: DWORD = COMPOSITIONOBJECT_READ | COMPOSITIONOBJECT_WRITE;