1 module directx.dcomptypes; 2 //--------------------------------------------------------------------------- 3 // Copyright (c) Microsoft Corporation. All rights reserved. 4 //--------------------------------------------------------------------------- 5 6 version(Windows): 7 8 public import directx.dxgitype, directx.dxgi1_5; 9 10 // 11 // DirectComposition types 12 // 13 14 enum DCOMPOSITION_BITMAP_INTERPOLATION_MODE : uint 15 { 16 DCOMPOSITION_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0, 17 DCOMPOSITION_BITMAP_INTERPOLATION_MODE_LINEAR = 1, 18 19 DCOMPOSITION_BITMAP_INTERPOLATION_MODE_INHERIT = 0xffffffff 20 } 21 22 enum DCOMPOSITION_BORDER_MODE : uint 23 { 24 DCOMPOSITION_BORDER_MODE_SOFT = 0, 25 DCOMPOSITION_BORDER_MODE_HARD = 1, 26 27 DCOMPOSITION_BORDER_MODE_INHERIT = 0xffffffff 28 } 29 30 enum DCOMPOSITION_COMPOSITE_MODE : uint 31 { 32 DCOMPOSITION_COMPOSITE_MODE_SOURCE_OVER = 0, 33 DCOMPOSITION_COMPOSITE_MODE_DESTINATION_INVERT = 1, 34 DCOMPOSITION_COMPOSITE_MODE_MIN_BLEND = 2, 35 36 DCOMPOSITION_COMPOSITE_MODE_INHERIT = 0xffffffff 37 } 38 39 enum DCOMPOSITION_BACKFACE_VISIBILITY : uint 40 { 41 DCOMPOSITION_BACKFACE_VISIBILITY_VISIBLE = 0, 42 DCOMPOSITION_BACKFACE_VISIBILITY_HIDDEN = 1, 43 44 DCOMPOSITION_BACKFACE_VISIBILITY_INHERIT = 0xffffffff 45 } 46 47 enum DCOMPOSITION_OPACITY_MODE : uint 48 { 49 DCOMPOSITION_OPACITY_MODE_LAYER = 0, 50 DCOMPOSITION_OPACITY_MODE_MULTIPLY = 1, 51 52 DCOMPOSITION_OPACITY_MODE_INHERIT = 0xffffffff 53 } 54 55 enum DCOMPOSITION_DEPTH_MODE : uint 56 { 57 DCOMPOSITION_DEPTH_MODE_TREE = 0, 58 DCOMPOSITION_DEPTH_MODE_SPATIAL = 1, 59 60 DCOMPOSITION_DEPTH_MODE_INHERIT = 0xffffffff 61 } 62 63 struct DCOMPOSITION_FRAME_STATISTICS 64 { 65 LARGE_INTEGER lastFrameTime; 66 DXGI_RATIONAL currentCompositionRate; 67 LARGE_INTEGER currentTime; 68 LARGE_INTEGER timeFrequency; 69 LARGE_INTEGER nextEstimatedFrameTime; 70 } 71 72 73 // 74 // Composition object specific access flags 75 // 76 77 enum COMPOSITIONOBJECT_READ = 0x0001L; 78 enum COMPOSITIONOBJECT_WRITE = 0x0002L; 79 80 enum COMPOSITIONOBJECT_ALL_ACCESS = COMPOSITIONOBJECT_READ | COMPOSITIONOBJECT_WRITE;