Artifact 63d7357057086331bd1cc60311803d5c048fcaec:
- File
src/win32/directx/d3dx10core.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a /*************** 0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0d 0a 2a 20 20 20 20 ********\..* 0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0060: 20 20 20 20 20 20 20 20 20 20 64 33 64 78 31 30 d3dx10 0070: 63 6f 72 65 2e 64 20 20 20 20 20 20 20 20 20 20 core.d 0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20 *..* 00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d *. 00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .* 00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73 Windows 0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75 API header modu 0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le 0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20 *..* 0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 *..* 0180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 P 0190: 6c 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c 69 laced into publi 01a0: 63 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 20 c domain 01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a * 01c0: 0d 0a 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ..\************* 01d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 01e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 01f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0200: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f 0d 0a 6d 6f 64 **********/..mod 0210: 75 6c 65 20 77 69 6e 33 32 2e 64 69 72 65 63 74 ule win32.direct 0220: 78 2e 64 33 64 78 31 30 63 6f 72 65 3b 0d 0a 0d x.d3dx10core;... 0230: 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20 .private import 0240: 77 69 6e 33 32 2e 77 69 6e 64 6f 77 73 3b 0d 0a win32.windows;.. 0250: 0d 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74 ..private import 0260: 20 77 69 6e 33 32 2e 64 69 72 65 63 74 78 2e 64 win32.directx.d 0270: 33 64 31 30 3b 0d 0a 70 72 69 76 61 74 65 20 69 3d10;..private i 0280: 6d 70 6f 72 74 20 77 69 6e 33 32 2e 64 69 72 65 mport win32.dire 0290: 63 74 78 2e 64 33 64 31 30 65 66 66 65 63 74 3b ctx.d3d10effect; 02a0: 0d 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74 ..private import 02b0: 20 77 69 6e 33 32 2e 64 69 72 65 63 74 78 2e 64 win32.directx.d 02c0: 33 64 78 31 30 6d 61 74 68 3b 0d 0a 0d 0a 63 6f 3dx10math;....co 02d0: 6e 73 74 20 44 33 44 58 31 30 5f 44 4c 4c 5f 57 nst D3DX10_DLL_W 02e0: 20 3d 20 22 64 33 64 78 31 30 5f 33 36 2e 64 6c = "d3dx10_36.dl 02f0: 6c 22 3b 0d 0a 63 6f 6e 73 74 20 44 33 44 58 31 l";..const D3DX1 0300: 30 5f 44 4c 4c 5f 41 20 3d 20 22 64 33 64 78 31 0_DLL_A = "d3dx1 0310: 30 5f 33 36 2e 64 6c 6c 22 3b 0d 0a 0d 0a 76 65 0_36.dll";....ve 0320: 72 73 69 6f 6e 28 55 6e 69 63 6f 64 65 29 20 7b rsion(Unicode) { 0330: 0d 0a 09 61 6c 69 61 73 20 44 33 44 58 31 30 5f ...alias D3DX10_ 0340: 44 4c 4c 5f 57 20 44 33 44 58 31 30 5f 44 4c 4c DLL_W D3DX10_DLL 0350: 3b 0d 0a 7d 20 65 6c 73 65 20 7b 0d 0a 09 61 6c ;..} else {...al 0360: 69 61 73 20 44 33 44 58 31 30 5f 44 4c 4c 5f 41 ias D3DX10_DLL_A 0370: 20 44 33 44 58 31 30 5f 44 4c 4c 3b 0d 0a 7d 0d D3DX10_DLL;..}. 0380: 0a 0d 0a 63 6f 6e 73 74 20 44 33 44 58 31 30 5f ...const D3DX10_ 0390: 53 44 4b 5f 56 45 52 53 49 4f 4e 20 3d 20 33 36 SDK_VERSION = 36 03a0: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 ;....extern(Wind 03b0: 6f 77 73 29 20 7b 0d 0a 09 48 52 45 53 55 4c 54 ows) {...HRESULT 03c0: 20 44 33 44 58 31 30 43 72 65 61 74 65 44 65 76 D3DX10CreateDev 03d0: 69 63 65 28 49 44 58 47 49 41 64 61 70 74 65 72 ice(IDXGIAdapter 03e0: 20 70 41 64 61 70 74 65 72 2c 20 44 33 44 31 30 pAdapter, D3D10 03f0: 5f 44 52 49 56 45 52 5f 54 59 50 45 20 44 72 69 _DRIVER_TYPE Dri 0400: 76 65 72 54 79 70 65 2c 0d 0a 09 09 48 4d 4f 44 verType,....HMOD 0410: 55 4c 45 20 53 6f 66 74 77 61 72 65 2c 20 55 49 ULE Software, UI 0420: 4e 54 20 46 6c 61 67 73 2c 20 49 44 33 44 31 30 NT Flags, ID3D10 0430: 44 65 76 69 63 65 2a 20 70 70 44 65 76 69 63 65 Device* ppDevice 0440: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 44 33 44 );...HRESULT D3D 0450: 58 31 30 43 72 65 61 74 65 44 65 76 69 63 65 41 X10CreateDeviceA 0460: 6e 64 53 77 61 70 43 68 61 69 6e 28 49 44 58 47 ndSwapChain(IDXG 0470: 49 41 64 61 70 74 65 72 20 70 41 64 61 70 74 65 IAdapter pAdapte 0480: 72 2c 20 44 33 44 31 30 5f 44 52 49 56 45 52 5f r, D3D10_DRIVER_ 0490: 54 59 50 45 20 44 72 69 76 65 72 54 79 70 65 2c TYPE DriverType, 04a0: 0d 0a 09 09 48 4d 4f 44 55 4c 45 20 53 6f 66 74 ....HMODULE Soft 04b0: 77 61 72 65 2c 20 55 49 4e 54 20 46 6c 61 67 73 ware, UINT Flags 04c0: 2c 20 44 58 47 49 5f 53 57 41 50 5f 43 48 41 49 , DXGI_SWAP_CHAI 04d0: 4e 5f 44 45 53 43 2a 20 70 53 77 61 70 43 68 61 N_DESC* pSwapCha 04e0: 69 6e 44 65 73 63 2c 20 49 44 58 47 49 53 77 61 inDesc, IDXGISwa 04f0: 70 43 68 61 69 6e 2a 20 70 70 53 77 61 70 43 68 pChain* ppSwapCh 0500: 61 69 6e 2c 20 20 20 20 0d 0a 09 09 49 44 33 44 ain, ....ID3D 0510: 31 30 44 65 76 69 63 65 2a 20 70 70 44 65 76 69 10Device* ppDevi 0520: 63 65 29 3b 0d 0a 2f 2f 54 4f 44 4f 09 48 52 45 ce);..//TODO.HRE 0530: 53 55 4c 54 20 44 33 44 58 31 30 47 65 74 46 65 SULT D3DX10GetFe 0540: 61 74 75 72 65 4c 65 76 65 6c 31 28 49 44 33 44 atureLevel1(ID3D 0550: 31 30 44 65 76 69 63 65 20 70 44 65 76 69 63 65 10Device pDevice 0560: 2c 20 49 44 33 44 31 30 44 65 76 69 63 65 31 2a , ID3D10Device1* 0570: 20 70 70 44 65 76 69 63 65 31 29 3b 0d 0a 0d 0a ppDevice1);.... 0580: 09 64 65 62 75 67 28 44 33 44 31 30 5f 44 45 42 .debug(D3D10_DEB 0590: 55 47 29 20 7b 0d 0a 09 09 42 4f 4f 4c 20 44 33 UG) {....BOOL D3 05a0: 44 58 31 30 44 65 62 75 67 4d 75 74 65 28 42 4f DX10DebugMute(BO 05b0: 4f 4c 20 4d 75 74 65 29 3b 0d 0a 09 7d 0d 0a 0d OL Mute);...}... 05c0: 0a 09 48 52 45 53 55 4c 54 20 44 33 44 58 31 30 ..HRESULT D3DX10 05d0: 43 68 65 63 6b 56 65 72 73 69 6f 6e 28 55 49 4e CheckVersion(UIN 05e0: 54 20 44 33 44 53 64 6b 56 65 72 73 69 6f 6e 2c T D3DSdkVersion, 05f0: 20 55 49 4e 54 20 44 33 44 58 31 30 53 64 6b 56 UINT D3DX10SdkV 0600: 65 72 73 69 6f 6e 29 3b 0d 0a 09 55 49 4e 54 20 ersion);...UINT 0610: 44 33 44 58 31 30 47 65 74 44 72 69 76 65 72 4c D3DX10GetDriverL 0620: 65 76 65 6c 28 49 44 33 44 31 30 44 65 76 69 63 evel(ID3D10Devic 0630: 65 20 70 44 65 76 69 63 65 29 3b 0d 0a 7d 0d 0a e pDevice);..}.. 0640: 0d 0a 65 6e 75 6d 20 44 33 44 58 31 30 5f 53 50 ..enum D3DX10_SP 0650: 52 49 54 45 5f 46 4c 41 47 20 7b 0d 0a 09 44 33 RITE_FLAG {...D3 0660: 44 58 31 30 5f 53 50 52 49 54 45 5f 53 4f 52 54 DX10_SPRITE_SORT 0670: 5f 54 45 58 54 55 52 45 09 09 09 09 3d 20 30 78 _TEXTURE....= 0x 0680: 30 31 2c 0d 0a 09 44 33 44 58 31 30 5f 53 50 52 01,...D3DX10_SPR 0690: 49 54 45 5f 53 4f 52 54 5f 44 45 50 54 48 5f 42 ITE_SORT_DEPTH_B 06a0: 41 43 4b 5f 54 4f 5f 46 52 4f 4e 54 09 3d 20 30 ACK_TO_FRONT.= 0 06b0: 78 30 32 2c 0d 0a 09 44 33 44 58 31 30 5f 53 50 x02,...D3DX10_SP 06c0: 52 49 54 45 5f 53 4f 52 54 5f 44 45 50 54 48 5f RITE_SORT_DEPTH_ 06d0: 46 52 4f 4e 54 5f 54 4f 5f 42 41 43 4b 09 3d 20 FRONT_TO_BACK.= 06e0: 30 78 30 34 2c 0d 0a 09 44 33 44 58 31 30 5f 53 0x04,...D3DX10_S 06f0: 50 52 49 54 45 5f 53 41 56 45 5f 53 54 41 54 45 PRITE_SAVE_STATE 0700: 09 09 09 09 3d 20 30 78 30 38 2c 0d 0a 09 44 33 ....= 0x08,...D3 0710: 44 58 31 30 5f 53 50 52 49 54 45 5f 41 44 44 52 DX10_SPRITE_ADDR 0720: 45 46 5f 54 45 58 54 55 52 45 53 09 09 09 3d 20 EF_TEXTURES...= 0730: 30 78 31 30 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 0x10..}....struc 0740: 74 20 44 33 44 58 31 30 5f 53 50 52 49 54 45 20 t D3DX10_SPRITE 0750: 7b 0d 0a 09 44 33 44 58 4d 41 54 52 49 58 09 09 {...D3DXMATRIX.. 0760: 09 09 09 6d 61 74 57 6f 72 6c 64 3b 0d 0a 09 44 ...matWorld;...D 0770: 33 44 58 56 45 43 54 4f 52 32 09 09 09 09 09 54 3DXVECTOR2.....T 0780: 65 78 43 6f 6f 72 64 3b 0d 0a 09 44 33 44 58 56 exCoord;...D3DXV 0790: 45 43 54 4f 52 32 09 09 09 09 09 54 65 78 53 69 ECTOR2.....TexSi 07a0: 7a 65 3b 0d 0a 09 44 33 44 58 43 4f 4c 4f 52 09 ze;...D3DXCOLOR. 07b0: 09 09 09 09 43 6f 6c 6f 72 4d 6f 64 75 6c 61 74 ....ColorModulat 07c0: 65 3b 0d 0a 09 49 44 33 44 31 30 53 68 61 64 65 e;...ID3D10Shade 07d0: 72 52 65 73 6f 75 72 63 65 56 69 65 77 09 70 54 rResourceView.pT 07e0: 65 78 74 75 72 65 3b 0d 0a 09 55 49 4e 54 09 09 exture;...UINT.. 07f0: 09 09 09 09 54 65 78 74 75 72 65 49 6e 64 65 78 ....TextureIndex 0800: 3b 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 43 ;..}....extern(C 0810: 29 20 63 6f 6e 73 74 20 47 55 49 44 20 49 49 44 ) const GUID IID 0820: 5f 49 44 33 44 58 31 30 53 70 72 69 74 65 20 3d _ID3DX10Sprite = 0830: 20 7b 30 78 62 61 30 62 37 36 32 64 2c 20 30 78 {0xba0b762d, 0x 0840: 38 64 32 38 2c 20 30 78 34 33 65 63 2c 20 5b 30 8d28, 0x43ec, [0 0850: 78 62 39 2c 20 30 78 64 63 2c 20 30 78 32 66 2c xb9, 0xdc, 0x2f, 0860: 20 30 78 38 34 2c 20 30 78 34 34 2c 20 30 78 33 0x84, 0x44, 0x3 0870: 62 2c 20 30 78 30 36 2c 20 30 78 31 34 5d 7d 3b b, 0x06, 0x14]}; 0880: 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 49 44 ....interface ID 0890: 33 44 58 31 30 53 70 72 69 74 65 20 3a 20 49 55 3DX10Sprite : IU 08a0: 6e 6b 6e 6f 77 6e 20 7b 0d 0a 09 65 78 74 65 72 nknown {...exter 08b0: 6e 28 57 69 6e 64 6f 77 73 29 20 3a 0d 0a 09 48 n(Windows) :...H 08c0: 52 45 53 55 4c 54 20 42 65 67 69 6e 28 55 49 4e RESULT Begin(UIN 08d0: 54 20 66 6c 61 67 73 29 3b 0d 0a 09 48 52 45 53 T flags);...HRES 08e0: 55 4c 54 20 44 72 61 77 53 70 72 69 74 65 73 42 ULT DrawSpritesB 08f0: 75 66 66 65 72 65 64 28 44 33 44 58 31 30 5f 53 uffered(D3DX10_S 0900: 50 52 49 54 45 2a 20 70 53 70 72 69 74 65 73 2c PRITE* pSprites, 0910: 20 55 49 4e 54 20 63 53 70 72 69 74 65 73 29 3b UINT cSprites); 0920: 0d 0a 09 48 52 45 53 55 4c 54 20 46 6c 75 73 68 ...HRESULT Flush 0930: 28 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 44 72 ();...HRESULT Dr 0940: 61 77 53 70 72 69 74 65 73 49 6d 6d 65 64 69 61 awSpritesImmedia 0950: 74 65 28 44 33 44 58 31 30 5f 53 50 52 49 54 45 te(D3DX10_SPRITE 0960: 2a 20 70 53 70 72 69 74 65 73 2c 20 55 49 4e 54 * pSprites, UINT 0970: 20 63 53 70 72 69 74 65 73 2c 20 55 49 4e 54 20 cSprites, UINT 0980: 63 62 53 70 72 69 74 65 2c 20 55 49 4e 54 20 66 cbSprite, UINT f 0990: 6c 61 67 73 29 3b 0d 0a 09 48 52 45 53 55 4c 54 lags);...HRESULT 09a0: 20 45 6e 64 28 29 3b 0d 0a 09 48 52 45 53 55 4c End();...HRESUL 09b0: 54 20 47 65 74 56 69 65 77 54 72 61 6e 73 66 6f T GetViewTransfo 09c0: 72 6d 28 44 33 44 58 4d 41 54 52 49 58 2a 20 70 rm(D3DXMATRIX* p 09d0: 56 69 65 77 54 72 61 6e 73 66 6f 72 6d 29 3b 0d ViewTransform);. 09e0: 0a 09 48 52 45 53 55 4c 54 20 53 65 74 56 69 65 ..HRESULT SetVie 09f0: 77 54 72 61 6e 73 66 6f 72 6d 28 44 33 44 58 4d wTransform(D3DXM 0a00: 41 54 52 49 58 2a 20 70 56 69 65 77 54 72 61 6e ATRIX* pViewTran 0a10: 73 66 6f 72 6d 29 3b 0d 0a 09 48 52 45 53 55 4c sform);...HRESUL 0a20: 54 20 47 65 74 50 72 6f 6a 65 63 74 69 6f 6e 54 T GetProjectionT 0a30: 72 61 6e 73 66 6f 72 6d 28 44 33 44 58 4d 41 54 ransform(D3DXMAT 0a40: 52 49 58 2a 20 70 50 72 6f 6a 65 63 74 69 6f 6e RIX* pProjection 0a50: 54 72 61 6e 73 66 6f 72 6d 29 3b 0d 0a 09 48 52 Transform);...HR 0a60: 45 53 55 4c 54 20 53 65 74 50 72 6f 6a 65 63 74 ESULT SetProject 0a70: 69 6f 6e 54 72 61 6e 73 66 6f 72 6d 28 44 33 44 ionTransform(D3D 0a80: 58 4d 41 54 52 49 58 2a 20 70 50 72 6f 6a 65 63 XMATRIX* pProjec 0a90: 74 69 6f 6e 54 72 61 6e 73 66 6f 72 6d 29 3b 0d tionTransform);. 0aa0: 0a 09 48 52 45 53 55 4c 54 20 47 65 74 44 65 76 ..HRESULT GetDev 0ab0: 69 63 65 28 49 44 33 44 31 30 44 65 76 69 63 65 ice(ID3D10Device 0ac0: 2a 20 70 70 44 65 76 69 63 65 29 3b 0d 0a 7d 0d * ppDevice);..}. 0ad0: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 ...extern(Window 0ae0: 73 29 20 48 52 45 53 55 4c 54 20 44 33 44 58 31 s) HRESULT D3DX1 0af0: 30 43 72 65 61 74 65 53 70 72 69 74 65 28 49 44 0CreateSprite(ID 0b00: 33 44 31 30 44 65 76 69 63 65 20 70 44 65 76 69 3D10Device pDevi 0b10: 63 65 2c 20 55 49 4e 54 20 63 44 65 76 69 63 65 ce, UINT cDevice 0b20: 42 75 66 66 65 72 53 69 7a 65 2c 20 49 44 33 44 BufferSize, ID3D 0b30: 58 31 30 53 70 72 69 74 65 2a 20 70 70 53 70 72 X10Sprite* ppSpr 0b40: 69 74 65 29 3b 0d 0a 0d 0a 69 6e 74 65 72 66 61 ite);....interfa 0b50: 63 65 20 49 44 33 44 58 31 30 44 61 74 61 4c 6f ce ID3DX10DataLo 0b60: 61 64 65 72 20 7b 0d 0a 2f 2a 20 54 4f 44 4f 3a ader {../* TODO: 0b70: 20 66 69 78 20 76 74 62 6c 5b 30 5d 20 62 75 67 fix vtbl[0] bug 0b80: 0d 0a 09 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 ...extern(Window 0b90: 73 29 20 3a 0d 0a 09 48 52 45 53 55 4c 54 20 4c s) :...HRESULT L 0ba0: 6f 61 64 28 29 3b 0d 0a 09 48 52 45 53 55 4c 54 oad();...HRESULT 0bb0: 20 44 65 63 6f 6d 70 72 65 73 73 28 76 6f 69 64 Decompress(void 0bc0: 2a 2a 20 70 70 44 61 74 61 2c 20 53 49 5a 45 5f ** ppData, SIZE_ 0bd0: 54 2a 20 70 63 42 79 74 65 73 29 3b 0d 0a 09 48 T* pcBytes);...H 0be0: 52 45 53 55 4c 54 20 44 65 73 74 72 6f 79 28 29 RESULT Destroy() 0bf0: 3b 0d 0a 09 2a 2f 0d 0a 7d 0d 0a 0d 0a 69 6e 74 ;...*/..}....int 0c00: 65 72 66 61 63 65 20 49 44 33 44 58 31 30 44 61 erface ID3DX10Da 0c10: 74 61 50 72 6f 63 65 73 73 6f 72 20 7b 0d 0a 2f taProcessor {../ 0c20: 2a 20 54 4f 44 4f 3a 20 66 69 78 20 76 74 62 6c * TODO: fix vtbl 0c30: 5b 30 5d 20 62 75 67 0d 0a 09 65 78 74 65 72 6e [0] bug...extern 0c40: 28 57 69 6e 64 6f 77 73 29 20 3a 0d 0a 09 48 52 (Windows) :...HR 0c50: 45 53 55 4c 54 20 50 72 6f 63 65 73 73 28 76 6f ESULT Process(vo 0c60: 69 64 2a 20 70 44 61 74 61 2c 20 53 49 5a 45 5f id* pData, SIZE_ 0c70: 54 20 63 42 79 74 65 73 29 3b 0d 0a 09 48 52 45 T cBytes);...HRE 0c80: 53 55 4c 54 20 43 72 65 61 74 65 44 65 76 69 63 SULT CreateDevic 0c90: 65 4f 62 6a 65 63 74 28 76 6f 69 64 2a 2a 20 70 eObject(void** p 0ca0: 70 44 61 74 61 4f 62 6a 65 63 74 29 3b 0d 0a 09 pDataObject);... 0cb0: 48 52 45 53 55 4c 54 20 44 65 73 74 72 6f 79 28 HRESULT Destroy( 0cc0: 29 3b 0d 0a 09 2a 2f 0d 0a 7d 0d 0a 0d 0a 65 78 );...*/..}....ex 0cd0: 74 65 72 6e 28 43 29 20 63 6f 6e 73 74 20 47 55 tern(C) const GU 0ce0: 49 44 20 49 49 44 5f 49 44 33 44 58 31 30 54 68 ID IID_ID3DX10Th 0cf0: 72 65 61 64 50 75 6d 70 20 3d 20 7b 30 78 63 39 readPump = {0xc9 0d00: 33 66 65 63 66 61 2c 20 30 78 36 39 36 37 2c 20 3fecfa, 0x6967, 0d10: 30 78 34 37 38 61 2c 20 5b 30 78 61 62 2c 20 30 0x478a, [0xab, 0 0d20: 78 62 63 2c 20 30 78 34 30 2c 20 30 78 32 64 2c xbc, 0x40, 0x2d, 0d30: 20 30 78 39 30 2c 20 30 78 36 32 2c 20 30 78 31 0x90, 0x62, 0x1 0d40: 66 2c 20 30 78 63 62 5d 7d 3b 0d 0a 0d 0a 69 6e f, 0xcb]};....in 0d50: 74 65 72 66 61 63 65 20 49 44 33 44 58 31 30 54 terface ID3DX10T 0d60: 68 72 65 61 64 50 75 6d 70 20 3a 20 49 55 6e 6b hreadPump : IUnk 0d70: 6e 6f 77 6e 20 7b 0d 0a 09 65 78 74 65 72 6e 28 nown {...extern( 0d80: 57 69 6e 64 6f 77 73 29 20 3a 0d 0a 09 48 52 45 Windows) :...HRE 0d90: 53 55 4c 54 20 41 64 64 57 6f 72 6b 49 74 65 6d SULT AddWorkItem 0da0: 28 49 44 33 44 58 31 30 44 61 74 61 4c 6f 61 64 (ID3DX10DataLoad 0db0: 65 72 20 70 44 61 74 61 4c 6f 61 64 65 72 2c 20 er pDataLoader, 0dc0: 49 44 33 44 58 31 30 44 61 74 61 50 72 6f 63 65 ID3DX10DataProce 0dd0: 73 73 6f 72 20 70 44 61 74 61 50 72 6f 63 65 73 ssor pDataProces 0de0: 73 6f 72 2c 20 48 52 45 53 55 4c 54 20 2a 70 48 sor, HRESULT *pH 0df0: 52 65 73 75 6c 74 2c 20 76 6f 69 64 20 2a 2a 70 Result, void **p 0e00: 70 44 65 76 69 63 65 4f 62 6a 65 63 74 29 3b 0d pDeviceObject);. 0e10: 0a 09 55 49 4e 54 20 47 65 74 57 6f 72 6b 49 74 ..UINT GetWorkIt 0e20: 65 6d 43 6f 75 6e 74 28 29 3b 0d 0a 09 48 52 45 emCount();...HRE 0e30: 53 55 4c 54 20 57 61 69 74 46 6f 72 41 6c 6c 49 SULT WaitForAllI 0e40: 74 65 6d 73 28 29 3b 0d 0a 09 48 52 45 53 55 4c tems();...HRESUL 0e50: 54 20 50 72 6f 63 65 73 73 44 65 76 69 63 65 57 T ProcessDeviceW 0e60: 6f 72 6b 49 74 65 6d 73 28 55 49 4e 54 20 69 57 orkItems(UINT iW 0e70: 6f 72 6b 49 74 65 6d 43 6f 75 6e 74 29 3b 0d 0a orkItemCount);.. 0e80: 09 48 52 45 53 55 4c 54 20 50 75 72 67 65 41 6c .HRESULT PurgeAl 0e90: 6c 49 74 65 6d 73 28 29 3b 0d 0a 09 48 52 45 53 lItems();...HRES 0ea0: 55 4c 54 20 47 65 74 51 75 65 75 65 53 74 61 74 ULT GetQueueStat 0eb0: 75 73 28 55 49 4e 54 2a 20 70 49 6f 51 75 65 75 us(UINT* pIoQueu 0ec0: 65 2c 20 55 49 4e 54 2a 20 70 50 72 6f 63 65 73 e, UINT* pProces 0ed0: 73 51 75 65 75 65 2c 20 55 49 4e 54 2a 20 70 44 sQueue, UINT* pD 0ee0: 65 76 69 63 65 51 75 65 75 65 29 3b 0d 0a 7d 0d eviceQueue);..}. 0ef0: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 ...extern(Window 0f00: 73 29 20 48 52 45 53 55 4c 54 20 44 33 44 58 31 s) HRESULT D3DX1 0f10: 30 43 72 65 61 74 65 54 68 72 65 61 64 50 75 6d 0CreateThreadPum 0f20: 70 28 55 49 4e 54 20 63 49 6f 54 68 72 65 61 64 p(UINT cIoThread 0f30: 73 2c 20 55 49 4e 54 20 63 50 72 6f 63 54 68 72 s, UINT cProcThr 0f40: 65 61 64 73 2c 0d 0a 09 49 44 33 44 58 31 30 54 eads,...ID3DX10T 0f50: 68 72 65 61 64 50 75 6d 70 20 2a 70 70 54 68 72 hreadPump *ppThr 0f60: 65 61 64 50 75 6d 70 29 3b 0d 0a 0d 0a 73 74 72 eadPump);....str 0f70: 75 63 74 20 44 33 44 58 31 30 5f 46 4f 4e 54 5f uct D3DX10_FONT_ 0f80: 44 45 53 43 41 20 7b 0d 0a 09 49 4e 54 20 48 65 DESCA {...INT He 0f90: 69 67 68 74 3b 0d 0a 09 55 49 4e 54 20 57 69 64 ight;...UINT Wid 0fa0: 74 68 3b 0d 0a 09 55 49 4e 54 20 57 65 69 67 68 th;...UINT Weigh 0fb0: 74 3b 0d 0a 09 55 49 4e 54 20 4d 69 70 4c 65 76 t;...UINT MipLev 0fc0: 65 6c 73 3b 0d 0a 09 42 4f 4f 4c 20 49 74 61 6c els;...BOOL Ital 0fd0: 69 63 3b 0d 0a 09 42 59 54 45 20 43 68 61 72 53 ic;...BYTE CharS 0fe0: 65 74 3b 0d 0a 09 42 59 54 45 20 4f 75 74 70 75 et;...BYTE Outpu 0ff0: 74 50 72 65 63 69 73 69 6f 6e 3b 0d 0a 09 42 59 tPrecision;...BY 1000: 54 45 20 51 75 61 6c 69 74 79 3b 0d 0a 09 42 59 TE Quality;...BY 1010: 54 45 20 50 69 74 63 68 41 6e 64 46 61 6d 69 6c TE PitchAndFamil 1020: 79 3b 0d 0a 09 43 48 41 52 5b 4c 46 5f 46 41 43 y;...CHAR[LF_FAC 1030: 45 53 49 5a 45 5d 20 46 61 63 65 4e 61 6d 65 3b ESIZE] FaceName; 1040: 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 44 33 ..}....struct D3 1050: 44 58 31 30 5f 46 4f 4e 54 5f 44 45 53 43 57 20 DX10_FONT_DESCW 1060: 7b 0d 0a 09 49 4e 54 20 48 65 69 67 68 74 3b 0d {...INT Height;. 1070: 0a 09 55 49 4e 54 20 57 69 64 74 68 3b 0d 0a 09 ..UINT Width;... 1080: 55 49 4e 54 20 57 65 69 67 68 74 3b 0d 0a 09 55 UINT Weight;...U 1090: 49 4e 54 20 4d 69 70 4c 65 76 65 6c 73 3b 0d 0a INT MipLevels;.. 10a0: 09 42 4f 4f 4c 20 49 74 61 6c 69 63 3b 0d 0a 09 .BOOL Italic;... 10b0: 42 59 54 45 20 43 68 61 72 53 65 74 3b 0d 0a 09 BYTE CharSet;... 10c0: 42 59 54 45 20 4f 75 74 70 75 74 50 72 65 63 69 BYTE OutputPreci 10d0: 73 69 6f 6e 3b 0d 0a 09 42 59 54 45 20 51 75 61 sion;...BYTE Qua 10e0: 6c 69 74 79 3b 0d 0a 09 42 59 54 45 20 50 69 74 lity;...BYTE Pit 10f0: 63 68 41 6e 64 46 61 6d 69 6c 79 3b 0d 0a 09 57 chAndFamily;...W 1100: 43 48 41 52 5b 4c 46 5f 46 41 43 45 53 49 5a 45 CHAR[LF_FACESIZE 1110: 5d 20 46 61 63 65 4e 61 6d 65 3b 0d 0a 7d 0d 0a ] FaceName;..}.. 1120: 0d 0a 76 65 72 73 69 6f 6e 28 55 6e 69 63 6f 64 ..version(Unicod 1130: 65 29 20 7b 0d 0a 09 61 6c 69 61 73 20 44 33 44 e) {...alias D3D 1140: 58 31 30 5f 46 4f 4e 54 5f 44 45 53 43 57 20 44 X10_FONT_DESCW D 1150: 33 44 58 31 30 5f 46 4f 4e 54 5f 44 45 53 43 3b 3DX10_FONT_DESC; 1160: 0d 0a 7d 20 65 6c 73 65 20 7b 0d 0a 09 61 6c 69 ..} else {...ali 1170: 61 73 20 44 33 44 58 31 30 5f 46 4f 4e 54 5f 44 as D3DX10_FONT_D 1180: 45 53 43 41 20 44 33 44 58 31 30 5f 46 4f 4e 54 ESCA D3DX10_FONT 1190: 5f 44 45 53 43 3b 0d 0a 7d 0d 0a 0d 0a 65 78 74 _DESC;..}....ext 11a0: 65 72 6e 28 43 29 20 63 6f 6e 73 74 20 47 55 49 ern(C) const GUI 11b0: 44 20 49 49 44 5f 49 44 33 44 58 31 30 46 6f 6e D IID_ID3DX10Fon 11c0: 74 20 3d 20 7b 30 78 64 37 39 64 62 62 37 30 2c t = {0xd79dbb70, 11d0: 20 30 78 35 66 32 31 2c 20 30 78 34 64 33 36 2c 0x5f21, 0x4d36, 11e0: 20 5b 30 78 62 62 2c 20 30 78 63 32 2c 20 30 78 [0xbb, 0xc2, 0x 11f0: 66 66 2c 20 30 78 35 32 2c 20 30 78 35 63 2c 20 ff, 0x52, 0x5c, 1200: 30 78 32 31 2c 20 30 78 33 63 2c 20 30 78 64 63 0x21, 0x3c, 0xdc 1210: 5d 7d 3b 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 ]};....interface 1220: 20 49 44 33 44 58 31 30 46 6f 6e 74 20 3a 20 49 ID3DX10Font : I 1230: 55 6e 6b 6e 6f 77 6e 20 7b 0d 0a 09 65 78 74 65 Unknown {...exte 1240: 72 6e 28 57 69 6e 64 6f 77 73 29 20 3a 0d 0a 09 rn(Windows) :... 1250: 48 52 45 53 55 4c 54 20 47 65 74 44 65 76 69 63 HRESULT GetDevic 1260: 65 28 49 44 33 44 31 30 44 65 76 69 63 65 2a 20 e(ID3D10Device* 1270: 70 70 44 65 76 69 63 65 29 3b 0d 0a 09 48 52 45 ppDevice);...HRE 1280: 53 55 4c 54 20 47 65 74 44 65 73 63 41 28 44 33 SULT GetDescA(D3 1290: 44 58 31 30 5f 46 4f 4e 54 5f 44 45 53 43 41 2a DX10_FONT_DESCA* 12a0: 20 70 44 65 73 63 29 3b 0d 0a 09 48 52 45 53 55 pDesc);...HRESU 12b0: 4c 54 20 47 65 74 44 65 73 63 57 28 44 33 44 58 LT GetDescW(D3DX 12c0: 31 30 5f 46 4f 4e 54 5f 44 45 53 43 57 2a 20 70 10_FONT_DESCW* p 12d0: 44 65 73 63 29 3b 0d 0a 09 42 4f 4f 4c 20 47 65 Desc);...BOOL Ge 12e0: 74 54 65 78 74 4d 65 74 72 69 63 73 41 28 54 45 tTextMetricsA(TE 12f0: 58 54 4d 45 54 52 49 43 41 2a 20 70 54 65 78 74 XTMETRICA* pText 1300: 4d 65 74 72 69 63 73 29 3b 0d 0a 09 42 4f 4f 4c Metrics);...BOOL 1310: 20 47 65 74 54 65 78 74 4d 65 74 72 69 63 73 57 GetTextMetricsW 1320: 28 54 45 58 54 4d 45 54 52 49 43 57 2a 20 70 54 (TEXTMETRICW* pT 1330: 65 78 74 4d 65 74 72 69 63 73 29 3b 0d 0a 09 48 extMetrics);...H 1340: 44 43 20 47 65 74 44 43 28 29 3b 0d 0a 09 48 52 DC GetDC();...HR 1350: 45 53 55 4c 54 20 47 65 74 47 6c 79 70 68 44 61 ESULT GetGlyphDa 1360: 74 61 28 55 49 4e 54 20 47 6c 79 70 68 2c 20 49 ta(UINT Glyph, I 1370: 44 33 44 31 30 53 68 61 64 65 72 52 65 73 6f 75 D3D10ShaderResou 1380: 72 63 65 56 69 65 77 2a 20 70 70 54 65 78 74 75 rceView* ppTextu 1390: 72 65 2c 20 52 45 43 54 2a 20 70 42 6c 61 63 6b re, RECT* pBlack 13a0: 42 6f 78 2c 20 50 4f 49 4e 54 2a 20 70 43 65 6c Box, POINT* pCel 13b0: 6c 49 6e 63 29 3b 0d 0a 09 48 52 45 53 55 4c 54 lInc);...HRESULT 13c0: 20 50 72 65 6c 6f 61 64 43 68 61 72 61 63 74 65 PreloadCharacte 13d0: 72 73 28 55 49 4e 54 20 46 69 72 73 74 2c 20 55 rs(UINT First, U 13e0: 49 4e 54 20 4c 61 73 74 29 3b 0d 0a 09 48 52 45 INT Last);...HRE 13f0: 53 55 4c 54 20 50 72 65 6c 6f 61 64 47 6c 79 70 SULT PreloadGlyp 1400: 68 73 28 55 49 4e 54 20 46 69 72 73 74 2c 20 55 hs(UINT First, U 1410: 49 4e 54 20 4c 61 73 74 29 3b 0d 0a 09 48 52 45 INT Last);...HRE 1420: 53 55 4c 54 20 50 72 65 6c 6f 61 64 54 65 78 74 SULT PreloadText 1430: 41 28 4c 50 43 53 54 52 20 70 53 74 72 69 6e 67 A(LPCSTR pString 1440: 2c 20 49 4e 54 20 43 6f 75 6e 74 29 3b 0d 0a 09 , INT Count);... 1450: 48 52 45 53 55 4c 54 20 50 72 65 6c 6f 61 64 54 HRESULT PreloadT 1460: 65 78 74 57 28 4c 50 43 57 53 54 52 20 70 53 74 extW(LPCWSTR pSt 1470: 72 69 6e 67 2c 20 49 4e 54 20 43 6f 75 6e 74 29 ring, INT Count) 1480: 3b 0d 0a 09 49 4e 54 20 44 72 61 77 54 65 78 74 ;...INT DrawText 1490: 41 28 49 44 33 44 58 31 30 53 70 72 69 74 65 20 A(ID3DX10Sprite 14a0: 70 53 70 72 69 74 65 2c 20 4c 50 43 53 54 52 20 pSprite, LPCSTR 14b0: 70 53 74 72 69 6e 67 2c 20 49 4e 54 20 43 6f 75 pString, INT Cou 14c0: 6e 74 2c 20 4c 50 52 45 43 54 20 70 52 65 63 74 nt, LPRECT pRect 14d0: 2c 20 55 49 4e 54 20 46 6f 72 6d 61 74 2c 20 44 , UINT Format, D 14e0: 33 44 58 43 4f 4c 4f 52 20 43 6f 6c 6f 72 29 3b 3DXCOLOR Color); 14f0: 0d 0a 09 49 4e 54 20 44 72 61 77 54 65 78 74 57 ...INT DrawTextW 1500: 28 49 44 33 44 58 31 30 53 70 72 69 74 65 20 70 (ID3DX10Sprite p 1510: 53 70 72 69 74 65 2c 20 4c 50 43 57 53 54 52 20 Sprite, LPCWSTR 1520: 70 53 74 72 69 6e 67 2c 20 49 4e 54 20 43 6f 75 pString, INT Cou 1530: 6e 74 2c 20 4c 50 52 45 43 54 20 70 52 65 63 74 nt, LPRECT pRect 1540: 2c 20 55 49 4e 54 20 46 6f 72 6d 61 74 2c 20 44 , UINT Format, D 1550: 33 44 58 43 4f 4c 4f 52 20 43 6f 6c 6f 72 29 3b 3DXCOLOR Color); 1560: 0d 0a 09 76 65 72 73 69 6f 6e 28 55 6e 69 63 6f ...version(Unico 1570: 64 65 29 20 7b 0d 0a 09 09 61 6c 69 61 73 20 47 de) {....alias G 1580: 65 74 54 65 78 74 4d 65 74 72 69 63 73 57 20 47 etTextMetricsW G 1590: 65 74 54 65 78 74 4d 65 74 72 69 63 73 3b 0d 0a etTextMetrics;.. 15a0: 09 09 61 6c 69 61 73 20 44 72 61 77 54 65 78 74 ..alias DrawText 15b0: 57 20 44 72 61 77 54 65 78 74 3b 0d 0a 09 7d 20 W DrawText;...} 15c0: 65 6c 73 65 20 7b 0d 0a 09 09 61 6c 69 61 73 20 else {....alias 15d0: 47 65 74 54 65 78 74 4d 65 74 72 69 63 73 41 20 GetTextMetricsA 15e0: 47 65 74 54 65 78 74 4d 65 74 72 69 63 73 3b 0d GetTextMetrics;. 15f0: 0a 09 09 61 6c 69 61 73 20 44 72 61 77 54 65 78 ...alias DrawTex 1600: 74 41 20 44 72 61 77 54 65 78 74 3b 0d 0a 09 7d tA DrawText;...} 1610: 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 ..}....extern(Wi 1620: 6e 64 6f 77 73 29 20 7b 0d 0a 09 48 52 45 53 55 ndows) {...HRESU 1630: 4c 54 20 44 33 44 58 31 30 43 72 65 61 74 65 46 LT D3DX10CreateF 1640: 6f 6e 74 41 28 49 44 33 44 31 30 44 65 76 69 63 ontA(ID3D10Devic 1650: 65 20 70 44 65 76 69 63 65 2c 20 49 4e 54 20 48 e pDevice, INT H 1660: 65 69 67 68 74 2c 20 55 49 4e 54 20 57 69 64 74 eight, UINT Widt 1670: 68 2c 20 55 49 4e 54 20 57 65 69 67 68 74 2c 0d h, UINT Weight,. 1680: 0a 09 09 55 49 4e 54 20 4d 69 70 4c 65 76 65 6c ...UINT MipLevel 1690: 73 2c 20 42 4f 4f 4c 20 49 74 61 6c 69 63 2c 20 s, BOOL Italic, 16a0: 55 49 4e 54 20 43 68 61 72 53 65 74 2c 20 55 49 UINT CharSet, UI 16b0: 4e 54 20 4f 75 74 70 75 74 50 72 65 63 69 73 69 NT OutputPrecisi 16c0: 6f 6e 2c 20 55 49 4e 54 20 51 75 61 6c 69 74 79 on, UINT Quality 16d0: 2c 0d 0a 09 09 55 49 4e 54 20 50 69 74 63 68 41 ,....UINT PitchA 16e0: 6e 64 46 61 6d 69 6c 79 2c 20 4c 50 43 53 54 52 ndFamily, LPCSTR 16f0: 20 70 46 61 63 65 4e 61 6d 65 2c 20 49 44 33 44 pFaceName, ID3D 1700: 58 31 30 46 6f 6e 74 2a 20 70 70 46 6f 6e 74 29 X10Font* ppFont) 1710: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 44 33 44 58 ;...HRESULT D3DX 1720: 31 30 43 72 65 61 74 65 46 6f 6e 74 57 28 49 44 10CreateFontW(ID 1730: 33 44 31 30 44 65 76 69 63 65 20 70 44 65 76 69 3D10Device pDevi 1740: 63 65 2c 20 49 4e 54 20 48 65 69 67 68 74 2c 20 ce, INT Height, 1750: 55 49 4e 54 20 57 69 64 74 68 2c 20 55 49 4e 54 UINT Width, UINT 1760: 20 57 65 69 67 68 74 2c 0d 0a 09 09 55 49 4e 54 Weight,....UINT 1770: 20 4d 69 70 4c 65 76 65 6c 73 2c 20 42 4f 4f 4c MipLevels, BOOL 1780: 20 49 74 61 6c 69 63 2c 20 55 49 4e 54 20 43 68 Italic, UINT Ch 1790: 61 72 53 65 74 2c 20 55 49 4e 54 20 4f 75 74 70 arSet, UINT Outp 17a0: 75 74 50 72 65 63 69 73 69 6f 6e 2c 20 55 49 4e utPrecision, UIN 17b0: 54 20 51 75 61 6c 69 74 79 2c 0d 0a 09 09 55 49 T Quality,....UI 17c0: 4e 54 20 50 69 74 63 68 41 6e 64 46 61 6d 69 6c NT PitchAndFamil 17d0: 79 2c 20 4c 50 43 57 53 54 52 20 70 46 61 63 65 y, LPCWSTR pFace 17e0: 4e 61 6d 65 2c 20 49 44 33 44 58 31 30 46 6f 6e Name, ID3DX10Fon 17f0: 74 2a 20 70 70 46 6f 6e 74 29 3b 0d 0a 7d 0d 0a t* ppFont);..}.. 1800: 0d 0a 76 65 72 73 69 6f 6e 28 55 6e 69 63 6f 64 ..version(Unicod 1810: 65 29 20 7b 0d 0a 09 61 6c 69 61 73 20 44 33 44 e) {...alias D3D 1820: 58 31 30 43 72 65 61 74 65 46 6f 6e 74 57 20 44 X10CreateFontW D 1830: 33 44 58 31 30 43 72 65 61 74 65 46 6f 6e 74 3b 3DX10CreateFont; 1840: 0d 0a 7d 20 65 6c 73 65 20 7b 0d 0a 09 61 6c 69 ..} else {...ali 1850: 61 73 20 44 33 44 58 31 30 43 72 65 61 74 65 46 as D3DX10CreateF 1860: 6f 6e 74 41 20 44 33 44 58 31 30 43 72 65 61 74 ontA D3DX10Creat 1870: 65 46 6f 6e 74 3b 0d 0a 7d 0d 0a 0d 0a 65 78 74 eFont;..}....ext 1880: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 7b 0d 0a ern(Windows) {.. 1890: 09 48 52 45 53 55 4c 54 20 44 33 44 58 31 30 43 .HRESULT D3DX10C 18a0: 72 65 61 74 65 46 6f 6e 74 49 6e 64 69 72 65 63 reateFontIndirec 18b0: 74 41 28 49 44 33 44 31 30 44 65 76 69 63 65 20 tA(ID3D10Device 18c0: 70 44 65 76 69 63 65 2c 20 44 33 44 58 31 30 5f pDevice, D3DX10_ 18d0: 46 4f 4e 54 5f 44 45 53 43 41 2a 20 70 44 65 73 FONT_DESCA* pDes 18e0: 63 2c 20 49 44 33 44 58 31 30 46 6f 6e 74 2a 20 c, ID3DX10Font* 18f0: 70 70 46 6f 6e 74 29 3b 0d 0a 09 48 52 45 53 55 ppFont);...HRESU 1900: 4c 54 20 44 33 44 58 31 30 43 72 65 61 74 65 46 LT D3DX10CreateF 1910: 6f 6e 74 49 6e 64 69 72 65 63 74 57 28 49 44 33 ontIndirectW(ID3 1920: 44 31 30 44 65 76 69 63 65 20 70 44 65 76 69 63 D10Device pDevic 1930: 65 2c 20 44 33 44 58 31 30 5f 46 4f 4e 54 5f 44 e, D3DX10_FONT_D 1940: 45 53 43 57 2a 20 70 44 65 73 63 2c 20 49 44 33 ESCW* pDesc, ID3 1950: 44 58 31 30 46 6f 6e 74 2a 20 70 70 46 6f 6e 74 DX10Font* ppFont 1960: 29 3b 0d 0a 7d 0d 0a 0d 0a 76 65 72 73 69 6f 6e );..}....version 1970: 28 55 6e 69 63 6f 64 65 29 20 7b 0d 0a 09 61 6c (Unicode) {...al 1980: 69 61 73 20 44 33 44 58 31 30 43 72 65 61 74 65 ias D3DX10Create 1990: 46 6f 6e 74 49 6e 64 69 72 65 63 74 57 20 44 33 FontIndirectW D3 19a0: 44 58 31 30 43 72 65 61 74 65 46 6f 6e 74 49 6e DX10CreateFontIn 19b0: 64 69 72 65 63 74 3b 0d 0a 7d 20 65 6c 73 65 20 direct;..} else 19c0: 7b 0d 0a 09 61 6c 69 61 73 20 44 33 44 58 31 30 {...alias D3DX10 19d0: 43 72 65 61 74 65 46 6f 6e 74 49 6e 64 69 72 65 CreateFontIndire 19e0: 63 74 41 20 44 33 44 58 31 30 43 72 65 61 74 65 ctA D3DX10Create 19f0: 46 6f 6e 74 49 6e 64 69 72 65 63 74 3b 0d 0a 7d FontIndirect;..} 1a00: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f ....extern(Windo 1a10: 77 73 29 20 7b 0d 0a 09 48 52 45 53 55 4c 54 20 ws) {...HRESULT 1a20: 44 33 44 58 31 30 55 6e 73 65 74 41 6c 6c 44 65 D3DX10UnsetAllDe 1a30: 76 69 63 65 4f 62 6a 65 63 74 73 28 49 44 33 44 viceObjects(ID3D 1a40: 31 30 44 65 76 69 63 65 20 70 44 65 76 69 63 65 10Device pDevice 1a50: 29 3b 0d 0a 2f 2f 54 4f 44 4f 20 09 48 52 45 53 );..//TODO .HRES 1a60: 55 4c 54 20 44 33 44 58 31 30 52 65 66 6c 65 63 ULT D3DX10Reflec 1a70: 74 53 68 61 64 65 72 28 76 6f 69 64 20 2a 70 53 tShader(void *pS 1a80: 68 61 64 65 72 42 79 74 65 63 6f 64 65 2c 20 53 haderBytecode, S 1a90: 49 5a 45 5f 54 20 42 79 74 65 63 6f 64 65 4c 65 IZE_T BytecodeLe 1aa0: 6e 67 74 68 2c 20 49 44 33 44 31 30 53 68 61 64 ngth, ID3D10Shad 1ab0: 65 72 52 65 66 6c 65 63 74 69 6f 6e 31 20 2a 70 erReflection1 *p 1ac0: 70 52 65 66 6c 65 63 74 6f 72 29 3b 0d 0a 09 48 pReflector);...H 1ad0: 52 45 53 55 4c 54 20 44 33 44 58 31 30 44 69 73 RESULT D3DX10Dis 1ae0: 61 73 73 65 6d 62 6c 65 53 68 61 64 65 72 28 76 assembleShader(v 1af0: 6f 69 64 20 2a 70 53 68 61 64 65 72 2c 20 53 49 oid *pShader, SI 1b00: 5a 45 5f 54 20 42 79 74 65 63 6f 64 65 4c 65 6e ZE_T BytecodeLen 1b10: 67 74 68 2c 20 42 4f 4f 4c 20 45 6e 61 62 6c 65 gth, BOOL Enable 1b20: 43 6f 6c 6f 72 43 6f 64 65 2c 0d 0a 09 09 4c 50 ColorCode,....LP 1b30: 43 53 54 52 20 70 43 6f 6d 6d 65 6e 74 73 2c 20 CSTR pComments, 1b40: 49 44 33 44 31 30 42 6c 6f 62 2a 20 70 70 44 69 ID3D10Blob* ppDi 1b50: 73 61 73 73 65 6d 62 6c 79 29 3b 0d 0a 09 48 52 sassembly);...HR 1b60: 45 53 55 4c 54 20 44 33 44 58 31 30 44 69 73 61 ESULT D3DX10Disa 1b70: 73 73 65 6d 62 6c 65 45 66 66 65 63 74 28 49 44 ssembleEffect(ID 1b80: 33 44 31 30 45 66 66 65 63 74 20 70 45 66 66 65 3D10Effect pEffe 1b90: 63 74 2c 20 42 4f 4f 4c 20 45 6e 61 62 6c 65 43 ct, BOOL EnableC 1ba0: 6f 6c 6f 72 43 6f 64 65 2c 20 49 44 33 44 31 30 olorCode, ID3D10 1bb0: 42 6c 6f 62 2a 20 70 70 44 69 73 61 73 73 65 6d Blob* ppDisassem 1bc0: 62 6c 79 29 3b 0d 0a 7d 0d 0a 0d 0a 63 6f 6e 73 bly);..}....cons 1bd0: 74 20 5f 46 41 43 44 33 44 20 3d 20 30 78 38 37 t _FACD3D = 0x87 1be0: 36 3b 0d 0a 0d 0a 48 52 45 53 55 4c 54 20 4d 41 6;....HRESULT MA 1bf0: 4b 45 5f 44 33 44 48 52 45 53 55 4c 54 28 54 29 KE_D3DHRESULT(T) 1c00: 28 54 20 63 6f 64 65 29 20 7b 0d 0a 09 72 65 74 (T code) {...ret 1c10: 75 72 6e 20 4d 41 4b 45 5f 48 52 45 53 55 4c 54 urn MAKE_HRESULT 1c20: 28 31 2c 20 5f 46 41 43 44 33 44 2c 20 63 6f 64 (1, _FACD3D, cod 1c30: 65 29 3b 0d 0a 7d 0d 0a 0d 0a 48 52 45 53 55 4c e);..}....HRESUL 1c40: 54 20 4d 41 4b 45 5f 44 33 44 53 54 41 54 55 53 T MAKE_D3DSTATUS 1c50: 28 54 29 28 54 20 63 6f 64 65 29 20 7b 0d 0a 09 (T)(T code) {... 1c60: 72 65 74 75 72 6e 20 4d 41 4b 45 5f 48 52 45 53 return MAKE_HRES 1c70: 55 4c 54 28 30 2c 20 5f 46 41 43 44 33 44 2c 20 ULT(0, _FACD3D, 1c80: 63 6f 64 65 29 3b 0d 0a 7d 0d 0a 0d 0a 63 6f 6e code);..}....con 1c90: 73 74 20 44 33 44 45 52 52 5f 49 4e 56 41 4c 49 st D3DERR_INVALI 1ca0: 44 43 41 4c 4c 20 3d 20 4d 41 4b 45 5f 44 33 44 DCALL = MAKE_D3D 1cb0: 48 52 45 53 55 4c 54 28 32 31 35 36 29 3b 0d 0a HRESULT(2156);.. 1cc0: 63 6f 6e 73 74 20 44 33 44 45 52 52 5f 57 41 53 const D3DERR_WAS 1cd0: 53 54 49 4c 4c 44 52 41 57 49 4e 47 20 3d 20 4d STILLDRAWING = M 1ce0: 41 4b 45 5f 44 33 44 48 52 45 53 55 4c 54 28 35 AKE_D3DHRESULT(5 1cf0: 34 30 29 3b 0d 0a 40);..