Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

588 lines
18 KiB

  1. /*****************************************************************************
  2. * dxtmsft3.idl *
  3. *-------------*
  4. *
  5. * Description:
  6. * This is the IDL file for DirectX installable transform coclass,
  7. * interface, and type definitions. This file describes interfaces for
  8. * 3D transforms provided by Microsoft.
  9. *
  10. *-----------------------------------------------------------------------------
  11. * Date: 07/07/97
  12. * Copyright Microsoft Corporation 1997
  13. * All rights reserved.
  14. *
  15. *****************************************************************************/
  16. //--- Import base idl
  17. import "oaidl.idl";
  18. import "ocidl.idl";
  19. import "dxtrans.idl";
  20. //--- Additional includes
  21. //--- Export
  22. //=== Forward References ====================================================
  23. //=== Constants =============================================================
  24. //=== Struct & Enum definitions =============================================
  25. //=== Interface definitions =================================================
  26. //--- IExplode -------------------------------------------------
  27. typedef enum EXPLODEDISPID
  28. {
  29. DISPID_Explode_Tumble = DISPID_DXE_NEXT_ID,
  30. DISPID_Explode_MaxRotations,
  31. DISPID_Explode_FinalVelocity,
  32. DISPID_Explode_PositionJump,
  33. DISPID_Explode_DecayTime
  34. } EXPLODEDISPID;
  35. [
  36. object,
  37. uuid(141DBAF0-55FB-11D1-B83E-00A0C933BE86),
  38. dual,
  39. helpstring("IExplode Interface"),
  40. pointer_default(unique)
  41. ]
  42. interface IExplode : IDXEffect
  43. {
  44. [propput, id(DISPID_Explode_Tumble)] HRESULT Tumble([in] BOOL newVal );
  45. [propget, id(DISPID_Explode_Tumble)] HRESULT Tumble([out, retval] BOOL *pVal);
  46. [propput, id(DISPID_Explode_MaxRotations)] HRESULT MaxRotations([in] LONG newVal);
  47. [propget, id(DISPID_Explode_MaxRotations)] HRESULT MaxRotations([out, retval] LONG *pVal);
  48. [propput, id(DISPID_Explode_FinalVelocity)] HRESULT FinalVelocity([in] float newVal);
  49. [propget, id(DISPID_Explode_FinalVelocity)] HRESULT FinalVelocity([out, retval] float *pVal);
  50. [propput, id(DISPID_Explode_PositionJump)] HRESULT PositionJump([in] float newVal);
  51. [propget, id(DISPID_Explode_PositionJump)] HRESULT PositionJump([out, retval] float *pVal);
  52. [propput, id(DISPID_Explode_DecayTime)] HRESULT DecayTime([in] float newVal);
  53. [propget, id(DISPID_Explode_DecayTime)] HRESULT DecayTime([out, retval] float *pVal);
  54. };
  55. // --- ICrShatter Interface --------------------------------------------------
  56. [
  57. object,
  58. uuid(63500AE1-0858-11D2-8CE4-00C04F8ECB10),
  59. dual,
  60. helpstring("ICrShatter Interface"),
  61. pointer_default(unique)
  62. ]
  63. interface ICrShatter : IDXEffect
  64. {
  65. [propget, id(1)] HRESULT seed([out, retval] long *pVal);
  66. [propput, id(1)] HRESULT seed([in] long newVal);
  67. [propget, id(2)] HRESULT maxShards([out, retval] long *pVal);
  68. [propput, id(2)] HRESULT maxShards([in] long newVal);
  69. [propget, id(3)] HRESULT depth([out, retval] float *pVal);
  70. [propput, id(3)] HRESULT depth([in] float newVal);
  71. [propget, id(4)] HRESULT backColor([out, retval] BSTR *pVal);
  72. [propput, id(4)] HRESULT backColor([in] BSTR newVal);
  73. [propget, id(6)] HRESULT evacuateX([out, retval] short *pVal);
  74. [propput, id(6)] HRESULT evacuateX([in] short newVal);
  75. [propget, id(7)] HRESULT evacuateY([out, retval] short *pVal);
  76. [propput, id(7)] HRESULT evacuateY([in] short newVal);
  77. [propget, id(8)] HRESULT evacuateZ([out, retval] short *pVal);
  78. [propput, id(8)] HRESULT evacuateZ([in] short newVal);
  79. [propget, id(9)] HRESULT evacuateDeltaX([out, retval] short *pVal);
  80. [propput, id(9)] HRESULT evacuateDeltaX([in] short newVal);
  81. [propget, id(10)] HRESULT evacuateDeltaY([out, retval] short *pVal);
  82. [propput, id(10)] HRESULT evacuateDeltaY([in] short newVal);
  83. [propget, id(11)] HRESULT evacuateDeltaZ([out, retval] short *pVal);
  84. [propput, id(11)] HRESULT evacuateDeltaZ([in] short newVal);
  85. };
  86. // ---- IDXTBlackHole Interface ----------------------------------
  87. [
  88. object,
  89. uuid(C3853C21-3F2E-11D2-9900-0000F803FF7A),
  90. dual,
  91. helpstring("IDXTBlackHole Interface"),
  92. pointer_default(unique)
  93. ]
  94. interface IDXTBlackHole : IDXEffect
  95. {
  96. [propget, id(1)] HRESULT HoleX([out, retval] float *pVal);
  97. [propput, id(1)] HRESULT HoleX([in] float newVal);
  98. [propget, id(2)] HRESULT HoleY([out, retval] float *pVal);
  99. [propput, id(2)] HRESULT HoleY([in] float newVal);
  100. [propget, id(3)] HRESULT HoleZ([out, retval] float *pVal);
  101. [propput, id(3)] HRESULT HoleZ([in] float newVal);
  102. [propget, id(4)] HRESULT StretchPercent([out, retval] float *pVal);
  103. [propput, id(4)] HRESULT StretchPercent([in] float newVal);
  104. [propget, id(5)] HRESULT FallX([out, retval] float *pVal);
  105. [propput, id(5)] HRESULT FallX([in] float newVal);
  106. [propget, id(6)] HRESULT FallY([out, retval] float *pVal);
  107. [propput, id(6)] HRESULT FallY([in] float newVal);
  108. [propget, id(7)] HRESULT FallZ([out, retval] float *pVal);
  109. [propput, id(7)] HRESULT FallZ([in] float newVal);
  110. [propget, id(8)] HRESULT SpiralX([out, retval] float *pVal);
  111. [propput, id(8)] HRESULT SpiralX([in] float newVal);
  112. [propget, id(9)] HRESULT SpiralY([out, retval] float *pVal);
  113. [propput, id(9)] HRESULT SpiralY([in] float newVal);
  114. [propget, id(10)] HRESULT SpiralZ([out, retval] float *pVal);
  115. [propput, id(10)] HRESULT SpiralZ([in] float newVal);
  116. [propget, id(11)] HRESULT Rotations([out, retval] float *pVal);
  117. [propput, id(11)] HRESULT Rotations([in] float newVal);
  118. [propget, id(12)] HRESULT Movement([out, retval] BSTR *pVal);
  119. [propput, id(12)] HRESULT Movement([in] BSTR newVal);
  120. };
  121. // ----- IDXTRoll Interface --------------------------------------------
  122. [
  123. object,
  124. uuid(78F30B81-48AA-11D2-9900-0000F803FF7A),
  125. dual,
  126. helpstring("IDXTRoll Interface"),
  127. pointer_default(unique)
  128. ]
  129. interface IDXTRoll : IDXEffect
  130. {
  131. [propget, id(1)] HRESULT DirectionX([out, retval] float *pVal);
  132. [propput, id(1)] HRESULT DirectionX([in] float newVal);
  133. [propget, id(2)] HRESULT DirectionY([out, retval] float *pVal);
  134. [propput, id(2)] HRESULT DirectionY([in] float newVal);
  135. [propget, id(3)] HRESULT Radius([out, retval] float *pVal);
  136. [propput, id(3)] HRESULT Radius([in] float newVal);
  137. };
  138. //--- IDXTSpin -------------------------------------------------
  139. [
  140. object,
  141. uuid(3D2807C1-43DE-11D2-9900-0000F803FF7A),
  142. dual,
  143. helpstring("IDXTSpin Interface"),
  144. pointer_default(unique)
  145. ]
  146. interface IDXTSpin : IDXEffect
  147. {
  148. [propget, id(1)] HRESULT SpinX([out, retval] float *pVal);
  149. [propput, id(1)] HRESULT SpinX([in] float newVal);
  150. [propget, id(2)] HRESULT SpinY([out, retval] float *pVal);
  151. [propput, id(2)] HRESULT SpinY([in] float newVal);
  152. [propget, id(3)] HRESULT SpinZ([out, retval] float *pVal);
  153. [propput, id(3)] HRESULT SpinZ([in] float newVal);
  154. [propget, id(4)] HRESULT Flips([out, retval] long *pVal);
  155. [propput, id(4)] HRESULT Flips([in] long newVal);
  156. };
  157. //--- IRipple -------------------------------------------------
  158. [
  159. object,
  160. uuid(6DA4A05E-8E9E-11D1-904E-00C04FD9189D),
  161. dual,
  162. helpstring("IRipple Interface"),
  163. pointer_default(unique)
  164. ]
  165. interface IRipple : IDXEffect
  166. {
  167. [propget, id(11)] HRESULT XOrigin([out, retval] float *pVal);
  168. [propput, id(11)] HRESULT XOrigin([in] float newVal);
  169. [propget, id(12)] HRESULT YOrigin([out, retval] float *pVal);
  170. [propput, id(12)] HRESULT YOrigin([in] float newVal);
  171. [propget, id(13)] HRESULT Wavelength([out, retval] float *pVal);
  172. [propput, id(13)] HRESULT Wavelength([in] float newVal);
  173. [propget, id(14)] HRESULT Amplitude([out, retval] float *pVal);
  174. [propput, id(14)] HRESULT Amplitude([in] float newVal);
  175. [propget, id(15)] HRESULT NumberOfWaves([out, retval] long *pVal);
  176. [propput, id(15)] HRESULT NumberOfWaves([in] long newVal);
  177. [propget, id(16)] HRESULT MinSteps([out, retval] long *pVal);
  178. [propput, id(16)] HRESULT MinSteps([in] long newVal);
  179. [propget, id(17)] HRESULT MaxSteps([out, retval] long *pVal);
  180. [propput, id(17)] HRESULT MaxSteps([in] long newVal);
  181. };
  182. //--- IHeightField -------------------------------------------------
  183. typedef enum HeightFieldDISPID
  184. {
  185. DISPID_HeightField_Width = DISPID_DXE_NEXT_ID,
  186. DISPID_HeightField_Height,
  187. DISPID_HeightField_Depth,
  188. DISPID_HeightField_Samples
  189. } HeightFieldDISPID;
  190. [
  191. object,
  192. uuid(0492170A-B159-11d1-9207-0000F8758E66),
  193. dual,
  194. helpstring("IHeightField Interface"),
  195. pointer_default(unique)
  196. ]
  197. interface IHeightField : IDXEffect
  198. {
  199. [propget, id(DISPID_HeightField_Width)] HRESULT Width([out, retval] float *pVal);
  200. [propput, id(DISPID_HeightField_Width)] HRESULT Width([in] float newVal);
  201. [propget, id(DISPID_HeightField_Height)] HRESULT Height([out, retval] float *pVal);
  202. [propput, id(DISPID_HeightField_Height)] HRESULT Height([in] float newVal);
  203. [propget, id(DISPID_HeightField_Depth)] HRESULT Depth([out, retval] float *pVal);
  204. [propput, id(DISPID_HeightField_Depth)] HRESULT Depth([in] float newVal);
  205. [propget, id(DISPID_HeightField_Samples)] HRESULT Samples([out, retval] long *pVal);
  206. [propput, id(DISPID_HeightField_Samples)] HRESULT Samples([in] long newVal);
  207. };
  208. //--- IDXTMetaStream -------------------------------------------------
  209. [
  210. object,
  211. uuid(48654BC0-E51F-11D1-AA1C-00600895FB99),
  212. dual,
  213. local,
  214. helpstring("IDXTMetaStream Interface"),
  215. pointer_default(unique)
  216. ]
  217. interface IDXTMetaStream : IDispatch
  218. {
  219. [propget, id(11)] HRESULT DXTurl([out, retval] BSTR *pURL);
  220. [propput, id(11)] HRESULT DXTurl([in] BSTR newURL);
  221. [propput, id(12)] HRESULT DXTAutoScale([in]VARIANT_BOOL flag);
  222. [propget, id(12)] HRESULT DXTAutoScale([out,retval]VARIANT_BOOL* flag);
  223. [propput, id(13)] HRESULT DXTquality([in]float flag);
  224. [propget, id(13)] HRESULT DXTquality([out,retval]float *flag);
  225. };
  226. //--- IDXTText3D -------------------------------------------------
  227. typedef enum DXTText3DDISPID
  228. {
  229. //This is not an effect, but doesn't hurt to start at DISPID_DXE_NEXT_ID
  230. DISPID_DXTText3D_String = DISPID_DXE_NEXT_ID,
  231. DISPID_DXTText3D_FontFace,
  232. DISPID_DXTText3D_FontWeight,
  233. DISPID_DXTText3D_FontStyle,
  234. DISPID_DXTText3D_Vertical,
  235. DISPID_DXTText3D_ExtrusionType,
  236. DISPID_DXTText3D_XAlign,
  237. DISPID_DXTText3D_YAlign,
  238. DISPID_DXTText3D_ZAlign,
  239. DISPID_DXTText3D_LetterSpacing,
  240. DISPID_DXTText3D_Quality
  241. } DXTText3DDISPID;
  242. [
  243. object,
  244. uuid(50C4B592-7E8D-11d2-9B4E-00A0C9697CD0),
  245. dual,
  246. local,
  247. helpstring("IDXTText3D Interface"),
  248. pointer_default(unique)
  249. ]
  250. interface IDXTText3D : IDispatch
  251. {
  252. [propget, id(DISPID_DXTText3D_String)] HRESULT String([out, retval] BSTR *pbstr);
  253. [propput, id(DISPID_DXTText3D_String)] HRESULT String([in] BSTR pbstr);
  254. [propget, id(DISPID_DXTText3D_FontFace)] HRESULT FontFace([out, retval] BSTR *pbstr);
  255. [propput, id(DISPID_DXTText3D_FontFace)] HRESULT FontFace([in] BSTR pbstr);
  256. [propget, id(DISPID_DXTText3D_FontWeight)] HRESULT FontWeight([out, retval] BSTR *pbstr);
  257. [propput, id(DISPID_DXTText3D_FontWeight)] HRESULT FontWeight([in] BSTR pbstr);
  258. [propget, id(DISPID_DXTText3D_FontStyle)] HRESULT FontStyle([out, retval] BSTR *pbstr);
  259. [propput, id(DISPID_DXTText3D_FontStyle)] HRESULT FontStyle([in] BSTR pbstr);
  260. [propget, id(DISPID_DXTText3D_Vertical)] HRESULT Vertical([out,retval]VARIANT_BOOL* fVertical);
  261. [propput, id(DISPID_DXTText3D_Vertical)] HRESULT Vertical([in] VARIANT_BOOL fVertical);
  262. [propget, id(DISPID_DXTText3D_ExtrusionType)] HRESULT ExtrusionType([out, retval] BSTR *pbstr);
  263. [propput, id(DISPID_DXTText3D_ExtrusionType)] HRESULT ExtrusionType([in] BSTR pbstr);
  264. [propget, id(DISPID_DXTText3D_XAlign)] HRESULT XAlign([out, retval] BSTR *pbstr);
  265. [propput, id(DISPID_DXTText3D_XAlign)] HRESULT XAlign([in] BSTR pbstr);
  266. [propget, id(DISPID_DXTText3D_YAlign)] HRESULT YAlign([out, retval] BSTR *pbstr);
  267. [propput, id(DISPID_DXTText3D_YAlign)] HRESULT YAlign([in] BSTR pbstr);
  268. [propget, id(DISPID_DXTText3D_ZAlign)] HRESULT ZAlign([out, retval] BSTR *pbstr);
  269. [propput, id(DISPID_DXTText3D_ZAlign)] HRESULT ZAlign([in] BSTR pbstr);
  270. [propget, id(DISPID_DXTText3D_LetterSpacing)] HRESULT LetterSpacing([out, retval] VARIANT *pvarLetterSpacing);
  271. [propput, id(DISPID_DXTText3D_LetterSpacing)] HRESULT LetterSpacing([in] VARIANT varLetterSpacing);
  272. [propget, id(DISPID_DXTText3D_Quality)] HRESULT Quality([out, retval] float *pflQuality);
  273. [propput, id(DISPID_DXTText3D_Quality)] HRESULT Quality([in] float flQuality);
  274. };
  275. //--- IDXTShapes -------------------------------------------------
  276. [
  277. object,
  278. uuid(8241F013-84D3-11d2-97E6-0000F803FF7A),
  279. dual,
  280. helpstring("IDXTShapes Interface"),
  281. pointer_default(unique)
  282. ]
  283. interface IDXTShapes : IDispatch
  284. {
  285. [propget, id(1)] HRESULT Shape([out, retval] BSTR* pVal);
  286. [propput, id(1)] HRESULT Shape([in] BSTR newVal);
  287. [propget, id(2)] HRESULT XMinRes([out, retval] long* pVal);
  288. [propput, id(2)] HRESULT XMinRes([in] long newVal);
  289. [propget, id(3)] HRESULT XMaxRes([out, retval] long* pVal);
  290. [propput, id(3)] HRESULT XMaxRes([in] long newVal);
  291. [propget, id(4)] HRESULT YMinRes([out, retval] long* pVal);
  292. [propput, id(4)] HRESULT YMinRes([in] long newVal);
  293. [propget, id(5)] HRESULT YMaxRes([out, retval] long* pVal);
  294. [propput, id(5)] HRESULT YMaxRes([in] long newVal);
  295. [propget, id(6)] HRESULT Color([out, retval] BSTR *pVal);
  296. [propput, id(6)] HRESULT Color([in] BSTR newVal);
  297. [propget, id(7)] HRESULT DoubleSided([out, retval] VARIANT_BOOL *pVal);
  298. [propput, id(7)] HRESULT DoubleSided([in] VARIANT_BOOL newVal);
  299. [propget, id(8)] HRESULT KeepAspectRatio([out, retval] VARIANT_BOOL *pVal);
  300. [propput, id(8)] HRESULT KeepAspectRatio([in] VARIANT_BOOL newVal);
  301. };
  302. //=== CoClass definitions =================================================
  303. [
  304. uuid(E4BBA4C0-69B7-11d2-832D-0000F81F5995),
  305. version(1.0),
  306. helpstring("DXTMsft3 1.0 Type Library")
  307. ]
  308. library DXTMSFT3Lib
  309. {
  310. importlib("stdole2.tlb");
  311. [
  312. uuid(141DBAF1-55FB-11D1-B83E-00A0C933BE86),
  313. helpstring("Explode Class")
  314. ]
  315. coclass Explode
  316. {
  317. [default] interface IExplode;
  318. };
  319. ////////////////////////////
  320. [
  321. uuid(C53059E1-E6E3-11d1-BA12-00C04FB6BD36),
  322. helpstring("ExplodeProp Class")
  323. ]
  324. coclass ExplodeProp
  325. {
  326. interface IUnknown;
  327. };
  328. ////////////////////////////
  329. [
  330. uuid(945F5842-3A8D-11D1-9037-00C04FD9189D),
  331. helpstring("Ripple Class")
  332. ]
  333. coclass Ripple
  334. {
  335. [default] interface IRipple;
  336. };
  337. ////////////////////////////
  338. [
  339. uuid(945F5843-3A8D-11D1-9037-00C04FD9189D),
  340. helpstring("RipProp Class")
  341. ]
  342. coclass RipProp
  343. {
  344. interface IUnknown;
  345. };
  346. ////////////////////////////
  347. [
  348. uuid(04921709-B159-11d1-9207-0000F8758E66),
  349. helpstring("HeightField Class")
  350. ]
  351. coclass HeightField
  352. {
  353. [default] interface IHeightField;
  354. };
  355. ////////////////////////////
  356. [
  357. uuid(7A8402E3-FBD6-11D1-B5E0-00AA003B6061),
  358. helpstring("HtFieldProp Class")
  359. ]
  360. coclass HtFieldProp
  361. {
  362. interface IUnknown;
  363. };
  364. ////////////////////////////
  365. [
  366. uuid(60A0C080-E505-11D1-AA1C-00600895FB99),
  367. helpstring("DXTMetaStream Class")
  368. ]
  369. coclass DXTMetaStream
  370. {
  371. [default] interface IDXTMetaStream;
  372. };
  373. ////////////////////////////
  374. [
  375. uuid(E3D77340-E505-11D1-AA1C-00600895FB99),
  376. helpstring("DXTMetaStreamProp Class")
  377. ]
  378. coclass DXTMetaStreamProp
  379. {
  380. interface IUnknown;
  381. };
  382. ////////////////////////////
  383. [
  384. uuid(D56F34F2-7E89-11d2-9B4E-00A0C9697CD0),
  385. helpstring("DXTText3D Class")
  386. ]
  387. coclass DXTText3D
  388. {
  389. [default] interface IDXTText3D;
  390. };
  391. ////////////////////////////
  392. [
  393. uuid(50C4B593-7E8D-11d2-9B4E-00A0C9697CD0),
  394. helpstring("DXTText3DPP Class")
  395. ]
  396. coclass DXTText3DPP
  397. {
  398. interface IUnknown;
  399. };
  400. ////////////////////////////
  401. [
  402. uuid(63500AE2-0858-11D2-8CE4-00C04F8ECB10),
  403. helpstring("CrShatter Class")
  404. ]
  405. coclass CrShatter
  406. {
  407. [default] interface ICrShatter;
  408. };
  409. ////////////////////////////
  410. [
  411. uuid(99275F01-102E-11d2-8B82-00A0C93C09B2),
  412. helpstring("CrShatterPP Property Page")
  413. ]
  414. coclass CrShatterPP
  415. {
  416. interface IUnknown;
  417. };
  418. ////////////////////////////
  419. [
  420. uuid(C3853C22-3F2E-11D2-9900-0000F803FF7A),
  421. helpstring("DXTBlackHole Class")
  422. ]
  423. coclass DXTBlackHole
  424. {
  425. [default] interface IDXTBlackHole;
  426. };
  427. ////////////////////////////
  428. [
  429. uuid(C3853C23-3F2E-11D2-9900-0000F803FF7A),
  430. helpstring("DXTBlackHolePP Class")
  431. ]
  432. coclass DXTBlackHolePP
  433. {
  434. interface IUnknown;
  435. };
  436. ////////////////////////////
  437. [
  438. uuid(78F30B82-48AA-11D2-9900-0000F803FF7A),
  439. helpstring("DXTRoll")
  440. ]
  441. coclass DXTRoll
  442. {
  443. [default] interface IDXTRoll;
  444. };
  445. ////////////////////////////
  446. [
  447. uuid(78F30B83-48AA-11D2-9900-0000F803FF7A),
  448. helpstring("DXTRollPP")
  449. ]
  450. coclass DXTRollPP
  451. {
  452. interface IUnknown;
  453. };
  454. ////////////////////////////
  455. [
  456. uuid(3D2807C2-43DE-11D2-9900-0000F803FF7A),
  457. helpstring("DXTSpin Class")
  458. ]
  459. coclass DXTSpin
  460. {
  461. [default] interface IDXTSpin;
  462. };
  463. ////////////////////////////
  464. [
  465. uuid(3D2807C3-43DE-11D2-9900-0000F803FF7A),
  466. helpstring("DXTSpinPP Class")
  467. ]
  468. coclass DXTSpinPP
  469. {
  470. interface IUnknown;
  471. };
  472. ////////////////////////////
  473. [
  474. uuid(8241F015-84D3-11d2-97E6-0000F803FF7A),
  475. helpstring("DXTShapes Class")
  476. ]
  477. coclass DXTShapes
  478. {
  479. [default] interface IDXTShapes;
  480. };
  481. ////////////////////////////
  482. [
  483. uuid(8241F016-84D3-11d2-97E6-0000F803FF7A),
  484. helpstring("DXTShapesPP Class")
  485. ]
  486. coclass DXTShapesPP
  487. {
  488. interface IUnknown;
  489. };
  490. };