9b639cf2d6 2015-05-05 kinaba: /***********************************************************************\ 9b639cf2d6 2015-05-05 kinaba: * dxgitype.d * 9b639cf2d6 2015-05-05 kinaba: * * 9b639cf2d6 2015-05-05 kinaba: * Windows API header module * 9b639cf2d6 2015-05-05 kinaba: * * 9b639cf2d6 2015-05-05 kinaba: * Placed into public domain * 9b639cf2d6 2015-05-05 kinaba: \***********************************************************************/ 9b639cf2d6 2015-05-05 kinaba: module win32.directx.dxgitype; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: private import win32.windows; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: const _FACDXGI = 0x87a; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: HRESULT MAKE_DXGI_HRESULT(T)(T code) { 9b639cf2d6 2015-05-05 kinaba: return MAKE_HRESULT(1, _FACDXGI, code); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: HRESULT MAKE_DXGI_STATUS(T)(T code) { 9b639cf2d6 2015-05-05 kinaba: return MAKE_HRESULT(0, _FACDXGI, code); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_STATUS_OCCLUDED = MAKE_DXGI_STATUS(1); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_STATUS_CLIPPED = MAKE_DXGI_STATUS(2); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_STATUS_NO_REDIRECTION = MAKE_DXGI_STATUS(4); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_STATUS_NO_DESKTOP_ACCESS = MAKE_DXGI_STATUS(5); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE = MAKE_DXGI_STATUS(6); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_STATUS_MODE_CHANGED = MAKE_DXGI_STATUS(7); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_STATUS_MODE_CHANGE_IN_PROGRESS = MAKE_DXGI_STATUS(8); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_ERROR_INVALID_CALL = MAKE_DXGI_HRESULT( 1); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_ERROR_NOT_FOUND = MAKE_DXGI_HRESULT( 2); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_ERROR_MORE_DATA = MAKE_DXGI_HRESULT( 3); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_ERROR_UNSUPPORTED = MAKE_DXGI_HRESULT( 4); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_ERROR_DEVICE_REMOVED = MAKE_DXGI_HRESULT( 5); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_ERROR_DEVICE_HUNG = MAKE_DXGI_HRESULT( 6); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_ERROR_DEVICE_RESET = MAKE_DXGI_HRESULT( 7); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_ERROR_WAS_STILL_DRAWING = MAKE_DXGI_HRESULT(10); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_ERROR_FRAME_STATISTICS_DISJOINT = MAKE_DXGI_HRESULT(11); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE = MAKE_DXGI_HRESULT(12); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_ERROR_DRIVER_INTERNAL_ERROR = MAKE_DXGI_HRESULT(32); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_ERROR_NONEXCLUSIVE = MAKE_DXGI_HRESULT(33); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_ERROR_NOT_CURRENTLY_AVAILABLE = MAKE_DXGI_HRESULT(34); 9b639cf2d6 2015-05-05 kinaba: const HRESULT DXGI_FORMAT_DEFINED = 1; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: enum DXGI_FORMAT { 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_UNKNOWN = 0, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R32G32B32A32_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R32G32B32A32_FLOAT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R32G32B32A32_UINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R32G32B32A32_SINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R32G32B32_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R32G32B32_FLOAT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R32G32B32_UINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R32G32B32_SINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R16G16B16A16_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R16G16B16A16_FLOAT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R16G16B16A16_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R16G16B16A16_UINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R16G16B16A16_SNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R16G16B16A16_SINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R32G32_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R32G32_FLOAT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R32G32_UINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R32G32_SINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R32G8X24_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_D32_FLOAT_S8X24_UINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_X32_TYPELESS_G8X24_UINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R10G10B10A2_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R10G10B10A2_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R10G10B10A2_UINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R11G11B10_FLOAT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R8G8B8A8_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R8G8B8A8_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R8G8B8A8_UINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R8G8B8A8_SNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R8G8B8A8_SINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R16G16_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R16G16_FLOAT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R16G16_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R16G16_UINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R16G16_SNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R16G16_SINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R32_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_D32_FLOAT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R32_FLOAT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R32_UINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R32_SINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R24G8_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_D24_UNORM_S8_UINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R24_UNORM_X8_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_X24_TYPELESS_G8_UINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R8G8_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R8G8_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R8G8_UINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R8G8_SNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R8G8_SINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R16_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R16_FLOAT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_D16_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R16_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R16_UINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R16_SNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R16_SINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R8_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R8_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R8_UINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R8_SNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R8_SINT, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_A8_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R1_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R9G9B9E5_SHAREDEXP, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_R8G8_B8G8_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_G8R8_G8B8_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_BC1_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_BC1_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_BC1_UNORM_SRGB, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_BC2_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_BC2_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_BC2_UNORM_SRGB, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_BC3_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_BC3_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_BC3_UNORM_SRGB, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_BC4_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_BC4_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_BC4_SNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_BC5_TYPELESS, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_BC5_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_BC5_SNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_B5G6R5_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_B5G5R5A1_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_B8G8R8A8_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_B8G8R8X8_UNORM, 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT_FORCE_UINT = 0xffffffff 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DXGI_RGB { 9b639cf2d6 2015-05-05 kinaba: float Red; 9b639cf2d6 2015-05-05 kinaba: float Green; 9b639cf2d6 2015-05-05 kinaba: float Blue; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DXGI_GAMMA_CONTROL { 9b639cf2d6 2015-05-05 kinaba: DXGI_RGB Scale; 9b639cf2d6 2015-05-05 kinaba: DXGI_RGB Offset; 9b639cf2d6 2015-05-05 kinaba: DXGI_RGB[1025] GammaCurve; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DXGI_GAMMA_CONTROL_CAPABILITIES { 9b639cf2d6 2015-05-05 kinaba: BOOL ScaleAndOffsetSupported; 9b639cf2d6 2015-05-05 kinaba: float MaxConvertedValue; 9b639cf2d6 2015-05-05 kinaba: float MinConvertedValue; 9b639cf2d6 2015-05-05 kinaba: UINT NumGammaControlPoints; 9b639cf2d6 2015-05-05 kinaba: float[1025] ControlPointPositions; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DXGI_RATIONAL { 9b639cf2d6 2015-05-05 kinaba: UINT Numerator; 9b639cf2d6 2015-05-05 kinaba: UINT Denominator; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: enum DXGI_MODE_SCANLINE_ORDER { 9b639cf2d6 2015-05-05 kinaba: DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED = 0, 9b639cf2d6 2015-05-05 kinaba: DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE = 1, 9b639cf2d6 2015-05-05 kinaba: DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST = 2, 9b639cf2d6 2015-05-05 kinaba: DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST = 3 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: enum DXGI_MODE_SCALING { 9b639cf2d6 2015-05-05 kinaba: DXGI_MODE_SCALING_UNSPECIFIED = 0, 9b639cf2d6 2015-05-05 kinaba: DXGI_MODE_SCALING_CENTERED = 1, 9b639cf2d6 2015-05-05 kinaba: DXGI_MODE_SCALING_STRETCHED = 2 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: enum DXGI_MODE_ROTATION { 9b639cf2d6 2015-05-05 kinaba: DXGI_MODE_ROTATION_UNSPECIFIED = 0, 9b639cf2d6 2015-05-05 kinaba: DXGI_MODE_ROTATION_IDENTITY = 1, 9b639cf2d6 2015-05-05 kinaba: DXGI_MODE_ROTATION_ROTATE90 = 2, 9b639cf2d6 2015-05-05 kinaba: DXGI_MODE_ROTATION_ROTATE180 = 3, 9b639cf2d6 2015-05-05 kinaba: DXGI_MODE_ROTATION_ROTATE270 = 4 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DXGI_MODE_DESC { 9b639cf2d6 2015-05-05 kinaba: UINT Width; 9b639cf2d6 2015-05-05 kinaba: UINT Height; 9b639cf2d6 2015-05-05 kinaba: DXGI_RATIONAL RefreshRate; 9b639cf2d6 2015-05-05 kinaba: DXGI_FORMAT Format; 9b639cf2d6 2015-05-05 kinaba: DXGI_MODE_SCANLINE_ORDER ScanlineOrdering; 9b639cf2d6 2015-05-05 kinaba: DXGI_MODE_SCALING Scaling; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DXGI_SAMPLE_DESC { 9b639cf2d6 2015-05-05 kinaba: UINT Count; 9b639cf2d6 2015-05-05 kinaba: UINT Quality; 9b639cf2d6 2015-05-05 kinaba: }