include dxgitype.inc
include dxgi1_5.inc

if (NTDDI_VERSION GE NTDDI_WIN8)

.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 DCOMPOSITION_BORDER_MODE {
    DCOMPOSITION_BORDER_MODE_SOFT	= 0,
    DCOMPOSITION_BORDER_MODE_HARD	= 1,
    DCOMPOSITION_BORDER_MODE_INHERIT	= 0xffffffff
    }

.enum DCOMPOSITION_COMPOSITE_MODE {
    DCOMPOSITION_COMPOSITE_MODE_SOURCE_OVER	   = 0,
    DCOMPOSITION_COMPOSITE_MODE_DESTINATION_INVERT = 1,
if (_WIN32_WINNT GE _WIN32_WINNT_WINBLUE)
    DCOMPOSITION_COMPOSITE_MODE_MIN_BLEND	   = 2,
endif
    DCOMPOSITION_COMPOSITE_MODE_INHERIT		   = 0xffffffff
    }

if (_WIN32_WINNT GE _WIN32_WINNT_WINBLUE)
.enum DCOMPOSITION_BACKFACE_VISIBILITY {
    DCOMPOSITION_BACKFACE_VISIBILITY_VISIBLE	= 0,
    DCOMPOSITION_BACKFACE_VISIBILITY_HIDDEN	= 1,
    DCOMPOSITION_BACKFACE_VISIBILITY_INHERIT	= 0xffffffff
    }

.enum DCOMPOSITION_OPACITY_MODE {
    DCOMPOSITION_OPACITY_MODE_LAYER	= 0,
    DCOMPOSITION_OPACITY_MODE_MULTIPLY	= 1,
    DCOMPOSITION_OPACITY_MODE_INHERIT	= 0xffffffff
    }
endif

if (_WIN32_WINNT GE _WIN32_WINNT_WINTHRESHOLD)
.enum DCOMPOSITION_DEPTH_MODE {
    DCOMPOSITION_DEPTH_MODE_TREE    = 0,
    DCOMPOSITION_DEPTH_MODE_SPATIAL = 1,
    DCOMPOSITION_DEPTH_MODE_SORTED  = 3,
    DCOMPOSITION_DEPTH_MODE_INHERIT = 0xffffffff
    }
endif

DCOMPOSITION_FRAME_STATISTICS STRUC
lastFrameTime		LARGE_INTEGER <>
currentCompositionRate	DXGI_RATIONAL <>
currentTime		LARGE_INTEGER <>
timeFrequency		LARGE_INTEGER <>
nextEstimatedFrameTime	LARGE_INTEGER <>
DCOMPOSITION_FRAME_STATISTICS ENDS

COMPOSITIONOBJECT_READ	equ 0x0001
COMPOSITIONOBJECT_WRITE equ 0x0002

COMPOSITIONOBJECT_ALL_ACCESS equ (COMPOSITIONOBJECT_READ OR COMPOSITIONOBJECT_WRITE)

endif
