File Annotation

Not logged in
9b639cf2d6 2015-05-05        kinaba: /***********************************************************************\
9b639cf2d6 2015-05-05        kinaba: *                              d3dx10core.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.d3dx10core;
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: private import win32.windows;
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: private import win32.directx.d3d10;
9b639cf2d6 2015-05-05        kinaba: private import win32.directx.d3d10effect;
9b639cf2d6 2015-05-05        kinaba: private import win32.directx.d3dx10math;
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: const D3DX10_DLL_W = "d3dx10_36.dll";
9b639cf2d6 2015-05-05        kinaba: const D3DX10_DLL_A = "d3dx10_36.dll";
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: version(Unicode) {
9b639cf2d6 2015-05-05        kinaba: 	alias D3DX10_DLL_W D3DX10_DLL;
9b639cf2d6 2015-05-05        kinaba: } else {
9b639cf2d6 2015-05-05        kinaba: 	alias D3DX10_DLL_A D3DX10_DLL;
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: const D3DX10_SDK_VERSION = 36;
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: extern(Windows) {
9b639cf2d6 2015-05-05        kinaba: 	HRESULT D3DX10CreateDevice(IDXGIAdapter pAdapter, D3D10_DRIVER_TYPE DriverType,
9b639cf2d6 2015-05-05        kinaba: 		HMODULE Software, UINT Flags, ID3D10Device* ppDevice);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT D3DX10CreateDeviceAndSwapChain(IDXGIAdapter pAdapter, D3D10_DRIVER_TYPE DriverType,
9b639cf2d6 2015-05-05        kinaba: 		HMODULE Software, UINT Flags, DXGI_SWAP_CHAIN_DESC* pSwapChainDesc, IDXGISwapChain* ppSwapChain,
9b639cf2d6 2015-05-05        kinaba: 		ID3D10Device* ppDevice);
9b639cf2d6 2015-05-05        kinaba: //TODO	HRESULT D3DX10GetFeatureLevel1(ID3D10Device pDevice, ID3D10Device1* ppDevice1);
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	debug(D3D10_DEBUG) {
9b639cf2d6 2015-05-05        kinaba: 		BOOL D3DX10DebugMute(BOOL Mute);
9b639cf2d6 2015-05-05        kinaba: 	}
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	HRESULT D3DX10CheckVersion(UINT D3DSdkVersion, UINT D3DX10SdkVersion);
9b639cf2d6 2015-05-05        kinaba: 	UINT D3DX10GetDriverLevel(ID3D10Device pDevice);
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: enum D3DX10_SPRITE_FLAG {
9b639cf2d6 2015-05-05        kinaba: 	D3DX10_SPRITE_SORT_TEXTURE				= 0x01,
9b639cf2d6 2015-05-05        kinaba: 	D3DX10_SPRITE_SORT_DEPTH_BACK_TO_FRONT	= 0x02,
9b639cf2d6 2015-05-05        kinaba: 	D3DX10_SPRITE_SORT_DEPTH_FRONT_TO_BACK	= 0x04,
9b639cf2d6 2015-05-05        kinaba: 	D3DX10_SPRITE_SAVE_STATE				= 0x08,
9b639cf2d6 2015-05-05        kinaba: 	D3DX10_SPRITE_ADDREF_TEXTURES			= 0x10
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: struct D3DX10_SPRITE {
9b639cf2d6 2015-05-05        kinaba: 	D3DXMATRIX					matWorld;
9b639cf2d6 2015-05-05        kinaba: 	D3DXVECTOR2					TexCoord;
9b639cf2d6 2015-05-05        kinaba: 	D3DXVECTOR2					TexSize;
9b639cf2d6 2015-05-05        kinaba: 	D3DXCOLOR					ColorModulate;
9b639cf2d6 2015-05-05        kinaba: 	ID3D10ShaderResourceView	pTexture;
9b639cf2d6 2015-05-05        kinaba: 	UINT						TextureIndex;
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: extern(C) const GUID IID_ID3DX10Sprite = {0xba0b762d, 0x8d28, 0x43ec, [0xb9, 0xdc, 0x2f, 0x84, 0x44, 0x3b, 0x06, 0x14]};
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: interface ID3DX10Sprite : IUnknown {
9b639cf2d6 2015-05-05        kinaba: 	extern(Windows) :
9b639cf2d6 2015-05-05        kinaba: 	HRESULT Begin(UINT flags);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT DrawSpritesBuffered(D3DX10_SPRITE* pSprites, UINT cSprites);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT Flush();
9b639cf2d6 2015-05-05        kinaba: 	HRESULT DrawSpritesImmediate(D3DX10_SPRITE* pSprites, UINT cSprites, UINT cbSprite, UINT flags);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT End();
9b639cf2d6 2015-05-05        kinaba: 	HRESULT GetViewTransform(D3DXMATRIX* pViewTransform);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT SetViewTransform(D3DXMATRIX* pViewTransform);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT GetProjectionTransform(D3DXMATRIX* pProjectionTransform);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT SetProjectionTransform(D3DXMATRIX* pProjectionTransform);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT GetDevice(ID3D10Device* ppDevice);
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: extern(Windows) HRESULT D3DX10CreateSprite(ID3D10Device pDevice, UINT cDeviceBufferSize, ID3DX10Sprite* ppSprite);
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: interface ID3DX10DataLoader {
9b639cf2d6 2015-05-05        kinaba: /* TODO: fix vtbl[0] bug
9b639cf2d6 2015-05-05        kinaba: 	extern(Windows) :
9b639cf2d6 2015-05-05        kinaba: 	HRESULT Load();
9b639cf2d6 2015-05-05        kinaba: 	HRESULT Decompress(void** ppData, SIZE_T* pcBytes);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT Destroy();
9b639cf2d6 2015-05-05        kinaba: 	*/
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: interface ID3DX10DataProcessor {
9b639cf2d6 2015-05-05        kinaba: /* TODO: fix vtbl[0] bug
9b639cf2d6 2015-05-05        kinaba: 	extern(Windows) :
9b639cf2d6 2015-05-05        kinaba: 	HRESULT Process(void* pData, SIZE_T cBytes);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT CreateDeviceObject(void** ppDataObject);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT Destroy();
9b639cf2d6 2015-05-05        kinaba: 	*/
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: extern(C) const GUID IID_ID3DX10ThreadPump = {0xc93fecfa, 0x6967, 0x478a, [0xab, 0xbc, 0x40, 0x2d, 0x90, 0x62, 0x1f, 0xcb]};
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: interface ID3DX10ThreadPump : IUnknown {
9b639cf2d6 2015-05-05        kinaba: 	extern(Windows) :
9b639cf2d6 2015-05-05        kinaba: 	HRESULT AddWorkItem(ID3DX10DataLoader pDataLoader, ID3DX10DataProcessor pDataProcessor, HRESULT *pHResult, void **ppDeviceObject);
9b639cf2d6 2015-05-05        kinaba: 	UINT GetWorkItemCount();
9b639cf2d6 2015-05-05        kinaba: 	HRESULT WaitForAllItems();
9b639cf2d6 2015-05-05        kinaba: 	HRESULT ProcessDeviceWorkItems(UINT iWorkItemCount);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT PurgeAllItems();
9b639cf2d6 2015-05-05        kinaba: 	HRESULT GetQueueStatus(UINT* pIoQueue, UINT* pProcessQueue, UINT* pDeviceQueue);
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: extern(Windows) HRESULT D3DX10CreateThreadPump(UINT cIoThreads, UINT cProcThreads,
9b639cf2d6 2015-05-05        kinaba: 	ID3DX10ThreadPump *ppThreadPump);
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: struct D3DX10_FONT_DESCA {
9b639cf2d6 2015-05-05        kinaba: 	INT Height;
9b639cf2d6 2015-05-05        kinaba: 	UINT Width;
9b639cf2d6 2015-05-05        kinaba: 	UINT Weight;
9b639cf2d6 2015-05-05        kinaba: 	UINT MipLevels;
9b639cf2d6 2015-05-05        kinaba: 	BOOL Italic;
9b639cf2d6 2015-05-05        kinaba: 	BYTE CharSet;
9b639cf2d6 2015-05-05        kinaba: 	BYTE OutputPrecision;
9b639cf2d6 2015-05-05        kinaba: 	BYTE Quality;
9b639cf2d6 2015-05-05        kinaba: 	BYTE PitchAndFamily;
9b639cf2d6 2015-05-05        kinaba: 	CHAR[LF_FACESIZE] FaceName;
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: struct D3DX10_FONT_DESCW {
9b639cf2d6 2015-05-05        kinaba: 	INT Height;
9b639cf2d6 2015-05-05        kinaba: 	UINT Width;
9b639cf2d6 2015-05-05        kinaba: 	UINT Weight;
9b639cf2d6 2015-05-05        kinaba: 	UINT MipLevels;
9b639cf2d6 2015-05-05        kinaba: 	BOOL Italic;
9b639cf2d6 2015-05-05        kinaba: 	BYTE CharSet;
9b639cf2d6 2015-05-05        kinaba: 	BYTE OutputPrecision;
9b639cf2d6 2015-05-05        kinaba: 	BYTE Quality;
9b639cf2d6 2015-05-05        kinaba: 	BYTE PitchAndFamily;
9b639cf2d6 2015-05-05        kinaba: 	WCHAR[LF_FACESIZE] FaceName;
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: version(Unicode) {
9b639cf2d6 2015-05-05        kinaba: 	alias D3DX10_FONT_DESCW D3DX10_FONT_DESC;
9b639cf2d6 2015-05-05        kinaba: } else {
9b639cf2d6 2015-05-05        kinaba: 	alias D3DX10_FONT_DESCA D3DX10_FONT_DESC;
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: extern(C) const GUID IID_ID3DX10Font = {0xd79dbb70, 0x5f21, 0x4d36, [0xbb, 0xc2, 0xff, 0x52, 0x5c, 0x21, 0x3c, 0xdc]};
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: interface ID3DX10Font : IUnknown {
9b639cf2d6 2015-05-05        kinaba: 	extern(Windows) :
9b639cf2d6 2015-05-05        kinaba: 	HRESULT GetDevice(ID3D10Device* ppDevice);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT GetDescA(D3DX10_FONT_DESCA* pDesc);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT GetDescW(D3DX10_FONT_DESCW* pDesc);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetTextMetricsA(TEXTMETRICA* pTextMetrics);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetTextMetricsW(TEXTMETRICW* pTextMetrics);
9b639cf2d6 2015-05-05        kinaba: 	HDC GetDC();
9b639cf2d6 2015-05-05        kinaba: 	HRESULT GetGlyphData(UINT Glyph, ID3D10ShaderResourceView* ppTexture, RECT* pBlackBox, POINT* pCellInc);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT PreloadCharacters(UINT First, UINT Last);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT PreloadGlyphs(UINT First, UINT Last);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT PreloadTextA(LPCSTR pString, INT Count);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT PreloadTextW(LPCWSTR pString, INT Count);
9b639cf2d6 2015-05-05        kinaba: 	INT DrawTextA(ID3DX10Sprite pSprite, LPCSTR pString, INT Count, LPRECT pRect, UINT Format, D3DXCOLOR Color);
9b639cf2d6 2015-05-05        kinaba: 	INT DrawTextW(ID3DX10Sprite pSprite, LPCWSTR pString, INT Count, LPRECT pRect, UINT Format, D3DXCOLOR Color);
9b639cf2d6 2015-05-05        kinaba: 	version(Unicode) {
9b639cf2d6 2015-05-05        kinaba: 		alias GetTextMetricsW GetTextMetrics;
9b639cf2d6 2015-05-05        kinaba: 		alias DrawTextW DrawText;
9b639cf2d6 2015-05-05        kinaba: 	} else {
9b639cf2d6 2015-05-05        kinaba: 		alias GetTextMetricsA GetTextMetrics;
9b639cf2d6 2015-05-05        kinaba: 		alias DrawTextA DrawText;
9b639cf2d6 2015-05-05        kinaba: 	}
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: extern(Windows) {
9b639cf2d6 2015-05-05        kinaba: 	HRESULT D3DX10CreateFontA(ID3D10Device pDevice, INT Height, UINT Width, UINT Weight,
9b639cf2d6 2015-05-05        kinaba: 		UINT MipLevels, BOOL Italic, UINT CharSet, UINT OutputPrecision, UINT Quality,
9b639cf2d6 2015-05-05        kinaba: 		UINT PitchAndFamily, LPCSTR pFaceName, ID3DX10Font* ppFont);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT D3DX10CreateFontW(ID3D10Device pDevice, INT Height, UINT Width, UINT Weight,
9b639cf2d6 2015-05-05        kinaba: 		UINT MipLevels, BOOL Italic, UINT CharSet, UINT OutputPrecision, UINT Quality,
9b639cf2d6 2015-05-05        kinaba: 		UINT PitchAndFamily, LPCWSTR pFaceName, ID3DX10Font* ppFont);
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: version(Unicode) {
9b639cf2d6 2015-05-05        kinaba: 	alias D3DX10CreateFontW D3DX10CreateFont;
9b639cf2d6 2015-05-05        kinaba: } else {
9b639cf2d6 2015-05-05        kinaba: 	alias D3DX10CreateFontA D3DX10CreateFont;
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: extern(Windows) {
9b639cf2d6 2015-05-05        kinaba: 	HRESULT D3DX10CreateFontIndirectA(ID3D10Device pDevice, D3DX10_FONT_DESCA* pDesc, ID3DX10Font* ppFont);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT D3DX10CreateFontIndirectW(ID3D10Device pDevice, D3DX10_FONT_DESCW* pDesc, ID3DX10Font* ppFont);
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: version(Unicode) {
9b639cf2d6 2015-05-05        kinaba: 	alias D3DX10CreateFontIndirectW D3DX10CreateFontIndirect;
9b639cf2d6 2015-05-05        kinaba: } else {
9b639cf2d6 2015-05-05        kinaba: 	alias D3DX10CreateFontIndirectA D3DX10CreateFontIndirect;
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: extern(Windows) {
9b639cf2d6 2015-05-05        kinaba: 	HRESULT D3DX10UnsetAllDeviceObjects(ID3D10Device pDevice);
9b639cf2d6 2015-05-05        kinaba: //TODO 	HRESULT D3DX10ReflectShader(void *pShaderBytecode, SIZE_T BytecodeLength, ID3D10ShaderReflection1 *ppReflector);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT D3DX10DisassembleShader(void *pShader, SIZE_T BytecodeLength, BOOL EnableColorCode,
9b639cf2d6 2015-05-05        kinaba: 		LPCSTR pComments, ID3D10Blob* ppDisassembly);
9b639cf2d6 2015-05-05        kinaba: 	HRESULT D3DX10DisassembleEffect(ID3D10Effect pEffect, BOOL EnableColorCode, ID3D10Blob* ppDisassembly);
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: const _FACD3D = 0x876;
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: HRESULT MAKE_D3DHRESULT(T)(T code) {
9b639cf2d6 2015-05-05        kinaba: 	return MAKE_HRESULT(1, _FACD3D, code);
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: HRESULT MAKE_D3DSTATUS(T)(T code) {
9b639cf2d6 2015-05-05        kinaba: 	return MAKE_HRESULT(0, _FACD3D, code);
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: const D3DERR_INVALIDCALL = MAKE_D3DHRESULT(2156);
9b639cf2d6 2015-05-05        kinaba: const D3DERR_WASSTILLDRAWING = MAKE_D3DHRESULT(540);