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.

4086 lines
187 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1998 - 1999
  6. //
  7. // File: direct.idl
  8. //
  9. //--------------------------------------------------------------------------
  10. // Direct.idl : IDL source for Direct.dll
  11. // +++++++++++++++++++++++++++++++++++++
  12. // This file will be processed by the MIDL tool to
  13. // produce the type library (Direct.tlb) and marshalling code.
  14. //
  15. //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  16. #define C_ONLY 1
  17. //
  18. // from windef.h
  19. #define MAX_PATH 256
  20. //
  21. // from mmsystem.h
  22. //
  23. #define MAXPNAMELEN 32 /* max product name length (including NULL) */
  24. #define MAX_JOYSTICKOEMVXDNAME 260 /* max oem vxd name length (including NULL) */
  25. //
  26. // Direct 3D Retain mode
  27. //
  28. interface I_dxj_Direct3dRM2;
  29. interface I_dxj_Direct3dRMArray;
  30. interface I_dxj_Direct3dRMFrameArray;
  31. interface I_dxj_Direct3dRMLightArray;
  32. interface I_dxj_Direct3dRMPickArray;
  33. interface I_dxj_Direct3dRMPick2Array;
  34. interface I_dxj_Direct3dRMFaceArray;
  35. interface I_dxj_Direct3dRMViewportArray;
  36. interface I_dxj_Direct3dRMDeviceArray;
  37. interface I_dxj_Direct3dRMVisualArray;
  38. interface I_dxj_Direct3dRMLight;
  39. interface I_dxj_Direct3dRMVisual;
  40. interface I_dxj_Direct3dRMViewport2;
  41. interface I_dxj_Direct3dRMMeshBuilder2;
  42. interface I_dxj_Direct3dRMFace;
  43. interface I_dxj_Direct3dRMMaterial;
  44. interface I_dxj_Direct3dRMMaterial2;
  45. interface I_dxj_Direct3dRMMesh;
  46. interface I_dxj_Direct3dRMDevice2;
  47. interface I_dxj_Direct3dRMFrame2;
  48. interface I_dxj_Direct3dRMAnimationSet;
  49. interface I_dxj_Direct3dRMWinDevice;
  50. interface I_dxj_Direct3dRMAnimation;
  51. interface I_dxj_Direct3dRMObject;
  52. interface I_dxj_Direct3dRMWrap;
  53. //interface I_dxj_Direct3dRMUserVisual;
  54. interface I_dxj_Direct3dRMShadow;
  55. interface I_dxj_Direct3dRMCallback; //reserved for DestroyObjectCallback
  56. interface I_dxj_Direct3dRMDeviceUpdateCallback3;
  57. //interface I_dxj_Direct3dRMUserVisualCallback;
  58. interface I_dxj_Direct3dRMLoadTextureCallback3;
  59. interface I_dxj_Direct3dRMLoadCallback;
  60. interface I_dxj_Direct3dRMFrameMoveCallback2;
  61. interface I_dxj_Direct3dRMEnumerateObjectsCallback;
  62. //
  63. //new RM interfaces
  64. //
  65. interface I_dxj_Direct3dRMFrame3;
  66. interface I_dxj_Direct3dRMMeshBuilder3;
  67. interface I_dxj_Direct3dRMTexture3;
  68. interface I_dxj_Direct3dRMDevice3;
  69. interface I_dxj_Direct3dRMAnimationArray;
  70. interface I_dxj_Direct3dRMAnimation2;
  71. interface I_dxj_Direct3dRMProgressiveMesh;
  72. interface I_dxj_Direct3dRMClippedVisual;
  73. interface I_dxj_Direct3dRMObjectArray;
  74. interface I_dxj_Direct3dRMInterpolator;
  75. interface I_dxj_Direct3dRMMeshInterpolator;
  76. interface I_dxj_Direct3dRMFrameInterpolator;
  77. interface I_dxj_Direct3dRMMaterialInterpolator;
  78. interface I_dxj_Direct3dRMTextureInterpolator;
  79. interface I_dxj_Direct3dRMLightInterpolator;
  80. interface I_dxj_Direct3dRMViewportInterpolator;
  81. //
  82. // Direct Draw
  83. //
  84. interface I_dxj_DirectDraw4;
  85. interface I_dxj_DirectDrawSurface4;
  86. interface I_dxj_DirectDraw7;
  87. interface I_dxj_DirectDrawSurface7;
  88. interface I_dxj_DirectDrawEnumSurfaces;
  89. interface I_dxj_DirectDrawClipper;
  90. interface I_dxj_DirectDrawPalette;
  91. interface I_dxj_DirectDrawColorControl;
  92. interface I_dxj_DirectDrawGammaControl;
  93. interface I_dxj_DirectDrawEnum;
  94. interface I_dxj_DirectDrawEnumModes;
  95. interface I_dxj_DirectDrawIdentifier;
  96. //interface I_dxj_DDEnumVideoPorts;
  97. //interface I_dxj_DirectDrawVideoPort;
  98. //interface I_dxj_DDVideoPortContainer;
  99. //
  100. // Direct 3D Imediate mode
  101. //
  102. //interface I_dxj_Direct3dViewport3;
  103. //interface I_dxj_Direct3dMaterial3;
  104. //interface I_dxj_Direct3dLight;
  105. //interface I_dxj_D3dValidateCallback;
  106. interface I_dxj_Direct3d7;
  107. interface I_dxj_Direct3dDevice7;
  108. interface I_dxj_Direct3dVertexBuffer7;
  109. interface I_dxj_Direct3DEnumDevices;
  110. interface I_dxj_Direct3DEnumPixelFormats;
  111. //
  112. // Direct Input
  113. //
  114. // interface IdInputDevice;
  115. interface I_dxj_DirectInput;
  116. interface I_dxj_DirectInputDevice;
  117. interface I_dxj_DirectInputDevice2;
  118. interface I_dxj_DirectInputEffect;
  119. interface I_dxj_DirectInputEnumEffects;
  120. interface I_dxj_DIEnumDevices;
  121. interface I_dxj_DIEnumDeviceObjects;
  122. interface I_dxj_DIEnumCreatedEffectObjects;
  123. //
  124. // DirectSound
  125. //
  126. interface I_dxj_DirectSound;
  127. interface I_dxj_DirectSoundBuffer;
  128. interface I_dxj_DirectSound3dBuffer;
  129. interface I_dxj_DirectSound3dListener;
  130. interface I_dxj_DirectSoundCapture;
  131. interface I_dxj_DirectSoundCaptureBuffer;
  132. interface I_dxj_DirectSoundNotify;
  133. interface I_dxj_DSEnum;
  134. //
  135. // DirectPlay & DirectPlayLobby
  136. //
  137. interface I_dxj_DirectPlay4;
  138. interface I_dxj_DPLConnection;
  139. interface I_dxj_DPAddress;
  140. interface I_dxj_DirectPlayLobby3;
  141. interface I_dxj_DPEnumConnections;
  142. interface I_dxj_DPEnumPlayers2;
  143. interface I_dxj_DPEnumAddress;
  144. interface I_dxj_DPEnumSessions2;
  145. interface I_dxj_DPEnumAddressTypes;
  146. interface I_dxj_DPEnumLocalApplications;
  147. interface I_dxj_DPEnumServiceProviders;
  148. interface I_dxj_DirectPlaySessionData;
  149. //
  150. // Direct Music
  151. interface I_dxj_DirectMusicLoader;
  152. interface I_dxj_DirectMusicSegment;
  153. interface I_dxj_DirectMusicPerformance;
  154. interface I_dxj_DirectMusicComposer;
  155. interface I_dxj_DirectMusicBand;
  156. interface I_dxj_DirectMusicStyle;
  157. interface I_dxj_DirectMusicChordMap;
  158. interface I_dxj_DirectMusicSegmentState;
  159. interface I_dxj_DirectMusicCollection;
  160. #include "ocidl.idl"
  161. //
  162. // Base types
  163. //
  164. import "wtypes.idl";
  165. [
  166. uuid(E1211242-8E94-11d1-8808-00C04FC2C602),
  167. version(1.0),
  168. helpstring("DirectX 7 for Visual Basic Type Library"),
  169. helpfile ("directx.chm")
  170. ]
  171. library DxVBLib
  172. {
  173. #ifndef C_ONLY
  174. #define USERARG IDispatch
  175. #define RMCLONEOBJECT I_dxj_Direct3dRMObject
  176. #include "directvbconst.idl"
  177. typedef long Handle;
  178. typedef long HWnd;
  179. typedef float d3dval;
  180. typedef long d3dcolor ;
  181. typedef long d3dMaterialHandle;
  182. typedef long d3dMatrixHandle;
  183. typedef long d3dTextureHandle;
  184. typedef long d3drmGroupIndex;
  185. typedef long Dpid;
  186. typedef unsigned char Byte;
  187. typedef long HRSrc;
  188. #define I_dxj_DPEnumPlayers2 I_dxj_DPEnumPlayers
  189. #define I_dxj_DPEnumSessions2 I_dxj_DPEnumSessions
  190. #define I_dxj_DDEnumModes2 I_dxj_DDEnumModes
  191. #define I_dxj_DDEnumSurfaces2 I_dxj_DDEnumSurfaces
  192. #else
  193. #define USERARG IUnknown
  194. #define RMCLONEOBJECT IUnknown
  195. typedef unsigned char Byte;
  196. typedef long Handle;
  197. typedef long HWnd;
  198. typedef float d3dvalue;
  199. typedef long d3dcolor ;
  200. typedef long HRSrc;
  201. typedef long Dpid;
  202. typedef long d3dMatrixHandle;
  203. typedef long d3dTextureHandle;
  204. typedef long d3dColorModel;
  205. typedef long d3dLightType;
  206. typedef long d3dMaterialHandle;
  207. typedef long d3drmSaveFlags;
  208. typedef long d3dPrimitiveType;
  209. typedef long d3dFVFFlags;
  210. typedef long d3dVertexType;
  211. typedef long d3dLightStateType;
  212. typedef long d3dRenderStateType;
  213. typedef long d3dRenderStateSingle;
  214. typedef long d3dTransformStateType;
  215. typedef long d3drmCombineType;
  216. typedef long d3drmColorModel;
  217. typedef long d3drmLightType;
  218. typedef long d3drmFogMode;
  219. typedef long d3drmProjectionType;
  220. typedef long d3drmGroupIndex;
  221. typedef long d3drmMappingFlags;
  222. //ENUMERATORS
  223. typedef long d3drmRenderQuality;
  224. typedef long d3drmTextureQuality;
  225. typedef long d3drmAnimationOptions;
  226. typedef long d3drmWrapType;
  227. typedef long d3drmColorSource;
  228. typedef long d3drmMaterialMode;
  229. typedef long d3drmSortMode;
  230. typedef long d3drmFrameConstraint;
  231. typedef long d3drmZbufferMode;
  232. typedef long d3drmXofFormat;
  233. typedef long d3drmLoadFlags;
  234. //typedef long d3drmUserVisualReason;
  235. //FLAGS
  236. #define dxBool long
  237. #define dplConnectionFlags long
  238. #define dpGroupFlags long
  239. #define dpPlayerFlags long
  240. #define dpEnumConnectionFlags long
  241. #define dpEnumGroupFlags long
  242. #define dpEnumPlayerFlags long
  243. #define dpEnumSessionFlags long
  244. #define dpCapsFlags long
  245. #define dpGetFlags long
  246. #define dpGetCapsFlags long
  247. #define dpOpenFlags long
  248. #define dpMessageQueueFlags long
  249. #define dpReceiveFlags long
  250. #define dpSendFlags long
  251. #define dpSetFlags long
  252. #define dplMsg long
  253. #define dplWait long
  254. #define dpSessionFlags long
  255. #define d3ddpFlags long
  256. #define d3dNextFlags long
  257. #define d3dClearFlags long
  258. #define d3dTransformFlags long
  259. #define d3dTextureStageStateType long
  260. #define d3dTextureStageSingle long
  261. #define d3dProcessVerticesFlags long
  262. #define d3dStateBlockType long
  263. #define ddLockFlags long
  264. #define d3dVopFlags long
  265. #define ddpCapsFlags long
  266. #define dpConnectFlags long
  267. #define ddpCapsFlags long
  268. #define ddedmFlags long
  269. #define ddsclFlags long
  270. #define ddBltFlags long
  271. #define ddBltFastFlags long
  272. #define ddFlipFlags long
  273. #define ddOverZFlags long
  274. #define ddOverFlags long
  275. #define ddEnumOverFlags long
  276. #define ddEnumOverlayZFlags long
  277. #define ddGbsFlags long
  278. #define ddGfsFlags long
  279. #define ddCKeyFlags long
  280. #define ddSgrFlags long
  281. #define ddEnumSurfacesFlags long
  282. #define ddBitDepthFlags long
  283. #define ddsdmFlags long
  284. #define ddWaitVBFlags long
  285. #define ddDeviceIDFlags long
  286. #define d3dDevInfoId long
  287. #define d3dVertexComponent long
  288. #define d3dTAFlags long
  289. #define d3dVTXPCapsFlags long
  290. #define d3drmViewportClearFlags long
  291. #define d3drmLoadFlags long
  292. #define d3drmCreateDeviceFlags long
  293. #define d3drmHandedness long
  294. #define d3drmCallbackOrderFlags long
  295. #define d3drmFogMethod long
  296. #define d3drmFogMode long
  297. #define d3drmTravesalFlags long
  298. #define d3drmZBufferMode long
  299. #define d3drmRayPickFlags long
  300. #define d3drmAddFacesFlags long
  301. #define d3drmAddMeshbuilderFlags long
  302. #define d3drmAddTrianglesVt long
  303. #define d3drmAddMeshBuilderFlags long
  304. #define d3drmGenerateNormalsFlags long
  305. #define d3drmParentingFlags long
  306. #define d3drmFptfFlags long
  307. #define d3drmRenderModeFlags long
  308. #define d3drmWireFrameFlags long
  309. #define d3drmTextureChangedFlags long
  310. #define d3drmTextureCacheFlags long
  311. #define d3drmTraversalFlags long
  312. #define d3drmInterpolationFlags long
  313. #define d3drmShadowFlags long
  314. #define dssclFlags long
  315. #define dsSpeakerFlags long
  316. #define dsbStatusFlags long
  317. #define dsbPlayFlags long
  318. #define dsbLockFlags long
  319. #define ds3dApplyFlags long
  320. #define ds3dModeFlags long
  321. #define dscbStatusFlags long
  322. #define dscbStartFlags long
  323. #define dscbLockFlags long
  324. #define diEnumDevicesFlags long
  325. #define diDeviceType long
  326. #define diDftFlags long
  327. #define diDgddFlags long
  328. #define diPhFlags long
  329. #define diSclFlags long
  330. #define diDataFormatFlags long
  331. #define diCommonDataFormats long
  332. #define diDeviceObjInstanceFlags long
  333. #define disddFlags long
  334. #define DIEFTFLAGS long
  335. #define DIEFTFLAGS long
  336. #define DIGFFSFLAGS long
  337. #define DISFFCFLAGS long
  338. #define DIEPFLAGS long
  339. #define DIEFFFLAGS long
  340. #endif
  341. //- clone is a keyword in Java so we need to rename it to cloneObject
  342. // consider renaming the C entry point
  343. #ifdef C_ONLY
  344. #include "directxstruct.idl"
  345. #define cloneObject clone
  346. #else
  347. #include "directvbstruct.idl"
  348. #endif
  349. #ifdef JAVA_ONLY
  350. #define AVERT float
  351. #define AD3DRECT long
  352. #define AD3DLIGHTDATA long
  353. #define APAL Byte
  354. #define ATYPE Byte
  355. #define ABYTE Byte
  356. #define ALONG long
  357. #else
  358. #define AVERT void
  359. #define ATYPE void
  360. #define ABYTE void
  361. #define ALONG void
  362. #define AD3DRECT D3DRECT_CDESC
  363. #define AD3DLIGHTDATA D3DLIGHTDATA_CDESC
  364. #define APAL PALETTEENTRY_CDESC
  365. #endif
  366. ///////////////////////////////////////////////////////////////////////////
  367. //
  368. // DirectPlay and DirectPlayLobby Interfaces
  369. //
  370. ///////////////////////////////////////////////////////////////////////////
  371. [
  372. object,
  373. uuid(9F76FF05-8E92-11d1-8808-00C04FC2C602),
  374. helpstring("I_dxj_DPAddress Interface"),
  375. pointer_default(unique),
  376. local,
  377. helpcontext(300200)
  378. ]
  379. interface I_dxj_DPAddress : IUnknown
  380. {
  381. import "oaidl.idl";
  382. [hidden] [helpcontext(300201)] HRESULT setAddress([in] long pAddress,[in] long length);
  383. [hidden] [helpcontext(300202)] HRESULT getAddress([out] long *pAddress,[out] long * length);
  384. };
  385. [
  386. object,
  387. uuid(9F76FF06-8E92-11d1-8808-00C04FC2C602),
  388. helpstring("I_dxj_DPLConnection Interface"),
  389. pointer_default(unique),
  390. local,
  391. helpcontext(300400)
  392. ]
  393. interface I_dxj_DPLConnection : IUnknown
  394. {
  395. import "oaidl.idl";
  396. [hidden] HRESULT getConnectionStruct([out] long *connect);
  397. [hidden] HRESULT setConnectionStruct([in] long connect);
  398. [helpcontext(300401)] HRESULT setFlags([in] dplConnectionFlags flags);
  399. [helpcontext(300402)] HRESULT getFlags([out,retval] dplConnectionFlags *ret);
  400. [helpcontext(300403)] HRESULT setSessionDesc([in] I_dxj_DirectPlaySessionData *sessionDesc);
  401. [helpcontext(300404)] HRESULT getSessionDesc([out,retval] I_dxj_DirectPlaySessionData **sessionDesc);
  402. [helpcontext(300405)] HRESULT setGuidSP([in] BSTR guid);
  403. [helpcontext(300406)] HRESULT getGuidSP([out,retval] BSTR *guid);
  404. [helpcontext(300407)] HRESULT setAddress([in] I_dxj_DPAddress *address);
  405. [helpcontext(300408)] HRESULT getAddress([out,retval] I_dxj_DPAddress **address);
  406. [helpcontext(300409)] HRESULT setPlayerShortName([in] BSTR name);
  407. [helpcontext(300410)] HRESULT getPlayerShortName([out,retval] BSTR *name);
  408. [helpcontext(300411)] HRESULT setPlayerLongName([in] BSTR name);
  409. [helpcontext(300412)] HRESULT getPlayerLongName([out,retval] BSTR *name);
  410. };
  411. [
  412. object,
  413. uuid(9F76FF0A-8E92-11d1-8808-00C04FC2C602),
  414. helpstring("I_dxj_DPEnumConnections Interface"),
  415. pointer_default(unique),
  416. local,
  417. helpcontext(300600)
  418. ]
  419. interface I_dxj_DPEnumConnections : IUnknown
  420. {
  421. import "oaidl.idl";
  422. [helpcontext(300601)] HRESULT getAddress([in] long index, [out,retval] I_dxj_DPAddress **retV);
  423. [helpcontext(300602)] HRESULT getFlags([in] long index, [out,retval] long *retV);
  424. [helpcontext(300603)] HRESULT getGuid([in] long index, [out,retval] BSTR *retV);
  425. [helpcontext(300604)] HRESULT getName([in] long index, [out,retval] BSTR *retV);
  426. [helpcontext(300605)] HRESULT getCount([out,retval]long *count);
  427. };
  428. [
  429. object,
  430. uuid(9F76FF0B-8E92-11d1-8808-00C04FC2C602),
  431. helpstring("I_dxj_DPEnumPlayers2 Interface"),
  432. pointer_default(unique),
  433. local,
  434. helpcontext(300800)
  435. ]
  436. interface I_dxj_DPEnumPlayers2 : IUnknown
  437. {
  438. import "oaidl.idl";
  439. [helpcontext(300801)] HRESULT getCount([out,retval]long *count);
  440. [helpcontext(300802)] HRESULT getFlags([in] long index, [out,retval]long *count);
  441. [helpcontext(300803)] HRESULT getType([in] long index, [out,retval]long *count);
  442. [helpcontext(300804)] HRESULT getDPID([in] long index, [out,retval]long *count);
  443. [helpcontext(300805)] HRESULT getShortName([in] long index, [out,retval] BSTR *retV);
  444. [helpcontext(300806)] HRESULT getLongName([in] long index, [out,retval] BSTR *retV);
  445. };
  446. [
  447. object,
  448. uuid(9F76FF0C-8E92-11d1-8808-00C04FC2C602),
  449. helpstring("I_dxj_DPEnumSessions2 Interface"),
  450. pointer_default(unique),
  451. local,
  452. helpcontext(301000)
  453. ]
  454. interface I_dxj_DPEnumSessions2 : IUnknown
  455. {
  456. import "oaidl.idl";
  457. [helpcontext(301001)] HRESULT getItem( [in]long index, [out,retval] I_dxj_DirectPlaySessionData **retval);
  458. [helpcontext(301002)] HRESULT getCount([out,retval]long *count);
  459. };
  460. [
  461. object,
  462. uuid(9F76FF0D-8E92-11d1-8808-00C04FC2C602),
  463. helpstring("I_dxj_DPEnumServiceProviders Interface"),
  464. pointer_default(unique),
  465. hidden,
  466. local,
  467. helpcontext(301200)
  468. ]
  469. interface I_dxj_DPEnumServiceProviders : IUnknown
  470. {
  471. import "oaidl.idl";
  472. [helpcontext(301201)] HRESULT getCount([out,retval]long *count);
  473. [helpcontext(301202)] HRESULT getName([in] long index,[out,retval] BSTR *ret);
  474. [helpcontext(301203)] HRESULT getGuid([in] long index,[out,retval] BSTR *ret);
  475. [helpcontext(301204)] HRESULT getVersion([in] long index,[in] long *majorVersion,[in,out] long *minorVersion);
  476. };
  477. [
  478. object,
  479. uuid(9F76FF0E-8E92-11d1-8808-00C04FC2C602),
  480. helpstring("I_dxj_DPEnumLocalApplications Interface"),
  481. pointer_default(unique),
  482. local,
  483. helpcontext(301400)
  484. ]
  485. interface I_dxj_DPEnumLocalApplications : IUnknown
  486. {
  487. import "oaidl.idl";
  488. [helpcontext(301401)] HRESULT getCount([out,retval]long *count);
  489. [helpcontext(301402)] HRESULT getName([in] long index,[out,retval] BSTR *ret);
  490. [helpcontext(301403)] HRESULT getGuid([in] long index,[out,retval] BSTR *ret);
  491. };
  492. [
  493. object,
  494. uuid(9F76FF11-8E92-11d1-8808-00C04FC2C602),
  495. helpstring("I_dxj_DirectPlayMessage Interface"),
  496. pointer_default(unique),
  497. local,
  498. helpcontext(301600)
  499. ]
  500. interface I_dxj_DirectPlayMessage : IUnknown
  501. {
  502. import "oaidl.idl";
  503. [helpcontext(301601)] HRESULT writeGuid([in] BSTR val);
  504. [helpcontext(301602)] HRESULT readGuid([out,retval] BSTR *val);
  505. [helpcontext(301603)] HRESULT writeString([in] BSTR val);
  506. [helpcontext(301604)] HRESULT readString([out,retval] BSTR *val);
  507. [helpcontext(301605)] HRESULT writeLong([in] long val);
  508. [helpcontext(301606)] HRESULT readLong([out,retval] long *val);
  509. [helpcontext(301607)] HRESULT writeShort([in] short val);
  510. [helpcontext(301608)] HRESULT readShort([out,retval] short *val);
  511. [helpcontext(301609)] HRESULT writeSingle([in] float val);
  512. [helpcontext(301610)] HRESULT readSingle([out,retval] float *val);
  513. [helpcontext(301611)] HRESULT writeDouble([in] double val);
  514. [helpcontext(301612)] HRESULT readDouble([out,retval] double *val);
  515. [helpcontext(301613)] HRESULT writeByte([in] Byte val);
  516. [helpcontext(301614)] HRESULT readByte([out,retval] Byte *val);
  517. [helpcontext(301615)] HRESULT moveToTop();
  518. [helpcontext(301616)] HRESULT clear();
  519. [helpcontext(301617)] HRESULT getMessageSize([out,retval] long *ret);
  520. [helpcontext(301618)] HRESULT getMessageData([in,out] void *userDefinedType);
  521. [helpcontext(301619)] HRESULT setMessageData([in] void *userDefinedType,[in] long size);
  522. [hidden] HRESULT getPointer([out,retval] long *ret);
  523. //new methods need to be put in master help id list
  524. [helpcontext(301620)] HRESULT readSysMsgConnection([out,retval] I_dxj_DPLConnection **ret);
  525. [helpcontext(301621), hidden] HRESULT readSysMsgSessionDesc([out,retval] I_dxj_DirectPlaySessionData **ret);
  526. [helpcontext(301622), hidden] HRESULT readSysMsgData([out,retval] BSTR *ret);
  527. [helpcontext(301623)] HRESULT readSysChatString([out,retval] BSTR *ret);
  528. [helpcontext(301624)] HRESULT moveToSecureMessage ();
  529. };
  530. [
  531. object,
  532. uuid(9F76FF12-8E92-11d1-8808-00C04FC2C602),
  533. helpstring("I_dxj_DirectPlaySessionData Interface"),
  534. pointer_default(unique),
  535. local,
  536. helpcontext(301800)
  537. ]
  538. interface I_dxj_DirectPlaySessionData : IUnknown
  539. {
  540. import "oaidl.idl";
  541. [helpcontext(301801)] HRESULT setGuidInstance([in] BSTR guid);
  542. [helpcontext(301802)] HRESULT getGuidInstance([out,retval] BSTR *guid);
  543. [helpcontext(301803)] HRESULT setGuidApplication([in] BSTR guid);
  544. [helpcontext(301804)] HRESULT getGuidApplication([out,retval] BSTR *guid);
  545. [helpcontext(301805)] HRESULT setMaxPlayers([in] long val);
  546. [helpcontext(301806)] HRESULT getMaxPlayers([out,retval] long *val);
  547. [hidden,helpcontext(301807)] HRESULT setCurrentPlayers([in] long val);
  548. [helpcontext(301808)] HRESULT getCurrentPlayers([out,retval] long *val);
  549. [helpcontext(301809)] HRESULT setSessionName([in] BSTR val);
  550. [helpcontext(301810)] HRESULT getSessionName([out,retval] BSTR *val);
  551. [helpcontext(301811)] HRESULT setSessionPassword([in] BSTR val);
  552. [helpcontext(301812)] HRESULT getSessionPassword([out,retval] BSTR *val);
  553. [helpcontext(301813)] HRESULT setUser1([in] long val);
  554. [helpcontext(301814)] HRESULT getUser1([out,retval] long *val);
  555. [helpcontext(301815)] HRESULT setUser2([in] long val);
  556. [helpcontext(301816)] HRESULT getUser2([out,retval] long *val);
  557. [helpcontext(301817)] HRESULT setUser3([in] long val);
  558. [helpcontext(301818)] HRESULT getUser3([out,retval] long *val);
  559. [helpcontext(301819)] HRESULT setUser4([in] long val);
  560. [helpcontext(301820)] HRESULT getUser4([out,retval] long *val);
  561. [helpcontext(301821)] HRESULT setFlags([in] dpSessionFlags val);
  562. [helpcontext(301822)] HRESULT getFlags([out,retval] long *val);
  563. [hidden,helpcontext(301823)] HRESULT getData([out] void *val);
  564. };
  565. [
  566. object,
  567. uuid(9F76FF0F-8E92-11d1-8808-00C04FC2C602),
  568. helpstring("IDirectPlay4 Interface"),
  569. pointer_default(unique),
  570. local,
  571. helpcontext(302000)
  572. ]
  573. interface I_dxj_DirectPlay4 : IUnknown
  574. {
  575. import "oaidl.idl";
  576. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  577. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  578. //
  579. // *** I_dxj_DirectPlay4 methods ***
  580. //
  581. [helpcontext(302001)] HRESULT addGroupToGroup([in] long ParentGroupId, [in] long GroupId);
  582. [helpcontext(302002)] HRESULT addPlayerToGroup([in] long groupId, [in] long playerId);
  583. [helpcontext(302003)] HRESULT cancelMessage([in] long msgid); //FLAGS ALWAYS 0
  584. [helpcontext(302004)] HRESULT cancelPriority([in] long minPrority ,[in] long maxPriority); //FLAGS ALWAYS 0
  585. [helpcontext(302005)] HRESULT close();
  586. [helpcontext(302006)] HRESULT createGroup([in] BSTR friendlyName, [in] BSTR formalName, [in] dpGroupFlags flags,
  587. [out,retval] long *v1);
  588. [helpcontext(302007)] HRESULT createGroupInGroup([in] long parentid,[in] BSTR friendlyName, [in] BSTR formalName,
  589. [in] dpGroupFlags flags, [out,retval] long *v1);
  590. [helpcontext(302008)] HRESULT createPlayer([in] BSTR friendlyName, [in] BSTR formalName,
  591. [in] long receiveEvent, [in] dpPlayerFlags flags,
  592. [out,retval] long *v1);
  593. [helpcontext(302009)] HRESULT deleteGroupFromGroup([in] long groupParentId, [in] long groupId);
  594. [helpcontext(302010)] HRESULT deletePlayerFromGroup([in] long groupId, [in] long playerId);
  595. [helpcontext(302011)] HRESULT destroyGroup([in] long groupId);
  596. [helpcontext(302012)] HRESULT destroyPlayer([in] long playerId);
  597. [helpcontext(302013)] HRESULT getDPEnumConnections([in] BSTR guid,[in] dpEnumConnectionFlags flags, [out,retval] I_dxj_DPEnumConnections **retVal);
  598. [helpcontext(302014)] HRESULT getDPEnumGroupPlayers([in] long groupId, [in] BSTR sessionGuid, [in] dpEnumPlayerFlags flags, [out,retval] I_dxj_DPEnumPlayers2 **retVal);
  599. [helpcontext(302015)] HRESULT getDPEnumGroups( [in] BSTR sessionGuid, [in] dpEnumGroupFlags flags, [out,retval] I_dxj_DPEnumPlayers2 **retVal);
  600. [helpcontext(302016)] HRESULT getDPEnumGroupsInGroup( [in] long groupId,[in] BSTR sessionGuid, [in] dpEnumGroupFlags flags, [out,retval] I_dxj_DPEnumPlayers2 **retVal);
  601. [helpcontext(302017)] HRESULT getDPEnumPlayers( [in] BSTR sessionGuid, [in] dpEnumPlayerFlags flags, [out,retval] I_dxj_DPEnumPlayers2 **retVal);
  602. [helpcontext(302018)] HRESULT getDPEnumSessions([in] I_dxj_DirectPlaySessionData *sessionDesc, [in] long timeOut, [in] dpEnumSessionFlags flags, [out,retval] I_dxj_DPEnumSessions2 **retVal);
  603. [helpcontext(302019)] HRESULT getCaps([in,out] DPCAPS_CDESC *caps, [in] dpGetCapsFlags flags);
  604. [helpcontext(302020)] HRESULT getGroupData([in] long groupId,[in] dpGetFlags flags,[out,retval] BSTR *ret);
  605. [helpcontext(302021)] HRESULT getGroupFlags([in] long groupId, [out,retval] dpGroupFlags * flags);
  606. [helpcontext(302022)] HRESULT getGroupLongName([in] long groupId, [out,retval] BSTR *name);
  607. [helpcontext(302023)] HRESULT getGroupShortName([in] long groupId, [out,retval] BSTR *name);
  608. [helpcontext(302024)] HRESULT getGroupParent([in] long groupId,[out,retval] long* ret);
  609. [helpcontext(302025)] HRESULT getGroupOwner([in] long groupId, [out,retval] long * ret);
  610. [helpcontext(302026)] HRESULT getMessageCount([in] long playerId, [out,retval] long *count);
  611. [helpcontext(302027)] HRESULT getMessageQueue([in] long from, [in] long to, [in] dpMessageQueueFlags flags, [in,out] long *nMessage,[in,out] long *nBytes);
  612. [helpcontext(302028)] HRESULT getPlayerAccountId([in] long playerid,[out,retval] BSTR *acctid);
  613. [helpcontext(302029)] HRESULT getPlayerAddress([in] long playerId, [out,retval] I_dxj_DPAddress **ret);
  614. [helpcontext(302030)] HRESULT getPlayerCaps([in] long playerId, [out] DPCAPS_CDESC *caps, [in] dpGetCapsFlags flags);
  615. [helpcontext(302031)] HRESULT getPlayerData([in] long playerId, [in] dpGetFlags flags, [out,retval] BSTR *ret);
  616. [helpcontext(302032)] HRESULT getPlayerFlags([in] long playerid,[out,retval] dpPlayerFlags *retflags);
  617. // docdoc GetPlayerName replaced by two below.
  618. [helpcontext(302033)] HRESULT getPlayerFormalName([in] long playerId, [out,retval] BSTR *name);
  619. [helpcontext(302034)] HRESULT getPlayerFriendlyName([in] long playerId, [out,retval] BSTR *name);
  620. [helpcontext(302035)] HRESULT getSessionDesc([in,out] I_dxj_DirectPlaySessionData **sessionDesc);
  621. [helpcontext(302036)] HRESULT initializeConnection([in] I_dxj_DPAddress *address); //flags not used
  622. [helpcontext(302037)] HRESULT open([in,out] I_dxj_DirectPlaySessionData *sessionDesc,
  623. [in] dpOpenFlags flags); //flags must be zero
  624. [helpcontext(302038)] HRESULT receive([in, out] long* fromPlayerId, [in, out] long* toPlayerId,
  625. [in] dpReceiveFlags flags, [out,retval] I_dxj_DirectPlayMessage **ret);
  626. [hidden,helpcontext(302039)] HRESULT receiveSize([in, out] long* fromPlayerId, [in, out] long* toPlayerId,
  627. [in] dpReceiveFlags flags, [out,retval] int* dataSize);
  628. [helpcontext(302040)] HRESULT secureOpen(
  629. [in] I_dxj_DirectPlaySessionData *sessiondesc,
  630. [in] dpOpenFlags flags,
  631. [in] DPSECURITYDESC_CDESC *security,
  632. [in] DPCREDENTIALS_CDESC *credentials);
  633. [helpcontext(302041)] HRESULT send([in] long fromPlayerId, [in] long toPlayerId,
  634. [in] dpSendFlags flags, [in] I_dxj_DirectPlayMessage *msg);
  635. [helpcontext(302042)] HRESULT sendChatMessage([in] long fromPlayerId, [in] long toPlayerId,
  636. [in] dpSendFlags flags, [in] BSTR message);
  637. [helpcontext(302043)] HRESULT sendEx([in] long fromPlayerId, [in] long toPlayerId,
  638. [in] dpSendFlags flags, [in] I_dxj_DirectPlayMessage *msg, [in] long priority,
  639. [in] long timeout, [in] long context,[out,retval] long *messageid);
  640. [helpcontext(302044)] HRESULT createMessage([out,retval] I_dxj_DirectPlayMessage **msg);
  641. [helpcontext(302045)] HRESULT setGroupConnectionSettings([in] long id,[in] I_dxj_DPLConnection *connection); //flags must be zero
  642. [helpcontext(302046)] HRESULT setGroupData([in] long groupId, [in] BSTR data, [in] dpSetFlags flags);
  643. [helpcontext(302047)] HRESULT setGroupName([in] long groupId, [in] BSTR friendlyName,
  644. [in] BSTR formalName, [in] dpSetFlags flags);
  645. [helpcontext(302048)] HRESULT setGroupOwner([in] long groupId, [in] long ownerId);
  646. [helpcontext(302049)] HRESULT setPlayerData([in] long playerId, [in] BSTR data, [in] dpSetFlags flags);
  647. [helpcontext(302050)] HRESULT setPlayerName([in] long playerId, [in] BSTR friendlyName, [in] BSTR formalName, [in] dpSetFlags flags);
  648. [helpcontext(302051)] HRESULT setSessionDesc([in] I_dxj_DirectPlaySessionData *sessionDesc); //flags not used
  649. [helpcontext(302052)] HRESULT startSession([in] long id); //flags not used
  650. [helpcontext(302053)] HRESULT createSessionData([out,retval] I_dxj_DirectPlaySessionData **sessionDesc);
  651. };
  652. [
  653. object,
  654. uuid(9F76FF10-8E92-11d1-8808-00C04FC2C602),
  655. helpstring("I_dxj_DirectPlayLobby3 Interface"),
  656. pointer_default(unique),
  657. local,
  658. helpcontext(302200)
  659. ]
  660. interface I_dxj_DirectPlayLobby3 : IUnknown
  661. {
  662. import "oaidl.idl";
  663. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  664. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  665. [helpcontext(302201)] HRESULT connect([in] dpConnectFlags flags, [out,retval] I_dxj_DirectPlay4 **directPlay);
  666. [helpcontext(302202)] HRESULT getDPEnumLocalApplications( [out,retval] I_dxj_DPEnumLocalApplications **retVal); //flags are zero
  667. [helpcontext(302203)] HRESULT getConnectionSettings([in] long applicationId,
  668. [out,retval] I_dxj_DPLConnection **connection);
  669. [helpcontext(302204)] HRESULT receiveLobbyMessage([in] long applicationId,
  670. [in,out] long *messageFlags,
  671. [out,retval] I_dxj_DirectPlayMessage **data);
  672. [hidden,helpcontext(302205)] HRESULT receiveLobbyMessageSize([in] long applicationId,
  673. [in,out] long *messageFlags,
  674. [out,retval] long *dataSize);
  675. //TODO CONSIDER CHANGING THIS!!!
  676. [helpcontext(302206)] HRESULT runApplication(
  677. [in] I_dxj_DPLConnection *connection,
  678. [in] long receiveEvent,
  679. [out,retval] long * applicationId);
  680. [helpcontext(302207)] HRESULT sendLobbyMessage([in] dplMsg flags,
  681. [in] long applicationId,
  682. [in] I_dxj_DirectPlayMessage *msg);
  683. [helpcontext(302208)] HRESULT setConnectionSettings([in] long applicationId,
  684. [in] I_dxj_DPLConnection *connection);
  685. [helpcontext(302209)] HRESULT setLobbyMessageEvent([in] long applicationId, [in] long receiveEvent);
  686. [helpcontext(302210)] HRESULT registerApplication( [in] DPAPPLICATIONDESC2_CDESC *ApplicationInfo);
  687. [helpcontext(302211)] HRESULT unregisterApplication( [in] BSTR guidApplication);
  688. [helpcontext(302212)] HRESULT waitForConnectionSettings([in] dplWait flags);
  689. [helpcontext(302213)] HRESULT createMessage([out,retval] I_dxj_DirectPlayMessage **msg);
  690. [helpcontext(302214)] HRESULT createConnectionData([out,retval] I_dxj_DPLConnection **connection);
  691. [helpcontext(302215)] HRESULT createINetAddress([in] BSTR addr,[in] int port,[out,retval] I_dxj_DPAddress **ret);
  692. [helpcontext(302216)] HRESULT createComPortAddress([in] long port,[in] long baudRate, [in] long stopBits, [in] long parity, [in] long flowcontrol,[out,retval] I_dxj_DPAddress **ret);
  693. [helpcontext(302217)] HRESULT createLobbyProviderAddress([in] BSTR guid,[out,retval] I_dxj_DPAddress **ret);
  694. [helpcontext(302218)] HRESULT createServiceProviderAddress([in] BSTR guid,[out,retval] I_dxj_DPAddress **ret);
  695. [helpcontext(302219)] HRESULT createModemAddress([in] BSTR modem, [in] BSTR phone, [out,retval] I_dxj_DPAddress **ret);
  696. [helpcontext(302220)] HRESULT createIPXAddress([out,retval] I_dxj_DPAddress **ret);
  697. [helpcontext(302221),hidden] HRESULT createCustomAddress([in] long size, [in] void *data,[out,retval] I_dxj_DPAddress **ret);
  698. [helpcontext(302222)] HRESULT getModemName([in] long index,[out,retval] BSTR *name);
  699. [helpcontext(302223)] HRESULT getModemCount([out,retval] long *count);
  700. };
  701. ///////////////////////////////////////////////////////////////////////////
  702. //
  703. // RM INTERFACE CALLBACKS
  704. //
  705. ///////////////////////////////////////////////////////////////////////////
  706. [ object,
  707. uuid(BBD5AD04-8E91-11d1-8808-00C04FC2C602), // Direct44
  708. helpstring("I_dxj_Direct3dRMEnumerateObjectsCallback Interface"),
  709. pointer_default(unique),
  710. helpcontext(302400)
  711. ]
  712. interface I_dxj_Direct3dRMEnumerateObjectsCallback : IUnknown
  713. {
  714. import "oaidl.idl";
  715. [helpcontext(302401)] HRESULT callbackRMEnumerateObjects([in] I_dxj_Direct3dRMObject *object, [in] USERARG *userArgument);
  716. };
  717. [ object,
  718. uuid(BBD5AD03-8E91-11d1-8808-00C04FC2C602), //Direct54
  719. helpstring("I_dxj_Direct3dRMCallback Interface"),
  720. pointer_default(unique),
  721. helpcontext(302600)
  722. ]
  723. interface I_dxj_Direct3dRMCallback : IUnknown
  724. {
  725. import "oaidl.idl";
  726. // This function is called after the object has been destroyed,
  727. // so this function cannot be called with the object as argument.
  728. [helpcontext(302601)] HRESULT callbackRMDestroyObject([in] USERARG *args);
  729. };
  730. /*
  731. [ object,
  732. uuid(BBD5AD06-8E91-11d1-8808-00C04FC2C602),
  733. helpstring("I_dxj_Direct3dRMUserVisualCallback Interface"),
  734. pointer_default(unique),
  735. helpcontext(302800)
  736. ]
  737. interface I_dxj_Direct3dRMUserVisualCallback : IUnknown
  738. {
  739. import "oaidl.idl";
  740. [helpcontext(302801)] HRESULT callbackRMUserVisual([in] I_dxj_Direct3dRMUserVisual *uv,
  741. [in] USERARG *userArgument, [in] d3drmUserVisualReason r,
  742. [in] I_dxj_Direct3dRMDevice3 *d, [in] I_dxj_Direct3dRMViewport2 *v, [out,retval] dxBool *retv);
  743. };
  744. */
  745. ///////////////////////////////////////////////////////////////////////////
  746. [ object,
  747. uuid(BBD5AD0A-8E91-11d1-8808-00C04FC2C602),
  748. helpstring("I_dxj_Direct3dRMLoadCallback Interface"),
  749. pointer_default(unique),
  750. helpcontext(303000)
  751. ]
  752. interface I_dxj_Direct3dRMLoadCallback : IUnknown
  753. {
  754. import "oaidl.idl";
  755. [helpcontext(303001)] HRESULT callbackRMLoad([in] I_dxj_Direct3dRMObject **Obj, [in] BSTR guid, [in] USERARG *userArgument);
  756. };
  757. ///////////////////////////////////////////////////////////////////////////
  758. [ object,
  759. uuid(BBD5AD16-8E91-11d1-8808-00C04FC2C602),
  760. helpstring("I_dxj_Direct3dRMLoadTextureCallback3 Interface"),
  761. pointer_default(unique),
  762. helpcontext(303200)
  763. ]
  764. interface I_dxj_Direct3dRMLoadTextureCallback3 : IUnknown
  765. {
  766. import "oaidl.idl";
  767. [helpcontext(303201)] HRESULT callbackRMLoadTexture([in] BSTR textureName, [in] USERARG *userArgument,
  768. [out, retval] I_dxj_Direct3dRMTexture3 **retv);
  769. };
  770. ///////////////////////////////////////////////////////////////////////////
  771. //
  772. // Direct3DIM
  773. //
  774. ///////////////////////////////////////////////////////////////////////////
  775. [
  776. object,
  777. uuid(9F76FDD5-8E92-11d1-8808-00C04FC2C602),
  778. helpstring("I_dxj_Direct3d7 Interface"),
  779. pointer_default(unique),
  780. local,
  781. helpcontext(303400)
  782. ]
  783. interface I_dxj_Direct3d7 : IUnknown
  784. {
  785. import "oaidl.idl";
  786. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  787. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  788. [helpcontext(303401)] HRESULT createDevice([in] BSTR guid, I_dxj_DirectDrawSurface7 *surf, [out, retval] I_dxj_Direct3dDevice7 **ret);
  789. [helpcontext(303402)] HRESULT createVertexBuffer([in] D3DVERTEXBUFFERDESC_CDESC *desc,[in] d3ddpFlags flags,[out,retval] I_dxj_Direct3dVertexBuffer7 **f);
  790. [helpcontext(303403)] HRESULT evictManagedTextures();
  791. [helpcontext(303404)] HRESULT getDevicesEnum([out,retval] I_dxj_Direct3DEnumDevices **retv);
  792. [helpcontext(303405)] HRESULT getDirectDraw([out,retval] I_dxj_DirectDraw7 **retv);
  793. [helpcontext(303406)] HRESULT getEnumZBufferFormats([in] BSTR guid, [out,retval] I_dxj_Direct3DEnumPixelFormats **retv);
  794. };
  795. [
  796. object,
  797. local,
  798. uuid(9F76FDD7-8E92-11d1-8808-00C04FC2C602),
  799. helpstring("I_dxj_Direct3dDevice7 Interface"),
  800. pointer_default(unique),
  801. helpcontext(303600)
  802. ]
  803. interface I_dxj_Direct3dDevice7 : IUnknown
  804. {
  805. import "oaidl.idl";
  806. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  807. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  808. [helpcontext(303601)] HRESULT applyStateBlock([in] long blockHandle);
  809. [helpcontext(303602)] HRESULT beginScene();
  810. [helpcontext(303603)] HRESULT beginStateBlock();
  811. [helpcontext(303604)] HRESULT captureStateBlock([in] long blockHandle);
  812. [helpcontext(303605)] HRESULT clear([in] long count, [in] SAFEARRAY(D3DRECT_CDESC) *recs, [in] d3dClearFlags flags, [in] long color,[in] float z,[in] long stencil);
  813. [helpcontext(303606)] HRESULT computeSphereVisibility(D3DVECTOR_CDESC *center,float *radius ,[out,retval] long *returnVal);
  814. [helpcontext(303607)] HRESULT deleteStateBlock([in] long blockHandle);
  815. [helpcontext(303608)] HRESULT drawIndexedPrimitive(
  816. [in] d3dPrimitiveType d3dpt,[in] d3dFVFFlags d3dfvf,
  817. [in] AVERT *vertices,[in] long VertexCount,
  818. [in] SAFEARRAY(short) *indices, [in] long IndicesCount,
  819. [in] d3ddpFlags flags);
  820. [helpcontext(303609)] HRESULT drawIndexedPrimitiveVB([in] d3dPrimitiveType d3dpt,
  821. [in] I_dxj_Direct3DVertexBuffer7 *vertexBuffer,
  822. [in] long startVertex,
  823. [in] long numVertices,
  824. [in] SAFEARRAY(short) *indexArray,
  825. [in] long indexcount,
  826. [in] d3ddpFlags flags);
  827. [helpcontext(303610)] HRESULT drawPrimitive(
  828. [in] d3dPrimitiveType d3dpt,[in] d3dFVFFlags d3dfvf,
  829. [in] AVERT *vertices, [in] long VertexCount,
  830. [in] d3ddpFlags flags);
  831. [helpcontext(303611)] HRESULT drawPrimitiveVB([in] d3dPrimitiveType d3dpt,
  832. [in] I_dxj_Direct3DVertexBuffer7 *vertexBuffer,
  833. [in] long startVertex,
  834. [in] long numVertices,
  835. [in] d3ddpFlags flags);
  836. //[helpcontext(303612)] HRESULT duplicateStateBlock([in] long hndl,[out,retval] long * ret);
  837. [helpcontext(303613)] HRESULT endScene();
  838. [helpcontext(303614)] HRESULT endStateBlock([in] long *blockHandle);
  839. [helpcontext(303615)] HRESULT getCaps( [in,out] D3DDEVICEDESC7_CDESC *desc);
  840. [helpcontext(303616)] HRESULT getClipStatus( [in,out] D3DCLIPSTATUS_CDESC *clipStatus);
  841. [helpcontext(303617)] HRESULT getDirect3D( [out, retval] I_dxj_Direct3d7 **dev);
  842. [helpcontext(303618)] HRESULT getLight([in] long LightIndex, [in,out] D3DLIGHT7_CDESC *Light);
  843. [helpcontext(303619)] HRESULT getLightEnable([in] long LightIndex, [out,retval] VARIANT_BOOL *b);
  844. [helpcontext(303620)] HRESULT getMaterial([in,out] D3DMATERIAL7_CDESC *Material);
  845. [helpcontext(303621)] HRESULT getRenderState([in]d3dRenderStateType state ,[out,retval] long *renderstate);
  846. [helpcontext(303622)] HRESULT getRenderTarget([out,retval] I_dxj_DirectDrawSurface7 **ppval);
  847. [helpcontext(303623)] HRESULT getTexture([in] long stage,[out,retval] I_dxj_DirectDrawSurface7 **retv);
  848. [helpcontext(303624)] HRESULT getTextureFormatsEnum([out,retval] I_dxj_Direct3DEnumPixelFormats **retval);
  849. [helpcontext(303625)] HRESULT getTextureStageState([in]long stage,[in] d3dTextureStageStateType state,[out,retval] long *val);
  850. [helpcontext(303626)] HRESULT getTransform([in] d3dTransformStateType transformType,[in,out] D3DMATRIX_CDESC *matrix);
  851. [helpcontext(303627)] HRESULT getViewport([in,out] D3DVIEWPORT7_CDESC *viewport);
  852. [helpcontext(303628)] HRESULT lightEnable([in] long LightIndex, [in] VARIANT_BOOL bEnable);
  853. [helpcontext(303629)] HRESULT load([in] I_dxj_DirectDrawSurface7 *DestTex,[in] long xDest, [in] long yDest,[in] I_dxj_DirectDrawSurface7 *SrcTex, [in] RECT_CDESC *rcSrcRect,[in] long flags);
  854. [helpcontext(303630)] HRESULT multiplyTransform([in] d3dTransformStateType dstTransfromStateType,[in,out] D3DMATRIX_CDESC *matrix);
  855. //[helpcontext(303631)] HRESULT overlayStateBlock([in] long blockHandle);
  856. [helpcontext(303632)] HRESULT preLoad([in] I_dxj_DirectDrawSurface7 *texture );
  857. [helpcontext(303633)] HRESULT setClipStatus( [in] D3DCLIPSTATUS_CDESC *clipStatus);
  858. [helpcontext(303634)] HRESULT setLight([in] long LightIndex, [in] D3DLIGHT7_CDESC *Light);
  859. [helpcontext(303635)] HRESULT setMaterial([in] D3DMATERIAL7_CDESC *mat);
  860. [helpcontext(303636)] HRESULT setRenderState([in]d3dRenderStateType state,[in] long renderstate);
  861. [helpcontext(303637)] HRESULT setRenderTarget([in] I_dxj_DirectDrawSurface7 *surface);
  862. [helpcontext(303638)] HRESULT setTexture([in] long stage,[in] I_dxj_DirectDrawSurface7 *texture);
  863. [helpcontext(303639)] HRESULT setTextureStageState([in]long stage,[in] d3dTextureStageStateType state,[in] long value);
  864. [helpcontext(303640)] HRESULT setTransform([in] d3dTransformStateType transformType,[in] D3DMATRIX_CDESC *matrix);
  865. [helpcontext(303641)] HRESULT setViewport([in] D3DVIEWPORT7_CDESC *viewport);
  866. [helpcontext(303642)] HRESULT validateDevice([out,retval] long *passes);
  867. [helpcontext(303643)] HRESULT setTextureStageStateSingle([in]long stage,[in] d3dTextureStageSingle state,[in] float value);
  868. [helpcontext(303644)] HRESULT getTextureStageStateSingle([in]long stage,[in] d3dTextureStageSingle state,[out,retval] float *val);
  869. [helpcontext(303645)] HRESULT getInfo([in] d3dDevInfoId lDevInfoID,[in,out] void * DevInfoType,[in] long lSize);
  870. [helpcontext(303646)] HRESULT setRenderStateSingle([in]d3dRenderStateSingle state,[in] float val);
  871. [helpcontext(303647)] HRESULT getRenderStateSingle([in]d3dRenderStateSingle state ,[out,retval] float *val);
  872. [helpcontext(303648)] HRESULT getDeviceGuid([out,retval] BSTR *ret);
  873. //check help
  874. [helpcontext(303649)] HRESULT createStateBlock([in] d3dStateBlockType d3dsbType, [out,retval] long *blockHandle);
  875. [helpcontext(303650)] HRESULT setClipPlane([in] long Index, [in] float A, [in] float B ,[in] float C, [in] float D);
  876. [helpcontext(303651)] HRESULT getClipPlane([in] long Index, [in,out] float *A, [in,out] float *B ,[in,out] float *C, [in,out] float *D);
  877. };
  878. [
  879. object,
  880. uuid(9F76FDDA-8E92-11d1-8808-00C04FC2C602),
  881. helpstring("I_dxj_Direct3dVertexBuffer7 Interface"),
  882. pointer_default(unique),
  883. local,
  884. helpcontext(303800)
  885. ]
  886. interface I_dxj_Direct3dVertexBuffer7 : IUnknown
  887. {
  888. import "oaidl.idl";
  889. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  890. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  891. [helpcontext(303801)] HRESULT getVertexBufferDesc([in,out] D3DVERTEXBUFFERDESC_CDESC *desc);
  892. [helpcontext(303802)] HRESULT getVertices([in] long startIndex, [in] long count,[in] void *verts);
  893. [helpcontext(303803)] HRESULT lock([in] ddLockFlags flags);
  894. [helpcontext(303804)] HRESULT optimize([in] I_dxj_Direct3dDevice7 *dev); //flags not used
  895. [helpcontext(303805)] HRESULT processVertices([in] d3dVopFlags vertexOp,
  896. [in] long destIndex,
  897. [in] long count,
  898. [in] I_dxj_Direct3dVertexBuffer7 *srcBuffer,
  899. [in] long srcIndex,
  900. [in] I_dxj_Direct3dDevice7 *dev,
  901. [in] d3dProcessVerticesFlags flags); //has flags set to zero
  902. [helpcontext(303806)] HRESULT setVertices([in] long startIndex, [in] long count,[in] void *verts);
  903. [helpcontext(303807)] HRESULT unlock();
  904. [hidden] HRESULT setVertexSize([in] long vertexSizeInBytes);
  905. };
  906. [
  907. object,
  908. uuid(9F76FDD6-8E92-11d1-8808-00C04FC2C602),
  909. helpstring("I_dxj_D3DEnumPixelFormats Interface"),
  910. pointer_default(unique),
  911. local,
  912. helpcontext(304000)
  913. ]
  914. interface I_dxj_Direct3DEnumPixelFormats : IUnknown{
  915. [helpcontext(304001)] HRESULT getItem([in] long index, [in,out] DDPIXELFORMAT_CDESC *pixelFormat);
  916. [helpcontext(304002)] HRESULT getCount([out,retval] long *count);
  917. };
  918. [
  919. object,
  920. uuid(9F76FDD3-8E92-11d1-8808-00C04FC2C602),
  921. helpstring("I_dxj_Direct3DEnumDevices Interface"),
  922. pointer_default(unique),
  923. local,
  924. helpcontext(304200)
  925. ]
  926. interface I_dxj_Direct3DEnumDevices : IUnknown
  927. {
  928. import "oaidl.idl";
  929. [helpcontext(304201)] HRESULT getGuid([in] long index,[out,retval] BSTR *guid);
  930. [helpcontext(304202)] HRESULT getDescription([in] long index,[out,retval] BSTR *guid);
  931. [helpcontext(304203)] HRESULT getName([in] long index,[out,retval] BSTR *guid);
  932. [helpcontext(304204)] HRESULT getDesc([in] long index, [in,out] D3DDEVICEDESC7_CDESC *hwDesc);
  933. [helpcontext(304205)] HRESULT getCount([out,retval]long *count);
  934. };
  935. ///////////////////////////////////////////////////////////////////////////
  936. //
  937. // Direct Draw Interfaces
  938. //
  939. ///////////////////////////////////////////////////////////////////////////
  940. [
  941. object,
  942. uuid(9F76FDC9-8E92-11d1-8808-00C04FC2C602),
  943. helpstring("I_dxj_DirectDrawPalette Interface"),
  944. pointer_default(unique),
  945. local,
  946. helpcontext(304400)
  947. ]
  948. interface I_dxj_DirectDrawPalette : IUnknown
  949. {
  950. import "oaidl.idl";
  951. [hidden] HRESULT InternalSetObject([in] IUnknown *lpddp);
  952. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpddp);
  953. [helpcontext(304401)] HRESULT getCaps( [out, retval] ddpCapsFlags *caps);
  954. [helpcontext(304402)] HRESULT getEntries([in] long start, [in] long count, [in,out] SAFEARRAY(APAL) *val);
  955. [helpcontext(304403)] HRESULT setEntries([in] long start, [in] long count, [in] SAFEARRAY(APAL) *val);
  956. [hidden] HRESULT setEntriesHalftone([in] long start, [in] long count);
  957. [hidden] HRESULT setEntriesSystemPalette([in] long start, [in] long count);
  958. };
  959. [
  960. object,
  961. uuid(9F76FDCA-8E92-11d1-8808-00C04FC2C602),
  962. helpstring("I_dxj_DirectDrawClipper Interface"),
  963. pointer_default(unique),
  964. local,
  965. helpcontext(304600)
  966. ]
  967. interface I_dxj_DirectDrawClipper : IUnknown
  968. {
  969. import "oaidl.idl";
  970. [hidden] HRESULT InternalSetObject([in] IUnknown *lpddc);
  971. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpddc);
  972. [helpcontext(304601)] HRESULT getClipListSize( [out, retval] int *count);
  973. [helpcontext(304602)] HRESULT getClipList([in,out] SAFEARRAY(RECT_CDESC) *rects );
  974. [helpcontext(304603)] HRESULT setClipList( [in] long count, [in] SAFEARRAY(RECT_CDESC) *rects );
  975. [helpcontext(304604)] HRESULT getHWnd([out, retval] HWnd *hdl);
  976. [helpcontext(304605)] HRESULT setHWnd( [in] HWnd hdl);
  977. [helpcontext(304606)] HRESULT isClipListChanged( [out, retval] int *status);
  978. };
  979. [
  980. object,
  981. uuid(9F76FDE0-8E92-11d1-8808-00C04FC2C602),
  982. helpstring("I_dxj_DirectDrawColorControl Interface"),
  983. pointer_default(unique),
  984. local,
  985. helpcontext(304800)
  986. ]
  987. interface I_dxj_DirectDrawColorControl : IUnknown
  988. {
  989. import "oaidl.idl";
  990. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdds);
  991. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdds);
  992. [helpcontext(304801)] HRESULT getColorControls([in,out]DDCOLORCONTROL_CDESC *colorControl);
  993. [helpcontext(304802)] HRESULT setColorControls([in]DDCOLORCONTROL_CDESC *colorControl);
  994. };
  995. [
  996. object,
  997. uuid(9F76FDE1-8E92-11d1-8808-00C04FC2C602),
  998. helpstring("I_dxj_DirectDrawEnum Interface"),
  999. pointer_default(unique),
  1000. local,
  1001. helpcontext(305000)
  1002. ]
  1003. interface I_dxj_DirectDrawEnum : IUnknown
  1004. {
  1005. import "oaidl.idl";
  1006. [helpcontext(305001)] HRESULT getGuid([in] long index,[out,retval] BSTR *guid);
  1007. [helpcontext(305002)] HRESULT getDescription([in] long index,[out,retval] BSTR *ret);
  1008. [helpcontext(305003)] HRESULT getName([in] long index,[out,retval] BSTR *ret);
  1009. [helpcontext(305004)] HRESULT getMonitorHandle([in] long index,[out,retval] long *ret);
  1010. [helpcontext(305005)] HRESULT getCount([out,retval]long *count);
  1011. };
  1012. [
  1013. object,
  1014. uuid(9F76FFFF-8E92-11d1-8808-00C04FC2C602),
  1015. helpstring("I_dxj_DirectDrawEnumModes Interface"),
  1016. pointer_default(unique),
  1017. local,
  1018. helpcontext(305200)
  1019. ]
  1020. interface I_dxj_DirectDrawEnumModes : IUnknown
  1021. {
  1022. import "oaidl.idl";
  1023. [helpcontext(305201)] HRESULT getItem( [in]long index, [in,out] DDSURFACEDESC2_CDESC *info);
  1024. [helpcontext(305202)] HRESULT getCount([out,retval]long *count);
  1025. };
  1026. [
  1027. object,
  1028. uuid(9F76FDE6-8E92-11d1-8808-00C04FC2C602),
  1029. helpstring("I_dxj_DirectDrawEnumSurfaces Interface"),
  1030. pointer_default(unique),
  1031. local,
  1032. helpcontext(305400)
  1033. ]
  1034. interface I_dxj_DirectDrawEnumSurfaces : IUnknown
  1035. {
  1036. import "oaidl.idl";
  1037. [helpcontext(305401)] HRESULT getItem( [in]long index, [out,retval] I_dxj_DirectDrawSurface7 **retVal);
  1038. [helpcontext(305402)] HRESULT getCount([out,retval]long *count);
  1039. };
  1040. [
  1041. object,
  1042. uuid(9F76FDE7-8E92-11d1-8808-00C04FC2C602),
  1043. helpstring("IDirectDraw7 Interface"),
  1044. pointer_default(unique),
  1045. local,
  1046. helpcontext(305600)
  1047. ]
  1048. interface I_dxj_DirectDraw7 : IUnknown
  1049. {
  1050. import "oaidl.idl";
  1051. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1052. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1053. [helpcontext(305601)] HRESULT createClipper([in] long flags, [out, retval] I_dxj_DirectDrawClipper **val);
  1054. [helpcontext(305602)] HRESULT createPalette([in] ddpCapsFlags flags, [in] SAFEARRAY(APAL) *pe, [out, retval] I_dxj_DirectDrawPalette **val);
  1055. [helpcontext(305603)] HRESULT createSurface([in] DDSURFACEDESC2_CDESC *dd, [out, retval] I_dxj_DirectDrawSurface7 **retv);
  1056. [helpcontext(305604)] HRESULT createSurfaceFromFile([in] BSTR file, [in,out] DDSURFACEDESC2_CDESC *dd, [out, retval] I_dxj_DirectDrawSurface7 **retv);
  1057. [helpcontext(305605)] HRESULT createSurfaceFromResource([in] BSTR file, [in] BSTR resName, [in,out] DDSURFACEDESC2_CDESC *ddsd, [out, retval] I_dxj_DirectDrawSurface7 **retv);
  1058. [helpcontext(305606)] HRESULT duplicateSurface([in] I_dxj_DirectDrawSurface7 *ddIn,[out, retval] I_dxj_DirectDrawSurface7 **ddOut);
  1059. [helpcontext(305607)] HRESULT flipToGDISurface();
  1060. [helpcontext(305608)] HRESULT getAvailableTotalMem([in] DDSCAPS2_CDESC *ddsCaps, [out, retval] long *m);
  1061. [helpcontext(305609)] HRESULT getCaps([in,out] DDCAPS_CDESC *hwCaps, [in,out] DDCAPS_CDESC *helCaps);
  1062. [helpcontext(305610)] HRESULT getDirect3D([out, retval] I_dxj_Direct3d7 **retv);
  1063. [helpcontext(305611)] HRESULT getDisplayMode( [in,out] DDSURFACEDESC2_CDESC *surface);
  1064. [helpcontext(305612)] HRESULT getDisplayModesEnum([in] ddedmFlags flags,[in] DDSURFACEDESC2_CDESC *ddsd,[out,retval] I_dxj_DirectDrawEnumModes **retval);
  1065. [helpcontext(305613)] HRESULT getFourCCCodes( [in,out] SAFEARRAY(long) *ccCodes);
  1066. [helpcontext(305614)] HRESULT getFreeMem( [in] DDSCAPS2_CDESC *ddsCaps, [out, retval] long *m);
  1067. [helpcontext(305615)] HRESULT getGDISurface( [out, retval] I_dxj_DirectDrawSurface7 **s);
  1068. [helpcontext(305616)] HRESULT getMonitorFrequency([out, retval] long *freq);
  1069. [helpcontext(305617)] HRESULT getNumFourCCCodes([out, retval] long *nCodes);
  1070. [helpcontext(305618)] HRESULT getScanLine([in,out] long *lines, [out, retval] long *status);
  1071. [helpcontext(305619)] HRESULT getSurfaceFromDC([in] long hdc,[out,retval] I_dxj_DirectDrawSurface7 **retv);
  1072. [helpcontext(305620)] HRESULT getSurfacesEnum([in] ddEnumSurfacesFlags flags, [in] DDSURFACEDESC2_CDESC *desc, [out,retval] I_dxj_DirectDrawEnumSurfaces **ret);
  1073. [helpcontext(305621)] HRESULT getVerticalBlankStatus([out, retval] long *status);
  1074. [helpcontext(305622)] HRESULT loadPaletteFromBitmap([in] BSTR bName, [out, retval] I_dxj_DirectDrawPalette **retv);
  1075. [helpcontext(305623)] HRESULT restoreAllSurfaces();
  1076. [helpcontext(305624)] HRESULT restoreDisplayMode();
  1077. [helpcontext(305625)] HRESULT setCooperativeLevel([in] HWnd hdl, [in] ddsclFlags flags);
  1078. [helpcontext(305626)] HRESULT setDisplayMode([in] long w, [in] long h, [in] long bpp, [in] long ref,[in] ddsdmFlags mode);
  1079. [helpcontext(305627)] HRESULT testCooperativeLevel([out,retval] long *status);
  1080. [helpcontext(305628)] HRESULT waitForVerticalBlank([in] ddWaitVBFlags flags, [in] long handle, [out, retval] long *status);
  1081. [helpcontext(305629)] HRESULT getDeviceIdentifier([in] ddDeviceIDFlags flags,[out,retval] I_dxj_DirectDrawIdentifier **ret);
  1082. };
  1083. [
  1084. object,
  1085. uuid(9F76FDE8-8E92-11d1-8808-00C04FC2C602),
  1086. helpstring("I_dxj_DirectDrawSurface7 Interface"),
  1087. pointer_default(unique),
  1088. local,
  1089. helpcontext(305800)
  1090. ]
  1091. interface I_dxj_DirectDrawSurface7 : IUnknown
  1092. {
  1093. import "oaidl.idl";
  1094. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdds);
  1095. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdds);
  1096. [helpcontext(305801)] HRESULT addAttachedSurface( [in] I_dxj_DirectDrawSurface7 *ddS);
  1097. [helpcontext(305802)] HRESULT blt( [in] RECT_CDESC *destRect, [in] I_dxj_DirectDrawSurface7 *ddS, [in] RECT_CDESC *srcRect, [in] ddBltFlags flags, [out, retval] long *status);
  1098. [helpcontext(305803)] HRESULT bltColorFill( [in] RECT_CDESC *destRect, [in] long fillvalue, [out, retval] long *status );
  1099. [helpcontext(305804)] HRESULT bltFast( [in] long dx, [in] long dy, [in] I_dxj_DirectDrawSurface7 *dds, [in] RECT_CDESC *srcRect, [in] ddBltFastFlags trans, [out, retval] long *status);
  1100. [helpcontext(305805)] HRESULT bltFx( [in] RECT_CDESC *destRect, [in] I_dxj_DirectDrawSurface7 *ddS, [in] RECT_CDESC *srcRect, [in] ddBltFlags flags, [in] DDBLTFX_CDESC *bltfx, [out, retval] long *status );
  1101. [helpcontext(305806)] HRESULT bltToDC([in] long hdc, [in] RECT_CDESC *srcRect, [in] RECT_CDESC *destRect);
  1102. [helpcontext(305807)] HRESULT changeUniquenessValue();
  1103. [helpcontext(305808)] HRESULT deleteAttachedSurface( [in] I_dxj_DirectDrawSurface7 *dds) ;
  1104. [helpcontext(305809)] HRESULT drawBox([in] long x1, [in] long y1, [in] long x2, [in] long y2);
  1105. [helpcontext(305810)] HRESULT drawCircle([in] long x1, [in] long y1, [in] long r);
  1106. [helpcontext(305811)] HRESULT drawEllipse([in] long x1, [in] long y1, [in] long x2, [in] long y2);
  1107. [helpcontext(305812)] HRESULT drawLine([in] long x1, [in] long y1, [in] long x2, [in] long y2);
  1108. [helpcontext(305813)] HRESULT drawRoundedBox([in] long x1, [in] long y1, [in] long x2, [in] long y2,[in] long rw, [in] long rh);
  1109. [helpcontext(305814)] HRESULT drawText([in] long x, [in] long y, [in] BSTR text, [in] VARIANT_BOOL b);
  1110. [helpcontext(305815)] HRESULT flip( [in] I_dxj_DirectDrawSurface7 *dds, [in] ddFlipFlags flags);
  1111. [helpcontext(305816)] HRESULT getAttachedSurface( [in] DDSCaps2 *caps, [out, retval] I_dxj_DirectDrawSurface7 **dds);
  1112. [helpcontext(305817)] HRESULT getAttachedSurfaceEnum([out,retval] I_dxj_DirectDrawEnumSurfaces **retval);
  1113. [helpcontext(305818)] HRESULT getBltStatus([in] ddGbsFlags flags, [out, retval] long *status);
  1114. [helpcontext(305819)] HRESULT getCaps( [in,out] DDSCAPS2_CDESC *caps);
  1115. [helpcontext(305820)] HRESULT getClipper( [out, retval] I_dxj_DirectDrawClipper **val);
  1116. [helpcontext(305821)] HRESULT getColorKey( [in] long flags, [in,out] DDCOLORKEY_CDESC *val);
  1117. [helpcontext(305822)] HRESULT getDC( [out, retval] long *hdc);
  1118. [helpcontext(305823)] HRESULT getDirectDraw( [out, retval] I_dxj_DirectDraw7 **val);
  1119. [helpcontext(305824)] HRESULT getDirectDrawColorControl([out,retval] I_dxj_DirectDrawColorControl **retv);
  1120. [helpcontext(305825)] HRESULT getDirectDrawGammaControl([out,retval] I_dxj_DirectDrawGammaControl **retv);
  1121. [helpcontext(305826)] HRESULT getDrawStyle([out,retval] long *drawStyle);
  1122. [helpcontext(305827)] HRESULT getDrawWidth([out,retval] long *drawWidth);
  1123. [helpcontext(305828)] HRESULT getFillColor([out,retval] long *color);
  1124. [helpcontext(305829)] HRESULT getFillStyle([out,retval] long *fillStyle);
  1125. [helpcontext(305830)] HRESULT getFlipStatus( [in] ddGfsFlags flags, [out, retval] long *status);
  1126. [helpcontext(305831)] HRESULT getFontTransparency([out,retval] VARIANT_BOOL *b);
  1127. [helpcontext(305832)] HRESULT getForeColor([out,retval] long *color);
  1128. [helpcontext(305833)] HRESULT getLockedPixel([in] int x, [in] int y, [out,retval] long *col);
  1129. //[helpcontext(305834)] HRESULT getLockedSurfaceBits([in,out] ABYTE *memory);
  1130. [helpcontext(305835)] HRESULT getPalette( [out, retval] I_dxj_DirectDrawPalette **val);
  1131. [helpcontext(305836)] HRESULT getPixelFormat( [in,out] DDPIXELFORMAT_CDESC *pf);
  1132. [helpcontext(305837)] HRESULT getSurfaceDesc([in,out] DDSURFACEDESC2_CDESC *surface);
  1133. [helpcontext(305838)] HRESULT getUniquenessValue([out,retval] long *retVal);
  1134. [helpcontext(305839)] HRESULT isLost([out, retval] long *status);
  1135. [helpcontext(305840)] HRESULT lock( [in] RECT_CDESC *r, [in] DDSURFACEDESC2_CDESC *desc, [in] ddLockFlags flags, [in] Handle hnd);
  1136. [helpcontext(305841)] HRESULT releaseDC([in] long hdc);
  1137. [helpcontext(305842)] HRESULT restore();
  1138. [helpcontext(305843)] HRESULT setClipper( [in] I_dxj_DirectDrawClipper *val) ;
  1139. [helpcontext(305844)] HRESULT setColorKey( [in] ddCKeyFlags flags, [in] DDCOLORKEY_CDESC *val);
  1140. [helpcontext(305845)] HRESULT setDrawStyle([in] long drawStyle);
  1141. [helpcontext(305846)] HRESULT setDrawWidth([in] long drawWidth);
  1142. [helpcontext(305847)] HRESULT setFillColor([in] long color);
  1143. [helpcontext(305848)] HRESULT setFillStyle([in] long fillStyle);
  1144. [helpcontext(305849)] HRESULT setFont([in] IFont *font);
  1145. [helpcontext(305850)] HRESULT setFontTransparency([in] VARIANT_BOOL b);
  1146. [helpcontext(305851)] HRESULT setForeColor([in] long color);
  1147. [helpcontext(305852)] HRESULT setLockedPixel([in] int x, [in] int y, [in] long col);
  1148. //[helpcontext(305853)] HRESULT setLockedSurfaceBits([in,out] ABYTE *memory);
  1149. [helpcontext(305854)] HRESULT setPalette([in] I_dxj_DirectDrawPalette *ddp);
  1150. [helpcontext(305855)] HRESULT unlock( [in] RECT_CDESC *r);
  1151. [helpcontext(305856)] HRESULT setPriority([in] long Priority);
  1152. [helpcontext(305857)] HRESULT getPriority([out,retval] long *Priority);
  1153. [helpcontext(305858)] HRESULT getLOD([out,retval] long *lod);
  1154. [helpcontext(305859)] HRESULT setLOD([in] long lod);
  1155. [helpcontext(305860)] HRESULT getLockedArray([in] SAFEARRAY(byte) *array);
  1156. [helpcontext(305868)] HRESULT setFontBackColor([in] long color);
  1157. [helpcontext(305869)] HRESULT getFontBackColor([out,retval] long *color);
  1158. [helpcontext(305870)] HRESULT updateOverlay( [in] RECT_CDESC *rect, [in] I_dxj_DirectDrawSurface7 *dds, [in] RECT_CDESC *rectD, [in] ddOverFlags flags);
  1159. [helpcontext(305871)] HRESULT updateOverlayZOrder( [in] ddOverZFlags flags, [in] I_dxj_DirectDrawSurface7 *dds);
  1160. [helpcontext(305872)] HRESULT getOverlayPosition( [in,out] long *x, [in,out] long *y);
  1161. [helpcontext(305873)] HRESULT setOverlayPosition( [in] long x, [in] long y);
  1162. [helpcontext(305874)] HRESULT getOverlayZOrdersEnum([in] ddEnumOverlayZFlags flags,[out,retval] I_dxj_DirectDrawEnumSurfaces **retval);
  1163. [helpcontext(305875)] HRESULT updateOverlayFx([in] RECT_CDESC *rect, [in] I_dxj_DirectDrawSurface7 *dds, [in] RECT_CDESC *rectD, [in] ddOverFlags flags, [in,out] DDOVERLAYFX_CDESC *ddoverfx);
  1164. /*
  1165. //CONSIDER USING A STRING
  1166. [helpcontext(305868)] HRESULT freePrivateData([in] BSTR guid);
  1167. [helpcontext(305869)] HRESULT getPrivateData([in] BSTR guid,[in,out] SAFEARRAY(long)* data);
  1168. [helpcontext(305870)] HRESULT getPrivateDataSize([in] BSTR guid,[out,retval] long *size);
  1169. [helpcontext(305871)] HRESULT setPrivateData([in] BSTR guid, [in] SAFEARRAY(long) *data);
  1170. */
  1171. };
  1172. [
  1173. object,
  1174. uuid(9F76FDE9-8E92-11d1-8808-00C04FC2C602),
  1175. helpstring("I_dxj_DirectDrawGammaControl Interface"),
  1176. pointer_default(unique),
  1177. local ,
  1178. helpcontext(306000)
  1179. ]
  1180. interface I_dxj_DirectDrawGammaControl : IUnknown
  1181. {
  1182. import "oaidl.idl";
  1183. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdds);
  1184. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdds);
  1185. [helpcontext(306001)] HRESULT getGammaRamp([in] ddSgrFlags flags,[in,out] DDGAMMARAMP_CDESC *gammaRamp);
  1186. [helpcontext(306002)] HRESULT setGammaRamp([in] ddSgrFlags flags,[in] DDGAMMARAMP_CDESC *gammaRamp);
  1187. };
  1188. ///////////////////////////////////////////////////////////////////////////
  1189. //
  1190. // Direct 3D Retain Mode Interfaces
  1191. //
  1192. ///////////////////////////////////////////////////////////////////////////
  1193. [
  1194. object,
  1195. uuid(9F76FE0E-8E92-11d1-8808-00C04FC2C602),
  1196. helpstring("I_dxj_Direct3dRMObject Interface"),
  1197. pointer_default(unique),
  1198. local,
  1199. helpcontext(306200)
  1200. ]
  1201. interface I_dxj_Direct3dRMObject : IUnknown
  1202. {
  1203. import "oaidl.idl";
  1204. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1205. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1206. [helpcontext(306201)] HRESULT addDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *arg);
  1207. [helpcontext(306202)] HRESULT deleteDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *args);
  1208. [helpcontext(306203)] HRESULT cloneObject([out,retval] RMCLONEOBJECT **retv);
  1209. [helpcontext(306204)] HRESULT setAppData( [in] long data);
  1210. [helpcontext(306205)] HRESULT getAppData( [out, retval] long *data);
  1211. [helpcontext(306206)] HRESULT setName ([in] BSTR name);
  1212. [helpcontext(306207)] HRESULT getName([out,retval] BSTR *name); //LPSTR
  1213. [helpcontext(306208)] HRESULT getClassName([out,retval] BSTR *name); //LPSTR
  1214. };
  1215. ///////////////////////////////////////////////////////////////////////////
  1216. [
  1217. object,
  1218. uuid(9F76FE0F-8E92-11d1-8808-00C04FC2C602),
  1219. helpstring("Direct3dRMVisual Interface"),
  1220. pointer_default(unique),
  1221. local,
  1222. helpcontext(306400)
  1223. ]
  1224. interface I_dxj_Direct3dRMVisual : IUnknown
  1225. {
  1226. import "oaidl.idl";
  1227. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1228. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1229. //
  1230. /*** d3drmObjects ***/
  1231. //
  1232. [helpcontext(306201)] HRESULT addDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *arg);
  1233. [helpcontext(306202)] HRESULT deleteDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *args);
  1234. [helpcontext(306203)] HRESULT cloneObject([out,retval] RMCLONEOBJECT **retv);
  1235. [helpcontext(306204)] HRESULT setAppData( [in] long data);
  1236. [helpcontext(306205)] HRESULT getAppData( [out, retval] long *data);
  1237. [helpcontext(306206)] HRESULT setName ([in] BSTR name);
  1238. [helpcontext(306207)] HRESULT getName([out,retval] BSTR *name); //LPSTR
  1239. [helpcontext(306208)] HRESULT getClassName([out,retval] BSTR *name); //LPSTR
  1240. };
  1241. ///////////////////////////////////////////////////////////////////////////
  1242. [
  1243. object,
  1244. uuid(9F76FE32-8E92-11d1-8808-00C04FC2C602),
  1245. helpstring("I_dxj_Direct3dRMFace2 Interface"),
  1246. pointer_default(unique),
  1247. local,
  1248. helpcontext(306600)
  1249. ]
  1250. interface I_dxj_Direct3dRMFace2 : IUnknown
  1251. {
  1252. import "oaidl.idl";
  1253. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1254. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1255. [helpcontext(306201)] HRESULT addDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *arg);
  1256. [helpcontext(306202)] HRESULT deleteDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *args);
  1257. [helpcontext(306203)] HRESULT cloneObject([out,retval] RMCLONEOBJECT **retv);
  1258. [helpcontext(306204)] HRESULT setAppData( [in] long data);
  1259. [helpcontext(306205)] HRESULT getAppData( [out, retval] long *data);
  1260. [helpcontext(306206)] HRESULT setName ([in] BSTR name);
  1261. [helpcontext(306207)] HRESULT getName([out,retval] BSTR *name); //LPSTR
  1262. [helpcontext(306208)] HRESULT getClassName([out,retval] BSTR *name); //LPSTR
  1263. //
  1264. // IDirect3DRMFace methods - docdoc: based on d3drmObject
  1265. //
  1266. [helpcontext(306609)] HRESULT addVertex([in] float x, [in] float y, [in] float z);
  1267. [helpcontext(306610)] HRESULT addVertexAndNormalIndexed([in] long vertexIndex, [in] long normalIndex);
  1268. [helpcontext(306611)] HRESULT getColor([out, retval] d3dcolor *retv);
  1269. [helpcontext(306612)] HRESULT getMaterial([out, retval] I_dxj_Direct3dRMMaterial2 **retv);
  1270. [helpcontext(306613)] HRESULT getNormal([in,out] D3DVECTOR_CDESC *val);
  1271. [helpcontext(306614)] HRESULT getTexture([out, retval] I_dxj_Direct3dRMTexture3 **ref);
  1272. [helpcontext(306615)] HRESULT getTextureCoordinateIndex([in] long which, [out, retval] int *retv);
  1273. [helpcontext(306616)] HRESULT getTextureCoordinates([in] long vertex, [in,out] float *u,[in,out] float *v);
  1274. [helpcontext(306617)] HRESULT getVertex([in] long idx, [in,out] D3DVECTOR_CDESC *vert,[in,out] D3DVECTOR_CDESC *norm);
  1275. [helpcontext(306618)] HRESULT getVertexCount([out, retval] int *retv);
  1276. [helpcontext(306619)] HRESULT getVertexIndex([in] long which, [out, retval] int *retv);
  1277. [helpcontext(306620)] HRESULT getVertices([in] long vertexCount, [in,out] SAFEARRAY(D3DVECTOR_CDESC) *coord,[in,out] SAFEARRAY(D3DVECTOR_CDESC) *normals);
  1278. [hidden] HRESULT getVerticesJava([in] long vertex_cnt, [in,out] float *coord,[in,out] float *normals);
  1279. [helpcontext(306621)] HRESULT setColor([in] d3dcolor c);
  1280. [helpcontext(306622)] HRESULT setColorRGB([in] float r, [in] float g, [in] float b);
  1281. [helpcontext(306623)] HRESULT setMaterial([in] I_dxj_Direct3dRMMaterial2 *ref);
  1282. [helpcontext(306624)] HRESULT setTexture([in] I_dxj_Direct3dRMTexture3 *ref);
  1283. [helpcontext(306625)] HRESULT setTextureCoordinates([in] long vertex, [in] float u,[in] float v);
  1284. [helpcontext(306626)] HRESULT setTextureTopology([in] dxBool wrap_u, [in] dxBool wrap_v);
  1285. [helpcontext(306627)] HRESULT getTextureTopology([in,out] dxBool *wrap_u, [in,out] dxBool *wrap_v);
  1286. };
  1287. ///////////////////////////////////////////////////////////////////////////
  1288. [
  1289. object,
  1290. uuid(9F76FE03-8E92-11d1-8808-00C04FC2C602),
  1291. helpstring("I_dxj_Direct3dRMLight Interface"),
  1292. pointer_default(unique),
  1293. local,
  1294. helpcontext(306800)
  1295. ]
  1296. interface I_dxj_Direct3dRMLight : IUnknown
  1297. {
  1298. import "oaidl.idl";
  1299. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1300. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1301. [helpcontext(306201)] HRESULT addDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *arg);
  1302. [helpcontext(306202)] HRESULT deleteDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *args);
  1303. [helpcontext(306203)] HRESULT cloneObject([out,retval] RMCLONEOBJECT **retv);
  1304. [helpcontext(306204)] HRESULT setAppData( [in] long data);
  1305. [helpcontext(306205)] HRESULT getAppData( [out, retval] long *data);
  1306. [helpcontext(306206)] HRESULT setName ([in] BSTR name);
  1307. [helpcontext(306207)] HRESULT getName([out,retval] BSTR *name); //LPSTR
  1308. [helpcontext(306208)] HRESULT getClassName([out,retval] BSTR *name); //LPSTR
  1309. //
  1310. // IDirect3DRMLight methods - docdoc: based on id3drmObject!
  1311. //
  1312. [helpcontext(306809)] HRESULT setType([in] d3drmLightType t);
  1313. [helpcontext(306810)] HRESULT setColor([in] d3dcolor c);
  1314. [helpcontext(306811)] HRESULT setColorRGB([in] float r, [in] float g, [in] float b);
  1315. [helpcontext(306812)] HRESULT setRange([in] float rng);
  1316. [helpcontext(306813)] HRESULT setUmbra([in] float u);
  1317. [helpcontext(306814)] HRESULT setPenumbra([in] float p);
  1318. [helpcontext(306815)] HRESULT setConstantAttenuation([in] float atn);
  1319. [helpcontext(306816)] HRESULT setLinearAttenuation([in] float atn);
  1320. [helpcontext(306817)] HRESULT setQuadraticAttenuation([in] float atn);
  1321. [helpcontext(306818)] HRESULT getRange([out, retval] float *retv);
  1322. [helpcontext(306819)] HRESULT getUmbra([out, retval] float *retv);
  1323. [helpcontext(306820)] HRESULT getPenumbra([out, retval] float *retv);
  1324. [helpcontext(306821)] HRESULT getConstantAttenuation([out, retval] float *retv);
  1325. [helpcontext(306822)] HRESULT getLinearAttenuation([out, retval] float *retv);
  1326. [helpcontext(306823)] HRESULT getQuadraticAttenuation([out, retval] float *retv);
  1327. [helpcontext(306824)] HRESULT getColor( [out, retval] d3dcolor *value);
  1328. [helpcontext(306825)] HRESULT getType([out, retval] d3drmLightType *retv);
  1329. [helpcontext(306826)] HRESULT setEnableFrame([in] I_dxj_Direct3dRMFrame3 *f);
  1330. [helpcontext(306827)] HRESULT getEnableFrame([out, retval] I_dxj_Direct3dRMFrame3 **retv);
  1331. };
  1332. ///////////////////////////////////////////////////////////////////////////
  1333. [
  1334. object,
  1335. uuid(9F76FE06-8E92-11d1-8808-00C04FC2C602),
  1336. helpstring("I_dxj_Direct3dRMMesh Interface"),
  1337. pointer_default(unique),
  1338. local,
  1339. helpcontext(307000)
  1340. ]
  1341. interface I_dxj_Direct3dRMMesh : IUnknown
  1342. {
  1343. import "oaidl.idl";
  1344. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1345. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1346. [helpcontext(306201)] HRESULT addDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *arg);
  1347. [helpcontext(306202)] HRESULT deleteDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *args);
  1348. [helpcontext(306203)] HRESULT cloneObject([out,retval] RMCLONEOBJECT **retv);
  1349. [helpcontext(306204)] HRESULT setAppData( [in] long data);
  1350. [helpcontext(306205)] HRESULT getAppData( [out, retval] long *data);
  1351. [helpcontext(306206)] HRESULT setName ([in] BSTR name);
  1352. [helpcontext(306207)] HRESULT getName([out,retval] BSTR *name); //LPSTR
  1353. [helpcontext(306208)] HRESULT getClassName([out,retval] BSTR *name); //LPSTR
  1354. /*
  1355. * IDirect3DRMMesh methods
  1356. */
  1357. //#pragma message ("consider if you want to pass down count to API that fill SAFEARRAYS")
  1358. [helpcontext(307009)] HRESULT setGroupColor([in] d3drmGroupIndex id, [in] d3dcolor val);
  1359. [helpcontext(307010)] HRESULT setGroupColorRGB([in] d3drmGroupIndex id, [in] float r,[in] float g, [in] float b);
  1360. [helpcontext(307011)] HRESULT setGroupMapping([in] d3drmGroupIndex id, [in] d3drmMappingFlags value);
  1361. [helpcontext(307012)] HRESULT setGroupQuality([in] d3drmGroupIndex id, [in] d3drmRenderQuality value);
  1362. [helpcontext(307013)] HRESULT setGroupMaterial([in] d3drmGroupIndex id, [in] I_dxj_Direct3dRMMaterial2 *val);
  1363. [helpcontext(307014)] HRESULT setGroupTexture([in] d3drmGroupIndex id, [in] I_dxj_Direct3dRMTexture3 *val);
  1364. [helpcontext(307015)] HRESULT getGroupCount([out, retval] long *retv);
  1365. [helpcontext(307016)] HRESULT getGroupColor( [in] d3drmGroupIndex id, [out, retval] d3dcolor *retv);
  1366. [helpcontext(307017)] HRESULT getGroupMapping( [in] d3drmGroupIndex id, [out, retval] d3drmMappingFlags *retv);
  1367. [helpcontext(307018)] HRESULT getGroupQuality( [in] d3drmGroupIndex id, [out, retval] d3drmRenderQuality *retv);
  1368. [helpcontext(307019)] HRESULT getGroupMaterial([in] d3drmGroupIndex id, [out, retval] I_dxj_Direct3dRMMaterial2 **retv);
  1369. [helpcontext(307020)] HRESULT getGroupTexture( [in] d3drmGroupIndex id, [out, retval] I_dxj_Direct3dRMTexture3 **retv);
  1370. [helpcontext(307021)] HRESULT scaleMesh([in] float sx, [in] float sy, [in] float sz);
  1371. [helpcontext(307022)] HRESULT translate([in] float tx, [in] float ty, [in] float tz);
  1372. [helpcontext(307023)] HRESULT getBox([in] D3DRMBOX_CDESC *vector);
  1373. [helpcontext(307024)] HRESULT getSizes( [in]d3drmGroupIndex id, [out]long *cnt1,[out]long *cnt2,[out] long *cnt3,[out] long *cnt4);
  1374. //docdoc: this function takes an array of vertices, well there is a bit of a problem
  1375. // with that in java so the alternative has been to remove SetVertices()
  1376. // and created two functions one SetVertice, which only set one vertice
  1377. // and SetVerticesAsFloats, which takes in an array of floats as vertices
  1378. [helpcontext(307025)] HRESULT setVertex([in] d3drmGroupIndex id, [in] long idx, [in] D3DRMVERTEX_CDESC *values);
  1379. [helpcontext(307026)] HRESULT getVertex([in] d3drmGroupIndex id, [in] long idx, [in,out] D3DRMVERTEX_CDESC *ret);
  1380. [helpcontext(307027)] HRESULT getVertexCount([in] d3drmGroupIndex id, [out, retval] long *cnt);
  1381. [helpcontext(307028)] HRESULT addGroup([in] long vertexCount, [in] long faceCount, [in] long verticesPerFace,
  1382. [in] SAFEARRAY(long) *fdata, [out,retval] d3drmGroupIndex *retId);
  1383. [helpcontext(307029)] HRESULT getGroupData([in] d3drmGroupIndex id, [in,out] SAFEARRAY(long) *psa);
  1384. [helpcontext(307030)] HRESULT getGroupDataSize([in] d3drmGroupIndex id, [out,retval] long *retVal);
  1385. [helpcontext(307031)] HRESULT setVertices([in] d3drmGroupIndex id, [in] long idx, [in] long count, [in] SAFEARRAY(D3DRMVERTEX_CDESC) *vertexArray);
  1386. [helpcontext(307032)] HRESULT getVertices([in] d3drmGroupIndex id, [in] long idx,long count, [in,out] SAFEARRAY(D3DRMVERTEX_CDESC) *vertexArray);
  1387. [hidden] HRESULT addGroupJava([in] long vcnt, [in] long fcnt, [in] long vPerFace,
  1388. [in,out] long *fdata, [out,retval] d3drmGroupIndex *retId);
  1389. [hidden] HRESULT getGroupDataJava([in] d3drmGroupIndex id, [in] long size,[in,out] long *fData);
  1390. [hidden] HRESULT setVerticesJava([in] d3drmGroupIndex id, [in] long idx, [in] long cnt, [in,out] float *vertexArray);
  1391. [hidden] HRESULT getVerticesJava([in] d3drmGroupIndex id, [in] long idx,long cnt, [in,out] float *vertexArray);
  1392. };
  1393. ///////////////////////////////////////////////////////////////////////////
  1394. [
  1395. object,
  1396. uuid(9F76FE08-8E92-11d1-8808-00C04FC2C602),
  1397. helpstring("I_dxj_Direct3dRMWrap Interface"),
  1398. pointer_default(unique),
  1399. local,
  1400. helpcontext(307200)
  1401. ]
  1402. interface I_dxj_Direct3dRMWrap : IUnknown
  1403. {
  1404. import "oaidl.idl";
  1405. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1406. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1407. [helpcontext(306201)] HRESULT addDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *arg);
  1408. [helpcontext(306202)] HRESULT deleteDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *args);
  1409. [helpcontext(306203)] HRESULT cloneObject([out,retval] RMCLONEOBJECT **retv);
  1410. [helpcontext(306204)] HRESULT setAppData( [in] long data);
  1411. [helpcontext(306205)] HRESULT getAppData( [out, retval] long *data);
  1412. [helpcontext(306206)] HRESULT setName ([in] BSTR name);
  1413. [helpcontext(306207)] HRESULT getName([out,retval] BSTR *name); //LPSTR
  1414. [helpcontext(306208)] HRESULT getClassName([out,retval] BSTR *name); //LPSTR
  1415. [helpcontext(307209)] HRESULT apply([in] I_dxj_Direct3dRMObject *visual);
  1416. [helpcontext(307210)] HRESULT applyRelative([in] I_dxj_Direct3dRMFrame3 *f, [in] I_dxj_Direct3dRMObject *visual);
  1417. };
  1418. ///////////////////////////////////////////////////////////////////////////
  1419. /*
  1420. [
  1421. object,
  1422. uuid(9F76FE0C-8E92-11d1-8808-00C04FC2C602),
  1423. helpstring("I_dxj_Direct3dRMUserVisual Interface"),
  1424. pointer_default(unique),
  1425. local,
  1426. hidden,
  1427. helpcontext(307400)
  1428. ]
  1429. interface I_dxj_Direct3dRMUserVisual : IUnknown
  1430. {
  1431. import "oaidl.idl";
  1432. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1433. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1434. [helpcontext(306201)] HRESULT addDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *arg);
  1435. [helpcontext(306202)] HRESULT deleteDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *args);
  1436. [helpcontext(306203)] HRESULT cloneObject([out,retval] RMCLONEOBJECT **retv);
  1437. [helpcontext(306204)] HRESULT setAppData( [in] long data);
  1438. [helpcontext(306205)] HRESULT getAppData( [out, retval] long *data);
  1439. [helpcontext(306206)] HRESULT setName ([in] BSTR name);
  1440. [helpcontext(306207)] HRESULT getName([out,retval] BSTR *name); //LPSTR
  1441. [helpcontext(306208)] HRESULT getClassName([out,retval] BSTR *name); //LPSTR
  1442. };
  1443. */
  1444. ///////////////////////////////////////////////////////////////////////////
  1445. [
  1446. object,
  1447. uuid(9F76FE11-8E92-11d1-8808-00C04FC2C602),
  1448. helpstring("I_dxj_Direct3dRMObjectArray Interface"), // Direct51
  1449. pointer_default(unique),
  1450. local,
  1451. helpcontext(307600)
  1452. ]
  1453. interface I_dxj_Direct3dRMObjectArray : IUnknown
  1454. {
  1455. import "oaidl.idl";
  1456. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1457. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1458. [helpcontext(307601)] HRESULT getSize( [out, retval] long *retv);
  1459. [helpcontext(307602)] HRESULT getElement([in] long index, [out,retval] I_dxj_Direct3dRMObject **retv);
  1460. };
  1461. ///////////////////////////////////////////////////////////////////////////
  1462. [
  1463. object,
  1464. uuid(9F76FE12-8E92-11d1-8808-00C04FC2C602),
  1465. helpstring("I_dxj_Direct3dRMDeviceArray Interface"),
  1466. pointer_default(unique),
  1467. local,
  1468. helpcontext(307800)
  1469. ]
  1470. interface I_dxj_Direct3dRMDeviceArray : IUnknown
  1471. {
  1472. import "oaidl.idl";
  1473. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1474. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1475. [helpcontext(307801)] HRESULT getSize( [out, retval] long *retv);
  1476. [helpcontext(307802)] HRESULT getElement([in] long index, [out, retval] I_dxj_Direct3dRMDevice3 **lplpD3DRMDevice);
  1477. };
  1478. ///////////////////////////////////////////////////////////////////////////
  1479. [
  1480. object,
  1481. uuid(9F76FE13-8E92-11d1-8808-00C04FC2C602),
  1482. helpstring("IDirect3dRMViewportArray Interface"),
  1483. pointer_default(unique),
  1484. local,
  1485. helpcontext(308000)
  1486. ]
  1487. interface I_dxj_Direct3dRMViewportArray : IUnknown
  1488. {
  1489. import "oaidl.idl";
  1490. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1491. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1492. [helpcontext(308001)] HRESULT getSize( [out, retval] long *retv);
  1493. [helpcontext(308002)] HRESULT getElement([in] long index, [out, retval] I_dxj_Direct3dRMViewport2 **lplpD3DRMViewport);
  1494. };
  1495. ///////////////////////////////////////////////////////////////////////////
  1496. [
  1497. object,
  1498. uuid(9F76FE14-8E92-11d1-8808-00C04FC2C602),
  1499. helpstring("I_dxj_Direct3dRMFrameArray Interface"),
  1500. pointer_default(unique),
  1501. local,
  1502. helpcontext(308200)
  1503. ]
  1504. interface I_dxj_Direct3dRMFrameArray : IUnknown
  1505. {
  1506. import "oaidl.idl";
  1507. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1508. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1509. [helpcontext(308201)] HRESULT getSize( [out, retval] long *retv);
  1510. [helpcontext(308202)] HRESULT getElement([in] long index, [out, retval] I_dxj_Direct3dRMFrame3 **ppFrame);
  1511. };
  1512. ///////////////////////////////////////////////////////////////////////////
  1513. [
  1514. object,
  1515. uuid(9F76FE15-8E92-11d1-8808-00C04FC2C602),
  1516. helpstring("I_dxj_Direct3dRMVisualArray Interface"),
  1517. pointer_default(unique),
  1518. local,
  1519. helpcontext(308400)
  1520. ]
  1521. interface I_dxj_Direct3dRMVisualArray : IUnknown
  1522. {
  1523. import "oaidl.idl";
  1524. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1525. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1526. [helpcontext(308401)] HRESULT getSize( [out, retval] long *retv);
  1527. [helpcontext(308402)] HRESULT getElement( [in] long index, [out, retval] I_dxj_Direct3dRMVisual **retv);
  1528. };
  1529. ///////////////////////////////////////////////////////////////////////////
  1530. [
  1531. object,
  1532. uuid(9F76FE16-8E92-11d1-8808-00C04FC2C602),
  1533. helpstring("IDirect3dRMLightArray Interface"),
  1534. pointer_default(unique),
  1535. local,
  1536. helpcontext(308600)
  1537. ]
  1538. interface I_dxj_Direct3dRMLightArray : IUnknown
  1539. {
  1540. import "oaidl.idl";
  1541. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1542. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1543. [helpcontext(308601)] HRESULT getSize( [out, retval] long *retv);
  1544. [helpcontext(308602)] HRESULT getElement( [in] long index, [out, retval] I_dxj_Direct3dRMLight **retv);
  1545. };
  1546. ///////////////////////////////////////////////////////////////////////////
  1547. [
  1548. object,
  1549. uuid(9F76FE17-8E92-11d1-8808-00C04FC2C602),
  1550. helpstring("I_dxj_Direct3dRMPickArray Interface"),
  1551. pointer_default(unique),
  1552. local,
  1553. helpcontext(308800)
  1554. ]
  1555. interface I_dxj_Direct3dRMPickArray : IUnknown
  1556. {
  1557. import "oaidl.idl";
  1558. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1559. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1560. [helpcontext(308801)] HRESULT getSize( [out, retval] long *retv);
  1561. [helpcontext(308802)] HRESULT getPickVisual([in] long index, [in] D3DRMPICKDESC_CDESC *pickDesc,
  1562. [out,retval] I_dxj_Direct3dRMVisual **visual);
  1563. [helpcontext(308803)] HRESULT getPickFrame([in] long index, [in] D3DRMPICKDESC_CDESC *pickDesc,
  1564. [out, retval] I_dxj_Direct3dRMFrameArray **frameArray);
  1565. };
  1566. ///////////////////////////////////////////////////////////////////////////
  1567. [
  1568. object,
  1569. uuid(9F76FE18-8E92-11d1-8808-00C04FC2C602),
  1570. helpstring("I_dxj_Direct3dRMFaceArray Interface"),
  1571. pointer_default(unique),
  1572. local,
  1573. helpcontext(309000)
  1574. ]
  1575. interface I_dxj_Direct3dRMFaceArray : IUnknown
  1576. {
  1577. import "oaidl.idl";
  1578. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1579. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1580. [helpcontext(309001)] HRESULT getSize( [out, retval] long *retv);
  1581. [helpcontext(309002)] HRESULT getElement([in] long index, [out, retval] I_dxj_Direct3dRMFace2 **retv);
  1582. };
  1583. ///////////////////////////////////////////////////////////////////////////
  1584. [
  1585. object,
  1586. uuid(9F76FE19-8E92-11d1-8808-00C04FC2C602),
  1587. helpstring("I_dxj_Direct3dRMPick2Array Interface"),
  1588. pointer_default(unique),
  1589. local,
  1590. helpcontext(309200)
  1591. ]
  1592. interface I_dxj_Direct3dRMPick2Array : IUnknown
  1593. {
  1594. import "oaidl.idl";
  1595. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1596. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1597. [helpcontext(309201)] HRESULT getSize( [out, retval] long *retv);
  1598. [helpcontext(309202)] HRESULT getPickVisual([in] long index, [in] D3DRMPICKDESC2_CDESC *pickDesc,
  1599. [out,retval] I_dxj_Direct3dRMVisual **visual);
  1600. [helpcontext(309203)] HRESULT getPickFrame([in] long index, [in] D3DRMPICKDESC2_CDESC *pickDesc,
  1601. [out, retval] I_dxj_Direct3dRMFrameArray **frameArray);
  1602. };
  1603. [ object,
  1604. uuid(9F76FE33-8E92-11d1-8808-00C04FC2C602),
  1605. helpstring("I_dxj_Direct3dRMFrameMoveCallback3"),
  1606. pointer_default(unique),
  1607. helpcontext(309400)
  1608. ] interface I_dxj_Direct3dRMFrameMoveCallback3 : IUnknown
  1609. {
  1610. import "oaidl.idl";
  1611. [helpcontext(309401)] HRESULT callbackRMFrameMove([in] I_dxj_Direct3dRMFrame3 *f,
  1612. [in] USERARG *arg, [in] float delta);
  1613. };
  1614. [ object,
  1615. uuid(9F76FE34-8E92-11d1-8808-00C04FC2C602), // Direct45
  1616. helpstring("I_dxj_Direct3dRMDeviceUpdateCallback3 Interface"),
  1617. pointer_default(unique),
  1618. helpcontext(309600)
  1619. ]
  1620. interface I_dxj_Direct3dRMDeviceUpdateCallback3 : IUnknown
  1621. {
  1622. import "oaidl.idl";
  1623. //TODO update callback wont work in VB with structures
  1624. // User supplied callback
  1625. [helpcontext(309601)] HRESULT callbackRMUpdate([in] I_dxj_Direct3dRMDevice3 *f,
  1626. [in] USERARG *arg, [in] int n, [in] D3DRECT_CDESC *Update);
  1627. };
  1628. [ object,
  1629. uuid(9F76FE35-8E92-11d1-8808-00C04FC2C602),
  1630. helpstring("I_dxj_Direct3dRMAnimationArray"),
  1631. pointer_default(unique),
  1632. local,
  1633. helpcontext(309800)
  1634. ]
  1635. interface I_dxj_Direct3dRMAnimationArray : IUnknown
  1636. {
  1637. import "oaidl.idl";
  1638. [helpcontext(309801)] HRESULT getSize([out,retval] long *ret);
  1639. [helpcontext(309802)] HRESULT getElement([in] long index,[out,retval] I_dxj_Direct3dRMAnimation2 **anim);
  1640. };
  1641. [
  1642. object,
  1643. uuid(9F76FE36-8E92-11d1-8808-00C04FC2C602),
  1644. helpstring("I_dxj_Direct3dRMShadow2 Interface"),
  1645. pointer_default(unique),
  1646. local,
  1647. helpcontext(310000)
  1648. ]
  1649. interface I_dxj_Direct3dRMShadow2 : IUnknown
  1650. {
  1651. import "oaidl.idl";
  1652. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1653. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1654. [helpcontext(306201)] HRESULT addDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *arg);
  1655. [helpcontext(306202)] HRESULT deleteDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *args);
  1656. [helpcontext(306203)] HRESULT cloneObject([out,retval] RMCLONEOBJECT **retv);
  1657. [helpcontext(306204)] HRESULT setAppData( [in] long data);
  1658. [helpcontext(306205)] HRESULT getAppData( [out, retval] long *data);
  1659. [helpcontext(306206)] HRESULT setName ([in] BSTR name);
  1660. [helpcontext(306207)] HRESULT getName([out,retval] BSTR *name); //LPSTR
  1661. [helpcontext(306208)] HRESULT getClassName([out,retval] BSTR *name); //LPSTR
  1662. [helpcontext(310009)] HRESULT setOptions([in] d3drmShadowFlags flags);
  1663. };
  1664. [
  1665. object,
  1666. uuid(9F76FE20-8E92-11d1-8808-00C04FC2C602),
  1667. helpstring("I_dxj_Direct3dRMViewport2 Interface"),
  1668. pointer_default(unique),
  1669. local,
  1670. helpcontext(310200)
  1671. ]
  1672. interface I_dxj_Direct3dRMViewport2 : IUnknown
  1673. {
  1674. import "oaidl.idl";
  1675. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1676. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1677. //
  1678. /*** d3drmObjects ***/
  1679. //
  1680. [helpcontext(306201)] HRESULT addDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *arg);
  1681. [helpcontext(306202)] HRESULT deleteDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *args);
  1682. [helpcontext(306203)] HRESULT cloneObject([out,retval] RMCLONEOBJECT **retv);
  1683. [helpcontext(306204)] HRESULT setAppData( [in] long data);
  1684. [helpcontext(306205)] HRESULT getAppData( [out, retval] long *data);
  1685. [helpcontext(306206)] HRESULT setName ([in] BSTR name);
  1686. [helpcontext(306207)] HRESULT getName([out,retval] BSTR *name); //LPSTR
  1687. [helpcontext(306208)] HRESULT getClassName([out,retval] BSTR *name); //LPSTR
  1688. //
  1689. // _dxj_Direct3dRMViewport
  1690. //
  1691. [helpcontext(310209)] HRESULT clear([in] d3drmViewportClearFlags flags);
  1692. [helpcontext(310210)] HRESULT render([in] I_dxj_Direct3dRMFrame3 *rootFrame);
  1693. [helpcontext(310211)] HRESULT getCamera([out, retval] I_dxj_Direct3dRMFrame3 **val);
  1694. [helpcontext(310212)] HRESULT getDevice([out, retval] I_dxj_Direct3dRMDevice3 **val);
  1695. [helpcontext(310213)] HRESULT setFront( [in] float v);
  1696. [helpcontext(310214)] HRESULT setBack( [in] float v);
  1697. [helpcontext(310215)] HRESULT setField( [in] float v);
  1698. [helpcontext(310216)] HRESULT setUniformScaling( [in] dxBool flag); //BOOL
  1699. [helpcontext(310217)] HRESULT setCamera( [in] I_dxj_Direct3dRMFrame3 *f);
  1700. [helpcontext(310218)] HRESULT setProjection([in] d3drmProjectionType val);
  1701. [helpcontext(310219)] HRESULT transform([out] D3DRMVECTOR4D_CDESC *d, [in] D3DVECTOR_CDESC *s);
  1702. [helpcontext(310220)] HRESULT inverseTransform([out] D3DVECTOR_CDESC *d, [in] D3DRMVECTOR4D_CDESC *s);
  1703. [helpcontext(310221)] HRESULT configure([in] long x, [in] long y, [in] long width, [in] long height);
  1704. [helpcontext(310222)] HRESULT forceUpdate([in] long x1, [in] long y1, [in] long x2, [in] long y2);
  1705. [helpcontext(310223)] HRESULT setPlane([in] float left, [in] float right, [in] float bottom, [in] float top);
  1706. [helpcontext(310224)] HRESULT getPlane([in,out] float *l, [in,out] float *r, [in,out] float *b, [in,out] float *t);
  1707. [helpcontext(310225)] HRESULT pick([in] long x, [in] long y, [out, retval] I_dxj_Direct3dRMPickArray **retv);
  1708. [helpcontext(310226)] HRESULT getUniformScaling([out, retval] dxBool *retv); //BOOL
  1709. [helpcontext(310227)] HRESULT getX([out, retval] long *retv);
  1710. [helpcontext(310228)] HRESULT getY([out, retval] long *retv);
  1711. [helpcontext(310229)] HRESULT getHeight([out, retval] long *w);
  1712. [helpcontext(310230)] HRESULT getWidth([out, retval] long *w);
  1713. [helpcontext(310231)] HRESULT getField([out, retval] float *retv);
  1714. [helpcontext(310232)] HRESULT getBack([out, retval] float *retv);
  1715. [helpcontext(310233)] HRESULT getFront([out, retval] float *retv);
  1716. [helpcontext(310234)] HRESULT getProjection([out, retval] d3drmProjectionType *retv);
  1717. };
  1718. ///////////////////////////////////////////////////////////////////////////
  1719. [
  1720. object,
  1721. uuid(9F76FE21-8E92-11d1-8808-00C04FC2C602),
  1722. helpstring("I_dxj_Direct3dRMMaterial2 Interface"),
  1723. pointer_default(unique),
  1724. helpcontext(310400)
  1725. ]
  1726. interface I_dxj_Direct3dRMMaterial2 : IUnknown
  1727. {
  1728. import "oaidl.idl";
  1729. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1730. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1731. [helpcontext(306201)] HRESULT addDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *arg);
  1732. [helpcontext(306202)] HRESULT deleteDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *args);
  1733. [helpcontext(306203)] HRESULT cloneObject([out,retval] RMCLONEOBJECT **retv);
  1734. [helpcontext(306204)] HRESULT setAppData( [in] long data);
  1735. [helpcontext(306205)] HRESULT getAppData( [out, retval] long *data);
  1736. [helpcontext(306206)] HRESULT setName ([in] BSTR name);
  1737. [helpcontext(306207)] HRESULT getName([out,retval] BSTR *name); //LPSTR
  1738. [helpcontext(306208)] HRESULT getClassName([out,retval] BSTR *name); //LPSTR
  1739. /*
  1740. * IDirect3DRMMaterial methods
  1741. */
  1742. [helpcontext(310409)] HRESULT setPower([in] float power);
  1743. [helpcontext(310410)] HRESULT setSpecular([in] float r, [in] float g, [in] float b);
  1744. [helpcontext(310411)] HRESULT setEmissive([in] float r, [in] float g, [in] float b);
  1745. [helpcontext(310412)] HRESULT setAmbient([in] float r, [in] float g, [in] float b);
  1746. [helpcontext(310413)] HRESULT getPower([out, retval] float *power);
  1747. [helpcontext(310414)] HRESULT getSpecular([out] float *r, [out] float *g, [out] float *b);
  1748. [helpcontext(310415)] HRESULT getEmissive([out] float *r, [out] float *g, [out] float *b);
  1749. [helpcontext(310416)] HRESULT getAmbient([out] float *r, [out] float *g, [out] float *b);
  1750. };
  1751. ///////////////////////////////////////////////////////////////////////////
  1752. [
  1753. object,
  1754. uuid(9F76FE22-8E92-11d1-8808-00C04FC2C602),
  1755. helpstring("I_dxj_Direct3dRMAnimation2 Interface"),
  1756. pointer_default(unique),
  1757. local,
  1758. helpcontext(310600)
  1759. ]
  1760. interface I_dxj_Direct3dRMAnimation2 : IUnknown
  1761. {
  1762. import "oaidl.idl";
  1763. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1764. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1765. [helpcontext(306201)] HRESULT addDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *arg);
  1766. [helpcontext(306202)] HRESULT deleteDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *args);
  1767. [helpcontext(306203)] HRESULT cloneObject([out,retval] RMCLONEOBJECT **retv);
  1768. [helpcontext(306204)] HRESULT setAppData( [in] long data);
  1769. [helpcontext(306205)] HRESULT getAppData( [out, retval] long *data);
  1770. [helpcontext(306206)] HRESULT setName ([in] BSTR name);
  1771. [helpcontext(306207)] HRESULT getName([out,retval] BSTR *name); //LPSTR
  1772. [helpcontext(306208)] HRESULT getClassName([out,retval] BSTR *name); //LPSTR
  1773. /*
  1774. * IDirect3DRMAnimation2 methods
  1775. */
  1776. [helpcontext(310609)] HRESULT setOptions([in] d3drmAnimationOptions flags);
  1777. [helpcontext(310610)] HRESULT addRotateKey([in] float time, [in] D3DRMQUATERNION_CDESC *q);
  1778. [helpcontext(310611)] HRESULT addPositionKey([in] float time, [in] float x, [in] float y, [in] float z);
  1779. [helpcontext(310612)] HRESULT addScaleKey([in] float time, [in] float x, [in] float y, [in] float z);
  1780. [helpcontext(310613)] HRESULT deleteKey([in] float time);
  1781. [helpcontext(310614)] HRESULT setFrame([in] I_dxj_Direct3dRMFrame3 *frame);
  1782. [helpcontext(310615)] HRESULT getFrame([out,retval] I_dxj_Direct3dRMFrame3 **frame);
  1783. [helpcontext(310616)] HRESULT setTime([in] float time);
  1784. [helpcontext(310617)] HRESULT getOptions([out, retval] d3drmAnimationOptions *options);
  1785. [helpcontext(310618)] HRESULT addKey([in] D3DRMANIMATIONKEY_CDESC *key);
  1786. [helpcontext(310619)] HRESULT deleteKeyById([in] long id);
  1787. [helpcontext(310620)] HRESULT getKeys([in] float timeMin,[in] float timeMax ,[in,out] SAFEARRAY(D3DRMANIMATIONKEY_CDESC) *keyArray);
  1788. [helpcontext(310621)] HRESULT getKeysCount([in] float timeMin,[in] float timeMax, [out,retval] long *count);
  1789. [helpcontext(310622)] HRESULT modifyKey([in] D3DRMANIMATIONKEY_CDESC *key);
  1790. };
  1791. [
  1792. object,
  1793. uuid(9F76FE23-8E92-11d1-8808-00C04FC2C602),
  1794. helpstring("I_dxj_Direct3dRMAnimationSet2 Interface"),
  1795. pointer_default(unique),
  1796. local,
  1797. helpcontext(310800)
  1798. ]
  1799. interface I_dxj_Direct3dRMAnimationSet2 : IUnknown
  1800. {
  1801. import "oaidl.idl";
  1802. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1803. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1804. [helpcontext(306201)] HRESULT addDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *arg);
  1805. [helpcontext(306202)] HRESULT deleteDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *args);
  1806. [helpcontext(306203)] HRESULT cloneObject([out,retval] RMCLONEOBJECT **retv);
  1807. [helpcontext(306204)] HRESULT setAppData( [in] long data);
  1808. [helpcontext(306205)] HRESULT getAppData( [out, retval] long *data);
  1809. [helpcontext(306206)] HRESULT setName ([in] BSTR name);
  1810. [helpcontext(306207)] HRESULT getName([out,retval] BSTR *name); //LPSTR
  1811. [helpcontext(306208)] HRESULT getClassName([out,retval] BSTR *name); //LPSTR
  1812. //
  1813. // IDirect3DRMAnimationSet methods
  1814. //
  1815. [helpcontext(310809)] HRESULT addAnimation([in] I_dxj_Direct3dRMAnimation2 *aid);
  1816. [helpcontext(310810)] HRESULT deleteAnimation([in] I_dxj_Direct3dRMAnimation2 *aid);
  1817. [helpcontext(310811)] HRESULT getAnimations([out,retval] I_dxj_Direct3dRMAnimationArray **ret);
  1818. [helpcontext(310812)] HRESULT loadFromFile( [in] BSTR filename, [in] VARIANT id,
  1819. [in] d3drmLoadFlags flags, [in] I_dxj_Direct3dRMLoadTextureCallback3 * loadTextureImplementation,
  1820. [in] USERARG *userArgument, [in] I_dxj_Direct3dRMFrame3 *parentFrame);
  1821. [helpcontext(310813)] HRESULT setTime([in] float time);
  1822. };
  1823. [
  1824. object,
  1825. uuid(9F76FE24-8E92-11d1-8808-00C04FC2C602),
  1826. helpstring("I_dxj_Direct3dRM3 Interface"),
  1827. pointer_default(unique),
  1828. local,
  1829. helpcontext(311000)
  1830. ]
  1831. interface I_dxj_Direct3dRM3 : IUnknown
  1832. {
  1833. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1834. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1835. [helpcontext(311001)] HRESULT createDeviceFromClipper([in]I_dxj_DirectDrawClipper *lpDDClipper,[in]BSTR guid,[in]int width,[in]int height,[out,retval]I_dxj_Direct3dRMDevice3 **retv);
  1836. [helpcontext(311002)] HRESULT createFrame([in]I_dxj_Direct3dRMFrame3 *parent,[out,retval]I_dxj_Direct3dRMFrame3 **retv);
  1837. [helpcontext(311003)] HRESULT createLightRGB ([in]d3drmLightType lt,[in]float vred,[in]float vgreen,[in]float vblue,[out,retval]I_dxj_Direct3dRMLight **retv);
  1838. [helpcontext(311004)] HRESULT createLight([in]d3drmLightType lt,[in]long color,[out,retval]I_dxj_Direct3dRMLight **retv);
  1839. [helpcontext(311005)] HRESULT createMeshBuilder([out,retval]I_dxj_Direct3dRMMeshBuilder3 **retv);
  1840. [helpcontext(311006)] HRESULT createMaterial([in]float d, [out,retval]I_dxj_Direct3dRMMaterial2 **val);
  1841. [helpcontext(311007)] HRESULT loadTexture([in]BSTR name, [out,retval]I_dxj_Direct3dRMTexture3 **retval);
  1842. [helpcontext(311008)] HRESULT createViewport([in]I_dxj_Direct3dRMDevice3 *dev,[in] I_dxj_Direct3dRMFrame3 *fr,[in]long x,[in]long y,[in]long w,[in]long h,[out,retval]I_dxj_Direct3dRMViewport2 **retval);
  1843. [helpcontext(311009)] HRESULT setDefaultTextureColors( [in]long numTextureColors);
  1844. [helpcontext(311010)] HRESULT setDefaultTextureShades( [in]long numTextureShades);
  1845. [helpcontext(311011)] HRESULT createAnimationSet([out,retval]I_dxj_Direct3dRMAnimationSet2 **retval) ;
  1846. [helpcontext(311012)] HRESULT createMesh([out,retval]I_dxj_Direct3dRMMesh **retv);
  1847. [helpcontext(311013)] HRESULT createFace([out,retval]I_dxj_Direct3dRMFace2 **retv);
  1848. [helpcontext(311014)] HRESULT createAnimation([out,retval]I_dxj_Direct3dRMAnimation2 **retv);
  1849. [helpcontext(311015)] HRESULT tick([in]float tic);
  1850. [helpcontext(311016)] HRESULT createDeviceFromSurface( [in]BSTR g, [in]I_dxj_DirectDraw4 *dd, [in]I_dxj_DirectDrawSurface4 *dds,[in] d3drmCreateDeviceFlags flags,[out,retval] I_dxj_Direct3dRMDevice3 **retval);
  1851. [helpcontext(311017)] HRESULT createTextureFromSurface([in] I_dxj_DirectDrawSurface4 *dds,[out,retval] I_dxj_Direct3dRMTexture3 **retv);
  1852. [helpcontext(311018)] HRESULT createWrap( [in]d3drmWrapType t, [in]I_dxj_Direct3dRMFrame3 *f,
  1853. [in] float ox,[in] float oy,
  1854. [in]float oz, [in]float dx, [in] float dy, [in]float dz,
  1855. [in]float ux, [in]float uy, [in] float uz, [in]float ou,
  1856. [in]float ov, [in]float su, [in] float sv,[out,retval]I_dxj_Direct3dRMWrap **retv);
  1857. [helpcontext(311019)] HRESULT getSearchPath([out,retval]BSTR *name);
  1858. [helpcontext(311020)] HRESULT getDevices([out,retval] I_dxj_Direct3dRMDeviceArray **retval);
  1859. [helpcontext(311021)] HRESULT getNamedObject([in]BSTR name,[out,retval]I_dxj_Direct3dRMObject **retval);
  1860. [helpcontext(311022)] HRESULT setSearchPath([in] BSTR name);
  1861. [helpcontext(311023)] HRESULT addSearchPath([in] BSTR name);
  1862. [helpcontext(311024)] HRESULT enumerateObjects([in]I_dxj_Direct3dRMEnumerateObjectsCallback *enumerateObjectsImplementation,[in] USERARG *userArgument);
  1863. [helpcontext(311025)] HRESULT loadFromFile([in]BSTR filename, [in]VARIANT id,
  1864. [in] SAFEARRAY(BSTR) *guidArray, [in]long count,[in] d3drmLoadFlags options,[in] I_dxj_Direct3dRMLoadCallback *loadCallbackImplementation,
  1865. [in]USERARG *loadArgument, [in]I_dxj_Direct3dRMLoadTextureCallback3 *loadTextureImplementation, [in]USERARG *loadTextureArgument,[in] I_dxj_Direct3dRMFrame3 *parentFrame);
  1866. [helpcontext(311026)] HRESULT createShadow([in] I_dxj_Direct3dRMVisual *visual,
  1867. [in] I_dxj_Direct3dRMLight *light,
  1868. [in] float px, [in]float py,[in]float pz,
  1869. [in] float nx, [in]float ny,[in]float nz,
  1870. [out,retval] I_dxj_Direct3dRMShadow2 **retv);
  1871. [helpcontext(311027)] HRESULT createProgressiveMesh([out,retval]I_dxj_Direct3dRMProgressiveMesh **retv);
  1872. [helpcontext(311028)] HRESULT createClippedVisual([in] I_dxj_Direct3dRMVisual *vis,[out,retval] I_dxj_Direct3dRMClippedVisual **ret);
  1873. [helpcontext(311029)] HRESULT getOptions([out,retval] d3drmHandedness *options);
  1874. [helpcontext(311030)] HRESULT setOptions([in] d3drmHandedness options);
  1875. [helpcontext(311031)] HRESULT createInterpolatorMesh([out,retval] I_dxj_Direct3dRMMeshInterpolator **ret);
  1876. [helpcontext(311032)] HRESULT createInterpolatorTexture([out,retval] I_dxj_Direct3dRMTextureInterpolator **ret);
  1877. [helpcontext(311033)] HRESULT createInterpolatorMaterial([out,retval] I_dxj_Direct3dRMMaterialInterpolator **ret);
  1878. [helpcontext(311034)] HRESULT createInterpolatorFrame([out,retval] I_dxj_Direct3dRMFrameInterpolator **ret) ;
  1879. [helpcontext(311035)] HRESULT createInterpolatorViewport([out,retval] I_dxj_Direct3dRMViewportInterpolator **ret) ;
  1880. [helpcontext(311036)] HRESULT createInterpolatorLight([out,retval] I_dxj_Direct3dRMLightInterpolator **ret) ;
  1881. };
  1882. [
  1883. object,
  1884. uuid(9F76FE25-8E92-11d1-8808-00C04FC2C602),
  1885. helpstring("I_dxj_Direct3dRMFrame3 Interface"),
  1886. pointer_default(unique),
  1887. local,
  1888. helpcontext(311200)
  1889. ]
  1890. interface I_dxj_Direct3dRMFrame3 : IUnknown
  1891. {
  1892. import "oaidl.idl";
  1893. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  1894. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  1895. [helpcontext(306201)] HRESULT addDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *arg);
  1896. [helpcontext(306202)] HRESULT deleteDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *args);
  1897. [helpcontext(306203)] HRESULT cloneObject([out,retval] RMCLONEOBJECT **retv);
  1898. [helpcontext(306204)] HRESULT setAppData( [in] long data);
  1899. [helpcontext(306205)] HRESULT getAppData( [out, retval] long *data);
  1900. [helpcontext(306206)] HRESULT setName ([in] BSTR name);
  1901. [helpcontext(306207)] HRESULT getName([out,retval] BSTR *name); //LPSTR
  1902. [helpcontext(306208)] HRESULT getClassName([out,retval] BSTR *name); //LPSTR
  1903. //
  1904. // _dxj_Direct3dRMFrame
  1905. //
  1906. [helpcontext(311209)] HRESULT addVisual( [in] I_dxj_Direct3dRMVisual *v );
  1907. [helpcontext(311210)] HRESULT deleteVisual( [in] I_dxj_Direct3dRMVisual *v );
  1908. [helpcontext(311211)] HRESULT addLight( [in] I_dxj_Direct3dRMLight *val);
  1909. [helpcontext(311212)] HRESULT deleteLight([in] I_dxj_Direct3dRMLight *l);
  1910. [helpcontext(311213)] HRESULT addChild([in] I_dxj_Direct3dRMFrame3 *child);
  1911. [helpcontext(311214)] HRESULT deleteChild([in] I_dxj_Direct3dRMFrame3 *c);
  1912. //CONSIDER GETING TRANSFORM IN A D3DMATRIX STRUCT INSTEAD
  1913. [helpcontext(311215)] HRESULT getTransform([in] I_dxj_Direct3DRMFrame3 *referenceFrame,[in,out] SAFEARRAY(float) *val);
  1914. [helpcontext(311216)] HRESULT addTransform([in] d3drmCombineType t, [in] SAFEARRAY(float) *val);
  1915. [helpcontext(311217)] HRESULT addTranslation([in] d3drmCombineType t, [in] float x, [in] float y, [in] float z);
  1916. [helpcontext(311218)] HRESULT addScale([in] d3drmCombineType combineType, [in] float sx, [in] float sy,[in] float sz);
  1917. [helpcontext(311219)] HRESULT addRotation([in] d3drmCombineType combineType, [in] float x,
  1918. [in] float y,[in] float z, [in] float theta);
  1919. [helpcontext(311220)] HRESULT addMoveCallback( [in] I_dxj_Direct3dRMFrameMoveCallback3 *frameMoveImplementation, [in] USERARG *userArgument, [in] d3drmCallbackOrderFlags flags);
  1920. [helpcontext(311221)] HRESULT deleteMoveCallback([in] I_dxj_Direct3dRMFrameMoveCallback3 *frameMoveImplementation, [in] USERARG *userArgument);
  1921. [helpcontext(311222)] HRESULT transform([in,out] D3DVECTOR_CDESC *d, [in] D3DVECTOR_CDESC *s);
  1922. [helpcontext(311223)] HRESULT transformVectors([in]I_dxj_Direct3dRMFrame3 *reference,[in] long num, [in,out] SAFEARRAY(D3DVECTOR_CDESC) *DstVectors,[in,out] SAFEARRAY(D3DVECTOR_CDESC) *SrcVectors);
  1923. [helpcontext(311224)] HRESULT inverseTransform([in,out] D3DVECTOR_CDESC *d, [in] D3DVECTOR_CDESC *s);
  1924. [helpcontext(311225)] HRESULT inverseTransformVectors([in]I_dxj_Direct3dRMFrame3 *reference,[in] long num, [in,out] SAFEARRAY(D3DVECTOR_CDESC) *DstVectors,[in,out] SAFEARRAY(D3DVECTOR_CDESC) *SrcVectors);
  1925. [helpcontext(311226)] HRESULT getAxes([in,out]D3DVECTOR_CDESC *dir,[in,out]D3DVECTOR_CDESC *up);
  1926. [helpcontext(311227)] HRESULT getBox([in,out]D3DRMBOX_CDESC *box);
  1927. [helpcontext(311228)] HRESULT getBoxEnable([out,retval] dxBool *b);
  1928. [helpcontext(311229)] HRESULT getChildren([out, retval] I_dxj_Direct3dRMFrameArray **children);
  1929. [helpcontext(311230)] HRESULT getColor([out, retval] d3dcolor *retv);
  1930. [helpcontext(311231)] HRESULT getHierarchyBox([in,out]D3DRMBOX_CDESC *box);
  1931. [helpcontext(311232)] HRESULT getInheritAxes([out,retval] dxBool *b);
  1932. [helpcontext(311233)] HRESULT getLights( [out, retval] I_dxj_Direct3dRMLightArray **lights);
  1933. [helpcontext(311234)] HRESULT getMaterial(I_dxj_Direct3dRMMaterial2 **ret);
  1934. [helpcontext(311235)] HRESULT getMaterialMode([out, retval] d3drmMaterialMode *retv);
  1935. [helpcontext(311236)] HRESULT getOrientation( [in] I_dxj_Direct3dRMFrame3 *ref, [in,out] D3DVECTOR_CDESC *dir,[in,out] D3DVECTOR_CDESC *up);
  1936. [helpcontext(311237)] HRESULT getMaterialOverride([in,out] D3DRMMATERIALOVERRIDE_CDESC *override);
  1937. [helpcontext(311238)] HRESULT getMaterialOverrideTexture([out,retval] I_dxj_Direct3dRMTexture3 **ret);
  1938. [helpcontext(311239)] HRESULT getParent( [out, retval] I_dxj_Direct3dRMFrame3 **retv);
  1939. [helpcontext(311240)] HRESULT getPosition([in] I_dxj_Direct3dRMFrame3 *ref, [in,out] D3DVECTOR_CDESC *position);
  1940. [helpcontext(311241)] HRESULT getRotation([in] I_dxj_Direct3dRMFrame3 *ref,[in,out] D3DVECTOR_CDESC *axis,[out] float *theta);
  1941. [helpcontext(311242)] HRESULT getScene([out, retval] I_dxj_Direct3dRMFrame3 **retv);
  1942. [helpcontext(311243)] HRESULT getSceneBackground([out, retval] d3dcolor *retv);
  1943. [helpcontext(311244)] HRESULT getSceneBackgroundDepth([out, retval] I_dxj_DirectDrawSurface7 **retv);
  1944. [helpcontext(311245)] HRESULT getSceneFogColor([out, retval] d3dcolor *retv);
  1945. [helpcontext(311246)] HRESULT getSceneFogEnable([out, retval] dxBool *benable);
  1946. [helpcontext(311247)] HRESULT getSceneFogMode([out, retval] d3drmFogMode *retv);
  1947. [helpcontext(311248)] HRESULT getSceneFogMethod([out, retval] d3drmFogMethod *method);
  1948. [helpcontext(311249)] HRESULT getSceneFogParams([in,out] float *start, [in,out] float *end, [in,out] float *density);
  1949. [helpcontext(311250)] HRESULT getSortMode([out, retval] d3drmSortMode *retv);
  1950. [helpcontext(311251)] HRESULT getTexture([out,retval] I_dxj_Direct3dRMTexture3 **ref);
  1951. [helpcontext(311252)] HRESULT getVelocity([in] I_dxj_Direct3dRMFrame3 *ref, [in,out] D3DVECTOR_CDESC *vel,
  1952. [in] dxBool includeRotationalVelocity);
  1953. [helpcontext(311253)] HRESULT getVisuals([out, retval] I_dxj_Direct3dRMVisualArray **visuals);
  1954. [helpcontext(311254)] HRESULT getVisual([in] long index, [out, retval] I_dxj_Direct3dRMVisual **visualArray);
  1955. [helpcontext(311255)] HRESULT getVisualCount([out, retval] long *vis);
  1956. [helpcontext(311256)] HRESULT getTraversalOptions([out,retval] d3drmTraversalFlags *ret);
  1957. [helpcontext(311257)] HRESULT getZBufferMode([out,retval] d3drmZBufferMode *ret);
  1958. //CONSIDER what of loading from resources
  1959. [helpcontext(311258)] HRESULT loadFromFile([in] BSTR filename, [in] VARIANT id,
  1960. [in] d3drmLoadFlags flags, [in] I_dxj_Direct3dRMLoadTextureCallback3 *loadTextureImplementation,
  1961. [in] USERARG *userArgument);
  1962. [helpcontext(311259)] HRESULT lookAt([in] I_dxj_Direct3dRMFrame3 *tgt, [in] I_dxj_Direct3dRMFrame3 *reference, [in] d3drmFrameConstraint contraint);
  1963. [helpcontext(311260)] HRESULT move( [in] float delta);
  1964. [helpcontext(311261)] HRESULT rayPick([in]I_dxj_Direct3dRMFrame3 *refer,[in]D3DRMRAY_CDESC *ray,[in]d3drmRayPickFlags flags,[out,retval]I_dxj_Direct3dRMPick2Array **retv);
  1965. [helpcontext(311262)] HRESULT save([in]BSTR name,[in] d3drmXofFormat format, [in] d3drmSaveFlags flags);
  1966. [helpcontext(311263)] HRESULT setAxes([in]float dx,[in]float dy,[in]float dz,[in]float ux,[in]float uy,[in]float uz);
  1967. [helpcontext(311264)] HRESULT setBox([in]D3DRMBOX_CDESC *box);
  1968. [helpcontext(311265)] HRESULT setBoxEnable([in] dxBool boxEnable);
  1969. [helpcontext(311266)] HRESULT setColor([in] d3dcolor c);
  1970. [helpcontext(311267)] HRESULT setColorRGB([in] float r, [in] float g, [in] float b);
  1971. [helpcontext(311268)] HRESULT setInheritAxes([in]dxBool inheritFromParent);
  1972. [helpcontext(311269)] HRESULT setMaterial([in] I_dxj_Direct3dRMMaterial2 *mat);
  1973. [helpcontext(311270)] HRESULT setMaterialMode([in] d3drmMaterialMode val);
  1974. [helpcontext(311271)] HRESULT setMaterialOverride([in,out] D3DRMMATERIALOVERRIDE_CDESC *override);
  1975. [helpcontext(311272)] HRESULT setMaterialOverrideTexture([in] I_dxj_Direct3dRMTexture3 *tex);
  1976. [helpcontext(311273)] HRESULT setOrientation( [in] I_dxj_Direct3dRMFrame3 *reference, [in] float dx,
  1977. [in] float dy, [in] float dz, [in] float ux,
  1978. [in] float uy, [in] float uz);
  1979. [helpcontext(311274)] HRESULT setPosition( [in] I_dxj_Direct3dRMFrame3 *reference, [in] float x,
  1980. [in] float y, [in] float z);
  1981. [helpcontext(311275)] HRESULT setQuaternion([in]I_dxj_Direct3dRMFrame3 *reference,D3DRMQUATERNION_CDESC *quat);
  1982. [helpcontext(311276)] HRESULT setRotation( [in] I_dxj_Direct3dRMFrame3 *reference, [in] float x,
  1983. [in] float y, [in] float z, [in] float theta);
  1984. [helpcontext(311277)] HRESULT setSceneBackground([in] d3dcolor c);
  1985. [helpcontext(311278)] HRESULT setSceneBackgroundDepth([in] I_dxj_DirectDrawSurface7 *s);
  1986. [helpcontext(311279)] HRESULT setSceneBackgroundImage([in] I_dxj_Direct3dRMTexture3 *i);
  1987. [helpcontext(311280)] HRESULT setSceneBackgroundRGB([in] float r, [in] float g, [in] float b);
  1988. [helpcontext(311281)] HRESULT setSceneFogColor([in] d3dcolor c);
  1989. [helpcontext(311282)] HRESULT setSceneFogEnable([in] dxBool benable);
  1990. [helpcontext(311283)] HRESULT setSceneFogMethod([in] d3drmFogMethod method);
  1991. [helpcontext(311284)] HRESULT setSceneFogMode([in] d3drmFogMode c);
  1992. [helpcontext(311285)] HRESULT setSceneFogParams([in] float start, [in] float end, [in] float density);
  1993. [helpcontext(311286)] HRESULT setSortMode([in] d3drmSortMode val);
  1994. [helpcontext(311287)] HRESULT setTexture([in] I_dxj_Direct3dRMTexture3 *t);
  1995. [helpcontext(311288)] HRESULT setTraversalOptions([in] d3drmTraversalFlags flags);
  1996. [helpcontext(311289)] HRESULT setVelocity( [in] I_dxj_Direct3dRMFrame3 *reference, [in] float x,
  1997. [in] float y, [in] float z, [in] dxBool with_rotation);
  1998. [helpcontext(311290)] HRESULT setZbufferMode([in] d3drmZbufferMode val);
  1999. };
  2000. ///////////////////////////////////////////////////////////////////////////
  2001. [
  2002. object,
  2003. uuid(9F76FE26-8E92-11d1-8808-00C04FC2C602),
  2004. helpstring("I_Dxj_Direct3dRMMeshBuilder3 Interface"),
  2005. pointer_default(unique),
  2006. local,
  2007. helpcontext(311400)
  2008. ]
  2009. interface I_dxj_Direct3dRMMeshBuilder3 : IUnknown
  2010. {
  2011. import "oaidl.idl";
  2012. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2013. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2014. [helpcontext(306201)] HRESULT addDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *arg);
  2015. [helpcontext(306202)] HRESULT deleteDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *args);
  2016. [helpcontext(306203)] HRESULT cloneObject([out,retval] RMCLONEOBJECT **retv);
  2017. [helpcontext(306204)] HRESULT setAppData( [in] long data);
  2018. [helpcontext(306205)] HRESULT getAppData( [out, retval] long *data);
  2019. [helpcontext(306206)] HRESULT setName ([in] BSTR name);
  2020. [helpcontext(306207)] HRESULT getName([out,retval] BSTR *name); //LPSTR
  2021. [helpcontext(306208)] HRESULT getClassName([out,retval] BSTR *name); //LPSTR
  2022. /*
  2023. * IDirect3DRMMeshBuilder methods
  2024. */
  2025. [helpcontext(311409)] HRESULT addFace([in] I_dxj_Direct3dRMFace2 *f);
  2026. [helpcontext(311410)] HRESULT addFaces([in] long vc, [in] SAFEARRAY(D3DVECTOR_CDESC) *verexArray,
  2027. [in] long nc, [in] SAFEARRAY(D3DVECTOR_CDESC) *normalArray,
  2028. [in] SAFEARRAY(long) *data,
  2029. [out, retval] I_dxj_Direct3dRMFaceArray **array );
  2030. [helpcontext(311411)] HRESULT addFacesIndexed([in] d3drmAddFacesFlags flags, [in] SAFEARRAY(long) *indexArray,[out,retval] long *newFaceIndex);
  2031. [helpcontext(311412)] HRESULT addFrame([in] I_dxj_Direct3dRMFrame3 *frame);
  2032. [helpcontext(311413)] HRESULT addMesh([in] I_dxj_Direct3dRMMesh *mesh);
  2033. [helpcontext(311414)] HRESULT addMeshBuilder([in] I_dxj_Direct3dRMMeshBuilder3 *meshbuilder, d3drmAddMeshbuilderFlags flags);
  2034. [helpcontext(311415)] HRESULT addNormal([in] float x, [in] float y,[in] float z, [out, retval] int *index);
  2035. [helpcontext(311416)] HRESULT addTriangles([in] d3drmAddTrianglesVt format,[in] long vertexcount,[in] void *data);
  2036. [helpcontext(311417)] HRESULT addVertex([in] float x, [in] float y,[in] float z, [out, retval] int *index);
  2037. [helpcontext(311418)] HRESULT createFace([out, retval] I_dxj_Direct3dRMFace2 **retv);
  2038. [helpcontext(311419)] HRESULT createMesh( [out,retval] I_dxj_Direct3dRMMesh **retv);
  2039. [helpcontext(311420)] HRESULT createSubMesh( [out,retval] I_dxj_Direct3dRMMeshBuilder3 **retv);
  2040. [helpcontext(311421)] HRESULT deleteFace([in] I_dxj_Direct3dRMFace2 *face);
  2041. [hidden] HRESULT deleteNormals([in] long id, [in] long count);
  2042. [helpcontext(311422)] HRESULT deleteSubMesh([in] I_dxj_Direct3dRMMeshBuilder3 *mesh);
  2043. [hidden] HRESULT deleteVertices([in] long id, [in] long count);
  2044. [helpcontext(311423)] HRESULT empty();
  2045. [helpcontext(311424)] HRESULT enableMesh([in] d3drmAddMeshBuilderFlags flags);
  2046. [helpcontext(311425)] HRESULT generateNormals(float angle,d3drmGenerateNormalsFlags flags);
  2047. [helpcontext(311426)] HRESULT getBox( [in,out] D3DRMBOX_CDESC *retv);
  2048. [helpcontext(311427)] HRESULT getColorSource( [out, retval] d3drmColorSource *data);
  2049. [helpcontext(311428)] HRESULT getEnable([out,retval] d3drmAddMeshBuilderFlags *flags);
  2050. [helpcontext(311429)] HRESULT getFace([in] long id,[out, retval] I_dxj_Direct3dRMFace2 **retv);
  2051. [helpcontext(311430)] HRESULT getFaceCount([out, retval] int *retv);
  2052. [helpcontext(311431)] HRESULT getFaces([out, retval] I_dxj_Direct3dRMFaceArray **retv);
  2053. [helpcontext(311432)] HRESULT getGeometry( [in,out] SAFEARRAY(D3DVECTOR_CDESC) *verexArray,
  2054. [in,out] SAFEARRAY(D3DVECTOR_CDESC) *normalArray,
  2055. [in,out] SAFEARRAY(long) *faceData);
  2056. [helpcontext(311433)] HRESULT getNormal([in] long index, [in,out] D3DVECTOR_CDESC *desc);
  2057. [helpcontext(311434)] HRESULT getNormalCount([out, retval] long *normalCount);
  2058. [helpcontext(311435)] HRESULT getParentMesh([in] d3drmParentingFlags flags, [out,retval] I_dxj_Direct3dRMMeshBuilder3 **vis);
  2059. [helpcontext(311436)] HRESULT getPerspective([out,retval] long *retv); //BOOL
  2060. [helpcontext(311437)] HRESULT getQuality([out,retval] d3drmRenderQuality *retv);
  2061. [helpcontext(311438)] HRESULT getSubMeshes([in] long count,[in,out] SAFEARRAY(I_dxj_Direct3dRMMeshBuilder3) *arrayOfMeshBuilders);
  2062. [helpcontext(311439)] HRESULT getSubMeshCount([out,retval] long *count);
  2063. [helpcontext(311440)] HRESULT getTextureCoordinates([in] long idx,[in,out] float *u,[in,out] float *v);
  2064. [helpcontext(311441)] HRESULT getVertex([in] long id, [in,out] D3DVECTOR_CDESC *vec);
  2065. [helpcontext(311442)] HRESULT getVertexColor([in] long index, [out, retval] d3dcolor *retv);
  2066. [helpcontext(311443)] HRESULT getVertexCount([out, retval] int *retv);
  2067. [helpcontext(311444)] HRESULT getFaceDataSize([out, retval] long *faceCount);
  2068. [helpcontext(311445)] HRESULT loadFromFile( [in] BSTR filename, [in] VARIANT id, [in] d3drmLoadFlags flags, [in] I_dxj_Direct3dRMLoadTextureCallback3 *loadTextureImplementation, [in] USERARG *userArgument);
  2069. [helpcontext(311446)] HRESULT optimize();
  2070. [helpcontext(311447)] HRESULT save([in] BSTR fname, [in] d3drmXofFormat xFormat, [in] d3drmSaveFlags save);
  2071. [helpcontext(311448)] HRESULT scaleMesh( [in] float sx, [in] float sy, [in] float sz);
  2072. [helpcontext(311449)] HRESULT setColor([in] d3dcolor col);
  2073. [helpcontext(311450)] HRESULT setColorRGB( [in] float red, [in] float green, [in] float blue);
  2074. [helpcontext(311451)] HRESULT setColorSource([in] d3drmColorSource val);
  2075. [helpcontext(311452)] HRESULT setMaterial([in] I_dxj_Direct3dRMMaterial2 *mat);
  2076. [helpcontext(311453)] HRESULT setNormal([in] long idx,[in] float x,[in] float y,[in] float z);
  2077. [helpcontext(311454)] HRESULT setPerspective([in] dxBool perspectiveEnabled); //BOOL
  2078. [helpcontext(311455)] HRESULT setQuality( [in] d3drmRenderQuality q);
  2079. [helpcontext(311456)] HRESULT setTexture( [in] I_dxj_Direct3dRMTexture3 *tex);
  2080. [helpcontext(311457)] HRESULT setTextureCoordinates([in] long idx, [in] float u, [in] float v);
  2081. [helpcontext(311458)] HRESULT setTextureTopology([in] dxBool wrap_u, [in] dxBool wrap_v); //BOOL
  2082. [helpcontext(311459)] HRESULT setVertex([in] long idx,[in] float x,[in] float y,[in] float z);
  2083. [helpcontext(311460)] HRESULT setVertexColor([in] long idx, [in] d3dcolor c);
  2084. [helpcontext(311461)] HRESULT setVertexColorRGB( [in] long idx, [in] float r, [in] float g, [in] float b);
  2085. [helpcontext(311462)] HRESULT translate([in] float tx, [in] float ty, [in] float tz);
  2086. //getVertices left unimplemented
  2087. //set vertices not implmented
  2088. //set normals not implemented
  2089. [hidden] HRESULT addFacesJava([in] long vc, [in] float *ver,
  2090. [in] long nc, [in] float *norm, [in] long *data, [out, retval] I_dxj_Direct3dRMFaceArray **array );
  2091. };
  2092. [
  2093. object,
  2094. uuid(9F76FE27-8E92-11d1-8808-00C04FC2C602),
  2095. helpstring("I_dxj_Direct3dRMDevice3 Interface"),
  2096. pointer_default(unique),
  2097. local,
  2098. helpcontext(311600)
  2099. ]
  2100. interface I_dxj_Direct3dRMDevice3 : IUnknown
  2101. {
  2102. import "oaidl.idl";
  2103. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2104. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2105. //
  2106. // d3drmObjects
  2107. //
  2108. [helpcontext(306201)] HRESULT addDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *arg);
  2109. [helpcontext(306202)] HRESULT deleteDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *args);
  2110. [helpcontext(306203)] HRESULT cloneObject([out,retval] RMCLONEOBJECT **retv);
  2111. [helpcontext(306204)] HRESULT setAppData( [in] long data);
  2112. [helpcontext(306205)] HRESULT getAppData( [out, retval] long *data);
  2113. [helpcontext(306206)] HRESULT setName ([in] BSTR name);
  2114. [helpcontext(306207)] HRESULT getName([out,retval] BSTR *name); //LPSTR
  2115. [helpcontext(306208)] HRESULT getClassName([out,retval] BSTR *name); //LPSTR
  2116. [helpcontext(311609)] HRESULT addUpdateCallback([in] I_dxj_Direct3dRMDeviceUpdateCallback3 *updateCallbackImplementation, [in] USERARG *userArgument);
  2117. [helpcontext(311610)] HRESULT deleteUpdateCallback([in] I_dxj_Direct3dRMDeviceUpdateCallback3 *updateCallbackImplementation, [in] USERARG *userArgument);
  2118. [helpcontext(311611)] HRESULT findPreferredTextureFormat([in] ddBitDepthFlags bitDepth,[in] d3drmFptfFlags flags, [in,out] DDPIXELFORMAT_CDESC *ddpf);
  2119. [helpcontext(311612)] HRESULT getBufferCount([out, retval] long *retv);
  2120. [helpcontext(311613)] HRESULT getColorModel( [out, retval] d3dColorModel *retv);
  2121. [helpcontext(311614)] HRESULT getDither([out, retval] dxBool *ditherEnabled);
  2122. [helpcontext(311615)] HRESULT getHeight([out, retval] int *w);
  2123. [helpcontext(311616)] HRESULT getQuality([out, retval] d3drmRenderQuality *retv);
  2124. [helpcontext(311617)] HRESULT getRenderMode([out, retval] d3drmRenderModeFlags *retv);
  2125. [helpcontext(311618)] HRESULT getShades([out, retval] long *numShades);
  2126. [helpcontext(311619)] HRESULT getTextureQuality( [out, retval] d3drmTextureQuality *retv);
  2127. [helpcontext(311620)] HRESULT getTrianglesDrawn([out, retval] long *retv); //no params internally
  2128. [helpcontext(311621)] HRESULT getViewports([out,retval] I_dxj_Direct3dRMViewportArray **views);
  2129. [helpcontext(311622)] HRESULT getWireframeOptions([out, retval] d3drmWireFrameFlags *retv); //no params internally
  2130. [helpcontext(311623)] HRESULT getWidth([out, retval] int *w);
  2131. [helpcontext(311624)] HRESULT setBufferCount([in] long count);
  2132. [helpcontext(311625)] HRESULT setDither([in] dxBool ditherEnabled);
  2133. [helpcontext(311626)] HRESULT setQuality( [in] d3drmRenderQuality q);
  2134. [helpcontext(311627)] HRESULT setRenderMode([in] d3drmRenderModeFlags flags);
  2135. [helpcontext(311628)] HRESULT setShades( [in] int numShades);
  2136. [helpcontext(311629)] HRESULT setTextureQuality( [in] d3drmTextureQuality d);
  2137. [helpcontext(311630)] HRESULT update();
  2138. // Respond to a WM_ACTIVATE message.
  2139. [helpcontext(311631)] HRESULT handleActivate([in] long wparam) ;
  2140. [helpcontext(311632)] HRESULT handlePaint([in] long hdc) ;
  2141. };
  2142. [
  2143. object,
  2144. uuid(9F76FE28-8E92-11d1-8808-00C04FC2C602),
  2145. helpstring("I_dxj_Direct3dRMTexture3 Interface"),
  2146. pointer_default(unique),
  2147. local,
  2148. helpcontext(311800)
  2149. ]
  2150. interface I_dxj_Direct3dRMTexture3 : IUnknown
  2151. {
  2152. import "oaidl.idl";
  2153. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2154. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2155. //
  2156. // d3drmObject methods
  2157. //
  2158. [helpcontext(306201)] HRESULT addDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *arg);
  2159. [helpcontext(306202)] HRESULT deleteDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *args);
  2160. [helpcontext(306203)] HRESULT cloneObject([out,retval] RMCLONEOBJECT **retv);
  2161. [helpcontext(306204)] HRESULT setAppData( [in] long data);
  2162. [helpcontext(306205)] HRESULT getAppData( [out, retval] long *data);
  2163. [helpcontext(306206)] HRESULT setName ([in] BSTR name);
  2164. [helpcontext(306207)] HRESULT getName([out,retval] BSTR *name); //LPSTR
  2165. [helpcontext(306208)] HRESULT getClassName([out,retval] BSTR *name); //LPSTR
  2166. //
  2167. // IDirect3DRMTexture3 methods
  2168. //
  2169. [helpcontext(311809)] HRESULT changed([in] d3drmTextureChangedFlags flags, [in] long nRects,[in] SAFEARRAY(RECT_CDESC) *rects); //BOOL values
  2170. [helpcontext(311810)] HRESULT generateMIPMap();
  2171. [helpcontext(311811)] HRESULT getCacheFlags([out,retval] d3drmTextureCacheFlags *ret);
  2172. [helpcontext(311812)] HRESULT getCacheImportance([out,retval] long *ret);
  2173. [helpcontext(311813)] HRESULT getColors([out, retval] long *c);
  2174. [helpcontext(311814)] HRESULT getDecalOrigin([out] long *x, [out] long *y);
  2175. [helpcontext(311815)] HRESULT getDecalScale([out, retval] dxBool *considerScale);
  2176. [helpcontext(311816)] HRESULT getDecalSize([out] float *w, [out] float *h);
  2177. [helpcontext(311817)] HRESULT getDecalTransparency([out, retval] dxBool *enabled); //BOOL
  2178. [helpcontext(311818)] HRESULT getDecalTransparentColor([out, retval] d3dcolor *tc);
  2179. [helpcontext(311819)] HRESULT getShades([out, retval] long *shades);
  2180. [helpcontext(311820)] HRESULT getSurface( [in] long flags,[out, retval] I_dxj_DirectDrawSurface4 **surface);
  2181. [helpcontext(311821)] HRESULT setCacheOptions([in] long importance, [in] d3drmTextureCacheFlags flags);
  2182. [helpcontext(311822)] HRESULT setColors([in] long numColors);
  2183. [helpcontext(311823)] HRESULT setDecalOrigin([in] long x, [in] long y);
  2184. [helpcontext(311824)] HRESULT setDecalScale([in] dxBool considerScale);
  2185. [helpcontext(311825)] HRESULT setDecalSize([in] float width, [in] float height);
  2186. [helpcontext(311826)] HRESULT setDecalTransparency([in] dxBool transparencyEnabled); //BOOL
  2187. [helpcontext(311827)] HRESULT setDecalTransparentColor([in] d3dcolor tcolor);
  2188. [helpcontext(311828)] HRESULT setShades([in] long numShades);
  2189. //note setDownSample callback and setValidation callback not supported
  2190. };
  2191. [
  2192. object,
  2193. uuid(9F76FE30-8E92-11d1-8808-00C04FC2C602),
  2194. helpstring("I_dxj_Direct3dRMClippedVisual Interface"),
  2195. pointer_default(unique),
  2196. local,
  2197. helpcontext(312000)
  2198. ]
  2199. interface I_dxj_Direct3dRMClippedVisual : IUnknown
  2200. {
  2201. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2202. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2203. //
  2204. // d3drmObject methods
  2205. //
  2206. [helpcontext(306201)] HRESULT addDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *arg);
  2207. [helpcontext(306202)] HRESULT deleteDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *args);
  2208. [helpcontext(306203)] HRESULT cloneObject([out,retval] RMCLONEOBJECT **retv);
  2209. [helpcontext(306204)] HRESULT setAppData( [in] long data);
  2210. [helpcontext(306205)] HRESULT getAppData( [out, retval] long *data);
  2211. [helpcontext(306206)] HRESULT setName ([in] BSTR name);
  2212. [helpcontext(306207)] HRESULT getName([out,retval] BSTR *name); //LPSTR
  2213. [helpcontext(306208)] HRESULT getClassName([out,retval] BSTR *name); //LPSTR
  2214. [helpcontext(312009)] HRESULT addPlane([in] I_dxj_Direct3dRMFrame3 *ref, [in,out] D3DVECTOR_CDESC *point, [in,out] D3DVECTOR_CDESC *normal, [out,retval] long *ret);
  2215. [helpcontext(312010)] HRESULT deletePlane([in] long id);
  2216. [helpcontext(312011)] HRESULT getPlane([in] long id,[in] I_dxj_Direct3dRMFrame3 *ref, [in,out] D3DVECTOR_CDESC *point, [in,out] D3DVECTOR_CDESC *normal);
  2217. [helpcontext(312012)] HRESULT getPlaneIds([in] long count, [in,out] SAFEARRAY(long) *arrayOfIds);
  2218. [helpcontext(312013)] HRESULT getPlaneIdsCount([out,retval] long *count);
  2219. [helpcontext(312014)] HRESULT setPlane([in] long id,[in] I_dxj_Direct3dRMFrame3 *ref, [in,out] D3DVECTOR_CDESC *point, [in,out] D3DVECTOR_CDESC *normal);
  2220. };
  2221. [
  2222. object,
  2223. uuid(9F76FE31-8E92-11d1-8808-00C04FC2C602),
  2224. helpstring("I_dxj_Direct3dRMProgressiveMesh Interface"),
  2225. pointer_default(unique),
  2226. local,
  2227. helpcontext(312200)
  2228. ]
  2229. interface I_dxj_Direct3dRMProgressiveMesh : IUnknown
  2230. {
  2231. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2232. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2233. //
  2234. // d3drmObject methods
  2235. //
  2236. [helpcontext(306201)] HRESULT addDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *arg);
  2237. [helpcontext(306202)] HRESULT deleteDestroyCallback([in] I_dxj_Direct3dRMCallback *fn, [in] USERARG *args);
  2238. [helpcontext(306203)] HRESULT cloneObject([out,retval] RMCLONEOBJECT **retv);
  2239. [helpcontext(306204)] HRESULT setAppData( [in] long data);
  2240. [helpcontext(306205)] HRESULT getAppData( [out, retval] long *data);
  2241. [helpcontext(306206)] HRESULT setName ([in] BSTR name);
  2242. [helpcontext(306207)] HRESULT getName([out,retval] BSTR *name); //LPSTR
  2243. [helpcontext(306208)] HRESULT getClassName([out,retval] BSTR *name); //LPSTR
  2244. [helpcontext(312209)] HRESULT loadFromFile([in] BSTR sFile, [in] VARIANT id,[in] d3drmLoadFlags options, [in] I_dxj_Direct3dRMLoadTextureCallback3 *loadTextureImplementation,[in] USERARG *userArgument);
  2245. [helpcontext(312210)] HRESULT getLoadStatus([in,out] D3DRMPMESHLOADSTATUS_CDESC *loadStatus);
  2246. [helpcontext(312211)] HRESULT setMinRenderDetail([in] float val);
  2247. [helpcontext(312212)] HRESULT abort();
  2248. [helpcontext(312213)] HRESULT getFaceDetail([out,retval] long *count);
  2249. [helpcontext(312214)] HRESULT getVertexDetail([out,retval] long *count);
  2250. [helpcontext(312215)] HRESULT setFaceDetail([in] long count);
  2251. [helpcontext(312216)] HRESULT setVertexDetail([in] long count);
  2252. [helpcontext(312217)] HRESULT getFaceDetailRange([in,out] long *min,[in,out] long *max);
  2253. [helpcontext(312218)] HRESULT getVertexDetailRange([in,out] long *min,[in,out] long *max);
  2254. [helpcontext(312219)] HRESULT getDetail([out,retval] float *detail);
  2255. [helpcontext(312220)] HRESULT setDetail([in] float detail);
  2256. [helpcontext(312221)] HRESULT registerEvents([in] long hEvent,[in] long flags,[in] long reserved);
  2257. [helpcontext(312222)] HRESULT createMesh([out,retval] I_dxj_Direct3dRMMesh **mesh);
  2258. [helpcontext(312223)] HRESULT duplicate([out,retval] I_dxj_Direct3dRMProgressiveMesh **mesh);
  2259. [helpcontext(312224)] HRESULT getBox([in,out] D3DRMBOX_CDESC *box);
  2260. [helpcontext(312225)] HRESULT setQuality(d3drmRenderQuality quality);
  2261. [helpcontext(312226)] HRESULT getQuality([out,retval] d3drmRenderQuality *quality);
  2262. };
  2263. ///////////////////////////////////////////////////////////////////////////
  2264. //
  2265. // Direct Sound Interfaces
  2266. //
  2267. ///////////////////////////////////////////////////////////////////////////
  2268. [
  2269. object,
  2270. uuid(9F76FB00-8E92-11d1-8808-00C04FC2C602),
  2271. helpstring("I_dxj_DirectSound Interface"),
  2272. pointer_default(unique),
  2273. local,
  2274. helpcontext(312400)
  2275. ]
  2276. interface I_dxj_DirectSound : IUnknown
  2277. {
  2278. import "oaidl.idl";
  2279. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2280. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2281. //
  2282. //*** IDirectSound methods ***
  2283. //
  2284. [helpcontext(312401)] HRESULT createSoundBuffer([in] DSBUFFERDESC_CDESC *bufferDesc,
  2285. [in] WAVEFORMATEX_CDESC *format,
  2286. [out, retval] I_dxj_DirectSoundBuffer **soundBuffer);
  2287. [helpcontext(312402)] HRESULT createSoundBufferFromFile([in] BSTR fileName, [in,out] DSBUFFERDESC_CDESC *bufferDesc,
  2288. [out] WAVEFORMATEX_CDESC *format,
  2289. [out, retval] I_dxj_DirectSoundBuffer **soundBuffer);
  2290. [helpcontext(312403)] HRESULT createSoundBufferFromResource([in] BSTR dll, [in] BSTR resourceName, [in,out] DSBUFFERDESC_CDESC *bufferDesc,
  2291. [out] WAVEFORMATEX_CDESC *format,
  2292. [out, retval] I_dxj_DirectSoundBuffer **soundBuffer);
  2293. [helpcontext(312404)] HRESULT getCaps([in,out] DSCAPS_CDESC *caps);
  2294. [helpcontext(312405)] HRESULT duplicateSoundBuffer([in] I_dxj_DirectSoundBuffer *original,
  2295. [out, retval] I_dxj_DirectSoundBuffer **duplicate);
  2296. [helpcontext(312406)] HRESULT setCooperativeLevel([in] HWnd hwnd, [in] dssclFlags level);
  2297. [helpcontext(312407)] HRESULT getSpeakerConfig([out,retval] dsSpeakerFlags *speakerConfig);
  2298. [helpcontext(312408)] HRESULT setSpeakerConfig([in] dsSpeakerFlags speakerConfig);
  2299. };
  2300. ///////////////////////////////////////////////////////////////////////////
  2301. [
  2302. object,
  2303. uuid(9F76FB01-8E92-11d1-8808-00C04FC2C602),
  2304. helpstring("I_dxj_DirectSoundBuffer Interface"),
  2305. pointer_default(unique),
  2306. local,
  2307. helpcontext(312600)
  2308. ]
  2309. interface I_dxj_DirectSoundBuffer : IUnknown
  2310. {
  2311. import "oaidl.idl";
  2312. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2313. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2314. //
  2315. /*** IDirectSoundBuffer methods ***/
  2316. //
  2317. [helpcontext(312601)] HRESULT getDirectSound3dListener([out, retval] I_dxj_DirectSound3dListener **lpdsl);
  2318. [helpcontext(312602)] HRESULT getDirectSound3dBuffer([out, retval] I_dxj_DirectSound3dBuffer **lpdsb);
  2319. [helpcontext(312603)] HRESULT getCaps([in,out] DSBCAPS_CDESC *caps);
  2320. [helpcontext(312604)] HRESULT getCurrentPosition([out] DSCURSORS_CDESC *cursors);
  2321. [helpcontext(312605)] HRESULT getFormat([in,out] WAVEFORMATEX_CDESC *format);
  2322. [helpcontext(312606)] HRESULT getVolume([out,retval] long *volume);
  2323. [helpcontext(312607)] HRESULT getPan([out,retval] long *pan);
  2324. [helpcontext(312608)] HRESULT getFrequency([out,retval] long *frequency);
  2325. [helpcontext(312609)] HRESULT getStatus([out,retval] dsbStatusFlags *status);
  2326. [hidden] HRESULT initialize([in] I_dxj_DirectSound *directSound,
  2327. [in,out] DSBUFFERDESC_CDESC *bufferDesc, [in,out] byte *wbuf);
  2328. [helpcontext(312610)] HRESULT writeBuffer([in] long start, [in] long size, [in] ABYTE *buffer, [in] dsbLockFlags flags);
  2329. [helpcontext(312611)] HRESULT readBuffer([in] long start, [in] long size, [in] ABYTE *buffer, [in] dsbLockFlags flags);
  2330. [helpcontext(312612)] HRESULT play([in] dsbPlayFlags flags);
  2331. [helpcontext(312613)] HRESULT setCurrentPosition([in] long newPosition);
  2332. [helpcontext(312614)] HRESULT setFormat([in] WAVEFORMATEX_CDESC *format);
  2333. [helpcontext(312615)] HRESULT setVolume([in] long volume);
  2334. [helpcontext(312616)] HRESULT setPan([in] long pan);
  2335. [helpcontext(312617)] HRESULT setFrequency([in] long frequency);
  2336. [helpcontext(312618)] HRESULT stop();
  2337. [helpcontext(312619)] HRESULT restore();
  2338. [helpcontext(312620)] HRESULT setNotificationPositions(long nElements, SAFEARRAY(DSBPOSITIONNOTIFY_CDESC) *psa);
  2339. [helpcontext(312621)] HRESULT saveToFile([in] BSTR filename);
  2340. };
  2341. ///////////////////////////////////////////////////////////////////////////
  2342. // I_dxj_DirectSound3dListener
  2343. [
  2344. object,
  2345. uuid(9F76FB02-8E92-11d1-8808-00C04FC2C602),
  2346. helpstring("I_dxj_DirectSound3dListener Interface"),
  2347. pointer_default(unique),
  2348. local,
  2349. helpcontext(312800)
  2350. ]
  2351. interface I_dxj_DirectSound3dListener: IUnknown
  2352. {
  2353. import "oaidl.idl";
  2354. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2355. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2356. //
  2357. /*** IDirectSound3D methods ***/
  2358. //
  2359. [helpcontext(312801)] HRESULT getAllParameters( [in,out] DS3DLISTENER_CDESC *listener );
  2360. [helpcontext(312802)] HRESULT getDistanceFactor( [out,retval] float *distanceFactor );
  2361. [helpcontext(312803)] HRESULT getDopplerFactor( [out,retval] float *dopplerFactor );
  2362. [helpcontext(312804)] HRESULT getOrientation( [in,out] D3DVECTOR_CDESC *orientFront, [in,out] D3DVECTOR_CDESC *orientTop );
  2363. [helpcontext(312805)] HRESULT getPosition( [out] D3DVECTOR_CDESC *position );
  2364. [helpcontext(312806)] HRESULT getRolloffFactor( [out,retval] float* rolloffFactor );
  2365. [helpcontext(312807)] HRESULT getVelocity( [out,retval] D3DVECTOR_CDESC *velocity );
  2366. [helpcontext(312808)] HRESULT setAllParameters( [in] DS3DLISTENER_CDESC *listener, [in] ds3dApplyFlags applyFlag);
  2367. [helpcontext(312809)] HRESULT setDistanceFactor( [in] float distanceFactor, [in] ds3dApplyFlags applyFlag);
  2368. [helpcontext(312810)] HRESULT setDopplerFactor( [in] float dopplerFactor, [in] ds3dApplyFlags applyFlag);
  2369. [helpcontext(312811)] HRESULT setOrientation( [in] float xFront, [in] float yFront, [in] float zFront,
  2370. [in] float xTop, [in] float yTop, [in] float zTop,
  2371. [in] ds3dApplyFlags applyFlag);
  2372. [helpcontext(312812)] HRESULT setPosition( [in] float x , [in] float y, [in] float z, [in] ds3dApplyFlags applyFlag);
  2373. [helpcontext(312813)] HRESULT setRolloffFactor( [in] float rolloffFactor, [in] ds3dApplyFlags applyFlag);
  2374. [helpcontext(312814)] HRESULT setVelocity( [in] float x, [in] float y, [in] float z, [in] ds3dApplyFlags applyFlag);
  2375. [helpcontext(312815)] HRESULT commitDeferredSettings();
  2376. [helpcontext(312816)] HRESULT getDirectSoundBuffer([out,retval] I_dxj_DirectSoundBuffer **retVal);
  2377. };
  2378. ///////////////////////////////////////////////////////////////////////////
  2379. // IDirectSound3DBuffer
  2380. [
  2381. object,
  2382. uuid(9F76FB03-8E92-11d1-8808-00C04FC2C602),
  2383. helpstring("I_dxj_DirectSound3DBuffer Interface"),
  2384. pointer_default(unique),
  2385. local,
  2386. helpcontext(313000)
  2387. ]
  2388. interface I_dxj_DirectSound3dBuffer : IUnknown
  2389. {
  2390. import "oaidl.idl";
  2391. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2392. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2393. //
  2394. /*** IDirectSoundBuffer3D methods ***/
  2395. //
  2396. [helpcontext(313001)] HRESULT getDirectSound3dListener([out,retval] I_dxj_DirectSound3dListener **retVal);
  2397. [helpcontext(313002)] HRESULT getDirectSoundBuffer([out,retval] I_dxj_DirectSoundBuffer **retVal);
  2398. [helpcontext(313003)] HRESULT getAllParameters( [in,out] DS3DBUFFER_CDESC *buffer );
  2399. [helpcontext(313004)] HRESULT getConeAngles( [in,out] long *inCone, [in,out] long *outCone );
  2400. [helpcontext(313005)] HRESULT getConeOrientation( [in,out] D3DVECTOR_CDESC* orientation );
  2401. [helpcontext(313006)] HRESULT getConeOutsideVolume( [out,retval] long * coneOutsideVolume );
  2402. [helpcontext(313007)] HRESULT getMaxDistance( [out,retval] float* maxDistance );
  2403. [helpcontext(313008)] HRESULT getMinDistance( [out,retval] float* minDistance );
  2404. [helpcontext(313009)] HRESULT getMode( [out,retval] ds3dModeFlags *mode );
  2405. [helpcontext(313010)] HRESULT getPosition( [in,out] D3DVECTOR_CDESC* position );
  2406. [helpcontext(313011)] HRESULT getVelocity( [in,out] D3DVECTOR_CDESC* velocity );
  2407. [helpcontext(313012)] HRESULT setAllParameters( [in] DS3DBUFFER_CDESC *buffer,[in] ds3dApplyFlags applyFlag);
  2408. [helpcontext(313013)] HRESULT setConeAngles( [in] long inCone, [in] long outCone, [in] ds3dApplyFlags applyFlag);
  2409. [helpcontext(313014)] HRESULT setConeOrientation( [in] float x , [in] float y, [in] float z, [in] ds3dApplyFlags applyFlag);
  2410. [helpcontext(313015)] HRESULT setConeOutsideVolume( [in] long coneOutsideVolume,[in] ds3dApplyFlags applyFlag);
  2411. [helpcontext(313016)] HRESULT setMaxDistance( [in] float maxDistance,[in] ds3dApplyFlags applyFlag);
  2412. [helpcontext(313017)] HRESULT setMinDistance( [in] float minDistance,[in] ds3dApplyFlags applyFlag);
  2413. [helpcontext(313018)] HRESULT setMode( [in] ds3dModeFlags mode,[in] ds3dApplyFlags applyFlag);
  2414. [helpcontext(313019)] HRESULT setPosition( [in] float x , [in] float y, [in] float z, [in] ds3dApplyFlags applyFlag);
  2415. [helpcontext(313020)] HRESULT setVelocity( [in] float x , [in] float y, [in] float z, [in] ds3dApplyFlags applyFlag);
  2416. };
  2417. [
  2418. object,
  2419. uuid(9F76FB04-8E92-11d1-8808-00C04FC2C602),
  2420. helpstring("I_dxj_DirectSoundCapture Interface"),
  2421. pointer_default(unique),
  2422. local,
  2423. helpcontext(313200)
  2424. ]
  2425. interface I_dxj_DirectSoundCapture : IUnknown
  2426. {
  2427. import "oaidl.idl";
  2428. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2429. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2430. [helpcontext(313201)] HRESULT createCaptureBuffer([in]DSCBUFFERDESC_CDESC *bufferDesc,[out,retval] I_dxj_DirectSoundCaptureBuffer **ret);
  2431. [helpcontext(313202)] HRESULT getCaps([in,out]DSCCAPS_CDESC *caps);
  2432. };
  2433. [
  2434. object,
  2435. uuid(9F76FB05-8E92-11d1-8808-00C04FC2C602),
  2436. helpstring("I_dxj_DirectSoundCaptureBuffer Interface"),
  2437. pointer_default(unique),
  2438. helpcontext(313400)
  2439. ]
  2440. interface I_dxj_DirectSoundCaptureBuffer : IUnknown
  2441. {
  2442. import "oaidl.idl";
  2443. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2444. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2445. [helpcontext(313401)] HRESULT getCaps([in,out]DSCBCAPS_CDESC *caps);
  2446. [helpcontext(313402)] HRESULT getCurrentPosition([in,out] DSCURSORS_CDESC *cursors);
  2447. [helpcontext(313403)] HRESULT getFormat([in,out] WAVEFORMATEX_CDESC *waveformat);
  2448. [helpcontext(313404)] HRESULT getStatus([out,retval] dscbStatusFlags * status);
  2449. [hidden] HRESULT initialize([in]I_dxj_DirectSoundCaptureBuffer *captureBuffer,[in]DSCBUFFERDESC_CDESC *bufferDesc);
  2450. [helpcontext(313405)] HRESULT start([in] dscbStartFlags flags);
  2451. [helpcontext(313406)] HRESULT stop();
  2452. [helpcontext(313407)] HRESULT writeBuffer([in] long start, [in] long size, [in] ALONG *buffer, [in] dscbLockFlags flags);
  2453. [helpcontext(313408)] HRESULT readBuffer([in] long start, [in] long size, [in] ALONG *buffer, [in] dscbLockFlags flags);
  2454. [helpcontext(313409)] HRESULT setNotificationPositions(long nElements, SAFEARRAY(DSBPOSITIONNOTIFY_CDESC) *psa);
  2455. };
  2456. [
  2457. object,
  2458. uuid(9F76FB07-8E92-11d1-8808-00C04FC2C602),
  2459. helpstring("I_dxj_DSEnum Interface"),
  2460. pointer_default(unique),
  2461. local,
  2462. helpcontext(313600)
  2463. ]
  2464. interface I_dxj_DSEnum : IUnknown
  2465. {
  2466. import "oaidl.idl";
  2467. [helpcontext(313601)] HRESULT getGuid([in] long index,[out,retval] BSTR *guid);
  2468. [helpcontext(313602)] HRESULT getDescription([in] long index,[out,retval] BSTR *guid);
  2469. [helpcontext(313603)] HRESULT getName([in] long index,[out,retval] BSTR *guid);
  2470. [helpcontext(313604)] HRESULT getCount([out,retval]long *count);
  2471. };
  2472. ///////////////////////////////////////////////////////////////////////////
  2473. //
  2474. // Direct Input Interfaces
  2475. //
  2476. ///////////////////////////////////////////////////////////////////////////
  2477. [
  2478. object,
  2479. uuid(9F76FA02-8E92-11d1-8808-00C04FC2C602),
  2480. helpstring("I_dxj_DirectInput Interface"),
  2481. pointer_default(unique),
  2482. local,
  2483. helpcontext(313800)
  2484. ]
  2485. interface I_dxj_DirectInput : IUnknown
  2486. {
  2487. import "oaidl.idl";
  2488. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2489. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2490. [helpcontext(313801)] HRESULT createDevice([in] BSTR guid, [out,retval] I_dxj_DirectInputDevice **dev);
  2491. [helpcontext(313802)] HRESULT getDIEnumDevices([in] diDeviceType deviceType, [in] diEnumDevicesFlags flags, [out,retval] I_dxj_DIEnumDevices **retVal);
  2492. [helpcontext(313803)] HRESULT getDeviceStatus([in] BSTR guid, [out,retval] VARIANT_BOOL *status);
  2493. [helpcontext(313804)] HRESULT runControlPanel([in] long hwndOwner);
  2494. };
  2495. [
  2496. object,
  2497. uuid(9F76FA04-8E92-11d1-8808-00C04FC2C602),
  2498. helpstring("I_dxj_DirectInputDeviceInstance Interface"),
  2499. pointer_default(unique),
  2500. local,
  2501. helpcontext(314000)
  2502. ]
  2503. interface I_dxj_DirectInputDeviceInstance : IUnknown
  2504. {
  2505. [helpcontext(314001)] HRESULT getGuidInstance([out,retval] BSTR *ret);
  2506. [helpcontext(314002)] HRESULT getGuidProduct([out,retval] BSTR *ret);
  2507. [helpcontext(314003)] HRESULT getProductName([out,retval] BSTR *ret);
  2508. [helpcontext(314004)] HRESULT getInstanceName([out,retval] BSTR *ret);
  2509. [helpcontext(314005)] HRESULT getGuidFFDriver([out,retval] BSTR *ret);
  2510. [helpcontext(314006)] HRESULT getUsagePage([out,retval] short *ret);
  2511. [helpcontext(314007)] HRESULT getUsage([out,retval] short *ret);
  2512. [helpcontext(314008)] HRESULT getDevType([out,retval] long *ret);
  2513. };
  2514. [
  2515. object,
  2516. uuid(9F76FA05-8E92-11d1-8808-00C04FC2C602),
  2517. helpstring("I_dxj_DirectInputDeviceObjectInstance Interface"),
  2518. pointer_default(unique),
  2519. local,
  2520. helpcontext(314200)
  2521. ]
  2522. interface I_dxj_DirectInputDeviceObjectInstance : IUnknown
  2523. {
  2524. [helpcontext(314201)] HRESULT getGuidType([out,retval] BSTR *ret);
  2525. [helpcontext(314202)] HRESULT getOfs([out,retval] long *ret);
  2526. [helpcontext(314203)] HRESULT getType([out,retval] long *ret);
  2527. [helpcontext(314204)] HRESULT getFlags([out,retval] diDeviceObjInstanceFlags *ret);
  2528. [helpcontext(314205)] HRESULT getName([out,retval] BSTR *ret);
  2529. [helpcontext(314206)] HRESULT getCollectionNumber([out,retval] short *ret);
  2530. [helpcontext(314207)] HRESULT getDesignatorIndex([out,retval] short *ret);
  2531. [helpcontext(314208)] HRESULT getUsagePage([out,retval] short *ret);
  2532. [helpcontext(314209)] HRESULT getUsage([out,retval] short *ret);
  2533. [helpcontext(314210)] HRESULT getDimension([out,retval] long *ret);
  2534. [helpcontext(314211)] HRESULT getExponent([out,retval] short *ret);
  2535. };
  2536. [
  2537. object,
  2538. uuid(9F76FA03-8E92-11d1-8808-00C04FC2C602),
  2539. helpstring("I_dxj_DirectInputDevice Interface"),
  2540. pointer_default(unique),
  2541. local,
  2542. helpcontext(314400)
  2543. ]
  2544. interface I_dxj_DirectInputDevice : IUnknown
  2545. {
  2546. import "oaidl.idl";
  2547. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2548. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2549. [helpcontext(314401)] HRESULT acquire();
  2550. [helpcontext(314402)] HRESULT getDeviceObjectsEnum([in] diDftFlags flags,[out,retval] I_dxj_DIEnumDeviceObjects **ppret);
  2551. [helpcontext(314403)] HRESULT getCapabilities([in,out] DIDEVCAPS_CDESC *caps);
  2552. [helpcontext(314404)] HRESULT getDeviceData( [in,out] SAFEARRAY(DIDEVICEOBJECTDATA_CDESC) *deviceObjectDataArray,[in] diDgddFlags flags,[out,retval] long *c);
  2553. [helpcontext(314405)] HRESULT getDeviceInfo([out,retval] I_dxj_DirectInputDeviceInstance **deviceInstance);
  2554. [helpcontext(314406)] HRESULT getDeviceStateKeyboard ([in,out] DIKEYBOARDSTATE_CDESC *state);
  2555. [helpcontext(314407)] HRESULT getDeviceStateMouse ([in,out] DIMOUSESTATE_CDESC *state);
  2556. [helpcontext(314408)] HRESULT getDeviceStateJoystick ([in,out] DIJOYSTATE_CDESC *state);
  2557. [helpcontext(314409)] HRESULT getDeviceStateJoystick2 ([in,out] DIJOYSTATE2_CDESC *state);
  2558. [helpcontext(314410)] HRESULT getDeviceState([in] long cb, [in] void* state);
  2559. [helpcontext(314411)] HRESULT getObjectInfo( [in] long obj, [in] diPhFlags how, [out,retval] I_dxj_DirectInputDeviceObjectInstance **ret);
  2560. [helpcontext(314412)] HRESULT getProperty([in] BSTR guid,[out] void *propertyInfo);
  2561. [helpcontext(314413)] HRESULT runControlPanel([in] long hwnd);
  2562. [helpcontext(314414)] HRESULT setCooperativeLevel([in] long hwnd, [in] diSclFlags flags);
  2563. [helpcontext(314415)] HRESULT setCommonDataFormat([in] diCommonDataFormats format);
  2564. [helpcontext(314416)] HRESULT setDataFormat([in] DIDATAFORMAT_CDESC *format,SAFEARRAY(DIOBJECTDATAFORMAT_CDESC) * formatArray);
  2565. [helpcontext(314417)] HRESULT setEventNotification([in] long hEvent);
  2566. [helpcontext(314418)] HRESULT setProperty([in] BSTR guid,[in] void *propertyInfo);
  2567. [helpcontext(314419)] HRESULT unacquire();
  2568. [helpcontext(314420)] HRESULT poll();
  2569. [helpcontext(314421)] HRESULT createEffect(
  2570. [in] BSTR effectGuid,
  2571. [in] DIEFFECT_CDESC *effectinfo,
  2572. [out,retval] I_dxj_DirectInputEffect **ret);
  2573. [helpcontext(314422)] HRESULT createCustomEffect(
  2574. [in] DIEFFECT_CDESC *effectinfo,
  2575. [in] long channels,
  2576. [in] long samplePeriod,
  2577. [in] long nSamples,
  2578. [in] SAFEARRAY(long) *sampledata,
  2579. [out,retval] I_dxj_DirectInputEffect **ret);
  2580. [helpcontext(314423)] HRESULT sendDeviceData([in] long count,[in] SAFEARRAY(DIDEVICEOBJECTDATA_CDESC) *data, [in] disddFlags flags, [out,retval] long *retcount);
  2581. [helpcontext(314424)] HRESULT sendForceFeedbackCommand([in] DISFFCFLAGS flags);
  2582. [helpcontext(314425)] HRESULT getForceFeedbackState([out,retval] DIGFFSFLAGS *state);
  2583. [helpcontext(314426)] HRESULT getEffectsEnum([in] DIEFTFLAGS effType,[out,retval] I_dxj_DirectInputEnumEffects **ret);
  2584. };
  2585. [
  2586. object,
  2587. uuid(BCAA7DA9-F7EF-11d2-93FD-00C04FC2C602),
  2588. helpstring("I_dxj_DirectInputEffect Interface"),
  2589. pointer_default(unique),
  2590. local,
  2591. helpcontext(314600)
  2592. ]
  2593. interface I_dxj_DirectInputEffect : IUnknown
  2594. {
  2595. import "oaidl.idl";
  2596. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2597. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2598. [helpcontext(314601)] HRESULT download();
  2599. [helpcontext(314602)] HRESULT getEffectGuid([out,retval] BSTR *guid);
  2600. [helpcontext(314603)] HRESULT getEffectStatus([out,retval] long *ret);
  2601. [helpcontext(314604)] HRESULT start([in] long iterations, [in] long flags);
  2602. [helpcontext(314605)] HRESULT stop();
  2603. [helpcontext(314606)] HRESULT unload();
  2604. [helpcontext(314607)] HRESULT setParameters([in] DIEFFECT_CDESC *effectinfo,[in] DIEPFLAGS flags);
  2605. [helpcontext(314608)] HRESULT getParameters([in,out] DIEFFECT_CDESC *effectinfo);
  2606. };
  2607. [
  2608. object,
  2609. uuid(BCAA7DAA-F7EF-11d2-93FD-00C04FC2C602),
  2610. helpstring("I_dxj_DirectInputEnumEffects Interface"),
  2611. pointer_default(unique),
  2612. local,
  2613. helpcontext(314800)
  2614. ]
  2615. interface I_dxj_DirectInputEnumEffects : IUnknown
  2616. {
  2617. import "oaidl.idl";
  2618. [helpcontext(314801)] HRESULT getCount([out,retval] long *ret);
  2619. [helpcontext(314802)] HRESULT getEffectGuid([in] long i,[out,retval] BSTR *ret);
  2620. [helpcontext(314803)] HRESULT getType([in] long i,[out,retval] DIEFTFLAGS *ret);
  2621. [helpcontext(314804)] HRESULT getStaticParams([in] long i,[out,retval] DIEPFLAGS *ret);
  2622. [helpcontext(314805)] HRESULT getDynamicParams([in] long i,[out,retval] DIEPFLAGS *ret);
  2623. [helpcontext(314806)] HRESULT getName([in] long i, [out,retval] BSTR *ret);
  2624. };
  2625. [
  2626. object,
  2627. uuid(9F76FA08-8E92-11d1-8808-00C04FC2C602),
  2628. helpstring("I_dxj_DIEnumDeviceObjects Interface"),
  2629. pointer_default(unique),
  2630. local,
  2631. helpcontext(315000)
  2632. ]
  2633. interface I_dxj_DIEnumDeviceObjects : IUnknown
  2634. {
  2635. import "oaidl.idl";
  2636. [helpcontext(315001)] HRESULT getItem( [in]long index, [out,retval] I_dxj_DirectInputDeviceObjectInstance **info);
  2637. [helpcontext(315002)] HRESULT getCount([out,retval]long *count);
  2638. };
  2639. [
  2640. object,
  2641. uuid(9F76FA09-8E92-11d1-8808-00C04FC2C602),
  2642. helpstring("I_dxj_DIEnumDevices Interface"),
  2643. pointer_default(unique),
  2644. local,
  2645. helpcontext(315200)
  2646. ]
  2647. interface I_dxj_DIEnumDevices : IUnknown
  2648. {
  2649. import "oaidl.idl";
  2650. [helpcontext(315201)] HRESULT getItem( [in]long index, [out,retval] I_dxj_DirectInputDeviceInstance **info);
  2651. [helpcontext(315202)] HRESULT getCount([out,retval]long *count);
  2652. };
  2653. ///////////////////////////////////////////////////////////////////////////
  2654. //
  2655. // Direct3DRM Interpolator Interfaces
  2656. //
  2657. ///////////////////////////////////////////////////////////////////////////
  2658. [
  2659. object,
  2660. uuid(9F76FE29-8E92-11d1-8808-00C04FC2C602),
  2661. helpstring("I_dxj_Direct3dRMInterpolator Interface"),
  2662. pointer_default(unique),
  2663. local,
  2664. hidden,
  2665. helpcontext(315400)
  2666. ]
  2667. interface I_dxj_Direct3dRMInterpolator : IUnknown
  2668. {
  2669. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2670. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2671. [helpcontext(315401)] HRESULT attachObject([in] I_dxj_Direct3dRMObject *rmObject);
  2672. [helpcontext(315402)] HRESULT detachObject([in] I_dxj_Direct3dRMObject *rmObject);
  2673. [helpcontext(315403)] HRESULT getAttachedObjects([out,retval] I_dxj_Direct3dRMObjectArray **rmArray);
  2674. [helpcontext(315404)] HRESULT setIndex([in] float val);
  2675. [helpcontext(315405)] HRESULT getIndex([out,retval] float *val);
  2676. [helpcontext(315406)] HRESULT interpolate([in] float val, [in] I_dxj_Direct3dRMObject *rmobject, [in] d3drmInterpolationFlags options);
  2677. };
  2678. [
  2679. object,
  2680. uuid(5F4637E1-62AC-11d2-90B1-00C04FC2C602),
  2681. helpstring("I_dxj_Direct3dRMViewportInterpolator Interface"),
  2682. pointer_default(unique),
  2683. local,
  2684. //hidden,
  2685. helpcontext(315600)
  2686. ]
  2687. interface I_dxj_Direct3dRMViewportInterpolator : IUnknown
  2688. {
  2689. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2690. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2691. [helpcontext(315601)] HRESULT attachObject([in] I_dxj_Direct3dRMObject *rmObject);
  2692. [helpcontext(315602)] HRESULT detachObject([in] I_dxj_Direct3dRMObject *rmObject);
  2693. [helpcontext(315603)] HRESULT getAttachedObjects([out,retval] I_dxj_Direct3dRMObjectArray **rmArray);
  2694. [helpcontext(315604)] HRESULT setIndex([in] float val);
  2695. [helpcontext(315605)] HRESULT getIndex([out,retval] float *val);
  2696. [helpcontext(315606)] HRESULT interpolate([in] float val, [in] I_dxj_Direct3dRMObject *rmobject, [in] d3drmInterpolationFlags options);
  2697. [helpcontext(315607)] HRESULT setFront([in] float val);
  2698. [helpcontext(315608)] HRESULT setBack([in] float val);
  2699. [helpcontext(315609)] HRESULT setField([in] float val);
  2700. [helpcontext(315610)] HRESULT setPlane([in] float left, [in] float right, [in] float bottom, [in] float top);
  2701. };
  2702. [
  2703. object,
  2704. uuid(5F4637E2-62AC-11d2-90B1-00C04FC2C602),
  2705. helpstring("I_dxj_Direct3dRMFrameInterpolator Interface"),
  2706. pointer_default(unique),
  2707. local,
  2708. //hidden,
  2709. helpcontext(315800)
  2710. ]
  2711. interface I_dxj_Direct3dRMFrameInterpolator : IUnknown
  2712. {
  2713. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2714. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2715. [helpcontext(315801)] HRESULT attachObject([in] I_dxj_Direct3dRMObject *rmObject);
  2716. [helpcontext(315802)] HRESULT detachObject([in] I_dxj_Direct3dRMObject *rmObject);
  2717. [helpcontext(315803)] HRESULT getAttachedObjects([out,retval] I_dxj_Direct3dRMObjectArray **rmArray);
  2718. [helpcontext(315804)] HRESULT setIndex([in] float val);
  2719. [helpcontext(315805)] HRESULT getIndex([out,retval] float *val);
  2720. [helpcontext(315806)] HRESULT interpolate([in] float val, [in] I_dxj_Direct3dRMObject *rmobject, [in] d3drmInterpolationFlags options);
  2721. [helpcontext(315807)] HRESULT setPosition( [in] I_dxj_Direct3dRMFrame3 *reference, [in] float x,
  2722. [in] float y, [in] float z);
  2723. [helpcontext(315808)] HRESULT setQuaternion([in]I_dxj_Direct3dRMFrame3 *reference,D3DRMQUATERNION_CDESC *quat);
  2724. [helpcontext(315809)] HRESULT setRotation( [in] I_dxj_Direct3dRMFrame3 *reference, [in] float x,
  2725. [in] float y, [in] float z, [in] float theta);
  2726. [helpcontext(315810)] HRESULT setVelocity( [in] I_dxj_Direct3dRMFrame3 *reference, [in] float x,
  2727. [in] float y, [in] float z, [in] dxBool with_rotation);
  2728. [helpcontext(315811)] HRESULT setOrientation( [in] I_dxj_Direct3dRMFrame3 *reference, [in] float dx,
  2729. [in] float dy, [in] float dz, [in] float ux,
  2730. [in] float uy, [in] float uz);
  2731. [helpcontext(315812)] HRESULT setSceneBackground([in] d3dcolor c);
  2732. [helpcontext(315813)] HRESULT setSceneFogColor([in] d3dcolor c);
  2733. [helpcontext(315814)] HRESULT setSceneBackgroundRGB([in] float r, [in] float g, [in] float b);
  2734. [helpcontext(315815)] HRESULT setSceneFogParams([in] float start, [in] float end, [in] float density);
  2735. [helpcontext(315816)] HRESULT setColor([in] d3dcolor c);
  2736. [helpcontext(315817)] HRESULT setColorRGB([in] float r, [in] float g, [in] float b);
  2737. };
  2738. [
  2739. object,
  2740. uuid(5F4637E3-62AC-11d2-90B1-00C04FC2C602),
  2741. helpstring("I_dxj_Direct3dRMeshInterpolator Interface"),
  2742. pointer_default(unique),
  2743. local,
  2744. // hidden,
  2745. helpcontext(316000)
  2746. ]
  2747. interface I_dxj_Direct3dRMMeshInterpolator : IUnknown
  2748. {
  2749. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2750. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2751. [helpcontext(316001)] HRESULT attachObject([in] I_dxj_Direct3dRMObject *rmObject);
  2752. [helpcontext(316002)] HRESULT detachObject([in] I_dxj_Direct3dRMObject *rmObject);
  2753. [helpcontext(316003)] HRESULT getAttachedObjects([out,retval] I_dxj_Direct3dRMObjectArray **rmArray);
  2754. [helpcontext(316004)] HRESULT setIndex([in] float val);
  2755. [helpcontext(316005)] HRESULT getIndex([out,retval] float *val);
  2756. [helpcontext(316006)] HRESULT interpolate([in] float val, [in] I_dxj_Direct3dRMObject *rmobject, [in] d3drmInterpolationFlags options);
  2757. [helpcontext(316007)] HRESULT translate([in] float tx, [in] float ty, [in] float tz);
  2758. [helpcontext(316008)] HRESULT setVertices([in] d3drmGroupIndex id, [in] long idx, [in] long count, [in] SAFEARRAY(D3DRMVERTEX_CDESC) *vertexArray);
  2759. [helpcontext(316009)] HRESULT setGroupColor([in] d3drmGroupIndex id, [in] d3dcolor val);
  2760. [helpcontext(316010)] HRESULT setGroupColorRGB([in] d3drmGroupIndex id, [in] float r,[in] float g, [in] float b);
  2761. };
  2762. [
  2763. object,
  2764. uuid(5F4637E4-62AC-11d2-90B1-00C04FC2C602),
  2765. helpstring("I_dxj_Direct3dRMLightInterpolator Interface"),
  2766. pointer_default(unique),
  2767. local,
  2768. //hidden,
  2769. helpcontext(316200)
  2770. ]
  2771. interface I_dxj_Direct3dRMLightInterpolator : IUnknown
  2772. {
  2773. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2774. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2775. [helpcontext(316201)] HRESULT attachObject([in] I_dxj_Direct3dRMObject *rmObject);
  2776. [helpcontext(316202)] HRESULT detachObject([in] I_dxj_Direct3dRMObject *rmObject);
  2777. [helpcontext(316203)] HRESULT getAttachedObjects([out,retval] I_dxj_Direct3dRMObjectArray **rmArray);
  2778. [helpcontext(316204)] HRESULT setIndex([in] float val);
  2779. [helpcontext(316205)] HRESULT getIndex([out,retval] float *val);
  2780. [helpcontext(316206)] HRESULT interpolate([in] float val, [in] I_dxj_Direct3dRMObject *rmobject, [in] d3drmInterpolationFlags options);
  2781. //
  2782. // IDirect3DRMLight methods - docdoc: based on id3drmObject!
  2783. //
  2784. [helpcontext(316207)] HRESULT setColor([in] d3dcolor c);
  2785. [helpcontext(316208)] HRESULT setColorRGB([in] float r, [in] float g, [in] float b);
  2786. [helpcontext(316209)] HRESULT setRange([in] float rng);
  2787. [helpcontext(316210)] HRESULT setUmbra([in] float u);
  2788. [helpcontext(316211)] HRESULT setPenumbra([in] float p);
  2789. [helpcontext(316212)] HRESULT setConstantAttenuation([in] float atn);
  2790. [helpcontext(316213)] HRESULT setLinearAttenuation([in] float atn);
  2791. [helpcontext(316214)] HRESULT setQuadraticAttenuation([in] float atn);
  2792. };
  2793. [
  2794. object,
  2795. uuid(5F4637E5-62AC-11d2-90B1-00C04FC2C602),
  2796. helpstring("I_dxj_Direct3dRMTextureInterpolator Interface"),
  2797. pointer_default(unique),
  2798. local,
  2799. //hidden,
  2800. helpcontext(316400)
  2801. ]
  2802. interface I_dxj_Direct3dRMTextureInterpolator : IUnknown
  2803. {
  2804. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2805. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2806. [helpcontext(316401)] HRESULT attachObject([in] I_dxj_Direct3dRMObject *rmObject);
  2807. [helpcontext(316402)] HRESULT detachObject([in] I_dxj_Direct3dRMObject *rmObject);
  2808. [helpcontext(316403)] HRESULT getAttachedObjects([out,retval] I_dxj_Direct3dRMObjectArray **rmArray);
  2809. [helpcontext(316404)] HRESULT setIndex([in] float val);
  2810. [helpcontext(316405)] HRESULT getIndex([out,retval] float *val);
  2811. [helpcontext(316406)] HRESULT interpolate([in] float val, [in] I_dxj_Direct3dRMObject *rmobject, [in] d3drmInterpolationFlags options);
  2812. [helpcontext(316407)] HRESULT setDecalOrigin([in] long x, [in] long y);
  2813. [helpcontext(316408)] HRESULT setDecalSize([in] float width, [in] float height);
  2814. [helpcontext(316409)] HRESULT setDecalTransparentColor([in] d3dcolor tcolor);
  2815. };
  2816. [
  2817. object,
  2818. uuid(5F4637E6-62AC-11d2-90B1-00C04FC2C602),
  2819. helpstring("I_dxj_Direct3dRMMaterialInterpolator Interface"),
  2820. pointer_default(unique),
  2821. local,
  2822. //hidden,
  2823. helpcontext(316600)
  2824. ]
  2825. interface I_dxj_Direct3dRMMaterialInterpolator : IUnknown
  2826. {
  2827. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2828. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2829. [helpcontext(316601)] HRESULT attachObject([in] I_dxj_Direct3dRMObject *rmObject);
  2830. [helpcontext(316602)] HRESULT detachObject([in] I_dxj_Direct3dRMObject *rmObject);
  2831. [helpcontext(316603)] HRESULT getAttachedObjects([out,retval] I_dxj_Direct3dRMObjectArray **rmArray);
  2832. [helpcontext(316604)] HRESULT setIndex([in] float val);
  2833. [helpcontext(316605)] HRESULT getIndex([out,retval] float *val);
  2834. [helpcontext(316606)] HRESULT interpolate([in] float val, [in] I_dxj_Direct3dRMObject *rmobject, [in] d3drmInterpolationFlags options);
  2835. [helpcontext(316607)] HRESULT setPower([in] float power);
  2836. [helpcontext(316608)] HRESULT setSpecular([in] float red, [in] float green, [in] float blue);
  2837. [helpcontext(316609)] HRESULT setEmissive([in] float red, [in] float green, [in] float blue);
  2838. };
  2839. ///////////////////////////////////////////////////////////////////////////
  2840. //
  2841. // DirectMusic
  2842. //
  2843. ///////////////////////////////////////////////////////////////////////////
  2844. #define MUSIC_TIME long
  2845. #define REFERENCE_TIME long
  2846. [
  2847. object,
  2848. uuid(FAFA35A0-8B72-11d2-90B2-00C04FC2C602),
  2849. helpstring("I_dxj_DirectMusicLoader Interface"),
  2850. pointer_default(unique),
  2851. local,
  2852. helpcontext(316800)
  2853. ]
  2854. interface I_dxj_DirectMusicLoader : IUnknown
  2855. {
  2856. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2857. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2858. // in place of GetObject we can have a function for each type -
  2859. // load from Resource
  2860. [helpcontext(316801)] HRESULT loadSegment([in]BSTR filename, [out,retval] I_dxj_DirectMusicSegment **ret);
  2861. [helpcontext(316802)] HRESULT loadStyle([in]BSTR filename, [out,retval] I_dxj_DirectMusicStyle **ret);
  2862. [helpcontext(316803)] HRESULT loadBand([in]BSTR filename, [out,retval] I_dxj_DirectMusicBand **ret);
  2863. [helpcontext(316804)] HRESULT loadCollection([in]BSTR filename, [out,retval] I_dxj_DirectMusicCollection **ret);
  2864. [helpcontext(316805)] HRESULT loadSegmentFromResource([in]BSTR moduleName,[in]BSTR resourceName, [out,retval] I_dxj_DirectMusicSegment **ret);
  2865. [helpcontext(316806)] HRESULT loadStyleFromResource([in]BSTR moduleName,[in]BSTR resourceName, [out,retval] I_dxj_DirectMusicStyle **ret);
  2866. [helpcontext(316807)] HRESULT loadBandFromResource([in]BSTR moduleName,[in] BSTR resourceName, [out,retval] I_dxj_DirectMusicBand **ret);
  2867. [helpcontext(316808)] HRESULT loadCollectionFromResource([in]BSTR moduleName,[in]BSTR resourceName, [out,retval] I_dxj_DirectMusicCollection **ret);
  2868. [helpcontext(316809)] HRESULT setSearchDirectory([in] BSTR dir);
  2869. [helpcontext(316810)] HRESULT loadChordMap([in]BSTR filename, [out,retval] I_dxj_DirectMusicChordMap **ret);
  2870. [helpcontext(316811)] HRESULT loadChordMapFromResource([in]BSTR moduleName,[in]BSTR resourceName, [out,retval] I_dxj_DirectMusicChordMap **ret);
  2871. };
  2872. [
  2873. object,
  2874. uuid(FAFA35A1-8B72-11d2-90B2-00C04FC2C602),
  2875. helpstring("I_dxj_DirectMusicSegment Interface"),
  2876. pointer_default(unique),
  2877. local,
  2878. helpcontext(317000)
  2879. ]
  2880. interface I_dxj_DirectMusicSegment : IUnknown
  2881. {
  2882. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2883. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2884. /* I_dxj_DirectMusicSegment */
  2885. [helpcontext(317001)] HRESULT clone ([in] MUSIC_TIME mtStart, [in] MUSIC_TIME mtEnd, [out,retval] I_dxj_DirectMusicSegment** ppSegment);
  2886. [helpcontext(317002)] HRESULT setStartPoint ([in] MUSIC_TIME mtStart) ;
  2887. [helpcontext(317003)] HRESULT getStartPoint ([out,retval] MUSIC_TIME* pmtStart);
  2888. [helpcontext(317004)] HRESULT setLoopPoints ([in] MUSIC_TIME mtStart, [in] MUSIC_TIME mtEnd);
  2889. [helpcontext(317005)] HRESULT getLoopPointStart ([out,retval] MUSIC_TIME* pmtStart);
  2890. [helpcontext(317006)] HRESULT getLoopPointEnd ([out,retval] MUSIC_TIME* pmtEnd);
  2891. [helpcontext(317007)] HRESULT getLength ([out,retval] MUSIC_TIME* pmtLength);
  2892. [helpcontext(317008)] HRESULT setLength ([in] MUSIC_TIME mtLength);
  2893. [helpcontext(317009)] HRESULT getRepeats ([out,retval] long* lRepeats);
  2894. [helpcontext(317010)] HRESULT setRepeats ([in] long lRepeats) ;
  2895. //track params
  2896. [helpcontext(317011)] HRESULT download( [in] I_dxj_DirectMusicPerformance *performance);
  2897. [helpcontext(317012)] HRESULT unload( [in] I_dxj_DirectMusicPerformance *performance);
  2898. [helpcontext(317013)] HRESULT setAutoDownloadEnable ( [in] VARIANT_BOOL b);
  2899. [helpcontext(317014)] HRESULT setTempoEnable ( [in] VARIANT_BOOL b);
  2900. [helpcontext(317015)] HRESULT setTimeSigEnable ( [in] VARIANT_BOOL b);
  2901. [helpcontext(317016)] HRESULT setStandardMidiFile( );
  2902. [helpcontext(317017)] HRESULT connectToCollection ( [in] I_dxj_DirectMusicCollection *c);
  2903. };
  2904. [
  2905. object,
  2906. uuid(FAFA35A2-8B72-11d2-90B2-00C04FC2C602),
  2907. helpstring("I_dxj_DirectMusicComposer Interface"),
  2908. pointer_default(unique),
  2909. local,
  2910. helpcontext(317200)
  2911. ]
  2912. interface I_dxj_DirectMusicComposer : IUnknown
  2913. {
  2914. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2915. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2916. [helpcontext(317201)] HRESULT autoTransition ([in] I_dxj_DirectMusicPerformance* performance,
  2917. [in] I_dxj_DirectMusicSegment* toSeg,
  2918. [in] long lCommand,
  2919. [in] long lFlags,
  2920. [in] I_dxj_DirectMusicChordMap *chordmap,
  2921. [out,retval] I_dxj_DirectMusicSegment** ppTransSeg);
  2922. [helpcontext(317202)] HRESULT composeSegmentFromTemplate ([in] I_dxj_DirectMusicStyle* style,
  2923. [in] I_dxj_DirectMusicSegment* templateSeg,
  2924. [in] short activity,
  2925. [in] I_dxj_DirectMusicChordMap *chordmap,
  2926. [out,retval] I_dxj_DirectMusicSegment** SectionSeg);
  2927. [helpcontext(317203)] HRESULT composeSegmentFromShape ( [in] I_dxj_DirectMusicStyle* style,
  2928. [in] short numberOfMeasures,
  2929. [in] short shape,
  2930. [in] short activity,
  2931. [in] VARIANT_BOOL bIntro,
  2932. [in] VARIANT_BOOL bEnd,
  2933. [in] I_dxj_DirectMusicChordMap *chordmap,
  2934. [out,retval] I_dxj_DirectMusicSegment** SectionSeg);
  2935. [helpcontext(317204)] HRESULT composeTransition ([in] I_dxj_DirectMusicSegment* fromSeg,
  2936. [in] I_dxj_DirectMusicSegment* toSeg,
  2937. [in] MUSIC_TIME mtTime,
  2938. [in] long lCommand,
  2939. [in] long lFlags,
  2940. [in] I_dxj_DirectMusicChordMap *chordmap,
  2941. [out,retval] I_dxj_DirectMusicSegment** SectionSeg);
  2942. [helpcontext(317205)] HRESULT composeTemplateFromShape ([in] short numMeasures,
  2943. [in] short shape,
  2944. [in] VARIANT_BOOL bIntro,
  2945. [in] VARIANT_BOOL bEnd,
  2946. [in] short endLength,
  2947. [out,retval] I_dxj_DirectMusicSegment** TempSeg);
  2948. [helpcontext(317206)] HRESULT changeChordMap([in] I_dxj_DirectMusicSegment* segment,[in] VARIANT_BOOL trackScale, [in] I_dxj_DirectMusicChordMap* ChordMap);
  2949. };
  2950. [
  2951. object,
  2952. uuid(FAFA35A3-8B72-11d2-90B2-00C04FC2C602),
  2953. helpstring("I_dxj_DirectMusicBand Interface"),
  2954. pointer_default(unique),
  2955. local,
  2956. helpcontext(317400)
  2957. ]
  2958. interface I_dxj_DirectMusicBand : IUnknown
  2959. {
  2960. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2961. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2962. [helpcontext(317401)] HRESULT createSegment([out,retval] I_dxj_DirectMusicSegment **ret);
  2963. [helpcontext(317402)] HRESULT download([in] I_dxj_DirectMusicPerformance *performance);
  2964. [helpcontext(317403)] HRESULT unload([in] I_dxj_DirectMusicPerformance *performance);
  2965. };
  2966. [
  2967. object,
  2968. uuid(FAFA35A4-8B72-11d2-90B2-00C04FC2C602),
  2969. helpstring("I_dxj_DirectMusicStyle Interface"),
  2970. pointer_default(unique),
  2971. local,
  2972. helpcontext(317600)
  2973. ]
  2974. interface I_dxj_DirectMusicStyle : IUnknown
  2975. {
  2976. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2977. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  2978. [helpcontext(317601)] HRESULT getBandName([in] long index,[out,retval] BSTR *name);
  2979. [helpcontext(317602)] HRESULT getBandCount([out,retval] long *count);
  2980. [helpcontext(317603)] HRESULT getBand([in] BSTR name,[out,retval] I_dxj_DirectMusicBand **ret);
  2981. [helpcontext(317604)] HRESULT getDefaultBand([out,retval] I_dxj_DirectMusicBand **ret);
  2982. [helpcontext(317605)] HRESULT getMotifName([in] long index,[out,retval] BSTR *name);
  2983. [helpcontext(317606)] HRESULT getMotifCount([out,retval] long *count);
  2984. [helpcontext(317607)] HRESULT getMotif([in] BSTR name,[out,retval] I_dxj_DirectMusicSegment **ret);
  2985. [helpcontext(317608)] HRESULT getTimeSignature( [in,out] DMUS_TIMESIGNATURE_CDESC* pTimeSig);
  2986. [helpcontext(317609)] HRESULT getTempo([out,retval] double *pTempo);
  2987. };
  2988. [
  2989. object,
  2990. uuid(FAFA35A5-8B72-11d2-90B2-00C04FC2C602),
  2991. helpstring("I_dxj_DirectMusicChordMap Interface"),
  2992. pointer_default(unique),
  2993. local,
  2994. helpcontext(317800)
  2995. ]
  2996. interface I_dxj_DirectMusicChordMap : IUnknown
  2997. {
  2998. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  2999. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  3000. [hidden] HRESULT getScale([out,retval] long *scale);
  3001. };
  3002. [
  3003. object,
  3004. uuid(FAFA35A6-8B72-11d2-90B2-00C04FC2C602),
  3005. helpstring("I_dxj_DirectMusicSegmentState Interface"),
  3006. pointer_default(unique),
  3007. local,
  3008. helpcontext(318000)
  3009. ]
  3010. interface I_dxj_DirectMusicSegmentState : IUnknown
  3011. {
  3012. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  3013. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  3014. [helpcontext(318001)] HRESULT getRepeats([out,retval] long *repeats);
  3015. [helpcontext(318002)] HRESULT getSeek([out,retval] MUSIC_TIME *seek);
  3016. [helpcontext(318003)] HRESULT getStartPoint([out,retval] MUSIC_TIME *seek);
  3017. [helpcontext(318004)] HRESULT getStartTime([out,retval] MUSIC_TIME *seek);
  3018. [helpcontext(318005)] HRESULT getSegment([out,retval] I_dxj_DirectMusicSegment **segment);
  3019. };
  3020. [
  3021. object,
  3022. uuid(FAFA35A7-8B72-11d2-90B2-00C04FC2C602),
  3023. helpstring("I_dxj_DirectMusicPerformance Interface"),
  3024. pointer_default(unique),
  3025. local,
  3026. helpcontext(318200)
  3027. ]
  3028. interface I_dxj_DirectMusicPerformance : IUnknown
  3029. {
  3030. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  3031. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  3032. [helpcontext(318201)] HRESULT init ([in] I_dxj_DirectSound *DirectSound, [in] long hWnd) ;
  3033. [helpcontext(318202)] HRESULT closeDown ();
  3034. [helpcontext(318203)] HRESULT playSegment ([in] I_dxj_DirectMusicSegment* segment,
  3035. [in] long lFlags,
  3036. [in] long startTime,
  3037. [out,retval] I_dxj_DirectMusicSegmentState** segmentState);
  3038. [helpcontext(318204)] HRESULT stop ([in] I_dxj_DirectMusicSegment* segment,
  3039. [in] I_dxj_DirectMusicSegmentState *segmentState,
  3040. [in] MUSIC_TIME mtTime,
  3041. [in] long lFlags) ;
  3042. [helpcontext(318205)] HRESULT getSegmentState ([in] MUSIC_TIME mtTime, [out,retval] I_dxj_DirectMusicSegmentState **ret);
  3043. [helpcontext(318206)] HRESULT invalidate ([in] MUSIC_TIME mtTime, [in] long flags);
  3044. [helpcontext(318207)] HRESULT isPlaying ([in] I_dxj_DirectMusicSegment* segment, [in] I_dxj_DirectMusicSegmentState* segmentState,[out,retval] VARIANT_BOOL *b);
  3045. [helpcontext(318208)] HRESULT addNotificationType ([in] CONST_DMUS_NOTIFICATION_TYPE type);
  3046. [helpcontext(318209)] HRESULT removeNotificationType ([in] CONST_DMUS_NOTIFICATION_TYPE type);
  3047. [helpcontext(318210)] HRESULT setNotificationHandle([in] long hnd);
  3048. [helpcontext(318211)] HRESULT getNotificationPMSG ([in,out] DMUS_NOTIFICATION_PMSG_CDESC *message,[out,retval] VARIANT_BOOL *success);
  3049. [helpcontext(318212)] HRESULT musicToClockTime ([in] MUSIC_TIME mtTime,[out,retval] REFERENCE_TIME *ctTime);
  3050. [helpcontext(318213)] HRESULT clockToMusicTime ([in] REFERENCE_TIME ctTime,[out,retval] MUSIC_TIME *mtTime);
  3051. [helpcontext(318214)] HRESULT getMusicTime ([out,retval] MUSIC_TIME* ret);
  3052. [helpcontext(318215)] HRESULT getClockTime ([out,retval] REFERENCE_TIME* ret);
  3053. [helpcontext(318216)] HRESULT getPrepareTime ([out,retval] long *lMilliSeconds);
  3054. [helpcontext(318217)] HRESULT getBumperLength ([out,retval] long *lMilliSeconds);
  3055. [helpcontext(318218)] HRESULT getLatencyTime ([out,retval] REFERENCE_TIME *ctTime);
  3056. [helpcontext(318219)] HRESULT getQueueTime ([out,retval] REFERENCE_TIME *ctTime);
  3057. [helpcontext(318220)] HRESULT getResolvedTime ([in] REFERENCE_TIME ctTime, [in] long flags, [out,retval] REFERENCE_TIME *ret);
  3058. [helpcontext(318221)] HRESULT setPrepareTime ([in] long lMilliSeconds);
  3059. [helpcontext(318222)] HRESULT setBumperLength ([in] long lMilliSeconds) ;
  3060. [helpcontext(318223)] HRESULT adjustTime ([in] long tAmount);
  3061. //global params
  3062. [helpcontext(318224)] HRESULT setMasterAutoDownload ([in] VARIANT_BOOL b);
  3063. [helpcontext(318225)] HRESULT getMasterAutoDownload ([out,retval] VARIANT_BOOL *b);
  3064. [helpcontext(318226)] HRESULT setMasterTempo ([in] float tempo);
  3065. [helpcontext(318227)] HRESULT getMasterTempo ([out,retval] float *tempo);
  3066. [helpcontext(318228)] HRESULT setMasterVolume ([in] long vol);
  3067. [helpcontext(318229)] HRESULT getMasterVolume ([out,retval] long *v);
  3068. [helpcontext(318230)] HRESULT setMasterGrooveLevel ([in] short level);
  3069. [helpcontext(318231)] HRESULT getMasterGrooveLevel ([out,retval] short *level);
  3070. [helpcontext(318232)] HRESULT Reset([in] long resetflags );
  3071. [helpcontext(318233)] HRESULT getStyle([in] MUSIC_TIME mtTime,[in,out] MUSIC_TIME *mtUntil,[out,retval] I_dxj_DirectMusicStyle **ret);
  3072. [helpcontext(318234)] HRESULT getChordMap([in] MUSIC_TIME mtTime,[in,out] MUSIC_TIME *mtUntil,[out,retval] I_dxj_DirectMusicChordMap **ret);
  3073. [helpcontext(318235)] HRESULT getCommand([in] MUSIC_TIME mtTime,[in,out] MUSIC_TIME *mtUntil,[out,retval] Byte *command) ;
  3074. [helpcontext(318236)] HRESULT getGrooveLevel([in] MUSIC_TIME mtTime,[in,out] MUSIC_TIME *mtUntil,[out,retval] Byte *level) ;
  3075. [helpcontext(318237)] HRESULT getTempo([in] MUSIC_TIME mtTime,[in,out] MUSIC_TIME *mtUntil,[out,retval] double *tempo) ;
  3076. [helpcontext(318238)] HRESULT getTimeSig([in] MUSIC_TIME mtTime,[in,out] MUSIC_TIME *mtUntil,[in,out] DMUS_TIMESIGNATURE_CDESC *timeSig) ;
  3077. [helpcontext(318239)] HRESULT sendNotePMSG([in] MUSIC_TIME lTime,
  3078. [in] long flags,
  3079. [in] long channel,
  3080. [in] DMUS_NOTE_PMSG_CDESC *msg);
  3081. [helpcontext(318240)] HRESULT sendCurvePMSG([in] MUSIC_TIME lTime,
  3082. [in] long flags,
  3083. [in] long channel,
  3084. [in] DMUS_CURVE_PMSG_CDESC *msg);
  3085. [helpcontext(318241)] HRESULT sendMIDIPMSG([in] MUSIC_TIME lTime,
  3086. [in] long flags,
  3087. [in] long channel,
  3088. [in] Byte status,
  3089. [in] Byte byte1,
  3090. [in] Byte byte2);
  3091. [helpcontext(318242)] HRESULT sendPatchPMSG([in] MUSIC_TIME lTime,
  3092. [in] long flags,
  3093. [in] long channel,
  3094. [in] Byte instrument,
  3095. [in] Byte byte1,
  3096. [in] Byte byte2);
  3097. [helpcontext(318243)] HRESULT sendTempoPMSG([in] MUSIC_TIME lTime,
  3098. [in] long flags,
  3099. // [in] long channel,
  3100. [in] double tempo);
  3101. [helpcontext(318244)] HRESULT sendTransposePMSG([in] MUSIC_TIME lTime,
  3102. [in] long flags,
  3103. [in] long channel,
  3104. [in] short transpose);
  3105. [helpcontext(318245)] HRESULT sendTimeSigPMSG([in] MUSIC_TIME lTime,
  3106. [in] long flags,
  3107. [in] DMUS_TIMESIGNATURE_CDESC *timesig);
  3108. [helpcontext(318246)] HRESULT getPortName([in] long index,[out,retval] BSTR *name);
  3109. [helpcontext(318247)] HRESULT getPortCount([out,retval] long *c);
  3110. [helpcontext(318248)] HRESULT getPortCaps([in] long index,[in,out] DMUS_PORTCAPS_CDESC *caps);
  3111. [helpcontext(318249)] HRESULT setPort([in] long index,[in] long numGroups);
  3112. };
  3113. [
  3114. object,
  3115. uuid(FAFA35A8-8B72-11d2-90B2-00C04FC2C602),
  3116. helpstring("I_dxj_DirectMusicCollection Interface"),
  3117. pointer_default(unique),
  3118. local,
  3119. helpcontext(318400)
  3120. ]
  3121. interface I_dxj_DirectMusicCollection : IUnknown
  3122. {
  3123. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  3124. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  3125. };
  3126. ///////////////////////////////////////////////////////////////////////////
  3127. //
  3128. // Other
  3129. //
  3130. ///////////////////////////////////////////////////////////////////////////
  3131. [
  3132. object,
  3133. uuid(FAFA35B0-8B72-11d2-90B2-00C04FC2C602),
  3134. helpstring("I_dxj_DirectXEvent Interface"),
  3135. pointer_default(unique),
  3136. oleautomation,
  3137. helpcontext(318600)
  3138. ]
  3139. interface I_dxj_DirectXEvent : IUnknown
  3140. {
  3141. [helpcontext(318601)] HRESULT DXCallback([in] long eventid);
  3142. };
  3143. #if FALSE
  3144. [
  3145. object,
  3146. uuid(FAFA35B1-8B72-11d2-90B2-00C04FC2C602),
  3147. helpstring("I_dxj_WebObject Interface"),
  3148. pointer_default(unique),
  3149. oleautomation,
  3150. hidden,
  3151. helpcontext(318800)
  3152. ]
  3153. interface I_dxj_DirectWeb : IUnknown
  3154. {
  3155. [helpcontext(318801)] HRESULT LoadPage([in]BSTR page,[in]int w, [in]int h);
  3156. [helpcontext(318802)] HRESULT DrawToDC([in]long hdc,[in]int w, [in]int h);
  3157. [helpcontext(318803)] HRESULT GetReadyState([out,retval]BSTR *ret);
  3158. [helpcontext(318804)] HRESULT GetHeight([in]int *height);
  3159. [helpcontext(318805)] HRESULT GetWidth([in]int *width);
  3160. [helpcontext(318806)] HRESULT Click([in] int x, [in] int y);
  3161. };
  3162. #endif
  3163. [
  3164. object,
  3165. uuid(FAFA3599-8B72-11d2-90B2-00C04FC2C602),
  3166. helpstring("DirectX7 root object functions"),
  3167. pointer_default(unique),
  3168. helpcontext(319000)
  3169. ]
  3170. interface I_dxj_DirectX7 : IUnknown
  3171. {
  3172. import "oaidl.idl";
  3173. [helpcontext(319001)] HRESULT direct3dRMCreate([out,retval] I_dxj_Direct3dRM3 **ret);
  3174. [helpcontext(319002)] HRESULT directDrawCreate([in] BSTR guid, [out,retval] I_dxj_DirectDraw7 **ret);
  3175. [helpcontext(319003)] HRESULT getDDEnum([out,retval] I_dxj_DirectDrawEnum **ret);
  3176. [helpcontext(319004)] HRESULT directSoundCreate([in] BSTR guid, [out,retval] I_dxj_DirectSound **ret);
  3177. [helpcontext(319005)] HRESULT directSoundCaptureCreate([in] BSTR guid, [out,retval] I_dxj_DirectSoundCapture **ret);
  3178. [helpcontext(319006)] HRESULT getDSEnum([out,retval] I_dxj_DSEnum **retVal);
  3179. [helpcontext(319007)] HRESULT getDSCaptureEnum([out,retval] I_dxj_DSEnum **retVal);
  3180. [helpcontext(319008)] HRESULT directInputCreate([out,retval]I_dxj_DirectInput **ret);
  3181. [helpcontext(319009)] HRESULT directPlayCreate([in] BSTR guid, [out,retval] I_dxj_DirectPlay4 **ret);
  3182. [helpcontext(319010)] HRESULT directPlayLobbyCreate([out,retval] I_dxj_DirectPlayLobby3 **ret);
  3183. [hidden] HRESULT getDPEnum([out,retval]I_dxj_DPEnumServiceProviders **retval);
  3184. [helpcontext(319011)] HRESULT colorGetAlpha([in] long color,[out,retval] float *ret);
  3185. [helpcontext(319012)] HRESULT colorGetBlue([in] long color,[out,retval] float *ret);
  3186. [helpcontext(319013)] HRESULT colorGetGreen([in] long color,[out,retval] float *ret);
  3187. [helpcontext(319014)] HRESULT colorGetRed([in] long color,[out,retval] float *ret);
  3188. [helpcontext(319015)] HRESULT createColorRGB([in] float r,[in] float g,[in] float b,[out,retval]long *color);
  3189. [helpcontext(319016)] HRESULT createColorRGBA([in] float r,[in] float g,[in] float b,[in] float a,[out,retval]long *color);
  3190. [helpcontext(319017)] HRESULT matrixFromQuaternion([out] D3dMatrix *matrix, [in] D3DRMQUATERNION_CDESC *quat);
  3191. [helpcontext(319018)] HRESULT quaternionRotation([out] D3DRMQUATERNION_CDESC *quat,[in]D3DVECTOR_CDESC *axis, [in]float theta);
  3192. [helpcontext(319019)] HRESULT quaternionMultiply([out] D3DRMQUATERNION_CDESC *quat,[in] D3DRMQUATERNION_CDESC *quatA,[in] D3DRMQUATERNION_CDESC *quatB);
  3193. [helpcontext(319020)] HRESULT quaternionSlerp([out] D3DRMQUATERNION_CDESC *quat,[in] D3DRMQUATERNION_CDESC *quatA,[in] D3DRMQUATERNION_CDESC *quatB, [in] float alpha);
  3194. [helpcontext(319021)] HRESULT vectorAdd([out] D3DVECTOR_CDESC *v,[in]D3DVECTOR_CDESC *vA,[in]D3DVECTOR_CDESC *vB);
  3195. [helpcontext(319022)] HRESULT vectorCrossProduct([out] D3DVECTOR_CDESC *v,[in]D3DVECTOR_CDESC *vA,[in]D3DVECTOR_CDESC *vB);
  3196. [helpcontext(319023)] HRESULT vectorDotProduct([in]D3DVECTOR_CDESC *vA,[in]D3DVECTOR_CDESC *vB,[out,retval] float *ret);
  3197. [helpcontext(319024)] HRESULT vectorModulus([in]D3DVECTOR_CDESC *vA,[out,retval] float *ret);
  3198. [helpcontext(319025)] HRESULT vectorNormalize([in,out] D3DVECTOR_CDESC *v);
  3199. [helpcontext(319026)] HRESULT vectorRandom([in,out] D3DVECTOR_CDESC *v);
  3200. [helpcontext(319027)] HRESULT vectorReflect([out] D3DVECTOR_CDESC *vDest,[in]D3DVECTOR_CDESC *vRay,[in]D3DVECTOR_CDESC *vNormal);
  3201. [helpcontext(319028)] HRESULT vectorRotate([out] D3DVECTOR_CDESC *vDest,[in]D3DVECTOR_CDESC *vA,[in]D3DVECTOR_CDESC *vAxis,[in] float theta);
  3202. [helpcontext(319029)] HRESULT vectorScale([out] D3DVECTOR_CDESC *vDest,[in]D3DVECTOR_CDESC *vA,[in] float factor);
  3203. [helpcontext(319030)] HRESULT vectorSubtract([out] D3DVECTOR_CDESC *v,[in]D3DVECTOR_CDESC *vA,[in]D3DVECTOR_CDESC *vB);
  3204. [helpcontext(319031)] HRESULT vectorCopy([in,out] D3DVECTOR_CDESC *vDest, [in] D3DVECTOR_CDESC *vSrc);
  3205. [helpcontext(319032)] HRESULT rotateXMatrix([in,out] D3DMATRIX_CDESC *mDest,[in] float radians);
  3206. [helpcontext(319033)] HRESULT rotateYMatrix([in,out] D3DMATRIX_CDESC *mDest,[in] float radians);
  3207. [helpcontext(319034)] HRESULT rotateZMatrix([in,out] D3DMATRIX_CDESC *mDest,[in] float radians);
  3208. [helpcontext(319035)] HRESULT viewMatrix([in,out] D3DMATRIX_CDESC *mDest,[in] D3DVECTOR_CDESC *vFrom, [in] D3DVECTOR_CDESC *vTo, [in] D3DVECTOR_CDESC *vUp, [in] float roll);
  3209. [helpcontext(319036)] HRESULT matrixMultiply([in,out]D3DMATRIX_CDESC *mDest,[in] D3DMATRIX_CDESC *mA,[in] D3DMATRIX_CDESC *mB);
  3210. [helpcontext(319037)] HRESULT projectionMatrix([in,out]D3DMATRIX_CDESC *mDest,[in] float nearPlane, [in] float farplane, [in] float fov);
  3211. [helpcontext(319038)] HRESULT copyMatrix([in,out]D3DMATRIX_CDESC *mDest,[in] D3DMATRIX_CDESC * mSrc);
  3212. [helpcontext(319039)] HRESULT identityMatrix([in,out]D3DMATRIX_CDESC *mDest);
  3213. [helpcontext(319040)] HRESULT zeroMatrix([in,out]D3DMATRIX_CDESC *mDest);
  3214. [helpcontext(319041)] HRESULT tickCount([out,retval] long *retv);
  3215. [helpcontext(319042)] HRESULT systemBpp([out, retval] long *retv);
  3216. [helpcontext(319043)] HRESULT directMusicLoaderCreate([out,retval] I_dxj_DirectMusicLoader **ret);
  3217. [helpcontext(319044)] HRESULT directMusicComposerCreate([out,retval] I_dxj_DirectMusicComposer **ret);
  3218. [helpcontext(319045)] HRESULT directMusicPerformanceCreate([out,retval] I_dxj_DirectMusicPerformance **ret);
  3219. [helpcontext(319046)] HRESULT getWindowRect([in] long hwnd, [in,out] RECT_CDESC *r);
  3220. [helpcontext(319047)] HRESULT createEvent([in] I_dxj_DirectXEvent *event,[out,retval] long *h);
  3221. [helpcontext(319048)] HRESULT setEvent([in] long eventId);
  3222. [helpcontext(319049)] HRESULT destroyEvent([in] long eventId);
  3223. [helpcontext(319050)] HRESULT createD3DVertex([in]float x, [in]float y, [in]float z, [in]float nx, [in]float ny, [in]float nz, [in]float tu, [in]float tv, [in,out] D3dVertex *v);
  3224. [helpcontext(319051)] HRESULT createD3DLVertex([in]float x, [in]float y, [in]float z,[in] long color, [in] long specular, [in] float tu, [in] float tv, [in,out] D3dLVertex *v);
  3225. [helpcontext(319052)] HRESULT createD3DTLVertex([in]float sx,[in] float sy,[in] float sz, [in]float rhw, [in]long color, [in]long specular, [in]float tu, [in]float tv, [in,out] D3dTLVertex *v);
  3226. [helpcontext(319053)] HRESULT directDraw4Create([in] BSTR guid,[out,retval] I_dxj_DirectDraw4 **ret);
  3227. //needs to be added to master help ids
  3228. [helpcontext(319054)] HRESULT createNewGuid([out,retval] BSTR *retGuid);
  3229. };
  3230. ///////////////////////////////////////////////////////////////////////////
  3231. [
  3232. object,
  3233. uuid(BCAA7DA2-F7EF-11d2-93FD-00C04FC2C602),
  3234. helpstring("IDirectDraw4 Interface"),
  3235. pointer_default(unique),
  3236. local,
  3237. helpcontext(305600)
  3238. ]
  3239. interface I_dxj_DirectDraw4 : IUnknown
  3240. {
  3241. import "oaidl.idl";
  3242. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdd);
  3243. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdd);
  3244. [helpcontext(305601)] HRESULT createClipper([in] long flags, [out, retval] I_dxj_DirectDrawClipper **val);
  3245. [helpcontext(305602)] HRESULT createPalette([in] ddpCapsFlags flags, [in] SAFEARRAY(APAL) *pe, [out, retval] I_dxj_DirectDrawPalette **val);
  3246. [helpcontext(305603)] HRESULT createSurface([in] DDSURFACEDESC2_CDESC *dd, [out, retval] I_dxj_DirectDrawSurface4 **retv);
  3247. [helpcontext(305604)] HRESULT createSurfaceFromFile([in] BSTR file, [in,out] DDSURFACEDESC2_CDESC *dd, [out, retval] I_dxj_DirectDrawSurface4 **retv);
  3248. [helpcontext(305605)] HRESULT createSurfaceFromResource([in] BSTR file, [in] BSTR resName, [in,out] DDSURFACEDESC2_CDESC *ddsd, [out, retval] I_dxj_DirectDrawSurface4 **retv);
  3249. [helpcontext(305606)] HRESULT duplicateSurface([in] I_dxj_DirectDrawSurface4 *ddIn,[out, retval] I_dxj_DirectDrawSurface4 **ddOut);
  3250. [helpcontext(305607)] HRESULT flipToGDISurface();
  3251. [helpcontext(305608)] HRESULT getAvailableTotalMem([in] DDSCAPS2_CDESC *ddsCaps, [out, retval] long *m);
  3252. [helpcontext(305609)] HRESULT getCaps([in,out] DDCAPS_CDESC *hwCaps, [in,out] DDCAPS_CDESC *helCaps);
  3253. [helpcontext(305611)] HRESULT getDisplayMode( [in,out] DDSURFACEDESC2_CDESC *surface);
  3254. [helpcontext(305612)] HRESULT getDisplayModesEnum([in] ddedmFlags flags,[in] DDSURFACEDESC2_CDESC *ddsd,[out,retval] I_dxj_DirectDrawEnumModes **retval);
  3255. [helpcontext(305613)] HRESULT getFourCCCodes( [in,out] SAFEARRAY(long) *ccCodes);
  3256. [helpcontext(305614)] HRESULT getFreeMem( [in] DDSCAPS2_CDESC *ddsCaps, [out, retval] long *m);
  3257. [helpcontext(305615)] HRESULT getGDISurface( [out, retval] I_dxj_DirectDrawSurface4 **s);
  3258. [helpcontext(305616)] HRESULT getMonitorFrequency([out, retval] long *freq);
  3259. [helpcontext(305617)] HRESULT getNumFourCCCodes([out, retval] long *nCodes);
  3260. [helpcontext(305618)] HRESULT getScanLine([in,out] long *lines, [out, retval] long *status);
  3261. [helpcontext(305619)] HRESULT getSurfaceFromDC([in] long hdc,[out,retval] I_dxj_DirectDrawSurface4 **retv);
  3262. [helpcontext(305621)] HRESULT getVerticalBlankStatus([out, retval] long *status);
  3263. [helpcontext(305622)] HRESULT loadPaletteFromBitmap([in] BSTR bName, [out, retval] I_dxj_DirectDrawPalette **retv);
  3264. [helpcontext(305623)] HRESULT restoreAllSurfaces();
  3265. [helpcontext(305624)] HRESULT restoreDisplayMode();
  3266. [helpcontext(305625)] HRESULT setCooperativeLevel([in] HWnd hdl, [in] ddsclFlags flags);
  3267. [helpcontext(305626)] HRESULT setDisplayMode([in] long w, [in] long h, [in] long bpp, [in] long ref,[in] ddsdmFlags mode);
  3268. [helpcontext(305627)] HRESULT testCooperativeLevel([out,retval] long *status);
  3269. [helpcontext(305628)] HRESULT waitForVerticalBlank([in] ddWaitVBFlags flags, [in] long handle, [out, retval] long *status);
  3270. };
  3271. [
  3272. object,
  3273. uuid(BCAA7DA3-F7EF-11d2-93FD-00C04FC2C602),
  3274. helpstring("I_dxj_DirectDrawSurface4 Interface"),
  3275. pointer_default(unique),
  3276. local,
  3277. helpcontext(305800)
  3278. ]
  3279. interface I_dxj_DirectDrawSurface4 : IUnknown
  3280. {
  3281. import "oaidl.idl";
  3282. [hidden] HRESULT InternalSetObject([in] IUnknown *lpdds);
  3283. [hidden] HRESULT InternalGetObject([out, retval] IUnknown **lpdds);
  3284. [helpcontext(305801)] HRESULT addAttachedSurface( [in] I_dxj_DirectDrawSurface4 *ddS);
  3285. [helpcontext(305802)] HRESULT blt( [in] RECT_CDESC *destRect, [in] I_dxj_DirectDrawSurface4 *ddS, [in] RECT_CDESC *srcRect, [in] ddBltFlags flags, [out, retval] long *status);
  3286. [helpcontext(305803)] HRESULT bltColorFill( [in] RECT_CDESC *destRect, [in] long fillvalue, [out, retval] long *status );
  3287. [helpcontext(305804)] HRESULT bltFast( [in] long dx, [in] long dy, [in] I_dxj_DirectDrawSurface4 *dds, [in] RECT_CDESC *srcRect, [in] ddBltFastFlags trans, [out, retval] long *status);
  3288. [helpcontext(305805)] HRESULT bltFx( [in] RECT_CDESC *destRect, [in] I_dxj_DirectDrawSurface4 *ddS, [in] RECT_CDESC *srcRect, [in] ddBltFlags flags, [in] DDBLTFX_CDESC *bltfx, [out, retval] long *status );
  3289. [helpcontext(305806)] HRESULT bltToDC([in] long hdc, [in] RECT_CDESC *srcRect, [in] RECT_CDESC *destRect);
  3290. [helpcontext(305807)] HRESULT changeUniquenessValue();
  3291. [helpcontext(305808)] HRESULT deleteAttachedSurface( [in] I_dxj_DirectDrawSurface4 *dds) ;
  3292. [helpcontext(305809)] HRESULT drawBox([in] long x1, [in] long y1, [in] long x2, [in] long y2);
  3293. [helpcontext(305810)] HRESULT drawCircle([in] long x1, [in] long y1, [in] long r);
  3294. [helpcontext(305811)] HRESULT drawEllipse([in] long x1, [in] long y1, [in] long x2, [in] long y2);
  3295. [helpcontext(305812)] HRESULT drawLine([in] long x1, [in] long y1, [in] long x2, [in] long y2);
  3296. [helpcontext(305813)] HRESULT drawRoundedBox([in] long x1, [in] long y1, [in] long x2, [in] long y2,[in] long rw, [in] long rh);
  3297. [helpcontext(305814)] HRESULT drawText([in] long x, [in] long y, [in] BSTR text, [in] VARIANT_BOOL b);
  3298. [helpcontext(305815)] HRESULT flip( [in] I_dxj_DirectDrawSurface4 *dds, [in] ddFlipFlags flags);
  3299. [helpcontext(305816)] HRESULT getAttachedSurface( [in] DDSCaps2 *caps, [out, retval] I_dxj_DirectDrawSurface4 **dds);
  3300. [helpcontext(305818)] HRESULT getBltStatus([in] ddGbsFlags flags, [out, retval] long *status);
  3301. [helpcontext(305819)] HRESULT getCaps( [in,out] DDSCAPS2_CDESC *caps);
  3302. [helpcontext(305820)] HRESULT getClipper( [out, retval] I_dxj_DirectDrawClipper **val);
  3303. [helpcontext(305821)] HRESULT getColorKey( [in] long flags, [in,out] DDCOLORKEY_CDESC *val);
  3304. [helpcontext(305822)] HRESULT getDC( [out, retval] long *hdc);
  3305. [helpcontext(305823)] HRESULT getDirectDraw( [out, retval] I_dxj_DirectDraw4 **val);
  3306. [helpcontext(305826)] HRESULT getDrawStyle([out,retval] long *drawStyle);
  3307. [helpcontext(305827)] HRESULT getDrawWidth([out,retval] long *drawWidth);
  3308. [helpcontext(305828)] HRESULT getFillColor([out,retval] long *color);
  3309. [helpcontext(305829)] HRESULT getFillStyle([out,retval] long *fillStyle);
  3310. [helpcontext(305830)] HRESULT getFlipStatus( [in] ddGfsFlags flags, [out, retval] long *status);
  3311. [helpcontext(305831)] HRESULT getFontTransparency([out,retval] VARIANT_BOOL *b);
  3312. [helpcontext(305832)] HRESULT getForeColor([out,retval] long *color);
  3313. [helpcontext(305833)] HRESULT getLockedPixel([in] int x, [in] int y, [out,retval] long *col);
  3314. [helpcontext(305835)] HRESULT getPalette( [out, retval] I_dxj_DirectDrawPalette **val);
  3315. [helpcontext(305836)] HRESULT getPixelFormat( [in,out] DDPIXELFORMAT_CDESC *pf);
  3316. [helpcontext(305837)] HRESULT getSurfaceDesc([in,out] DDSURFACEDESC2_CDESC *surface);
  3317. [helpcontext(305838)] HRESULT getUniquenessValue([out,retval] long *retVal);
  3318. [helpcontext(305839)] HRESULT isLost([out, retval] long *status);
  3319. [helpcontext(305840)] HRESULT lock( [in] RECT_CDESC *r, [in] DDSURFACEDESC2_CDESC *desc, [in] ddLockFlags flags, [in] Handle hnd);
  3320. [helpcontext(305841)] HRESULT releaseDC([in] long hdc);
  3321. [helpcontext(305842)] HRESULT restore();
  3322. [helpcontext(305843)] HRESULT setClipper( [in] I_dxj_DirectDrawClipper *val) ;
  3323. [helpcontext(305844)] HRESULT setColorKey( [in] ddCKeyFlags flags, [in] DDCOLORKEY_CDESC *val);
  3324. [helpcontext(305845)] HRESULT setDrawStyle([in] long drawStyle);
  3325. [helpcontext(305846)] HRESULT setDrawWidth([in] long drawWidth);
  3326. [helpcontext(305847)] HRESULT setFillColor([in] long color);
  3327. [helpcontext(305848)] HRESULT setFillStyle([in] long fillStyle);
  3328. [helpcontext(305849)] HRESULT setFont([in] IFont *font);
  3329. [helpcontext(305850)] HRESULT setFontTransparency([in] VARIANT_BOOL b);
  3330. [helpcontext(305851)] HRESULT setForeColor([in] long color);
  3331. [helpcontext(305852)] HRESULT setLockedPixel([in] int x, [in] int y, [in] long col);
  3332. [helpcontext(305854)] HRESULT setPalette([in] I_dxj_DirectDrawPalette *ddp);
  3333. [helpcontext(305855)] HRESULT unlock( [in] RECT_CDESC *r);
  3334. [helpcontext(305860)] HRESULT getLockedArray([in] SAFEARRAY(byte) *array);
  3335. [helpcontext(305868)] HRESULT setFontBackColor([in] long color);
  3336. [helpcontext(305869)] HRESULT getFontBackColor([out,retval] long *color);
  3337. };
  3338. [
  3339. object,
  3340. uuid(BCAA7DA4-F7EF-11d2-93FD-00C04FC2C602),
  3341. helpstring("I_dxj_DirectDrawIdentifier Interface"),
  3342. pointer_default(unique),
  3343. local,
  3344. helpcontext(319600)
  3345. ]
  3346. interface I_dxj_DirectDrawIdentifier : IUnknown
  3347. {
  3348. import "oaidl.idl";
  3349. [helpcontext(319601)] HRESULT getDriver([out,retval] BSTR *ret);
  3350. [helpcontext(319602)] HRESULT getDescription([out,retval] BSTR *ret);
  3351. [helpcontext(319603)] HRESULT getDriverVersion([out,retval] long *ret);
  3352. [helpcontext(319604)] HRESULT getDriverSubVersion([out,retval] long *ret);
  3353. [helpcontext(319605)] HRESULT getVendorId([out,retval] long *ret);
  3354. [helpcontext(319606)] HRESULT getDeviceId([out,retval] long *ret);
  3355. [helpcontext(319607)] HRESULT getSubSysId([out,retval] long *ret);
  3356. [helpcontext(319608)] HRESULT getRevision([out,retval] long *ret);
  3357. [helpcontext(319609)] HRESULT getDeviceIndentifier([out,retval] BSTR *ret);
  3358. [helpcontext(319610)] HRESULT getWHQLLevel([out,retval] long *ret);
  3359. };
  3360. ///////////////////////////////////////////////////////////////////////////
  3361. importlib("stdole2.tlb");
  3362. [
  3363. uuid(E1211353-8E94-11d1-8808-00C04FC2C602),
  3364. helpstring("DirectX7"),
  3365. helpcontext(319800)
  3366. ]
  3367. coclass _dxj_DirectX7 { [default] interface I_dxj_DirectX7; };
  3368. };