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 7 use shared::dxgitype::DXGI_RATIONAL; 8 use shared::minwindef::DWORD; 9 use um::winnt::LARGE_INTEGER; 10 ENUM!{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 }} 15 ENUM!{enum DCOMPOSITION_BORDER_MODE { 16 DCOMPOSITION_BORDER_MODE_SOFT = 0, 17 DCOMPOSITION_BORDER_MODE_HARD = 1, 18 DCOMPOSITION_BORDER_MODE_INHERIT = 0xffffffff, 19 }} 20 ENUM!{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 }} 26 ENUM!{enum DCOMPOSITION_BACKFACE_VISIBILITY { 27 DCOMPOSITION_BACKFACE_VISIBILITY_VISIBLE = 0, 28 DCOMPOSITION_BACKFACE_VISIBILITY_HIDDEN = 1, 29 DCOMPOSITION_BACKFACE_VISIBILITY_INHERIT = 0xffffffff, 30 }} 31 ENUM!{enum DCOMPOSITION_OPACITY_MODE { 32 DCOMPOSITION_OPACITY_MODE_LAYER = 0, 33 DCOMPOSITION_OPACITY_MODE_MULTIPLY = 1, 34 DCOMPOSITION_OPACITY_MODE_INHERIT = 0xffffffff, 35 }} 36 ENUM!{enum DCOMPOSITION_DEPTH_MODE { 37 DCOMPOSITION_DEPTH_MODE_TREE = 0, 38 DCOMPOSITION_DEPTH_MODE_SPATIAL = 1, 39 DCOMPOSITION_DEPTH_MODE_INHERIT = 0xffffffff, 40 }} 41 STRUCT!{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 }} 48 pub const COMPOSITIONOBJECT_READ: DWORD = 0x0001; 49 pub const COMPOSITIONOBJECT_WRITE: DWORD = 0x0002; 50 pub const COMPOSITIONOBJECT_ALL_ACCESS: DWORD = COMPOSITIONOBJECT_READ | COMPOSITIONOBJECT_WRITE; 51