----------------------------------------
-- Microsoft DirectX Ada binding lib --
-- File : D3DCSX.ads --
-- Translator:Dongfeng.Gu,2018/11/16 --
-- Mail: 515639@qq.com --
-- Progress:100% --
----------------------------------------
with win32; use win32;
with win32.rpcdce;
with win32.Objbase; use win32.Objbase;
with d3d11; use d3d11;
package D3DCSX is
type D3DX11_SCAN_DATA_TYPE is (D3DX11_SCAN_DATA_TYPE_FLOAT,
D3DX11_SCAN_DATA_TYPE_INT,
D3DX11_SCAN_DATA_TYPE_UINT);
for D3DX11_SCAN_DATA_TYPE use (D3DX11_SCAN_DATA_TYPE_FLOAT=>1,
D3DX11_SCAN_DATA_TYPE_INT=>2,
D3DX11_SCAN_DATA_TYPE_UINT=>3);
type LPD3DX11_SCAN_DATA_TYPE is access D3DX11_SCAN_DATA_TYPE;
type D3DX11_SCAN_OPCODE is (D3DX11_SCAN_OPCODE_ADD,
D3DX11_SCAN_OPCODE_MIN,
D3DX11_SCAN_OPCODE_MAX,
D3DX11_SCAN_OPCODE_MUL,
D3DX11_SCAN_OPCODE_AND,
D3DX11_SCAN_OPCODE_OR,
D3DX11_SCAN_OPCODE_XOR);
for D3DX11_SCAN_OPCODE use (D3DX11_SCAN_OPCODE_ADD=>1,
D3DX11_SCAN_OPCODE_MIN=>2,
D3DX11_SCAN_OPCODE_MAX=>3,
D3DX11_SCAN_OPCODE_MUL=>4,
D3DX11_SCAN_OPCODE_AND=>5,
D3DX11_SCAN_OPCODE_OR=>6,
D3DX11_SCAN_OPCODE_XOR=>7);
type LPD3DX11_SCAN_OPCODE is access D3DX11_SCAN_OPCODE;
type D3DX11_SCAN_DIRECTION is (D3DX11_SCAN_DIRECTION_FORWARD,
D3DX11_SCAN_DIRECTION_BACKWARD);
for D3DX11_SCAN_DIRECTION use (D3DX11_SCAN_DIRECTION_FORWARD=>1,
D3DX11_SCAN_DIRECTION_BACKWARD=>2);
type LPD3DX11_SCAN_DIRECTION is access D3DX11_SCAN_DIRECTION;
type ID3DX11Scan;
type LPID3DX11Scan is access all ID3DX11Scan;
type LPLPID3DX11Scan is access all LPID3DX11Scan;
subtype LPD3DX11Scan is LPID3DX11Scan;
subtype LPLPD3DX11Scan is LPLPID3DX11Scan;
type ID3DX11SegmentedScan;
type LPID3DX11SegmentedScan is access all ID3DX11SegmentedScan;
type LPLPID3DX11SegmentedScan is access all LPID3DX11SegmentedScan;
subtype LPD3DX11SegmentedScan is LPID3DX11SegmentedScan;
subtype LPLPD3DX11SegmentedScan is LPLPID3DX11SegmentedScan;
type ID3DX11FFT;
type LPID3DX11FFT is access all ID3DX11FFT;
type LPLPID3DX11FFT is access all LPID3DX11FFT;
subtype LPD3DX11FFT is LPID3DX11FFT;
subtype LPLPD3DX11FFT is LPLPID3DX11FFT;
IID_ID3DX11Scan:constant win32.rpcdce.GUID:=(16#5089b68f#,16#e71d#,16#4d38#,(16#be#,16#8e#,16#f3#,16#63#,16#b9#,16#5a#,16#94#,16#05#));
type ID3DX11Scan_vtbl is record
QueryInterface:access function(THIS:LPID3DX11Scan;iid:REFIID;ppv:LPLPVOID) return HRESULT with Convention=>Stdcall;
AddRef:access function(THIS:LPID3DX11Scan) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPID3DX11Scan) return ULONG with Convention=>Stdcall;
SetScanDirection:access function(THIS:LPID3DX11Scan;Direction:D3DX11_SCAN_DIRECTION) return HRESULT with Convention=>Stdcall;
Scan:access function(THIS:LPID3DX11Scan;ElementType:D3DX11_SCAN_DATA_TYPE;OpCode:D3DX11_SCAN_OPCODE;ElementScanSize:UINT;pSrc:LPID3D11UnorderedAccessView;pDst:LPID3D11UnorderedAccessView) return HRESULT with Convention=>Stdcall;
Multiscan:access function(THIS:LPID3DX11Scan;ElementType:D3DX11_SCAN_DATA_TYPE;OpCode:D3DX11_SCAN_OPCODE;ElementScanSize:UINT;ElementScanPitch:UINT;ScanCount:UINT;pSrc:LPID3D11UnorderedAccessView;pDst:LPID3D11UnorderedAccessView) return HRESULT with Convention=>Stdcall;
end record;
type ID3DX11Scan is access all ID3DX11Scan_vtbl;
function D3DX11CreateScan(pDeviceContext:LPID3D11DeviceContext;MaxElementScanSize:UINT;MaxScanCount:UINT;ppScan:LPLPID3DX11Scan) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DX11CreateScan";
IID_ID3DX11SegmentedScan:constant win32.rpcdce.GUID:=(16#a915128c#,16#d954#,16#4c79#,(16#bf#,16#e1#,16#64#,16#db#,16#92#,16#31#,16#94#,16#d6#));
type ID3DX11SegmentedScan_vtbl is record
QueryInterface:access function(THIS:LPID3DX11SegmentedScan;iid:REFIID;ppv:LPLPVOID) return HRESULT with Convention=>Stdcall;
AddRef:access function(THIS:LPID3DX11SegmentedScan) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPID3DX11SegmentedScan) return ULONG with Convention=>Stdcall;
SetScanDirection:access function(THIS:LPID3DX11SegmentedScan;Direction:D3DX11_SCAN_DIRECTION) return HRESULT with Convention=>Stdcall;
SegScan:access function(THIS:LPID3DX11SegmentedScan;ElementType:D3DX11_SCAN_DATA_TYPE;OpCode:D3DX11_SCAN_OPCODE;ElementScanSize:UINT;pSrc:LPID3D11UnorderedAccessView;pSrcElementFlags:LPID3D11UnorderedAccessView;pDst:LPID3D11UnorderedAccessView) return HRESULT with Convention=>Stdcall;
end record;
type ID3DX11SegmentedScan is access all ID3DX11SegmentedScan_vtbl;
function D3DX11CreateSegmentedScan(pDeviceContext:LPID3D11DeviceContext;MaxElementScanSize:UINT;ppScan:LPLPID3DX11SegmentedScan) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DX11CreateSegmentedScan";
D3DX11_FFT_MAX_PRECOMPUTE_BUFFERS : constant := 4;
D3DX11_FFT_MAX_TEMP_BUFFERS : constant := 4;
D3DX11_FFT_MAX_DIMENSIONS : constant := 32;
IID_ID3DX11FFT:constant win32.rpcdce.GUID:=(16#b3f7a938#,16#4c93#,16#4310#,(16#a6#,16#75#,16#b3#,16#0d#,16#6d#,16#e5#,16#05#,16#53#));
type ID3DX11FFT_vtbl is record
QueryInterface:access function(THIS:LPID3DX11FFT;iid:REFIID;ppv:LPLPVOID) return HRESULT with Convention=>Stdcall;
AddRef:access function(THIS:LPID3DX11FFT) return ULONG with Convention=>Stdcall;
Release:access function(THIS:LPID3DX11FFT) return ULONG with Convention=>Stdcall;
SetForwardScale:access function(THIS:LPID3DX11FFT;ForwardScale:FLOAT) return HRESULT with Convention=>Stdcall;
GetForwardScale:access function(THIS:LPID3DX11FFT) return FLOAT with Convention=>Stdcall;
SetInverseScale:access function(THIS:LPID3DX11FFT;InverseScale:FLOAT) return HRESULT with Convention=>Stdcall;
GetInverseScale:access function(THIS:LPID3DX11FFT) return FLOAT with Convention=>Stdcall;
AttachBuffersAndPrecompute:access function(THIS:LPID3DX11FFT;NumTempBuffers:UINT;ppTempBuffers:LPLPID3D11UnorderedAccessView;NumPrecomputeBuffers:UINT;ppPrecomputeBufferSizes:LPLPID3D11UnorderedAccessView) return HRESULT with Convention=>Stdcall;
ForwardTransform:access function(THIS:LPID3DX11FFT;pInputBuffer:LPID3D11UnorderedAccessView;ppOutputBuffer:LPLPID3D11UnorderedAccessView) return HRESULT with Convention=>Stdcall;
InverseTransform:access function(THIS:LPID3DX11FFT;pInputBuffer:LPID3D11UnorderedAccessView;ppOutputBuffer:LPLPID3D11UnorderedAccessView) return HRESULT with Convention=>Stdcall;
end record;
type ID3DX11FFT is access all ID3DX11FFT_vtbl;
type D3DX11_FFT_DATA_TYPE is (D3DX11_FFT_DATA_TYPE_REAL,
D3DX11_FFT_DATA_TYPE_COMPLEX);
type LPD3DX11_FFT_DATA_TYPE is access D3DX11_FFT_DATA_TYPE;
type D3DX11_FFT_DIM_MASK is (D3DX11_FFT_DIM_MASK_1D,
D3DX11_FFT_DIM_MASK_2D,
D3DX11_FFT_DIM_MASK_3D);
for D3DX11_FFT_DIM_MASK use (D3DX11_FFT_DIM_MASK_1D=>16#1#,
D3DX11_FFT_DIM_MASK_2D=>16#3#,
D3DX11_FFT_DIM_MASK_3D=>16#7#);
type LPD3DX11_FFT_DIM_MASK is access D3DX11_FFT_DIM_MASK;
type D3DX11_FFT_DESC is record
NumDimensions: UINT;
ElementLengths: UINT_Array(0..D3DX11_FFT_MAX_DIMENSIONS-1);
DimensionMask: UINT;
Typ: D3DX11_FFT_DATA_TYPE;
end record;
type LPD3DX11_FFT_DESC is access all D3DX11_FFT_DESC;
type LPCD3DX11_FFT_DESC is access constant D3DX11_FFT_DESC;
type D3DX11_FFT_BUFFER_INFO is record
NumTempBufferSizes: UINT;
TempBufferFloatSizes: UINT_Array(0..D3DX11_FFT_MAX_TEMP_BUFFERS-1);
NumPrecomputeBufferSizes: UINT;
PrecomputeBufferFloatSizes: UINT_Array(0..D3DX11_FFT_MAX_PRECOMPUTE_BUFFERS-1);
end record;
type LPD3DX11_FFT_BUFFER_INFO is access all D3DX11_FFT_BUFFER_INFO;
type D3DX11_FFT_CREATE_FLAG is (D3DX11_FFT_CREATE_FLAG_NO_PRECOMPUTE_BUFFERS);
for D3DX11_FFT_CREATE_FLAG use (D3DX11_FFT_CREATE_FLAG_NO_PRECOMPUTE_BUFFERS=>16#01#);
type LPD3DX11_FFT_CREATE_FLAG is access D3DX11_FFT_CREATE_FLAG;
function D3DX11CreateFFT(pDeviceContext:LPID3D11DeviceContext;pDesc:LPCD3DX11_FFT_DESC;Flags:UINT;pBufferInfo:LPD3DX11_FFT_BUFFER_INFO;ppFFT:LPLPID3DX11FFT) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DX11CreateFFT";
function D3DX11CreateFFT1DReal(pDeviceContext:LPID3D11DeviceContext;X:UINT;Flags:UINT;pBufferInfo:LPD3DX11_FFT_BUFFER_INFO;ppFFT:LPLPID3DX11FFT) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DX11CreateFFT1DReal";
function D3DX11CreateFFT1DComplex(pDeviceContext:LPID3D11DeviceContext;X:UINT;Flags:UINT;pBufferInfo:LPD3DX11_FFT_BUFFER_INFO;ppFFT:LPLPID3DX11FFT) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DX11CreateFFT1DComplex";
function D3DX11CreateFFT2DReal(pDeviceContext:LPID3D11DeviceContext;X:UINT;Y:UINT;Flags:UINT;pBufferInfo:LPD3DX11_FFT_BUFFER_INFO;ppFFT:LPLPID3DX11FFT) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DX11CreateFFT2DReal";
function D3DX11CreateFFT2DComplex(pDeviceContext:LPID3D11DeviceContext;X:UINT;Y:UINT;Flags:UINT;pBufferInfo:LPD3DX11_FFT_BUFFER_INFO;ppFFT:LPLPID3DX11FFT) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DX11CreateFFT2DComplex";
function D3DX11CreateFFT3DReal(pDeviceContext:LPID3D11DeviceContext;X:UINT;Y:UINT;Z:UINT;Flags:UINT;pBufferInfo:LPD3DX11_FFT_BUFFER_INFO;ppFFT:LPLPID3DX11FFT) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DX11CreateFFT3DReal";
function D3DX11CreateFFT3DComplex(pDeviceContext:LPID3D11DeviceContext;X:UINT;Y:UINT;Z:UINT;Flags:UINT;pBufferInfo:LPD3DX11_FFT_BUFFER_INFO;ppFFT:LPLPID3DX11FFT) return HRESULT with Import,Convention=>stdcall,external_name=>"D3DX11CreateFFT3DComplex";
--
-- THE END.
--
end D3DCSX;