winapi_ui_automation/shared/
dcomptypes.rs

1// Licensed under the Apache License, Version 2.0
2// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4// All files in the project carrying such notice may not be copied, modified, or distributed
5// except according to those terms.
6//! Mappings for the contents of dcomptypes.h
7use shared::dxgitype::DXGI_RATIONAL;
8use shared::minwindef::DWORD;
9use um::winnt::LARGE_INTEGER;
10ENUM!{enum DCOMPOSITION_BITMAP_INTERPOLATION_MODE {
11    DCOMPOSITION_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0,
12    DCOMPOSITION_BITMAP_INTERPOLATION_MODE_LINEAR = 1,
13    DCOMPOSITION_BITMAP_INTERPOLATION_MODE_INHERIT = 0xffffffff,
14}}
15ENUM!{enum DCOMPOSITION_BORDER_MODE {
16    DCOMPOSITION_BORDER_MODE_SOFT = 0,
17    DCOMPOSITION_BORDER_MODE_HARD = 1,
18    DCOMPOSITION_BORDER_MODE_INHERIT = 0xffffffff,
19}}
20ENUM!{enum DCOMPOSITION_COMPOSITE_MODE {
21    DCOMPOSITION_COMPOSITE_MODE_SOURCE_OVER = 0,
22    DCOMPOSITION_COMPOSITE_MODE_DESTINATION_INVERT = 1,
23    DCOMPOSITION_COMPOSITE_MODE_MIN_BLEND = 2,
24    DCOMPOSITION_COMPOSITE_MODE_INHERIT = 0xffffffff,
25}}
26ENUM!{enum DCOMPOSITION_BACKFACE_VISIBILITY {
27    DCOMPOSITION_BACKFACE_VISIBILITY_VISIBLE = 0,
28    DCOMPOSITION_BACKFACE_VISIBILITY_HIDDEN = 1,
29    DCOMPOSITION_BACKFACE_VISIBILITY_INHERIT = 0xffffffff,
30}}
31ENUM!{enum DCOMPOSITION_OPACITY_MODE {
32    DCOMPOSITION_OPACITY_MODE_LAYER = 0,
33    DCOMPOSITION_OPACITY_MODE_MULTIPLY = 1,
34    DCOMPOSITION_OPACITY_MODE_INHERIT = 0xffffffff,
35}}
36ENUM!{enum DCOMPOSITION_DEPTH_MODE {
37    DCOMPOSITION_DEPTH_MODE_TREE = 0,
38    DCOMPOSITION_DEPTH_MODE_SPATIAL = 1,
39    DCOMPOSITION_DEPTH_MODE_INHERIT = 0xffffffff,
40}}
41STRUCT!{struct DCOMPOSITION_FRAME_STATISTICS {
42    lastFrameTime: LARGE_INTEGER,
43    currentCompositionRate: DXGI_RATIONAL,
44    currentTime: LARGE_INTEGER,
45    timeFrequency: LARGE_INTEGER,
46    nextEstimatedFrameTime: LARGE_INTEGER,
47}}
48pub const COMPOSITIONOBJECT_READ: DWORD = 0x0001;
49pub const COMPOSITIONOBJECT_WRITE: DWORD = 0x0002;
50pub const COMPOSITIONOBJECT_ALL_ACCESS: DWORD = COMPOSITIONOBJECT_READ | COMPOSITIONOBJECT_WRITE;