Hex Artifact Content

Not logged in

Artifact 63d7357057086331bd1cc60311803d5c048fcaec:


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