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);..