Counter Strike : Global Offensive Source Code
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.

5362 lines
150 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0357 */
  4. /* Compiler settings for dxtrans.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __dxtrans_h__
  27. #define __dxtrans_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IDXBaseObject_FWD_DEFINED__
  33. #define __IDXBaseObject_FWD_DEFINED__
  34. typedef interface IDXBaseObject IDXBaseObject;
  35. #endif /* __IDXBaseObject_FWD_DEFINED__ */
  36. #ifndef __IDXTransformFactory_FWD_DEFINED__
  37. #define __IDXTransformFactory_FWD_DEFINED__
  38. typedef interface IDXTransformFactory IDXTransformFactory;
  39. #endif /* __IDXTransformFactory_FWD_DEFINED__ */
  40. #ifndef __IDXTransform_FWD_DEFINED__
  41. #define __IDXTransform_FWD_DEFINED__
  42. typedef interface IDXTransform IDXTransform;
  43. #endif /* __IDXTransform_FWD_DEFINED__ */
  44. #ifndef __IDXSurfacePick_FWD_DEFINED__
  45. #define __IDXSurfacePick_FWD_DEFINED__
  46. typedef interface IDXSurfacePick IDXSurfacePick;
  47. #endif /* __IDXSurfacePick_FWD_DEFINED__ */
  48. #ifndef __IDXTBindHost_FWD_DEFINED__
  49. #define __IDXTBindHost_FWD_DEFINED__
  50. typedef interface IDXTBindHost IDXTBindHost;
  51. #endif /* __IDXTBindHost_FWD_DEFINED__ */
  52. #ifndef __IDXTaskManager_FWD_DEFINED__
  53. #define __IDXTaskManager_FWD_DEFINED__
  54. typedef interface IDXTaskManager IDXTaskManager;
  55. #endif /* __IDXTaskManager_FWD_DEFINED__ */
  56. #ifndef __IDXSurfaceFactory_FWD_DEFINED__
  57. #define __IDXSurfaceFactory_FWD_DEFINED__
  58. typedef interface IDXSurfaceFactory IDXSurfaceFactory;
  59. #endif /* __IDXSurfaceFactory_FWD_DEFINED__ */
  60. #ifndef __IDXSurfaceModifier_FWD_DEFINED__
  61. #define __IDXSurfaceModifier_FWD_DEFINED__
  62. typedef interface IDXSurfaceModifier IDXSurfaceModifier;
  63. #endif /* __IDXSurfaceModifier_FWD_DEFINED__ */
  64. #ifndef __IDXSurface_FWD_DEFINED__
  65. #define __IDXSurface_FWD_DEFINED__
  66. typedef interface IDXSurface IDXSurface;
  67. #endif /* __IDXSurface_FWD_DEFINED__ */
  68. #ifndef __IDXSurfaceInit_FWD_DEFINED__
  69. #define __IDXSurfaceInit_FWD_DEFINED__
  70. typedef interface IDXSurfaceInit IDXSurfaceInit;
  71. #endif /* __IDXSurfaceInit_FWD_DEFINED__ */
  72. #ifndef __IDXARGBSurfaceInit_FWD_DEFINED__
  73. #define __IDXARGBSurfaceInit_FWD_DEFINED__
  74. typedef interface IDXARGBSurfaceInit IDXARGBSurfaceInit;
  75. #endif /* __IDXARGBSurfaceInit_FWD_DEFINED__ */
  76. #ifndef __IDXARGBReadPtr_FWD_DEFINED__
  77. #define __IDXARGBReadPtr_FWD_DEFINED__
  78. typedef interface IDXARGBReadPtr IDXARGBReadPtr;
  79. #endif /* __IDXARGBReadPtr_FWD_DEFINED__ */
  80. #ifndef __IDXARGBReadWritePtr_FWD_DEFINED__
  81. #define __IDXARGBReadWritePtr_FWD_DEFINED__
  82. typedef interface IDXARGBReadWritePtr IDXARGBReadWritePtr;
  83. #endif /* __IDXARGBReadWritePtr_FWD_DEFINED__ */
  84. #ifndef __IDXDCLock_FWD_DEFINED__
  85. #define __IDXDCLock_FWD_DEFINED__
  86. typedef interface IDXDCLock IDXDCLock;
  87. #endif /* __IDXDCLock_FWD_DEFINED__ */
  88. #ifndef __IDXTScaleOutput_FWD_DEFINED__
  89. #define __IDXTScaleOutput_FWD_DEFINED__
  90. typedef interface IDXTScaleOutput IDXTScaleOutput;
  91. #endif /* __IDXTScaleOutput_FWD_DEFINED__ */
  92. #ifndef __IDXGradient_FWD_DEFINED__
  93. #define __IDXGradient_FWD_DEFINED__
  94. typedef interface IDXGradient IDXGradient;
  95. #endif /* __IDXGradient_FWD_DEFINED__ */
  96. #ifndef __IDXTScale_FWD_DEFINED__
  97. #define __IDXTScale_FWD_DEFINED__
  98. typedef interface IDXTScale IDXTScale;
  99. #endif /* __IDXTScale_FWD_DEFINED__ */
  100. #ifndef __IDXEffect_FWD_DEFINED__
  101. #define __IDXEffect_FWD_DEFINED__
  102. typedef interface IDXEffect IDXEffect;
  103. #endif /* __IDXEffect_FWD_DEFINED__ */
  104. #ifndef __IDXLookupTable_FWD_DEFINED__
  105. #define __IDXLookupTable_FWD_DEFINED__
  106. typedef interface IDXLookupTable IDXLookupTable;
  107. #endif /* __IDXLookupTable_FWD_DEFINED__ */
  108. #ifndef __IDXRawSurface_FWD_DEFINED__
  109. #define __IDXRawSurface_FWD_DEFINED__
  110. typedef interface IDXRawSurface IDXRawSurface;
  111. #endif /* __IDXRawSurface_FWD_DEFINED__ */
  112. #ifndef __IHTMLDXTransform_FWD_DEFINED__
  113. #define __IHTMLDXTransform_FWD_DEFINED__
  114. typedef interface IHTMLDXTransform IHTMLDXTransform;
  115. #endif /* __IHTMLDXTransform_FWD_DEFINED__ */
  116. #ifndef __ICSSFilterDispatch_FWD_DEFINED__
  117. #define __ICSSFilterDispatch_FWD_DEFINED__
  118. typedef interface ICSSFilterDispatch ICSSFilterDispatch;
  119. #endif /* __ICSSFilterDispatch_FWD_DEFINED__ */
  120. #ifndef __DXTransformFactory_FWD_DEFINED__
  121. #define __DXTransformFactory_FWD_DEFINED__
  122. #ifdef __cplusplus
  123. typedef class DXTransformFactory DXTransformFactory;
  124. #else
  125. typedef struct DXTransformFactory DXTransformFactory;
  126. #endif /* __cplusplus */
  127. #endif /* __DXTransformFactory_FWD_DEFINED__ */
  128. #ifndef __DXTaskManager_FWD_DEFINED__
  129. #define __DXTaskManager_FWD_DEFINED__
  130. #ifdef __cplusplus
  131. typedef class DXTaskManager DXTaskManager;
  132. #else
  133. typedef struct DXTaskManager DXTaskManager;
  134. #endif /* __cplusplus */
  135. #endif /* __DXTaskManager_FWD_DEFINED__ */
  136. #ifndef __DXTScale_FWD_DEFINED__
  137. #define __DXTScale_FWD_DEFINED__
  138. #ifdef __cplusplus
  139. typedef class DXTScale DXTScale;
  140. #else
  141. typedef struct DXTScale DXTScale;
  142. #endif /* __cplusplus */
  143. #endif /* __DXTScale_FWD_DEFINED__ */
  144. #ifndef __DXSurface_FWD_DEFINED__
  145. #define __DXSurface_FWD_DEFINED__
  146. #ifdef __cplusplus
  147. typedef class DXSurface DXSurface;
  148. #else
  149. typedef struct DXSurface DXSurface;
  150. #endif /* __cplusplus */
  151. #endif /* __DXSurface_FWD_DEFINED__ */
  152. #ifndef __DXSurfaceModifier_FWD_DEFINED__
  153. #define __DXSurfaceModifier_FWD_DEFINED__
  154. #ifdef __cplusplus
  155. typedef class DXSurfaceModifier DXSurfaceModifier;
  156. #else
  157. typedef struct DXSurfaceModifier DXSurfaceModifier;
  158. #endif /* __cplusplus */
  159. #endif /* __DXSurfaceModifier_FWD_DEFINED__ */
  160. #ifndef __DXGradient_FWD_DEFINED__
  161. #define __DXGradient_FWD_DEFINED__
  162. #ifdef __cplusplus
  163. typedef class DXGradient DXGradient;
  164. #else
  165. typedef struct DXGradient DXGradient;
  166. #endif /* __cplusplus */
  167. #endif /* __DXGradient_FWD_DEFINED__ */
  168. #ifndef __DXTFilter_FWD_DEFINED__
  169. #define __DXTFilter_FWD_DEFINED__
  170. #ifdef __cplusplus
  171. typedef class DXTFilter DXTFilter;
  172. #else
  173. typedef struct DXTFilter DXTFilter;
  174. #endif /* __cplusplus */
  175. #endif /* __DXTFilter_FWD_DEFINED__ */
  176. /* header files for imported files */
  177. #include "oaidl.h"
  178. #include "ocidl.h"
  179. #include "comcat.h"
  180. #ifdef __cplusplus
  181. extern "C"{
  182. #endif
  183. void * __RPC_USER MIDL_user_allocate(size_t);
  184. void __RPC_USER MIDL_user_free( void * );
  185. /* interface __MIDL_itf_dxtrans_0000 */
  186. /* [local] */
  187. #include <servprov.h>
  188. #include <ddraw.h>
  189. #include <d3d.h>
  190. #include <d3drm.h>
  191. #include <urlmon.h>
  192. #if 0
  193. // Bogus definition used to make MIDL compiler happy
  194. typedef void DDSURFACEDESC;
  195. typedef void D3DRMBOX;
  196. typedef void D3DVECTOR;
  197. typedef void D3DRMMATRIX4D;
  198. typedef void *LPSECURITY_ATTRIBUTES;
  199. #endif
  200. #ifdef _DXTRANSIMPL
  201. #define _DXTRANS_IMPL_EXT _declspec(dllexport)
  202. #else
  203. #define _DXTRANS_IMPL_EXT _declspec(dllimport)
  204. #endif
  205. //
  206. // All GUIDs for DXTransform are declared in DXTGUID.C in the SDK include directory
  207. //
  208. EXTERN_C const GUID DDPF_RGB1;
  209. EXTERN_C const GUID DDPF_RGB2;
  210. EXTERN_C const GUID DDPF_RGB4;
  211. EXTERN_C const GUID DDPF_RGB8;
  212. EXTERN_C const GUID DDPF_RGB332;
  213. EXTERN_C const GUID DDPF_ARGB4444;
  214. EXTERN_C const GUID DDPF_RGB565;
  215. EXTERN_C const GUID DDPF_BGR565;
  216. EXTERN_C const GUID DDPF_RGB555;
  217. EXTERN_C const GUID DDPF_ARGB1555;
  218. EXTERN_C const GUID DDPF_RGB24;
  219. EXTERN_C const GUID DDPF_BGR24;
  220. EXTERN_C const GUID DDPF_RGB32;
  221. EXTERN_C const GUID DDPF_BGR32;
  222. EXTERN_C const GUID DDPF_ABGR32;
  223. EXTERN_C const GUID DDPF_ARGB32;
  224. EXTERN_C const GUID DDPF_PMARGB32;
  225. EXTERN_C const GUID DDPF_A1;
  226. EXTERN_C const GUID DDPF_A2;
  227. EXTERN_C const GUID DDPF_A4;
  228. EXTERN_C const GUID DDPF_A8;
  229. EXTERN_C const GUID DDPF_Z8;
  230. EXTERN_C const GUID DDPF_Z16;
  231. EXTERN_C const GUID DDPF_Z24;
  232. EXTERN_C const GUID DDPF_Z32;
  233. //
  234. // Component categories
  235. //
  236. EXTERN_C const GUID CATID_DXImageTransform;
  237. EXTERN_C const GUID CATID_DX3DTransform;
  238. EXTERN_C const GUID CATID_DXAuthoringTransform;
  239. EXTERN_C const GUID CATID_DXSurface;
  240. //
  241. // Service IDs
  242. //
  243. EXTERN_C const GUID SID_SDirectDraw;
  244. EXTERN_C const GUID SID_SDirect3DRM;
  245. #define SID_SDXTaskManager CLSID_DXTaskManager
  246. #define SID_SDXSurfaceFactory IID_IDXSurfaceFactory
  247. #define SID_SDXTransformFactory IID_IDXTransformFactory
  248. //
  249. // DXTransforms Core Type Library Version Info
  250. //
  251. #define DXTRANS_TLB_MAJOR_VER 1
  252. #define DXTRANS_TLB_MINOR_VER 1
  253. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0000_v0_0_c_ifspec;
  254. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0000_v0_0_s_ifspec;
  255. #ifndef __IDXBaseObject_INTERFACE_DEFINED__
  256. #define __IDXBaseObject_INTERFACE_DEFINED__
  257. /* interface IDXBaseObject */
  258. /* [local][unique][helpstring][uuid][object] */
  259. EXTERN_C const IID IID_IDXBaseObject;
  260. #if defined(__cplusplus) && !defined(CINTERFACE)
  261. MIDL_INTERFACE("17B59B2B-9CC8-11d1-9053-00C04FD9189D")
  262. IDXBaseObject : public IUnknown
  263. {
  264. public:
  265. virtual HRESULT STDMETHODCALLTYPE GetGenerationId(
  266. /* [out] */ ULONG *pID) = 0;
  267. virtual HRESULT STDMETHODCALLTYPE IncrementGenerationId(
  268. /* [in] */ BOOL bRefresh) = 0;
  269. virtual HRESULT STDMETHODCALLTYPE GetObjectSize(
  270. /* [out] */ ULONG *pcbSize) = 0;
  271. };
  272. #else /* C style interface */
  273. typedef struct IDXBaseObjectVtbl
  274. {
  275. BEGIN_INTERFACE
  276. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  277. IDXBaseObject * This,
  278. /* [in] */ REFIID riid,
  279. /* [iid_is][out] */ void **ppvObject);
  280. ULONG ( STDMETHODCALLTYPE *AddRef )(
  281. IDXBaseObject * This);
  282. ULONG ( STDMETHODCALLTYPE *Release )(
  283. IDXBaseObject * This);
  284. HRESULT ( STDMETHODCALLTYPE *GetGenerationId )(
  285. IDXBaseObject * This,
  286. /* [out] */ ULONG *pID);
  287. HRESULT ( STDMETHODCALLTYPE *IncrementGenerationId )(
  288. IDXBaseObject * This,
  289. /* [in] */ BOOL bRefresh);
  290. HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
  291. IDXBaseObject * This,
  292. /* [out] */ ULONG *pcbSize);
  293. END_INTERFACE
  294. } IDXBaseObjectVtbl;
  295. interface IDXBaseObject
  296. {
  297. CONST_VTBL struct IDXBaseObjectVtbl *lpVtbl;
  298. };
  299. #ifdef COBJMACROS
  300. #define IDXBaseObject_QueryInterface(This,riid,ppvObject) \
  301. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  302. #define IDXBaseObject_AddRef(This) \
  303. (This)->lpVtbl -> AddRef(This)
  304. #define IDXBaseObject_Release(This) \
  305. (This)->lpVtbl -> Release(This)
  306. #define IDXBaseObject_GetGenerationId(This,pID) \
  307. (This)->lpVtbl -> GetGenerationId(This,pID)
  308. #define IDXBaseObject_IncrementGenerationId(This,bRefresh) \
  309. (This)->lpVtbl -> IncrementGenerationId(This,bRefresh)
  310. #define IDXBaseObject_GetObjectSize(This,pcbSize) \
  311. (This)->lpVtbl -> GetObjectSize(This,pcbSize)
  312. #endif /* COBJMACROS */
  313. #endif /* C style interface */
  314. HRESULT STDMETHODCALLTYPE IDXBaseObject_GetGenerationId_Proxy(
  315. IDXBaseObject * This,
  316. /* [out] */ ULONG *pID);
  317. void __RPC_STUB IDXBaseObject_GetGenerationId_Stub(
  318. IRpcStubBuffer *This,
  319. IRpcChannelBuffer *_pRpcChannelBuffer,
  320. PRPC_MESSAGE _pRpcMessage,
  321. DWORD *_pdwStubPhase);
  322. HRESULT STDMETHODCALLTYPE IDXBaseObject_IncrementGenerationId_Proxy(
  323. IDXBaseObject * This,
  324. /* [in] */ BOOL bRefresh);
  325. void __RPC_STUB IDXBaseObject_IncrementGenerationId_Stub(
  326. IRpcStubBuffer *This,
  327. IRpcChannelBuffer *_pRpcChannelBuffer,
  328. PRPC_MESSAGE _pRpcMessage,
  329. DWORD *_pdwStubPhase);
  330. HRESULT STDMETHODCALLTYPE IDXBaseObject_GetObjectSize_Proxy(
  331. IDXBaseObject * This,
  332. /* [out] */ ULONG *pcbSize);
  333. void __RPC_STUB IDXBaseObject_GetObjectSize_Stub(
  334. IRpcStubBuffer *This,
  335. IRpcChannelBuffer *_pRpcChannelBuffer,
  336. PRPC_MESSAGE _pRpcMessage,
  337. DWORD *_pdwStubPhase);
  338. #endif /* __IDXBaseObject_INTERFACE_DEFINED__ */
  339. /* interface __MIDL_itf_dxtrans_0260 */
  340. /* [local] */
  341. typedef
  342. enum DXBNDID
  343. { DXB_X = 0,
  344. DXB_Y = 1,
  345. DXB_Z = 2,
  346. DXB_T = 3
  347. } DXBNDID;
  348. typedef
  349. enum DXBNDTYPE
  350. { DXBT_DISCRETE = 0,
  351. DXBT_DISCRETE64 = DXBT_DISCRETE + 1,
  352. DXBT_CONTINUOUS = DXBT_DISCRETE64 + 1,
  353. DXBT_CONTINUOUS64 = DXBT_CONTINUOUS + 1
  354. } DXBNDTYPE;
  355. typedef struct DXDBND
  356. {
  357. long Min;
  358. long Max;
  359. } DXDBND;
  360. typedef DXDBND DXDBNDS[ 4 ];
  361. typedef struct DXDBND64
  362. {
  363. LONGLONG Min;
  364. LONGLONG Max;
  365. } DXDBND64;
  366. typedef DXDBND64 DXDBNDS64[ 4 ];
  367. typedef struct DXCBND
  368. {
  369. float Min;
  370. float Max;
  371. } DXCBND;
  372. typedef DXCBND DXCBNDS[ 4 ];
  373. typedef struct DXCBND64
  374. {
  375. double Min;
  376. double Max;
  377. } DXCBND64;
  378. typedef DXCBND64 DXCBNDS64[ 4 ];
  379. typedef struct DXBNDS
  380. {
  381. DXBNDTYPE eType;
  382. /* [switch_is] */ /* [switch_type] */ union __MIDL___MIDL_itf_dxtrans_0260_0001
  383. {
  384. /* [case()] */ DXDBND D[ 4 ];
  385. /* [case()] */ DXDBND64 LD[ 4 ];
  386. /* [case()] */ DXCBND C[ 4 ];
  387. /* [case()] */ DXCBND64 LC[ 4 ];
  388. } u;
  389. } DXBNDS;
  390. typedef long DXDVEC[ 4 ];
  391. typedef LONGLONG DXDVEC64[ 4 ];
  392. typedef float DXCVEC[ 4 ];
  393. typedef double DXCVEC64[ 4 ];
  394. typedef struct DXVEC
  395. {
  396. DXBNDTYPE eType;
  397. /* [switch_is] */ /* [switch_type] */ union __MIDL___MIDL_itf_dxtrans_0260_0002
  398. {
  399. /* [case()] */ long D[ 4 ];
  400. /* [case()] */ LONGLONG LD[ 4 ];
  401. /* [case()] */ float C[ 4 ];
  402. /* [case()] */ double LC[ 4 ];
  403. } u;
  404. } DXVEC;
  405. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0260_v0_0_c_ifspec;
  406. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0260_v0_0_s_ifspec;
  407. #ifndef __IDXTransformFactory_INTERFACE_DEFINED__
  408. #define __IDXTransformFactory_INTERFACE_DEFINED__
  409. /* interface IDXTransformFactory */
  410. /* [local][unique][helpstring][uuid][object] */
  411. EXTERN_C const IID IID_IDXTransformFactory;
  412. #if defined(__cplusplus) && !defined(CINTERFACE)
  413. MIDL_INTERFACE("6A950B2B-A971-11d1-81C8-0000F87557DB")
  414. IDXTransformFactory : public IServiceProvider
  415. {
  416. public:
  417. virtual HRESULT STDMETHODCALLTYPE SetService(
  418. /* [in] */ REFGUID guidService,
  419. /* [in] */ IUnknown *pUnkService,
  420. /* [in] */ BOOL bWeakReference) = 0;
  421. virtual HRESULT STDMETHODCALLTYPE CreateTransform(
  422. /* [size_is][in] */ IUnknown **punkInputs,
  423. /* [in] */ ULONG ulNumInputs,
  424. /* [size_is][in] */ IUnknown **punkOutputs,
  425. /* [in] */ ULONG ulNumOutputs,
  426. /* [in] */ IPropertyBag *pInitProps,
  427. /* [in] */ IErrorLog *pErrLog,
  428. /* [in] */ REFCLSID TransCLSID,
  429. /* [in] */ REFIID TransIID,
  430. /* [iid_is][out] */ void **ppTransform) = 0;
  431. virtual HRESULT STDMETHODCALLTYPE InitializeTransform(
  432. /* [in] */ IDXTransform *pTransform,
  433. /* [size_is][in] */ IUnknown **punkInputs,
  434. /* [in] */ ULONG ulNumInputs,
  435. /* [size_is][in] */ IUnknown **punkOutputs,
  436. /* [in] */ ULONG ulNumOutputs,
  437. /* [in] */ IPropertyBag *pInitProps,
  438. /* [in] */ IErrorLog *pErrLog) = 0;
  439. };
  440. #else /* C style interface */
  441. typedef struct IDXTransformFactoryVtbl
  442. {
  443. BEGIN_INTERFACE
  444. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  445. IDXTransformFactory * This,
  446. /* [in] */ REFIID riid,
  447. /* [iid_is][out] */ void **ppvObject);
  448. ULONG ( STDMETHODCALLTYPE *AddRef )(
  449. IDXTransformFactory * This);
  450. ULONG ( STDMETHODCALLTYPE *Release )(
  451. IDXTransformFactory * This);
  452. /* [local] */ HRESULT ( STDMETHODCALLTYPE *QueryService )(
  453. IDXTransformFactory * This,
  454. /* [in] */ REFGUID guidService,
  455. /* [in] */ REFIID riid,
  456. /* [out] */ void **ppvObject);
  457. HRESULT ( STDMETHODCALLTYPE *SetService )(
  458. IDXTransformFactory * This,
  459. /* [in] */ REFGUID guidService,
  460. /* [in] */ IUnknown *pUnkService,
  461. /* [in] */ BOOL bWeakReference);
  462. HRESULT ( STDMETHODCALLTYPE *CreateTransform )(
  463. IDXTransformFactory * This,
  464. /* [size_is][in] */ IUnknown **punkInputs,
  465. /* [in] */ ULONG ulNumInputs,
  466. /* [size_is][in] */ IUnknown **punkOutputs,
  467. /* [in] */ ULONG ulNumOutputs,
  468. /* [in] */ IPropertyBag *pInitProps,
  469. /* [in] */ IErrorLog *pErrLog,
  470. /* [in] */ REFCLSID TransCLSID,
  471. /* [in] */ REFIID TransIID,
  472. /* [iid_is][out] */ void **ppTransform);
  473. HRESULT ( STDMETHODCALLTYPE *InitializeTransform )(
  474. IDXTransformFactory * This,
  475. /* [in] */ IDXTransform *pTransform,
  476. /* [size_is][in] */ IUnknown **punkInputs,
  477. /* [in] */ ULONG ulNumInputs,
  478. /* [size_is][in] */ IUnknown **punkOutputs,
  479. /* [in] */ ULONG ulNumOutputs,
  480. /* [in] */ IPropertyBag *pInitProps,
  481. /* [in] */ IErrorLog *pErrLog);
  482. END_INTERFACE
  483. } IDXTransformFactoryVtbl;
  484. interface IDXTransformFactory
  485. {
  486. CONST_VTBL struct IDXTransformFactoryVtbl *lpVtbl;
  487. };
  488. #ifdef COBJMACROS
  489. #define IDXTransformFactory_QueryInterface(This,riid,ppvObject) \
  490. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  491. #define IDXTransformFactory_AddRef(This) \
  492. (This)->lpVtbl -> AddRef(This)
  493. #define IDXTransformFactory_Release(This) \
  494. (This)->lpVtbl -> Release(This)
  495. #define IDXTransformFactory_QueryService(This,guidService,riid,ppvObject) \
  496. (This)->lpVtbl -> QueryService(This,guidService,riid,ppvObject)
  497. #define IDXTransformFactory_SetService(This,guidService,pUnkService,bWeakReference) \
  498. (This)->lpVtbl -> SetService(This,guidService,pUnkService,bWeakReference)
  499. #define IDXTransformFactory_CreateTransform(This,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,pInitProps,pErrLog,TransCLSID,TransIID,ppTransform) \
  500. (This)->lpVtbl -> CreateTransform(This,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,pInitProps,pErrLog,TransCLSID,TransIID,ppTransform)
  501. #define IDXTransformFactory_InitializeTransform(This,pTransform,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,pInitProps,pErrLog) \
  502. (This)->lpVtbl -> InitializeTransform(This,pTransform,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,pInitProps,pErrLog)
  503. #endif /* COBJMACROS */
  504. #endif /* C style interface */
  505. HRESULT STDMETHODCALLTYPE IDXTransformFactory_SetService_Proxy(
  506. IDXTransformFactory * This,
  507. /* [in] */ REFGUID guidService,
  508. /* [in] */ IUnknown *pUnkService,
  509. /* [in] */ BOOL bWeakReference);
  510. void __RPC_STUB IDXTransformFactory_SetService_Stub(
  511. IRpcStubBuffer *This,
  512. IRpcChannelBuffer *_pRpcChannelBuffer,
  513. PRPC_MESSAGE _pRpcMessage,
  514. DWORD *_pdwStubPhase);
  515. HRESULT STDMETHODCALLTYPE IDXTransformFactory_CreateTransform_Proxy(
  516. IDXTransformFactory * This,
  517. /* [size_is][in] */ IUnknown **punkInputs,
  518. /* [in] */ ULONG ulNumInputs,
  519. /* [size_is][in] */ IUnknown **punkOutputs,
  520. /* [in] */ ULONG ulNumOutputs,
  521. /* [in] */ IPropertyBag *pInitProps,
  522. /* [in] */ IErrorLog *pErrLog,
  523. /* [in] */ REFCLSID TransCLSID,
  524. /* [in] */ REFIID TransIID,
  525. /* [iid_is][out] */ void **ppTransform);
  526. void __RPC_STUB IDXTransformFactory_CreateTransform_Stub(
  527. IRpcStubBuffer *This,
  528. IRpcChannelBuffer *_pRpcChannelBuffer,
  529. PRPC_MESSAGE _pRpcMessage,
  530. DWORD *_pdwStubPhase);
  531. HRESULT STDMETHODCALLTYPE IDXTransformFactory_InitializeTransform_Proxy(
  532. IDXTransformFactory * This,
  533. /* [in] */ IDXTransform *pTransform,
  534. /* [size_is][in] */ IUnknown **punkInputs,
  535. /* [in] */ ULONG ulNumInputs,
  536. /* [size_is][in] */ IUnknown **punkOutputs,
  537. /* [in] */ ULONG ulNumOutputs,
  538. /* [in] */ IPropertyBag *pInitProps,
  539. /* [in] */ IErrorLog *pErrLog);
  540. void __RPC_STUB IDXTransformFactory_InitializeTransform_Stub(
  541. IRpcStubBuffer *This,
  542. IRpcChannelBuffer *_pRpcChannelBuffer,
  543. PRPC_MESSAGE _pRpcMessage,
  544. DWORD *_pdwStubPhase);
  545. #endif /* __IDXTransformFactory_INTERFACE_DEFINED__ */
  546. /* interface __MIDL_itf_dxtrans_0261 */
  547. /* [local] */
  548. typedef
  549. enum DXTMISCFLAGS
  550. { DXTMF_BLEND_WITH_OUTPUT = 1L << 0,
  551. DXTMF_DITHER_OUTPUT = 1L << 1,
  552. DXTMF_OPTION_MASK = 0xffff,
  553. DXTMF_VALID_OPTIONS = DXTMF_BLEND_WITH_OUTPUT | DXTMF_DITHER_OUTPUT,
  554. DXTMF_BLEND_SUPPORTED = 1L << 16,
  555. DXTMF_DITHER_SUPPORTED = 1L << 17,
  556. DXTMF_INPLACE_OPERATION = 1L << 24,
  557. DXTMF_BOUNDS_SUPPORTED = 1L << 25,
  558. DXTMF_PLACEMENT_SUPPORTED = 1L << 26,
  559. DXTMF_QUALITY_SUPPORTED = 1L << 27,
  560. DXTMF_OPAQUE_RESULT = 1L << 28
  561. } DXTMISCFLAGS;
  562. typedef
  563. enum DXINOUTINFOFLAGS
  564. { DXINOUTF_OPTIONAL = 1L << 0
  565. } DXINOUTINFOFLAGS;
  566. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0261_v0_0_c_ifspec;
  567. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0261_v0_0_s_ifspec;
  568. #ifndef __IDXTransform_INTERFACE_DEFINED__
  569. #define __IDXTransform_INTERFACE_DEFINED__
  570. /* interface IDXTransform */
  571. /* [local][unique][helpstring][uuid][object] */
  572. EXTERN_C const IID IID_IDXTransform;
  573. #if defined(__cplusplus) && !defined(CINTERFACE)
  574. MIDL_INTERFACE("30A5FB78-E11F-11d1-9064-00C04FD9189D")
  575. IDXTransform : public IDXBaseObject
  576. {
  577. public:
  578. virtual HRESULT STDMETHODCALLTYPE Setup(
  579. /* [size_is][in] */ IUnknown *const *punkInputs,
  580. /* [in] */ ULONG ulNumInputs,
  581. /* [size_is][in] */ IUnknown *const *punkOutputs,
  582. /* [in] */ ULONG ulNumOutputs,
  583. /* [in] */ DWORD dwFlags) = 0;
  584. virtual HRESULT STDMETHODCALLTYPE Execute(
  585. /* [in] */ const GUID *pRequestID,
  586. /* [in] */ const DXBNDS *pClipBnds,
  587. /* [in] */ const DXVEC *pPlacement) = 0;
  588. virtual HRESULT STDMETHODCALLTYPE MapBoundsIn2Out(
  589. /* [in] */ const DXBNDS *pInBounds,
  590. /* [in] */ ULONG ulNumInBnds,
  591. /* [in] */ ULONG ulOutIndex,
  592. /* [out] */ DXBNDS *pOutBounds) = 0;
  593. virtual HRESULT STDMETHODCALLTYPE MapBoundsOut2In(
  594. /* [in] */ ULONG ulOutIndex,
  595. /* [in] */ const DXBNDS *pOutBounds,
  596. /* [in] */ ULONG ulInIndex,
  597. /* [out] */ DXBNDS *pInBounds) = 0;
  598. virtual HRESULT STDMETHODCALLTYPE SetMiscFlags(
  599. /* [in] */ DWORD dwMiscFlags) = 0;
  600. virtual HRESULT STDMETHODCALLTYPE GetMiscFlags(
  601. /* [out] */ DWORD *pdwMiscFlags) = 0;
  602. virtual HRESULT STDMETHODCALLTYPE GetInOutInfo(
  603. /* [in] */ BOOL bIsOutput,
  604. /* [in] */ ULONG ulIndex,
  605. /* [out] */ DWORD *pdwFlags,
  606. /* [size_is][out] */ GUID *pIDs,
  607. /* [out][in] */ ULONG *pcIDs,
  608. /* [out] */ IUnknown **ppUnkCurrentObject) = 0;
  609. virtual HRESULT STDMETHODCALLTYPE SetQuality(
  610. /* [in] */ float fQuality) = 0;
  611. virtual HRESULT STDMETHODCALLTYPE GetQuality(
  612. /* [out] */ float *fQuality) = 0;
  613. };
  614. #else /* C style interface */
  615. typedef struct IDXTransformVtbl
  616. {
  617. BEGIN_INTERFACE
  618. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  619. IDXTransform * This,
  620. /* [in] */ REFIID riid,
  621. /* [iid_is][out] */ void **ppvObject);
  622. ULONG ( STDMETHODCALLTYPE *AddRef )(
  623. IDXTransform * This);
  624. ULONG ( STDMETHODCALLTYPE *Release )(
  625. IDXTransform * This);
  626. HRESULT ( STDMETHODCALLTYPE *GetGenerationId )(
  627. IDXTransform * This,
  628. /* [out] */ ULONG *pID);
  629. HRESULT ( STDMETHODCALLTYPE *IncrementGenerationId )(
  630. IDXTransform * This,
  631. /* [in] */ BOOL bRefresh);
  632. HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
  633. IDXTransform * This,
  634. /* [out] */ ULONG *pcbSize);
  635. HRESULT ( STDMETHODCALLTYPE *Setup )(
  636. IDXTransform * This,
  637. /* [size_is][in] */ IUnknown *const *punkInputs,
  638. /* [in] */ ULONG ulNumInputs,
  639. /* [size_is][in] */ IUnknown *const *punkOutputs,
  640. /* [in] */ ULONG ulNumOutputs,
  641. /* [in] */ DWORD dwFlags);
  642. HRESULT ( STDMETHODCALLTYPE *Execute )(
  643. IDXTransform * This,
  644. /* [in] */ const GUID *pRequestID,
  645. /* [in] */ const DXBNDS *pClipBnds,
  646. /* [in] */ const DXVEC *pPlacement);
  647. HRESULT ( STDMETHODCALLTYPE *MapBoundsIn2Out )(
  648. IDXTransform * This,
  649. /* [in] */ const DXBNDS *pInBounds,
  650. /* [in] */ ULONG ulNumInBnds,
  651. /* [in] */ ULONG ulOutIndex,
  652. /* [out] */ DXBNDS *pOutBounds);
  653. HRESULT ( STDMETHODCALLTYPE *MapBoundsOut2In )(
  654. IDXTransform * This,
  655. /* [in] */ ULONG ulOutIndex,
  656. /* [in] */ const DXBNDS *pOutBounds,
  657. /* [in] */ ULONG ulInIndex,
  658. /* [out] */ DXBNDS *pInBounds);
  659. HRESULT ( STDMETHODCALLTYPE *SetMiscFlags )(
  660. IDXTransform * This,
  661. /* [in] */ DWORD dwMiscFlags);
  662. HRESULT ( STDMETHODCALLTYPE *GetMiscFlags )(
  663. IDXTransform * This,
  664. /* [out] */ DWORD *pdwMiscFlags);
  665. HRESULT ( STDMETHODCALLTYPE *GetInOutInfo )(
  666. IDXTransform * This,
  667. /* [in] */ BOOL bIsOutput,
  668. /* [in] */ ULONG ulIndex,
  669. /* [out] */ DWORD *pdwFlags,
  670. /* [size_is][out] */ GUID *pIDs,
  671. /* [out][in] */ ULONG *pcIDs,
  672. /* [out] */ IUnknown **ppUnkCurrentObject);
  673. HRESULT ( STDMETHODCALLTYPE *SetQuality )(
  674. IDXTransform * This,
  675. /* [in] */ float fQuality);
  676. HRESULT ( STDMETHODCALLTYPE *GetQuality )(
  677. IDXTransform * This,
  678. /* [out] */ float *fQuality);
  679. END_INTERFACE
  680. } IDXTransformVtbl;
  681. interface IDXTransform
  682. {
  683. CONST_VTBL struct IDXTransformVtbl *lpVtbl;
  684. };
  685. #ifdef COBJMACROS
  686. #define IDXTransform_QueryInterface(This,riid,ppvObject) \
  687. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  688. #define IDXTransform_AddRef(This) \
  689. (This)->lpVtbl -> AddRef(This)
  690. #define IDXTransform_Release(This) \
  691. (This)->lpVtbl -> Release(This)
  692. #define IDXTransform_GetGenerationId(This,pID) \
  693. (This)->lpVtbl -> GetGenerationId(This,pID)
  694. #define IDXTransform_IncrementGenerationId(This,bRefresh) \
  695. (This)->lpVtbl -> IncrementGenerationId(This,bRefresh)
  696. #define IDXTransform_GetObjectSize(This,pcbSize) \
  697. (This)->lpVtbl -> GetObjectSize(This,pcbSize)
  698. #define IDXTransform_Setup(This,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,dwFlags) \
  699. (This)->lpVtbl -> Setup(This,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,dwFlags)
  700. #define IDXTransform_Execute(This,pRequestID,pClipBnds,pPlacement) \
  701. (This)->lpVtbl -> Execute(This,pRequestID,pClipBnds,pPlacement)
  702. #define IDXTransform_MapBoundsIn2Out(This,pInBounds,ulNumInBnds,ulOutIndex,pOutBounds) \
  703. (This)->lpVtbl -> MapBoundsIn2Out(This,pInBounds,ulNumInBnds,ulOutIndex,pOutBounds)
  704. #define IDXTransform_MapBoundsOut2In(This,ulOutIndex,pOutBounds,ulInIndex,pInBounds) \
  705. (This)->lpVtbl -> MapBoundsOut2In(This,ulOutIndex,pOutBounds,ulInIndex,pInBounds)
  706. #define IDXTransform_SetMiscFlags(This,dwMiscFlags) \
  707. (This)->lpVtbl -> SetMiscFlags(This,dwMiscFlags)
  708. #define IDXTransform_GetMiscFlags(This,pdwMiscFlags) \
  709. (This)->lpVtbl -> GetMiscFlags(This,pdwMiscFlags)
  710. #define IDXTransform_GetInOutInfo(This,bIsOutput,ulIndex,pdwFlags,pIDs,pcIDs,ppUnkCurrentObject) \
  711. (This)->lpVtbl -> GetInOutInfo(This,bIsOutput,ulIndex,pdwFlags,pIDs,pcIDs,ppUnkCurrentObject)
  712. #define IDXTransform_SetQuality(This,fQuality) \
  713. (This)->lpVtbl -> SetQuality(This,fQuality)
  714. #define IDXTransform_GetQuality(This,fQuality) \
  715. (This)->lpVtbl -> GetQuality(This,fQuality)
  716. #endif /* COBJMACROS */
  717. #endif /* C style interface */
  718. HRESULT STDMETHODCALLTYPE IDXTransform_Setup_Proxy(
  719. IDXTransform * This,
  720. /* [size_is][in] */ IUnknown *const *punkInputs,
  721. /* [in] */ ULONG ulNumInputs,
  722. /* [size_is][in] */ IUnknown *const *punkOutputs,
  723. /* [in] */ ULONG ulNumOutputs,
  724. /* [in] */ DWORD dwFlags);
  725. void __RPC_STUB IDXTransform_Setup_Stub(
  726. IRpcStubBuffer *This,
  727. IRpcChannelBuffer *_pRpcChannelBuffer,
  728. PRPC_MESSAGE _pRpcMessage,
  729. DWORD *_pdwStubPhase);
  730. HRESULT STDMETHODCALLTYPE IDXTransform_Execute_Proxy(
  731. IDXTransform * This,
  732. /* [in] */ const GUID *pRequestID,
  733. /* [in] */ const DXBNDS *pClipBnds,
  734. /* [in] */ const DXVEC *pPlacement);
  735. void __RPC_STUB IDXTransform_Execute_Stub(
  736. IRpcStubBuffer *This,
  737. IRpcChannelBuffer *_pRpcChannelBuffer,
  738. PRPC_MESSAGE _pRpcMessage,
  739. DWORD *_pdwStubPhase);
  740. HRESULT STDMETHODCALLTYPE IDXTransform_MapBoundsIn2Out_Proxy(
  741. IDXTransform * This,
  742. /* [in] */ const DXBNDS *pInBounds,
  743. /* [in] */ ULONG ulNumInBnds,
  744. /* [in] */ ULONG ulOutIndex,
  745. /* [out] */ DXBNDS *pOutBounds);
  746. void __RPC_STUB IDXTransform_MapBoundsIn2Out_Stub(
  747. IRpcStubBuffer *This,
  748. IRpcChannelBuffer *_pRpcChannelBuffer,
  749. PRPC_MESSAGE _pRpcMessage,
  750. DWORD *_pdwStubPhase);
  751. HRESULT STDMETHODCALLTYPE IDXTransform_MapBoundsOut2In_Proxy(
  752. IDXTransform * This,
  753. /* [in] */ ULONG ulOutIndex,
  754. /* [in] */ const DXBNDS *pOutBounds,
  755. /* [in] */ ULONG ulInIndex,
  756. /* [out] */ DXBNDS *pInBounds);
  757. void __RPC_STUB IDXTransform_MapBoundsOut2In_Stub(
  758. IRpcStubBuffer *This,
  759. IRpcChannelBuffer *_pRpcChannelBuffer,
  760. PRPC_MESSAGE _pRpcMessage,
  761. DWORD *_pdwStubPhase);
  762. HRESULT STDMETHODCALLTYPE IDXTransform_SetMiscFlags_Proxy(
  763. IDXTransform * This,
  764. /* [in] */ DWORD dwMiscFlags);
  765. void __RPC_STUB IDXTransform_SetMiscFlags_Stub(
  766. IRpcStubBuffer *This,
  767. IRpcChannelBuffer *_pRpcChannelBuffer,
  768. PRPC_MESSAGE _pRpcMessage,
  769. DWORD *_pdwStubPhase);
  770. HRESULT STDMETHODCALLTYPE IDXTransform_GetMiscFlags_Proxy(
  771. IDXTransform * This,
  772. /* [out] */ DWORD *pdwMiscFlags);
  773. void __RPC_STUB IDXTransform_GetMiscFlags_Stub(
  774. IRpcStubBuffer *This,
  775. IRpcChannelBuffer *_pRpcChannelBuffer,
  776. PRPC_MESSAGE _pRpcMessage,
  777. DWORD *_pdwStubPhase);
  778. HRESULT STDMETHODCALLTYPE IDXTransform_GetInOutInfo_Proxy(
  779. IDXTransform * This,
  780. /* [in] */ BOOL bIsOutput,
  781. /* [in] */ ULONG ulIndex,
  782. /* [out] */ DWORD *pdwFlags,
  783. /* [size_is][out] */ GUID *pIDs,
  784. /* [out][in] */ ULONG *pcIDs,
  785. /* [out] */ IUnknown **ppUnkCurrentObject);
  786. void __RPC_STUB IDXTransform_GetInOutInfo_Stub(
  787. IRpcStubBuffer *This,
  788. IRpcChannelBuffer *_pRpcChannelBuffer,
  789. PRPC_MESSAGE _pRpcMessage,
  790. DWORD *_pdwStubPhase);
  791. HRESULT STDMETHODCALLTYPE IDXTransform_SetQuality_Proxy(
  792. IDXTransform * This,
  793. /* [in] */ float fQuality);
  794. void __RPC_STUB IDXTransform_SetQuality_Stub(
  795. IRpcStubBuffer *This,
  796. IRpcChannelBuffer *_pRpcChannelBuffer,
  797. PRPC_MESSAGE _pRpcMessage,
  798. DWORD *_pdwStubPhase);
  799. HRESULT STDMETHODCALLTYPE IDXTransform_GetQuality_Proxy(
  800. IDXTransform * This,
  801. /* [out] */ float *fQuality);
  802. void __RPC_STUB IDXTransform_GetQuality_Stub(
  803. IRpcStubBuffer *This,
  804. IRpcChannelBuffer *_pRpcChannelBuffer,
  805. PRPC_MESSAGE _pRpcMessage,
  806. DWORD *_pdwStubPhase);
  807. #endif /* __IDXTransform_INTERFACE_DEFINED__ */
  808. #ifndef __IDXSurfacePick_INTERFACE_DEFINED__
  809. #define __IDXSurfacePick_INTERFACE_DEFINED__
  810. /* interface IDXSurfacePick */
  811. /* [local][unique][helpstring][uuid][object] */
  812. EXTERN_C const IID IID_IDXSurfacePick;
  813. #if defined(__cplusplus) && !defined(CINTERFACE)
  814. MIDL_INTERFACE("30A5FB79-E11F-11d1-9064-00C04FD9189D")
  815. IDXSurfacePick : public IUnknown
  816. {
  817. public:
  818. virtual HRESULT STDMETHODCALLTYPE PointPick(
  819. /* [in] */ const DXVEC *pPoint,
  820. /* [out] */ ULONG *pulInputSurfaceIndex,
  821. /* [out] */ DXVEC *pInputPoint) = 0;
  822. };
  823. #else /* C style interface */
  824. typedef struct IDXSurfacePickVtbl
  825. {
  826. BEGIN_INTERFACE
  827. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  828. IDXSurfacePick * This,
  829. /* [in] */ REFIID riid,
  830. /* [iid_is][out] */ void **ppvObject);
  831. ULONG ( STDMETHODCALLTYPE *AddRef )(
  832. IDXSurfacePick * This);
  833. ULONG ( STDMETHODCALLTYPE *Release )(
  834. IDXSurfacePick * This);
  835. HRESULT ( STDMETHODCALLTYPE *PointPick )(
  836. IDXSurfacePick * This,
  837. /* [in] */ const DXVEC *pPoint,
  838. /* [out] */ ULONG *pulInputSurfaceIndex,
  839. /* [out] */ DXVEC *pInputPoint);
  840. END_INTERFACE
  841. } IDXSurfacePickVtbl;
  842. interface IDXSurfacePick
  843. {
  844. CONST_VTBL struct IDXSurfacePickVtbl *lpVtbl;
  845. };
  846. #ifdef COBJMACROS
  847. #define IDXSurfacePick_QueryInterface(This,riid,ppvObject) \
  848. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  849. #define IDXSurfacePick_AddRef(This) \
  850. (This)->lpVtbl -> AddRef(This)
  851. #define IDXSurfacePick_Release(This) \
  852. (This)->lpVtbl -> Release(This)
  853. #define IDXSurfacePick_PointPick(This,pPoint,pulInputSurfaceIndex,pInputPoint) \
  854. (This)->lpVtbl -> PointPick(This,pPoint,pulInputSurfaceIndex,pInputPoint)
  855. #endif /* COBJMACROS */
  856. #endif /* C style interface */
  857. HRESULT STDMETHODCALLTYPE IDXSurfacePick_PointPick_Proxy(
  858. IDXSurfacePick * This,
  859. /* [in] */ const DXVEC *pPoint,
  860. /* [out] */ ULONG *pulInputSurfaceIndex,
  861. /* [out] */ DXVEC *pInputPoint);
  862. void __RPC_STUB IDXSurfacePick_PointPick_Stub(
  863. IRpcStubBuffer *This,
  864. IRpcChannelBuffer *_pRpcChannelBuffer,
  865. PRPC_MESSAGE _pRpcMessage,
  866. DWORD *_pdwStubPhase);
  867. #endif /* __IDXSurfacePick_INTERFACE_DEFINED__ */
  868. #ifndef __IDXTBindHost_INTERFACE_DEFINED__
  869. #define __IDXTBindHost_INTERFACE_DEFINED__
  870. /* interface IDXTBindHost */
  871. /* [local][unique][helpstring][uuid][object] */
  872. EXTERN_C const IID IID_IDXTBindHost;
  873. #if defined(__cplusplus) && !defined(CINTERFACE)
  874. MIDL_INTERFACE("D26BCE55-E9DC-11d1-9066-00C04FD9189D")
  875. IDXTBindHost : public IUnknown
  876. {
  877. public:
  878. virtual HRESULT STDMETHODCALLTYPE SetBindHost(
  879. /* [in] */ IBindHost *pBindHost) = 0;
  880. };
  881. #else /* C style interface */
  882. typedef struct IDXTBindHostVtbl
  883. {
  884. BEGIN_INTERFACE
  885. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  886. IDXTBindHost * This,
  887. /* [in] */ REFIID riid,
  888. /* [iid_is][out] */ void **ppvObject);
  889. ULONG ( STDMETHODCALLTYPE *AddRef )(
  890. IDXTBindHost * This);
  891. ULONG ( STDMETHODCALLTYPE *Release )(
  892. IDXTBindHost * This);
  893. HRESULT ( STDMETHODCALLTYPE *SetBindHost )(
  894. IDXTBindHost * This,
  895. /* [in] */ IBindHost *pBindHost);
  896. END_INTERFACE
  897. } IDXTBindHostVtbl;
  898. interface IDXTBindHost
  899. {
  900. CONST_VTBL struct IDXTBindHostVtbl *lpVtbl;
  901. };
  902. #ifdef COBJMACROS
  903. #define IDXTBindHost_QueryInterface(This,riid,ppvObject) \
  904. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  905. #define IDXTBindHost_AddRef(This) \
  906. (This)->lpVtbl -> AddRef(This)
  907. #define IDXTBindHost_Release(This) \
  908. (This)->lpVtbl -> Release(This)
  909. #define IDXTBindHost_SetBindHost(This,pBindHost) \
  910. (This)->lpVtbl -> SetBindHost(This,pBindHost)
  911. #endif /* COBJMACROS */
  912. #endif /* C style interface */
  913. HRESULT STDMETHODCALLTYPE IDXTBindHost_SetBindHost_Proxy(
  914. IDXTBindHost * This,
  915. /* [in] */ IBindHost *pBindHost);
  916. void __RPC_STUB IDXTBindHost_SetBindHost_Stub(
  917. IRpcStubBuffer *This,
  918. IRpcChannelBuffer *_pRpcChannelBuffer,
  919. PRPC_MESSAGE _pRpcMessage,
  920. DWORD *_pdwStubPhase);
  921. #endif /* __IDXTBindHost_INTERFACE_DEFINED__ */
  922. /* interface __MIDL_itf_dxtrans_0264 */
  923. /* [local] */
  924. typedef void __stdcall __stdcall DXTASKPROC(
  925. void *pTaskData,
  926. BOOL *pbContinueProcessing);
  927. typedef DXTASKPROC *PFNDXTASKPROC;
  928. typedef void __stdcall __stdcall DXAPCPROC(
  929. DWORD dwData);
  930. typedef DXAPCPROC *PFNDXAPCPROC;
  931. #ifdef __cplusplus
  932. typedef struct DXTMTASKINFO
  933. {
  934. PFNDXTASKPROC pfnTaskProc; // Pointer to function to execute
  935. PVOID pTaskData; // Pointer to argument data
  936. PFNDXAPCPROC pfnCompletionAPC; // Pointer to completion APC proc
  937. DWORD dwCompletionData; // Pointer to APC proc data
  938. const GUID* pRequestID; // Used to identify groups of tasks
  939. } DXTMTASKINFO;
  940. #else
  941. typedef struct DXTMTASKINFO
  942. {
  943. PVOID pfnTaskProc;
  944. PVOID pTaskData;
  945. PVOID pfnCompletionAPC;
  946. DWORD dwCompletionData;
  947. const GUID *pRequestID;
  948. } DXTMTASKINFO;
  949. #endif
  950. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0264_v0_0_c_ifspec;
  951. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0264_v0_0_s_ifspec;
  952. #ifndef __IDXTaskManager_INTERFACE_DEFINED__
  953. #define __IDXTaskManager_INTERFACE_DEFINED__
  954. /* interface IDXTaskManager */
  955. /* [local][unique][helpstring][uuid][object] */
  956. EXTERN_C const IID IID_IDXTaskManager;
  957. #if defined(__cplusplus) && !defined(CINTERFACE)
  958. MIDL_INTERFACE("254DBBC1-F922-11d0-883A-3C8B00C10000")
  959. IDXTaskManager : public IUnknown
  960. {
  961. public:
  962. virtual HRESULT STDMETHODCALLTYPE QueryNumProcessors(
  963. /* [out] */ ULONG *pulNumProc) = 0;
  964. virtual HRESULT STDMETHODCALLTYPE SetThreadPoolSize(
  965. /* [in] */ ULONG ulNumThreads) = 0;
  966. virtual HRESULT STDMETHODCALLTYPE GetThreadPoolSize(
  967. /* [out] */ ULONG *pulNumThreads) = 0;
  968. virtual HRESULT STDMETHODCALLTYPE SetConcurrencyLimit(
  969. /* [in] */ ULONG ulNumThreads) = 0;
  970. virtual HRESULT STDMETHODCALLTYPE GetConcurrencyLimit(
  971. /* [out] */ ULONG *pulNumThreads) = 0;
  972. virtual HRESULT STDMETHODCALLTYPE ScheduleTasks(
  973. /* [in] */ DXTMTASKINFO TaskInfo[ ],
  974. /* [in] */ HANDLE Events[ ],
  975. /* [out] */ DWORD TaskIDs[ ],
  976. /* [in] */ ULONG ulNumTasks,
  977. /* [in] */ ULONG ulWaitPeriod) = 0;
  978. virtual HRESULT STDMETHODCALLTYPE TerminateTasks(
  979. /* [in] */ DWORD TaskIDs[ ],
  980. /* [in] */ ULONG ulCount,
  981. /* [in] */ ULONG ulTimeOut) = 0;
  982. virtual HRESULT STDMETHODCALLTYPE TerminateRequest(
  983. /* [in] */ REFIID RequestID,
  984. /* [in] */ ULONG ulTimeOut) = 0;
  985. };
  986. #else /* C style interface */
  987. typedef struct IDXTaskManagerVtbl
  988. {
  989. BEGIN_INTERFACE
  990. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  991. IDXTaskManager * This,
  992. /* [in] */ REFIID riid,
  993. /* [iid_is][out] */ void **ppvObject);
  994. ULONG ( STDMETHODCALLTYPE *AddRef )(
  995. IDXTaskManager * This);
  996. ULONG ( STDMETHODCALLTYPE *Release )(
  997. IDXTaskManager * This);
  998. HRESULT ( STDMETHODCALLTYPE *QueryNumProcessors )(
  999. IDXTaskManager * This,
  1000. /* [out] */ ULONG *pulNumProc);
  1001. HRESULT ( STDMETHODCALLTYPE *SetThreadPoolSize )(
  1002. IDXTaskManager * This,
  1003. /* [in] */ ULONG ulNumThreads);
  1004. HRESULT ( STDMETHODCALLTYPE *GetThreadPoolSize )(
  1005. IDXTaskManager * This,
  1006. /* [out] */ ULONG *pulNumThreads);
  1007. HRESULT ( STDMETHODCALLTYPE *SetConcurrencyLimit )(
  1008. IDXTaskManager * This,
  1009. /* [in] */ ULONG ulNumThreads);
  1010. HRESULT ( STDMETHODCALLTYPE *GetConcurrencyLimit )(
  1011. IDXTaskManager * This,
  1012. /* [out] */ ULONG *pulNumThreads);
  1013. HRESULT ( STDMETHODCALLTYPE *ScheduleTasks )(
  1014. IDXTaskManager * This,
  1015. /* [in] */ DXTMTASKINFO TaskInfo[ ],
  1016. /* [in] */ HANDLE Events[ ],
  1017. /* [out] */ DWORD TaskIDs[ ],
  1018. /* [in] */ ULONG ulNumTasks,
  1019. /* [in] */ ULONG ulWaitPeriod);
  1020. HRESULT ( STDMETHODCALLTYPE *TerminateTasks )(
  1021. IDXTaskManager * This,
  1022. /* [in] */ DWORD TaskIDs[ ],
  1023. /* [in] */ ULONG ulCount,
  1024. /* [in] */ ULONG ulTimeOut);
  1025. HRESULT ( STDMETHODCALLTYPE *TerminateRequest )(
  1026. IDXTaskManager * This,
  1027. /* [in] */ REFIID RequestID,
  1028. /* [in] */ ULONG ulTimeOut);
  1029. END_INTERFACE
  1030. } IDXTaskManagerVtbl;
  1031. interface IDXTaskManager
  1032. {
  1033. CONST_VTBL struct IDXTaskManagerVtbl *lpVtbl;
  1034. };
  1035. #ifdef COBJMACROS
  1036. #define IDXTaskManager_QueryInterface(This,riid,ppvObject) \
  1037. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1038. #define IDXTaskManager_AddRef(This) \
  1039. (This)->lpVtbl -> AddRef(This)
  1040. #define IDXTaskManager_Release(This) \
  1041. (This)->lpVtbl -> Release(This)
  1042. #define IDXTaskManager_QueryNumProcessors(This,pulNumProc) \
  1043. (This)->lpVtbl -> QueryNumProcessors(This,pulNumProc)
  1044. #define IDXTaskManager_SetThreadPoolSize(This,ulNumThreads) \
  1045. (This)->lpVtbl -> SetThreadPoolSize(This,ulNumThreads)
  1046. #define IDXTaskManager_GetThreadPoolSize(This,pulNumThreads) \
  1047. (This)->lpVtbl -> GetThreadPoolSize(This,pulNumThreads)
  1048. #define IDXTaskManager_SetConcurrencyLimit(This,ulNumThreads) \
  1049. (This)->lpVtbl -> SetConcurrencyLimit(This,ulNumThreads)
  1050. #define IDXTaskManager_GetConcurrencyLimit(This,pulNumThreads) \
  1051. (This)->lpVtbl -> GetConcurrencyLimit(This,pulNumThreads)
  1052. #define IDXTaskManager_ScheduleTasks(This,TaskInfo,Events,TaskIDs,ulNumTasks,ulWaitPeriod) \
  1053. (This)->lpVtbl -> ScheduleTasks(This,TaskInfo,Events,TaskIDs,ulNumTasks,ulWaitPeriod)
  1054. #define IDXTaskManager_TerminateTasks(This,TaskIDs,ulCount,ulTimeOut) \
  1055. (This)->lpVtbl -> TerminateTasks(This,TaskIDs,ulCount,ulTimeOut)
  1056. #define IDXTaskManager_TerminateRequest(This,RequestID,ulTimeOut) \
  1057. (This)->lpVtbl -> TerminateRequest(This,RequestID,ulTimeOut)
  1058. #endif /* COBJMACROS */
  1059. #endif /* C style interface */
  1060. HRESULT STDMETHODCALLTYPE IDXTaskManager_QueryNumProcessors_Proxy(
  1061. IDXTaskManager * This,
  1062. /* [out] */ ULONG *pulNumProc);
  1063. void __RPC_STUB IDXTaskManager_QueryNumProcessors_Stub(
  1064. IRpcStubBuffer *This,
  1065. IRpcChannelBuffer *_pRpcChannelBuffer,
  1066. PRPC_MESSAGE _pRpcMessage,
  1067. DWORD *_pdwStubPhase);
  1068. HRESULT STDMETHODCALLTYPE IDXTaskManager_SetThreadPoolSize_Proxy(
  1069. IDXTaskManager * This,
  1070. /* [in] */ ULONG ulNumThreads);
  1071. void __RPC_STUB IDXTaskManager_SetThreadPoolSize_Stub(
  1072. IRpcStubBuffer *This,
  1073. IRpcChannelBuffer *_pRpcChannelBuffer,
  1074. PRPC_MESSAGE _pRpcMessage,
  1075. DWORD *_pdwStubPhase);
  1076. HRESULT STDMETHODCALLTYPE IDXTaskManager_GetThreadPoolSize_Proxy(
  1077. IDXTaskManager * This,
  1078. /* [out] */ ULONG *pulNumThreads);
  1079. void __RPC_STUB IDXTaskManager_GetThreadPoolSize_Stub(
  1080. IRpcStubBuffer *This,
  1081. IRpcChannelBuffer *_pRpcChannelBuffer,
  1082. PRPC_MESSAGE _pRpcMessage,
  1083. DWORD *_pdwStubPhase);
  1084. HRESULT STDMETHODCALLTYPE IDXTaskManager_SetConcurrencyLimit_Proxy(
  1085. IDXTaskManager * This,
  1086. /* [in] */ ULONG ulNumThreads);
  1087. void __RPC_STUB IDXTaskManager_SetConcurrencyLimit_Stub(
  1088. IRpcStubBuffer *This,
  1089. IRpcChannelBuffer *_pRpcChannelBuffer,
  1090. PRPC_MESSAGE _pRpcMessage,
  1091. DWORD *_pdwStubPhase);
  1092. HRESULT STDMETHODCALLTYPE IDXTaskManager_GetConcurrencyLimit_Proxy(
  1093. IDXTaskManager * This,
  1094. /* [out] */ ULONG *pulNumThreads);
  1095. void __RPC_STUB IDXTaskManager_GetConcurrencyLimit_Stub(
  1096. IRpcStubBuffer *This,
  1097. IRpcChannelBuffer *_pRpcChannelBuffer,
  1098. PRPC_MESSAGE _pRpcMessage,
  1099. DWORD *_pdwStubPhase);
  1100. HRESULT STDMETHODCALLTYPE IDXTaskManager_ScheduleTasks_Proxy(
  1101. IDXTaskManager * This,
  1102. /* [in] */ DXTMTASKINFO TaskInfo[ ],
  1103. /* [in] */ HANDLE Events[ ],
  1104. /* [out] */ DWORD TaskIDs[ ],
  1105. /* [in] */ ULONG ulNumTasks,
  1106. /* [in] */ ULONG ulWaitPeriod);
  1107. void __RPC_STUB IDXTaskManager_ScheduleTasks_Stub(
  1108. IRpcStubBuffer *This,
  1109. IRpcChannelBuffer *_pRpcChannelBuffer,
  1110. PRPC_MESSAGE _pRpcMessage,
  1111. DWORD *_pdwStubPhase);
  1112. HRESULT STDMETHODCALLTYPE IDXTaskManager_TerminateTasks_Proxy(
  1113. IDXTaskManager * This,
  1114. /* [in] */ DWORD TaskIDs[ ],
  1115. /* [in] */ ULONG ulCount,
  1116. /* [in] */ ULONG ulTimeOut);
  1117. void __RPC_STUB IDXTaskManager_TerminateTasks_Stub(
  1118. IRpcStubBuffer *This,
  1119. IRpcChannelBuffer *_pRpcChannelBuffer,
  1120. PRPC_MESSAGE _pRpcMessage,
  1121. DWORD *_pdwStubPhase);
  1122. HRESULT STDMETHODCALLTYPE IDXTaskManager_TerminateRequest_Proxy(
  1123. IDXTaskManager * This,
  1124. /* [in] */ REFIID RequestID,
  1125. /* [in] */ ULONG ulTimeOut);
  1126. void __RPC_STUB IDXTaskManager_TerminateRequest_Stub(
  1127. IRpcStubBuffer *This,
  1128. IRpcChannelBuffer *_pRpcChannelBuffer,
  1129. PRPC_MESSAGE _pRpcMessage,
  1130. DWORD *_pdwStubPhase);
  1131. #endif /* __IDXTaskManager_INTERFACE_DEFINED__ */
  1132. /* interface __MIDL_itf_dxtrans_0265 */
  1133. /* [local] */
  1134. #ifdef __cplusplus
  1135. /////////////////////////////////////////////////////
  1136. class DXBASESAMPLE;
  1137. class DXSAMPLE;
  1138. class DXPMSAMPLE;
  1139. /////////////////////////////////////////////////////
  1140. class DXBASESAMPLE
  1141. {
  1142. public:
  1143. BYTE Blue;
  1144. BYTE Green;
  1145. BYTE Red;
  1146. BYTE Alpha;
  1147. DXBASESAMPLE() {}
  1148. DXBASESAMPLE(const BYTE alpha, const BYTE red, const BYTE green, const BYTE blue) :
  1149. Alpha(alpha),
  1150. Red(red),
  1151. Green(green),
  1152. Blue(blue) {}
  1153. DXBASESAMPLE(const DWORD val) { *this = (*(DXBASESAMPLE *)&val); }
  1154. operator DWORD () const {return *((DWORD *)this); }
  1155. DWORD operator=(const DWORD val) { return *this = *((DXBASESAMPLE *)&val); }
  1156. }; // DXBASESAMPLE
  1157. /////////////////////////////////////////////////////
  1158. class DXSAMPLE : public DXBASESAMPLE
  1159. {
  1160. public:
  1161. DXSAMPLE() {}
  1162. DXSAMPLE(const BYTE alpha, const BYTE red, const BYTE green, const BYTE blue) :
  1163. DXBASESAMPLE(alpha, red, green, blue) {}
  1164. DXSAMPLE(const DWORD val) { *this = (*(DXSAMPLE *)&val); }
  1165. operator DWORD () const {return *((DWORD *)this); }
  1166. DWORD operator=(const DWORD val) { return *this = *((DXSAMPLE *)&val); }
  1167. operator DXPMSAMPLE() const;
  1168. }; // DXSAMPLE
  1169. /////////////////////////////////////////////////////
  1170. class DXPMSAMPLE : public DXBASESAMPLE
  1171. {
  1172. public:
  1173. DXPMSAMPLE() {}
  1174. DXPMSAMPLE(const BYTE alpha, const BYTE red, const BYTE green, const BYTE blue) :
  1175. DXBASESAMPLE(alpha, red, green, blue) {}
  1176. DXPMSAMPLE(const DWORD val) { *this = (*(DXPMSAMPLE *)&val); }
  1177. operator DWORD () const {return *((DWORD *)this); }
  1178. DWORD operator=(const DWORD val) { return *this = *((DXPMSAMPLE *)&val); }
  1179. operator DXSAMPLE() const;
  1180. }; // DXPMSAMPLE
  1181. //
  1182. // The following cast operators are to prevent a direct assignment of a DXSAMPLE to a DXPMSAMPLE
  1183. //
  1184. inline DXSAMPLE::operator DXPMSAMPLE() const { return *((DXPMSAMPLE *)this); }
  1185. inline DXPMSAMPLE::operator DXSAMPLE() const { return *((DXSAMPLE *)this); }
  1186. #else // !__cplusplus
  1187. typedef struct DXBASESAMPLE
  1188. {
  1189. BYTE Blue;
  1190. BYTE Green;
  1191. BYTE Red;
  1192. BYTE Alpha;
  1193. } DXBASESAMPLE;
  1194. typedef struct DXSAMPLE
  1195. {
  1196. BYTE Blue;
  1197. BYTE Green;
  1198. BYTE Red;
  1199. BYTE Alpha;
  1200. } DXSAMPLE;
  1201. typedef struct DXPMSAMPLE
  1202. {
  1203. BYTE Blue;
  1204. BYTE Green;
  1205. BYTE Red;
  1206. BYTE Alpha;
  1207. } DXPMSAMPLE;
  1208. #endif // !__cplusplus
  1209. typedef
  1210. enum DXRUNTYPE
  1211. { DXRUNTYPE_CLEAR = 0,
  1212. DXRUNTYPE_OPAQUE = 1,
  1213. DXRUNTYPE_TRANS = 2,
  1214. DXRUNTYPE_UNKNOWN = 3
  1215. } DXRUNTYPE;
  1216. #define DX_MAX_RUN_INFO_COUNT ( 128 )
  1217. // Ignore the definition used by MIDL for TLB generation
  1218. #if 0
  1219. typedef struct DXRUNINFO
  1220. {
  1221. ULONG Bitfields;
  1222. } DXRUNINFO;
  1223. #endif // 0
  1224. typedef struct DXRUNINFO
  1225. {
  1226. ULONG Type : 2; // Type
  1227. ULONG Count : 30; // Number of samples in run
  1228. } DXRUNINFO;
  1229. typedef
  1230. enum DXSFCREATE
  1231. { DXSF_FORMAT_IS_CLSID = 1L << 0,
  1232. DXSF_NO_LAZY_DDRAW_LOCK = 1L << 1
  1233. } DXSFCREATE;
  1234. typedef
  1235. enum DXBLTOPTIONS
  1236. { DXBOF_DO_OVER = 1L << 0,
  1237. DXBOF_DITHER = 1L << 1
  1238. } DXBLTOPTIONS;
  1239. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0265_v0_0_c_ifspec;
  1240. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0265_v0_0_s_ifspec;
  1241. #ifndef __IDXSurfaceFactory_INTERFACE_DEFINED__
  1242. #define __IDXSurfaceFactory_INTERFACE_DEFINED__
  1243. /* interface IDXSurfaceFactory */
  1244. /* [local][unique][helpstring][uuid][object] */
  1245. EXTERN_C const IID IID_IDXSurfaceFactory;
  1246. #if defined(__cplusplus) && !defined(CINTERFACE)
  1247. MIDL_INTERFACE("144946F5-C4D4-11d1-81D1-0000F87557DB")
  1248. IDXSurfaceFactory : public IUnknown
  1249. {
  1250. public:
  1251. virtual HRESULT STDMETHODCALLTYPE CreateSurface(
  1252. /* [in] */ IUnknown *pDirectDraw,
  1253. /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1254. /* [in] */ const GUID *pFormatID,
  1255. /* [in] */ const DXBNDS *pBounds,
  1256. /* [in] */ DWORD dwFlags,
  1257. /* [in] */ IUnknown *punkOuter,
  1258. /* [in] */ REFIID riid,
  1259. /* [iid_is][out] */ void **ppDXSurface) = 0;
  1260. virtual HRESULT STDMETHODCALLTYPE CreateFromDDSurface(
  1261. /* [in] */ IUnknown *pDDrawSurface,
  1262. /* [in] */ const GUID *pFormatID,
  1263. /* [in] */ DWORD dwFlags,
  1264. /* [in] */ IUnknown *punkOuter,
  1265. /* [in] */ REFIID riid,
  1266. /* [iid_is][out] */ void **ppDXSurface) = 0;
  1267. virtual HRESULT STDMETHODCALLTYPE LoadImage(
  1268. /* [in] */ const LPWSTR pszFileName,
  1269. /* [in] */ IUnknown *pDirectDraw,
  1270. /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1271. /* [in] */ const GUID *pFormatID,
  1272. /* [in] */ REFIID riid,
  1273. /* [iid_is][out] */ void **ppDXSurface) = 0;
  1274. virtual HRESULT STDMETHODCALLTYPE LoadImageFromStream(
  1275. /* [in] */ IStream *pStream,
  1276. /* [in] */ IUnknown *pDirectDraw,
  1277. /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1278. /* [in] */ const GUID *pFormatID,
  1279. /* [in] */ REFIID riid,
  1280. /* [iid_is][out] */ void **ppDXSurface) = 0;
  1281. virtual HRESULT STDMETHODCALLTYPE CopySurfaceToNewFormat(
  1282. /* [in] */ IDXSurface *pSrc,
  1283. /* [in] */ IUnknown *pDirectDraw,
  1284. /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1285. /* [in] */ const GUID *pDestFormatID,
  1286. /* [out] */ IDXSurface **ppNewSurface) = 0;
  1287. virtual HRESULT STDMETHODCALLTYPE CreateD3DRMTexture(
  1288. /* [in] */ IDXSurface *pSrc,
  1289. /* [in] */ IUnknown *pDirectDraw,
  1290. /* [in] */ IUnknown *pD3DRM3,
  1291. /* [in] */ REFIID riid,
  1292. /* [iid_is][out] */ void **ppTexture3) = 0;
  1293. virtual HRESULT STDMETHODCALLTYPE BitBlt(
  1294. /* [in] */ IDXSurface *pDest,
  1295. /* [in] */ const DXVEC *pPlacement,
  1296. /* [in] */ IDXSurface *pSrc,
  1297. /* [in] */ const DXBNDS *pClipBounds,
  1298. /* [in] */ DWORD dwFlags) = 0;
  1299. };
  1300. #else /* C style interface */
  1301. typedef struct IDXSurfaceFactoryVtbl
  1302. {
  1303. BEGIN_INTERFACE
  1304. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1305. IDXSurfaceFactory * This,
  1306. /* [in] */ REFIID riid,
  1307. /* [iid_is][out] */ void **ppvObject);
  1308. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1309. IDXSurfaceFactory * This);
  1310. ULONG ( STDMETHODCALLTYPE *Release )(
  1311. IDXSurfaceFactory * This);
  1312. HRESULT ( STDMETHODCALLTYPE *CreateSurface )(
  1313. IDXSurfaceFactory * This,
  1314. /* [in] */ IUnknown *pDirectDraw,
  1315. /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1316. /* [in] */ const GUID *pFormatID,
  1317. /* [in] */ const DXBNDS *pBounds,
  1318. /* [in] */ DWORD dwFlags,
  1319. /* [in] */ IUnknown *punkOuter,
  1320. /* [in] */ REFIID riid,
  1321. /* [iid_is][out] */ void **ppDXSurface);
  1322. HRESULT ( STDMETHODCALLTYPE *CreateFromDDSurface )(
  1323. IDXSurfaceFactory * This,
  1324. /* [in] */ IUnknown *pDDrawSurface,
  1325. /* [in] */ const GUID *pFormatID,
  1326. /* [in] */ DWORD dwFlags,
  1327. /* [in] */ IUnknown *punkOuter,
  1328. /* [in] */ REFIID riid,
  1329. /* [iid_is][out] */ void **ppDXSurface);
  1330. HRESULT ( STDMETHODCALLTYPE *LoadImage )(
  1331. IDXSurfaceFactory * This,
  1332. /* [in] */ const LPWSTR pszFileName,
  1333. /* [in] */ IUnknown *pDirectDraw,
  1334. /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1335. /* [in] */ const GUID *pFormatID,
  1336. /* [in] */ REFIID riid,
  1337. /* [iid_is][out] */ void **ppDXSurface);
  1338. HRESULT ( STDMETHODCALLTYPE *LoadImageFromStream )(
  1339. IDXSurfaceFactory * This,
  1340. /* [in] */ IStream *pStream,
  1341. /* [in] */ IUnknown *pDirectDraw,
  1342. /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1343. /* [in] */ const GUID *pFormatID,
  1344. /* [in] */ REFIID riid,
  1345. /* [iid_is][out] */ void **ppDXSurface);
  1346. HRESULT ( STDMETHODCALLTYPE *CopySurfaceToNewFormat )(
  1347. IDXSurfaceFactory * This,
  1348. /* [in] */ IDXSurface *pSrc,
  1349. /* [in] */ IUnknown *pDirectDraw,
  1350. /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1351. /* [in] */ const GUID *pDestFormatID,
  1352. /* [out] */ IDXSurface **ppNewSurface);
  1353. HRESULT ( STDMETHODCALLTYPE *CreateD3DRMTexture )(
  1354. IDXSurfaceFactory * This,
  1355. /* [in] */ IDXSurface *pSrc,
  1356. /* [in] */ IUnknown *pDirectDraw,
  1357. /* [in] */ IUnknown *pD3DRM3,
  1358. /* [in] */ REFIID riid,
  1359. /* [iid_is][out] */ void **ppTexture3);
  1360. HRESULT ( STDMETHODCALLTYPE *BitBlt )(
  1361. IDXSurfaceFactory * This,
  1362. /* [in] */ IDXSurface *pDest,
  1363. /* [in] */ const DXVEC *pPlacement,
  1364. /* [in] */ IDXSurface *pSrc,
  1365. /* [in] */ const DXBNDS *pClipBounds,
  1366. /* [in] */ DWORD dwFlags);
  1367. END_INTERFACE
  1368. } IDXSurfaceFactoryVtbl;
  1369. interface IDXSurfaceFactory
  1370. {
  1371. CONST_VTBL struct IDXSurfaceFactoryVtbl *lpVtbl;
  1372. };
  1373. #ifdef COBJMACROS
  1374. #define IDXSurfaceFactory_QueryInterface(This,riid,ppvObject) \
  1375. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1376. #define IDXSurfaceFactory_AddRef(This) \
  1377. (This)->lpVtbl -> AddRef(This)
  1378. #define IDXSurfaceFactory_Release(This) \
  1379. (This)->lpVtbl -> Release(This)
  1380. #define IDXSurfaceFactory_CreateSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags,punkOuter,riid,ppDXSurface) \
  1381. (This)->lpVtbl -> CreateSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags,punkOuter,riid,ppDXSurface)
  1382. #define IDXSurfaceFactory_CreateFromDDSurface(This,pDDrawSurface,pFormatID,dwFlags,punkOuter,riid,ppDXSurface) \
  1383. (This)->lpVtbl -> CreateFromDDSurface(This,pDDrawSurface,pFormatID,dwFlags,punkOuter,riid,ppDXSurface)
  1384. #define IDXSurfaceFactory_LoadImage(This,pszFileName,pDirectDraw,pDDSurfaceDesc,pFormatID,riid,ppDXSurface) \
  1385. (This)->lpVtbl -> LoadImage(This,pszFileName,pDirectDraw,pDDSurfaceDesc,pFormatID,riid,ppDXSurface)
  1386. #define IDXSurfaceFactory_LoadImageFromStream(This,pStream,pDirectDraw,pDDSurfaceDesc,pFormatID,riid,ppDXSurface) \
  1387. (This)->lpVtbl -> LoadImageFromStream(This,pStream,pDirectDraw,pDDSurfaceDesc,pFormatID,riid,ppDXSurface)
  1388. #define IDXSurfaceFactory_CopySurfaceToNewFormat(This,pSrc,pDirectDraw,pDDSurfaceDesc,pDestFormatID,ppNewSurface) \
  1389. (This)->lpVtbl -> CopySurfaceToNewFormat(This,pSrc,pDirectDraw,pDDSurfaceDesc,pDestFormatID,ppNewSurface)
  1390. #define IDXSurfaceFactory_CreateD3DRMTexture(This,pSrc,pDirectDraw,pD3DRM3,riid,ppTexture3) \
  1391. (This)->lpVtbl -> CreateD3DRMTexture(This,pSrc,pDirectDraw,pD3DRM3,riid,ppTexture3)
  1392. #define IDXSurfaceFactory_BitBlt(This,pDest,pPlacement,pSrc,pClipBounds,dwFlags) \
  1393. (This)->lpVtbl -> BitBlt(This,pDest,pPlacement,pSrc,pClipBounds,dwFlags)
  1394. #endif /* COBJMACROS */
  1395. #endif /* C style interface */
  1396. HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CreateSurface_Proxy(
  1397. IDXSurfaceFactory * This,
  1398. /* [in] */ IUnknown *pDirectDraw,
  1399. /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1400. /* [in] */ const GUID *pFormatID,
  1401. /* [in] */ const DXBNDS *pBounds,
  1402. /* [in] */ DWORD dwFlags,
  1403. /* [in] */ IUnknown *punkOuter,
  1404. /* [in] */ REFIID riid,
  1405. /* [iid_is][out] */ void **ppDXSurface);
  1406. void __RPC_STUB IDXSurfaceFactory_CreateSurface_Stub(
  1407. IRpcStubBuffer *This,
  1408. IRpcChannelBuffer *_pRpcChannelBuffer,
  1409. PRPC_MESSAGE _pRpcMessage,
  1410. DWORD *_pdwStubPhase);
  1411. HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CreateFromDDSurface_Proxy(
  1412. IDXSurfaceFactory * This,
  1413. /* [in] */ IUnknown *pDDrawSurface,
  1414. /* [in] */ const GUID *pFormatID,
  1415. /* [in] */ DWORD dwFlags,
  1416. /* [in] */ IUnknown *punkOuter,
  1417. /* [in] */ REFIID riid,
  1418. /* [iid_is][out] */ void **ppDXSurface);
  1419. void __RPC_STUB IDXSurfaceFactory_CreateFromDDSurface_Stub(
  1420. IRpcStubBuffer *This,
  1421. IRpcChannelBuffer *_pRpcChannelBuffer,
  1422. PRPC_MESSAGE _pRpcMessage,
  1423. DWORD *_pdwStubPhase);
  1424. HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_LoadImage_Proxy(
  1425. IDXSurfaceFactory * This,
  1426. /* [in] */ const LPWSTR pszFileName,
  1427. /* [in] */ IUnknown *pDirectDraw,
  1428. /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1429. /* [in] */ const GUID *pFormatID,
  1430. /* [in] */ REFIID riid,
  1431. /* [iid_is][out] */ void **ppDXSurface);
  1432. void __RPC_STUB IDXSurfaceFactory_LoadImage_Stub(
  1433. IRpcStubBuffer *This,
  1434. IRpcChannelBuffer *_pRpcChannelBuffer,
  1435. PRPC_MESSAGE _pRpcMessage,
  1436. DWORD *_pdwStubPhase);
  1437. HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_LoadImageFromStream_Proxy(
  1438. IDXSurfaceFactory * This,
  1439. /* [in] */ IStream *pStream,
  1440. /* [in] */ IUnknown *pDirectDraw,
  1441. /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1442. /* [in] */ const GUID *pFormatID,
  1443. /* [in] */ REFIID riid,
  1444. /* [iid_is][out] */ void **ppDXSurface);
  1445. void __RPC_STUB IDXSurfaceFactory_LoadImageFromStream_Stub(
  1446. IRpcStubBuffer *This,
  1447. IRpcChannelBuffer *_pRpcChannelBuffer,
  1448. PRPC_MESSAGE _pRpcMessage,
  1449. DWORD *_pdwStubPhase);
  1450. HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CopySurfaceToNewFormat_Proxy(
  1451. IDXSurfaceFactory * This,
  1452. /* [in] */ IDXSurface *pSrc,
  1453. /* [in] */ IUnknown *pDirectDraw,
  1454. /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  1455. /* [in] */ const GUID *pDestFormatID,
  1456. /* [out] */ IDXSurface **ppNewSurface);
  1457. void __RPC_STUB IDXSurfaceFactory_CopySurfaceToNewFormat_Stub(
  1458. IRpcStubBuffer *This,
  1459. IRpcChannelBuffer *_pRpcChannelBuffer,
  1460. PRPC_MESSAGE _pRpcMessage,
  1461. DWORD *_pdwStubPhase);
  1462. HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CreateD3DRMTexture_Proxy(
  1463. IDXSurfaceFactory * This,
  1464. /* [in] */ IDXSurface *pSrc,
  1465. /* [in] */ IUnknown *pDirectDraw,
  1466. /* [in] */ IUnknown *pD3DRM3,
  1467. /* [in] */ REFIID riid,
  1468. /* [iid_is][out] */ void **ppTexture3);
  1469. void __RPC_STUB IDXSurfaceFactory_CreateD3DRMTexture_Stub(
  1470. IRpcStubBuffer *This,
  1471. IRpcChannelBuffer *_pRpcChannelBuffer,
  1472. PRPC_MESSAGE _pRpcMessage,
  1473. DWORD *_pdwStubPhase);
  1474. HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_BitBlt_Proxy(
  1475. IDXSurfaceFactory * This,
  1476. /* [in] */ IDXSurface *pDest,
  1477. /* [in] */ const DXVEC *pPlacement,
  1478. /* [in] */ IDXSurface *pSrc,
  1479. /* [in] */ const DXBNDS *pClipBounds,
  1480. /* [in] */ DWORD dwFlags);
  1481. void __RPC_STUB IDXSurfaceFactory_BitBlt_Stub(
  1482. IRpcStubBuffer *This,
  1483. IRpcChannelBuffer *_pRpcChannelBuffer,
  1484. PRPC_MESSAGE _pRpcMessage,
  1485. DWORD *_pdwStubPhase);
  1486. #endif /* __IDXSurfaceFactory_INTERFACE_DEFINED__ */
  1487. /* interface __MIDL_itf_dxtrans_0266 */
  1488. /* [local] */
  1489. typedef
  1490. enum DXSURFMODCOMPOP
  1491. { DXSURFMOD_COMP_OVER = 0,
  1492. DXSURFMOD_COMP_ALPHA_MASK = 1,
  1493. DXSURFMOD_COMP_MAX_VALID = 1
  1494. } DXSURFMODCOMPOP;
  1495. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0266_v0_0_c_ifspec;
  1496. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0266_v0_0_s_ifspec;
  1497. #ifndef __IDXSurfaceModifier_INTERFACE_DEFINED__
  1498. #define __IDXSurfaceModifier_INTERFACE_DEFINED__
  1499. /* interface IDXSurfaceModifier */
  1500. /* [local][unique][helpstring][uuid][object] */
  1501. EXTERN_C const IID IID_IDXSurfaceModifier;
  1502. #if defined(__cplusplus) && !defined(CINTERFACE)
  1503. MIDL_INTERFACE("9EA3B637-C37D-11d1-905E-00C04FD9189D")
  1504. IDXSurfaceModifier : public IUnknown
  1505. {
  1506. public:
  1507. virtual HRESULT STDMETHODCALLTYPE SetFillColor(
  1508. /* [in] */ DXSAMPLE Color) = 0;
  1509. virtual HRESULT STDMETHODCALLTYPE GetFillColor(
  1510. /* [out] */ DXSAMPLE *pColor) = 0;
  1511. virtual HRESULT STDMETHODCALLTYPE SetBounds(
  1512. /* [in] */ const DXBNDS *pBounds) = 0;
  1513. virtual HRESULT STDMETHODCALLTYPE SetBackground(
  1514. /* [in] */ IDXSurface *pSurface) = 0;
  1515. virtual HRESULT STDMETHODCALLTYPE GetBackground(
  1516. /* [out] */ IDXSurface **ppSurface) = 0;
  1517. virtual HRESULT STDMETHODCALLTYPE SetCompositeOperation(
  1518. /* [in] */ DXSURFMODCOMPOP CompOp) = 0;
  1519. virtual HRESULT STDMETHODCALLTYPE GetCompositeOperation(
  1520. /* [out] */ DXSURFMODCOMPOP *pCompOp) = 0;
  1521. virtual HRESULT STDMETHODCALLTYPE SetForeground(
  1522. /* [in] */ IDXSurface *pSurface,
  1523. /* [in] */ BOOL bTile,
  1524. /* [in] */ const POINT *pOrigin) = 0;
  1525. virtual HRESULT STDMETHODCALLTYPE GetForeground(
  1526. /* [out] */ IDXSurface **ppSurface,
  1527. /* [out] */ BOOL *pbTile,
  1528. /* [out] */ POINT *pOrigin) = 0;
  1529. virtual HRESULT STDMETHODCALLTYPE SetOpacity(
  1530. /* [in] */ float Opacity) = 0;
  1531. virtual HRESULT STDMETHODCALLTYPE GetOpacity(
  1532. /* [out] */ float *pOpacity) = 0;
  1533. virtual HRESULT STDMETHODCALLTYPE SetLookup(
  1534. /* [in] */ IDXLookupTable *pLookupTable) = 0;
  1535. virtual HRESULT STDMETHODCALLTYPE GetLookup(
  1536. /* [out] */ IDXLookupTable **ppLookupTable) = 0;
  1537. };
  1538. #else /* C style interface */
  1539. typedef struct IDXSurfaceModifierVtbl
  1540. {
  1541. BEGIN_INTERFACE
  1542. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1543. IDXSurfaceModifier * This,
  1544. /* [in] */ REFIID riid,
  1545. /* [iid_is][out] */ void **ppvObject);
  1546. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1547. IDXSurfaceModifier * This);
  1548. ULONG ( STDMETHODCALLTYPE *Release )(
  1549. IDXSurfaceModifier * This);
  1550. HRESULT ( STDMETHODCALLTYPE *SetFillColor )(
  1551. IDXSurfaceModifier * This,
  1552. /* [in] */ DXSAMPLE Color);
  1553. HRESULT ( STDMETHODCALLTYPE *GetFillColor )(
  1554. IDXSurfaceModifier * This,
  1555. /* [out] */ DXSAMPLE *pColor);
  1556. HRESULT ( STDMETHODCALLTYPE *SetBounds )(
  1557. IDXSurfaceModifier * This,
  1558. /* [in] */ const DXBNDS *pBounds);
  1559. HRESULT ( STDMETHODCALLTYPE *SetBackground )(
  1560. IDXSurfaceModifier * This,
  1561. /* [in] */ IDXSurface *pSurface);
  1562. HRESULT ( STDMETHODCALLTYPE *GetBackground )(
  1563. IDXSurfaceModifier * This,
  1564. /* [out] */ IDXSurface **ppSurface);
  1565. HRESULT ( STDMETHODCALLTYPE *SetCompositeOperation )(
  1566. IDXSurfaceModifier * This,
  1567. /* [in] */ DXSURFMODCOMPOP CompOp);
  1568. HRESULT ( STDMETHODCALLTYPE *GetCompositeOperation )(
  1569. IDXSurfaceModifier * This,
  1570. /* [out] */ DXSURFMODCOMPOP *pCompOp);
  1571. HRESULT ( STDMETHODCALLTYPE *SetForeground )(
  1572. IDXSurfaceModifier * This,
  1573. /* [in] */ IDXSurface *pSurface,
  1574. /* [in] */ BOOL bTile,
  1575. /* [in] */ const POINT *pOrigin);
  1576. HRESULT ( STDMETHODCALLTYPE *GetForeground )(
  1577. IDXSurfaceModifier * This,
  1578. /* [out] */ IDXSurface **ppSurface,
  1579. /* [out] */ BOOL *pbTile,
  1580. /* [out] */ POINT *pOrigin);
  1581. HRESULT ( STDMETHODCALLTYPE *SetOpacity )(
  1582. IDXSurfaceModifier * This,
  1583. /* [in] */ float Opacity);
  1584. HRESULT ( STDMETHODCALLTYPE *GetOpacity )(
  1585. IDXSurfaceModifier * This,
  1586. /* [out] */ float *pOpacity);
  1587. HRESULT ( STDMETHODCALLTYPE *SetLookup )(
  1588. IDXSurfaceModifier * This,
  1589. /* [in] */ IDXLookupTable *pLookupTable);
  1590. HRESULT ( STDMETHODCALLTYPE *GetLookup )(
  1591. IDXSurfaceModifier * This,
  1592. /* [out] */ IDXLookupTable **ppLookupTable);
  1593. END_INTERFACE
  1594. } IDXSurfaceModifierVtbl;
  1595. interface IDXSurfaceModifier
  1596. {
  1597. CONST_VTBL struct IDXSurfaceModifierVtbl *lpVtbl;
  1598. };
  1599. #ifdef COBJMACROS
  1600. #define IDXSurfaceModifier_QueryInterface(This,riid,ppvObject) \
  1601. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1602. #define IDXSurfaceModifier_AddRef(This) \
  1603. (This)->lpVtbl -> AddRef(This)
  1604. #define IDXSurfaceModifier_Release(This) \
  1605. (This)->lpVtbl -> Release(This)
  1606. #define IDXSurfaceModifier_SetFillColor(This,Color) \
  1607. (This)->lpVtbl -> SetFillColor(This,Color)
  1608. #define IDXSurfaceModifier_GetFillColor(This,pColor) \
  1609. (This)->lpVtbl -> GetFillColor(This,pColor)
  1610. #define IDXSurfaceModifier_SetBounds(This,pBounds) \
  1611. (This)->lpVtbl -> SetBounds(This,pBounds)
  1612. #define IDXSurfaceModifier_SetBackground(This,pSurface) \
  1613. (This)->lpVtbl -> SetBackground(This,pSurface)
  1614. #define IDXSurfaceModifier_GetBackground(This,ppSurface) \
  1615. (This)->lpVtbl -> GetBackground(This,ppSurface)
  1616. #define IDXSurfaceModifier_SetCompositeOperation(This,CompOp) \
  1617. (This)->lpVtbl -> SetCompositeOperation(This,CompOp)
  1618. #define IDXSurfaceModifier_GetCompositeOperation(This,pCompOp) \
  1619. (This)->lpVtbl -> GetCompositeOperation(This,pCompOp)
  1620. #define IDXSurfaceModifier_SetForeground(This,pSurface,bTile,pOrigin) \
  1621. (This)->lpVtbl -> SetForeground(This,pSurface,bTile,pOrigin)
  1622. #define IDXSurfaceModifier_GetForeground(This,ppSurface,pbTile,pOrigin) \
  1623. (This)->lpVtbl -> GetForeground(This,ppSurface,pbTile,pOrigin)
  1624. #define IDXSurfaceModifier_SetOpacity(This,Opacity) \
  1625. (This)->lpVtbl -> SetOpacity(This,Opacity)
  1626. #define IDXSurfaceModifier_GetOpacity(This,pOpacity) \
  1627. (This)->lpVtbl -> GetOpacity(This,pOpacity)
  1628. #define IDXSurfaceModifier_SetLookup(This,pLookupTable) \
  1629. (This)->lpVtbl -> SetLookup(This,pLookupTable)
  1630. #define IDXSurfaceModifier_GetLookup(This,ppLookupTable) \
  1631. (This)->lpVtbl -> GetLookup(This,ppLookupTable)
  1632. #endif /* COBJMACROS */
  1633. #endif /* C style interface */
  1634. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetFillColor_Proxy(
  1635. IDXSurfaceModifier * This,
  1636. /* [in] */ DXSAMPLE Color);
  1637. void __RPC_STUB IDXSurfaceModifier_SetFillColor_Stub(
  1638. IRpcStubBuffer *This,
  1639. IRpcChannelBuffer *_pRpcChannelBuffer,
  1640. PRPC_MESSAGE _pRpcMessage,
  1641. DWORD *_pdwStubPhase);
  1642. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetFillColor_Proxy(
  1643. IDXSurfaceModifier * This,
  1644. /* [out] */ DXSAMPLE *pColor);
  1645. void __RPC_STUB IDXSurfaceModifier_GetFillColor_Stub(
  1646. IRpcStubBuffer *This,
  1647. IRpcChannelBuffer *_pRpcChannelBuffer,
  1648. PRPC_MESSAGE _pRpcMessage,
  1649. DWORD *_pdwStubPhase);
  1650. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetBounds_Proxy(
  1651. IDXSurfaceModifier * This,
  1652. /* [in] */ const DXBNDS *pBounds);
  1653. void __RPC_STUB IDXSurfaceModifier_SetBounds_Stub(
  1654. IRpcStubBuffer *This,
  1655. IRpcChannelBuffer *_pRpcChannelBuffer,
  1656. PRPC_MESSAGE _pRpcMessage,
  1657. DWORD *_pdwStubPhase);
  1658. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetBackground_Proxy(
  1659. IDXSurfaceModifier * This,
  1660. /* [in] */ IDXSurface *pSurface);
  1661. void __RPC_STUB IDXSurfaceModifier_SetBackground_Stub(
  1662. IRpcStubBuffer *This,
  1663. IRpcChannelBuffer *_pRpcChannelBuffer,
  1664. PRPC_MESSAGE _pRpcMessage,
  1665. DWORD *_pdwStubPhase);
  1666. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetBackground_Proxy(
  1667. IDXSurfaceModifier * This,
  1668. /* [out] */ IDXSurface **ppSurface);
  1669. void __RPC_STUB IDXSurfaceModifier_GetBackground_Stub(
  1670. IRpcStubBuffer *This,
  1671. IRpcChannelBuffer *_pRpcChannelBuffer,
  1672. PRPC_MESSAGE _pRpcMessage,
  1673. DWORD *_pdwStubPhase);
  1674. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetCompositeOperation_Proxy(
  1675. IDXSurfaceModifier * This,
  1676. /* [in] */ DXSURFMODCOMPOP CompOp);
  1677. void __RPC_STUB IDXSurfaceModifier_SetCompositeOperation_Stub(
  1678. IRpcStubBuffer *This,
  1679. IRpcChannelBuffer *_pRpcChannelBuffer,
  1680. PRPC_MESSAGE _pRpcMessage,
  1681. DWORD *_pdwStubPhase);
  1682. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetCompositeOperation_Proxy(
  1683. IDXSurfaceModifier * This,
  1684. /* [out] */ DXSURFMODCOMPOP *pCompOp);
  1685. void __RPC_STUB IDXSurfaceModifier_GetCompositeOperation_Stub(
  1686. IRpcStubBuffer *This,
  1687. IRpcChannelBuffer *_pRpcChannelBuffer,
  1688. PRPC_MESSAGE _pRpcMessage,
  1689. DWORD *_pdwStubPhase);
  1690. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetForeground_Proxy(
  1691. IDXSurfaceModifier * This,
  1692. /* [in] */ IDXSurface *pSurface,
  1693. /* [in] */ BOOL bTile,
  1694. /* [in] */ const POINT *pOrigin);
  1695. void __RPC_STUB IDXSurfaceModifier_SetForeground_Stub(
  1696. IRpcStubBuffer *This,
  1697. IRpcChannelBuffer *_pRpcChannelBuffer,
  1698. PRPC_MESSAGE _pRpcMessage,
  1699. DWORD *_pdwStubPhase);
  1700. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetForeground_Proxy(
  1701. IDXSurfaceModifier * This,
  1702. /* [out] */ IDXSurface **ppSurface,
  1703. /* [out] */ BOOL *pbTile,
  1704. /* [out] */ POINT *pOrigin);
  1705. void __RPC_STUB IDXSurfaceModifier_GetForeground_Stub(
  1706. IRpcStubBuffer *This,
  1707. IRpcChannelBuffer *_pRpcChannelBuffer,
  1708. PRPC_MESSAGE _pRpcMessage,
  1709. DWORD *_pdwStubPhase);
  1710. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetOpacity_Proxy(
  1711. IDXSurfaceModifier * This,
  1712. /* [in] */ float Opacity);
  1713. void __RPC_STUB IDXSurfaceModifier_SetOpacity_Stub(
  1714. IRpcStubBuffer *This,
  1715. IRpcChannelBuffer *_pRpcChannelBuffer,
  1716. PRPC_MESSAGE _pRpcMessage,
  1717. DWORD *_pdwStubPhase);
  1718. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetOpacity_Proxy(
  1719. IDXSurfaceModifier * This,
  1720. /* [out] */ float *pOpacity);
  1721. void __RPC_STUB IDXSurfaceModifier_GetOpacity_Stub(
  1722. IRpcStubBuffer *This,
  1723. IRpcChannelBuffer *_pRpcChannelBuffer,
  1724. PRPC_MESSAGE _pRpcMessage,
  1725. DWORD *_pdwStubPhase);
  1726. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetLookup_Proxy(
  1727. IDXSurfaceModifier * This,
  1728. /* [in] */ IDXLookupTable *pLookupTable);
  1729. void __RPC_STUB IDXSurfaceModifier_SetLookup_Stub(
  1730. IRpcStubBuffer *This,
  1731. IRpcChannelBuffer *_pRpcChannelBuffer,
  1732. PRPC_MESSAGE _pRpcMessage,
  1733. DWORD *_pdwStubPhase);
  1734. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetLookup_Proxy(
  1735. IDXSurfaceModifier * This,
  1736. /* [out] */ IDXLookupTable **ppLookupTable);
  1737. void __RPC_STUB IDXSurfaceModifier_GetLookup_Stub(
  1738. IRpcStubBuffer *This,
  1739. IRpcChannelBuffer *_pRpcChannelBuffer,
  1740. PRPC_MESSAGE _pRpcMessage,
  1741. DWORD *_pdwStubPhase);
  1742. #endif /* __IDXSurfaceModifier_INTERFACE_DEFINED__ */
  1743. /* interface __MIDL_itf_dxtrans_0267 */
  1744. /* [local] */
  1745. typedef
  1746. enum DXSAMPLEFORMATENUM
  1747. { DXPF_FLAGSMASK = 0xffff0000,
  1748. DXPF_NONPREMULT = 0x10000,
  1749. DXPF_TRANSPARENCY = 0x20000,
  1750. DXPF_TRANSLUCENCY = 0x40000,
  1751. DXPF_2BITERROR = 0x200000,
  1752. DXPF_3BITERROR = 0x300000,
  1753. DXPF_4BITERROR = 0x400000,
  1754. DXPF_5BITERROR = 0x500000,
  1755. DXPF_ERRORMASK = 0x700000,
  1756. DXPF_NONSTANDARD = 0,
  1757. DXPF_PMARGB32 = 1 | DXPF_TRANSPARENCY | DXPF_TRANSLUCENCY,
  1758. DXPF_ARGB32 = 2 | DXPF_NONPREMULT | DXPF_TRANSPARENCY | DXPF_TRANSLUCENCY,
  1759. DXPF_ARGB4444 = 3 | DXPF_NONPREMULT | DXPF_TRANSPARENCY | DXPF_TRANSLUCENCY | DXPF_4BITERROR,
  1760. DXPF_A8 = 4 | DXPF_TRANSPARENCY | DXPF_TRANSLUCENCY,
  1761. DXPF_RGB32 = 5,
  1762. DXPF_RGB24 = 6,
  1763. DXPF_RGB565 = 7 | DXPF_3BITERROR,
  1764. DXPF_RGB555 = 8 | DXPF_3BITERROR,
  1765. DXPF_RGB8 = 9 | DXPF_5BITERROR,
  1766. DXPF_ARGB1555 = 10 | DXPF_TRANSPARENCY | DXPF_3BITERROR,
  1767. DXPF_RGB32_CK = DXPF_RGB32 | DXPF_TRANSPARENCY,
  1768. DXPF_RGB24_CK = DXPF_RGB24 | DXPF_TRANSPARENCY,
  1769. DXPF_RGB555_CK = DXPF_RGB555 | DXPF_TRANSPARENCY,
  1770. DXPF_RGB565_CK = DXPF_RGB565 | DXPF_TRANSPARENCY,
  1771. DXPF_RGB8_CK = DXPF_RGB8 | DXPF_TRANSPARENCY
  1772. } DXSAMPLEFORMATENUM;
  1773. typedef
  1774. enum DXLOCKSURF
  1775. { DXLOCKF_READ = 0,
  1776. DXLOCKF_READWRITE = 1 << 0,
  1777. DXLOCKF_EXISTINGINFOONLY = 1 << 1,
  1778. DXLOCKF_WANTRUNINFO = 1 << 2,
  1779. DXLOCKF_NONPREMULT = 1 << 16,
  1780. DXLOCKF_VALIDFLAGS = DXLOCKF_READWRITE | DXLOCKF_EXISTINGINFOONLY | DXLOCKF_WANTRUNINFO | DXLOCKF_NONPREMULT
  1781. } DXLOCKSURF;
  1782. typedef
  1783. enum DXSURFSTATUS
  1784. { DXSURF_TRANSIENT = 1 << 0,
  1785. DXSURF_READONLY = 1 << 1,
  1786. DXSURF_VALIDFLAGS = DXSURF_TRANSIENT | DXSURF_READONLY
  1787. } DXSURFSTATUS;
  1788. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0267_v0_0_c_ifspec;
  1789. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0267_v0_0_s_ifspec;
  1790. #ifndef __IDXSurface_INTERFACE_DEFINED__
  1791. #define __IDXSurface_INTERFACE_DEFINED__
  1792. /* interface IDXSurface */
  1793. /* [local][unique][helpstring][uuid][object] */
  1794. EXTERN_C const IID IID_IDXSurface;
  1795. #if defined(__cplusplus) && !defined(CINTERFACE)
  1796. MIDL_INTERFACE("B39FD73F-E139-11d1-9065-00C04FD9189D")
  1797. IDXSurface : public IDXBaseObject
  1798. {
  1799. public:
  1800. virtual HRESULT STDMETHODCALLTYPE GetPixelFormat(
  1801. /* [out] */ GUID *pFormatID,
  1802. /* [out] */ DXSAMPLEFORMATENUM *pSampleFormatEnum) = 0;
  1803. virtual HRESULT STDMETHODCALLTYPE GetBounds(
  1804. /* [out] */ DXBNDS *pBounds) = 0;
  1805. virtual HRESULT STDMETHODCALLTYPE GetStatusFlags(
  1806. /* [out] */ DWORD *pdwStatusFlags) = 0;
  1807. virtual HRESULT STDMETHODCALLTYPE SetStatusFlags(
  1808. /* [in] */ DWORD dwStatusFlags) = 0;
  1809. virtual HRESULT STDMETHODCALLTYPE LockSurface(
  1810. /* [in] */ const DXBNDS *pBounds,
  1811. /* [in] */ ULONG ulTimeOut,
  1812. /* [in] */ DWORD dwFlags,
  1813. /* [in] */ REFIID riid,
  1814. /* [iid_is][out] */ void **ppPointer,
  1815. /* [out] */ ULONG *pulGenerationId) = 0;
  1816. virtual HRESULT STDMETHODCALLTYPE GetDirectDrawSurface(
  1817. /* [in] */ REFIID riid,
  1818. /* [iid_is][out] */ void **ppSurface) = 0;
  1819. virtual HRESULT STDMETHODCALLTYPE GetColorKey(
  1820. DXSAMPLE *pColorKey) = 0;
  1821. virtual HRESULT STDMETHODCALLTYPE SetColorKey(
  1822. DXSAMPLE ColorKey) = 0;
  1823. virtual HRESULT STDMETHODCALLTYPE LockSurfaceDC(
  1824. /* [in] */ const DXBNDS *pBounds,
  1825. /* [in] */ ULONG ulTimeOut,
  1826. /* [in] */ DWORD dwFlags,
  1827. /* [out] */ IDXDCLock **ppDCLock) = 0;
  1828. virtual HRESULT STDMETHODCALLTYPE SetAppData(
  1829. DWORD_PTR dwAppData) = 0;
  1830. virtual HRESULT STDMETHODCALLTYPE GetAppData(
  1831. DWORD_PTR *pdwAppData) = 0;
  1832. };
  1833. #else /* C style interface */
  1834. typedef struct IDXSurfaceVtbl
  1835. {
  1836. BEGIN_INTERFACE
  1837. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1838. IDXSurface * This,
  1839. /* [in] */ REFIID riid,
  1840. /* [iid_is][out] */ void **ppvObject);
  1841. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1842. IDXSurface * This);
  1843. ULONG ( STDMETHODCALLTYPE *Release )(
  1844. IDXSurface * This);
  1845. HRESULT ( STDMETHODCALLTYPE *GetGenerationId )(
  1846. IDXSurface * This,
  1847. /* [out] */ ULONG *pID);
  1848. HRESULT ( STDMETHODCALLTYPE *IncrementGenerationId )(
  1849. IDXSurface * This,
  1850. /* [in] */ BOOL bRefresh);
  1851. HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
  1852. IDXSurface * This,
  1853. /* [out] */ ULONG *pcbSize);
  1854. HRESULT ( STDMETHODCALLTYPE *GetPixelFormat )(
  1855. IDXSurface * This,
  1856. /* [out] */ GUID *pFormatID,
  1857. /* [out] */ DXSAMPLEFORMATENUM *pSampleFormatEnum);
  1858. HRESULT ( STDMETHODCALLTYPE *GetBounds )(
  1859. IDXSurface * This,
  1860. /* [out] */ DXBNDS *pBounds);
  1861. HRESULT ( STDMETHODCALLTYPE *GetStatusFlags )(
  1862. IDXSurface * This,
  1863. /* [out] */ DWORD *pdwStatusFlags);
  1864. HRESULT ( STDMETHODCALLTYPE *SetStatusFlags )(
  1865. IDXSurface * This,
  1866. /* [in] */ DWORD dwStatusFlags);
  1867. HRESULT ( STDMETHODCALLTYPE *LockSurface )(
  1868. IDXSurface * This,
  1869. /* [in] */ const DXBNDS *pBounds,
  1870. /* [in] */ ULONG ulTimeOut,
  1871. /* [in] */ DWORD dwFlags,
  1872. /* [in] */ REFIID riid,
  1873. /* [iid_is][out] */ void **ppPointer,
  1874. /* [out] */ ULONG *pulGenerationId);
  1875. HRESULT ( STDMETHODCALLTYPE *GetDirectDrawSurface )(
  1876. IDXSurface * This,
  1877. /* [in] */ REFIID riid,
  1878. /* [iid_is][out] */ void **ppSurface);
  1879. HRESULT ( STDMETHODCALLTYPE *GetColorKey )(
  1880. IDXSurface * This,
  1881. DXSAMPLE *pColorKey);
  1882. HRESULT ( STDMETHODCALLTYPE *SetColorKey )(
  1883. IDXSurface * This,
  1884. DXSAMPLE ColorKey);
  1885. HRESULT ( STDMETHODCALLTYPE *LockSurfaceDC )(
  1886. IDXSurface * This,
  1887. /* [in] */ const DXBNDS *pBounds,
  1888. /* [in] */ ULONG ulTimeOut,
  1889. /* [in] */ DWORD dwFlags,
  1890. /* [out] */ IDXDCLock **ppDCLock);
  1891. HRESULT ( STDMETHODCALLTYPE *SetAppData )(
  1892. IDXSurface * This,
  1893. DWORD_PTR dwAppData);
  1894. HRESULT ( STDMETHODCALLTYPE *GetAppData )(
  1895. IDXSurface * This,
  1896. DWORD_PTR *pdwAppData);
  1897. END_INTERFACE
  1898. } IDXSurfaceVtbl;
  1899. interface IDXSurface
  1900. {
  1901. CONST_VTBL struct IDXSurfaceVtbl *lpVtbl;
  1902. };
  1903. #ifdef COBJMACROS
  1904. #define IDXSurface_QueryInterface(This,riid,ppvObject) \
  1905. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1906. #define IDXSurface_AddRef(This) \
  1907. (This)->lpVtbl -> AddRef(This)
  1908. #define IDXSurface_Release(This) \
  1909. (This)->lpVtbl -> Release(This)
  1910. #define IDXSurface_GetGenerationId(This,pID) \
  1911. (This)->lpVtbl -> GetGenerationId(This,pID)
  1912. #define IDXSurface_IncrementGenerationId(This,bRefresh) \
  1913. (This)->lpVtbl -> IncrementGenerationId(This,bRefresh)
  1914. #define IDXSurface_GetObjectSize(This,pcbSize) \
  1915. (This)->lpVtbl -> GetObjectSize(This,pcbSize)
  1916. #define IDXSurface_GetPixelFormat(This,pFormatID,pSampleFormatEnum) \
  1917. (This)->lpVtbl -> GetPixelFormat(This,pFormatID,pSampleFormatEnum)
  1918. #define IDXSurface_GetBounds(This,pBounds) \
  1919. (This)->lpVtbl -> GetBounds(This,pBounds)
  1920. #define IDXSurface_GetStatusFlags(This,pdwStatusFlags) \
  1921. (This)->lpVtbl -> GetStatusFlags(This,pdwStatusFlags)
  1922. #define IDXSurface_SetStatusFlags(This,dwStatusFlags) \
  1923. (This)->lpVtbl -> SetStatusFlags(This,dwStatusFlags)
  1924. #define IDXSurface_LockSurface(This,pBounds,ulTimeOut,dwFlags,riid,ppPointer,pulGenerationId) \
  1925. (This)->lpVtbl -> LockSurface(This,pBounds,ulTimeOut,dwFlags,riid,ppPointer,pulGenerationId)
  1926. #define IDXSurface_GetDirectDrawSurface(This,riid,ppSurface) \
  1927. (This)->lpVtbl -> GetDirectDrawSurface(This,riid,ppSurface)
  1928. #define IDXSurface_GetColorKey(This,pColorKey) \
  1929. (This)->lpVtbl -> GetColorKey(This,pColorKey)
  1930. #define IDXSurface_SetColorKey(This,ColorKey) \
  1931. (This)->lpVtbl -> SetColorKey(This,ColorKey)
  1932. #define IDXSurface_LockSurfaceDC(This,pBounds,ulTimeOut,dwFlags,ppDCLock) \
  1933. (This)->lpVtbl -> LockSurfaceDC(This,pBounds,ulTimeOut,dwFlags,ppDCLock)
  1934. #define IDXSurface_SetAppData(This,dwAppData) \
  1935. (This)->lpVtbl -> SetAppData(This,dwAppData)
  1936. #define IDXSurface_GetAppData(This,pdwAppData) \
  1937. (This)->lpVtbl -> GetAppData(This,pdwAppData)
  1938. #endif /* COBJMACROS */
  1939. #endif /* C style interface */
  1940. HRESULT STDMETHODCALLTYPE IDXSurface_GetPixelFormat_Proxy(
  1941. IDXSurface * This,
  1942. /* [out] */ GUID *pFormatID,
  1943. /* [out] */ DXSAMPLEFORMATENUM *pSampleFormatEnum);
  1944. void __RPC_STUB IDXSurface_GetPixelFormat_Stub(
  1945. IRpcStubBuffer *This,
  1946. IRpcChannelBuffer *_pRpcChannelBuffer,
  1947. PRPC_MESSAGE _pRpcMessage,
  1948. DWORD *_pdwStubPhase);
  1949. HRESULT STDMETHODCALLTYPE IDXSurface_GetBounds_Proxy(
  1950. IDXSurface * This,
  1951. /* [out] */ DXBNDS *pBounds);
  1952. void __RPC_STUB IDXSurface_GetBounds_Stub(
  1953. IRpcStubBuffer *This,
  1954. IRpcChannelBuffer *_pRpcChannelBuffer,
  1955. PRPC_MESSAGE _pRpcMessage,
  1956. DWORD *_pdwStubPhase);
  1957. HRESULT STDMETHODCALLTYPE IDXSurface_GetStatusFlags_Proxy(
  1958. IDXSurface * This,
  1959. /* [out] */ DWORD *pdwStatusFlags);
  1960. void __RPC_STUB IDXSurface_GetStatusFlags_Stub(
  1961. IRpcStubBuffer *This,
  1962. IRpcChannelBuffer *_pRpcChannelBuffer,
  1963. PRPC_MESSAGE _pRpcMessage,
  1964. DWORD *_pdwStubPhase);
  1965. HRESULT STDMETHODCALLTYPE IDXSurface_SetStatusFlags_Proxy(
  1966. IDXSurface * This,
  1967. /* [in] */ DWORD dwStatusFlags);
  1968. void __RPC_STUB IDXSurface_SetStatusFlags_Stub(
  1969. IRpcStubBuffer *This,
  1970. IRpcChannelBuffer *_pRpcChannelBuffer,
  1971. PRPC_MESSAGE _pRpcMessage,
  1972. DWORD *_pdwStubPhase);
  1973. HRESULT STDMETHODCALLTYPE IDXSurface_LockSurface_Proxy(
  1974. IDXSurface * This,
  1975. /* [in] */ const DXBNDS *pBounds,
  1976. /* [in] */ ULONG ulTimeOut,
  1977. /* [in] */ DWORD dwFlags,
  1978. /* [in] */ REFIID riid,
  1979. /* [iid_is][out] */ void **ppPointer,
  1980. /* [out] */ ULONG *pulGenerationId);
  1981. void __RPC_STUB IDXSurface_LockSurface_Stub(
  1982. IRpcStubBuffer *This,
  1983. IRpcChannelBuffer *_pRpcChannelBuffer,
  1984. PRPC_MESSAGE _pRpcMessage,
  1985. DWORD *_pdwStubPhase);
  1986. HRESULT STDMETHODCALLTYPE IDXSurface_GetDirectDrawSurface_Proxy(
  1987. IDXSurface * This,
  1988. /* [in] */ REFIID riid,
  1989. /* [iid_is][out] */ void **ppSurface);
  1990. void __RPC_STUB IDXSurface_GetDirectDrawSurface_Stub(
  1991. IRpcStubBuffer *This,
  1992. IRpcChannelBuffer *_pRpcChannelBuffer,
  1993. PRPC_MESSAGE _pRpcMessage,
  1994. DWORD *_pdwStubPhase);
  1995. HRESULT STDMETHODCALLTYPE IDXSurface_GetColorKey_Proxy(
  1996. IDXSurface * This,
  1997. DXSAMPLE *pColorKey);
  1998. void __RPC_STUB IDXSurface_GetColorKey_Stub(
  1999. IRpcStubBuffer *This,
  2000. IRpcChannelBuffer *_pRpcChannelBuffer,
  2001. PRPC_MESSAGE _pRpcMessage,
  2002. DWORD *_pdwStubPhase);
  2003. HRESULT STDMETHODCALLTYPE IDXSurface_SetColorKey_Proxy(
  2004. IDXSurface * This,
  2005. DXSAMPLE ColorKey);
  2006. void __RPC_STUB IDXSurface_SetColorKey_Stub(
  2007. IRpcStubBuffer *This,
  2008. IRpcChannelBuffer *_pRpcChannelBuffer,
  2009. PRPC_MESSAGE _pRpcMessage,
  2010. DWORD *_pdwStubPhase);
  2011. HRESULT STDMETHODCALLTYPE IDXSurface_LockSurfaceDC_Proxy(
  2012. IDXSurface * This,
  2013. /* [in] */ const DXBNDS *pBounds,
  2014. /* [in] */ ULONG ulTimeOut,
  2015. /* [in] */ DWORD dwFlags,
  2016. /* [out] */ IDXDCLock **ppDCLock);
  2017. void __RPC_STUB IDXSurface_LockSurfaceDC_Stub(
  2018. IRpcStubBuffer *This,
  2019. IRpcChannelBuffer *_pRpcChannelBuffer,
  2020. PRPC_MESSAGE _pRpcMessage,
  2021. DWORD *_pdwStubPhase);
  2022. HRESULT STDMETHODCALLTYPE IDXSurface_SetAppData_Proxy(
  2023. IDXSurface * This,
  2024. DWORD_PTR dwAppData);
  2025. void __RPC_STUB IDXSurface_SetAppData_Stub(
  2026. IRpcStubBuffer *This,
  2027. IRpcChannelBuffer *_pRpcChannelBuffer,
  2028. PRPC_MESSAGE _pRpcMessage,
  2029. DWORD *_pdwStubPhase);
  2030. HRESULT STDMETHODCALLTYPE IDXSurface_GetAppData_Proxy(
  2031. IDXSurface * This,
  2032. DWORD_PTR *pdwAppData);
  2033. void __RPC_STUB IDXSurface_GetAppData_Stub(
  2034. IRpcStubBuffer *This,
  2035. IRpcChannelBuffer *_pRpcChannelBuffer,
  2036. PRPC_MESSAGE _pRpcMessage,
  2037. DWORD *_pdwStubPhase);
  2038. #endif /* __IDXSurface_INTERFACE_DEFINED__ */
  2039. #ifndef __IDXSurfaceInit_INTERFACE_DEFINED__
  2040. #define __IDXSurfaceInit_INTERFACE_DEFINED__
  2041. /* interface IDXSurfaceInit */
  2042. /* [local][unique][helpstring][uuid][object] */
  2043. EXTERN_C const IID IID_IDXSurfaceInit;
  2044. #if defined(__cplusplus) && !defined(CINTERFACE)
  2045. MIDL_INTERFACE("9EA3B639-C37D-11d1-905E-00C04FD9189D")
  2046. IDXSurfaceInit : public IUnknown
  2047. {
  2048. public:
  2049. virtual HRESULT STDMETHODCALLTYPE InitSurface(
  2050. /* [in] */ IUnknown *pDirectDraw,
  2051. /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  2052. /* [in] */ const GUID *pFormatID,
  2053. /* [in] */ const DXBNDS *pBounds,
  2054. /* [in] */ DWORD dwFlags) = 0;
  2055. };
  2056. #else /* C style interface */
  2057. typedef struct IDXSurfaceInitVtbl
  2058. {
  2059. BEGIN_INTERFACE
  2060. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2061. IDXSurfaceInit * This,
  2062. /* [in] */ REFIID riid,
  2063. /* [iid_is][out] */ void **ppvObject);
  2064. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2065. IDXSurfaceInit * This);
  2066. ULONG ( STDMETHODCALLTYPE *Release )(
  2067. IDXSurfaceInit * This);
  2068. HRESULT ( STDMETHODCALLTYPE *InitSurface )(
  2069. IDXSurfaceInit * This,
  2070. /* [in] */ IUnknown *pDirectDraw,
  2071. /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  2072. /* [in] */ const GUID *pFormatID,
  2073. /* [in] */ const DXBNDS *pBounds,
  2074. /* [in] */ DWORD dwFlags);
  2075. END_INTERFACE
  2076. } IDXSurfaceInitVtbl;
  2077. interface IDXSurfaceInit
  2078. {
  2079. CONST_VTBL struct IDXSurfaceInitVtbl *lpVtbl;
  2080. };
  2081. #ifdef COBJMACROS
  2082. #define IDXSurfaceInit_QueryInterface(This,riid,ppvObject) \
  2083. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2084. #define IDXSurfaceInit_AddRef(This) \
  2085. (This)->lpVtbl -> AddRef(This)
  2086. #define IDXSurfaceInit_Release(This) \
  2087. (This)->lpVtbl -> Release(This)
  2088. #define IDXSurfaceInit_InitSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags) \
  2089. (This)->lpVtbl -> InitSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags)
  2090. #endif /* COBJMACROS */
  2091. #endif /* C style interface */
  2092. HRESULT STDMETHODCALLTYPE IDXSurfaceInit_InitSurface_Proxy(
  2093. IDXSurfaceInit * This,
  2094. /* [in] */ IUnknown *pDirectDraw,
  2095. /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  2096. /* [in] */ const GUID *pFormatID,
  2097. /* [in] */ const DXBNDS *pBounds,
  2098. /* [in] */ DWORD dwFlags);
  2099. void __RPC_STUB IDXSurfaceInit_InitSurface_Stub(
  2100. IRpcStubBuffer *This,
  2101. IRpcChannelBuffer *_pRpcChannelBuffer,
  2102. PRPC_MESSAGE _pRpcMessage,
  2103. DWORD *_pdwStubPhase);
  2104. #endif /* __IDXSurfaceInit_INTERFACE_DEFINED__ */
  2105. #ifndef __IDXARGBSurfaceInit_INTERFACE_DEFINED__
  2106. #define __IDXARGBSurfaceInit_INTERFACE_DEFINED__
  2107. /* interface IDXARGBSurfaceInit */
  2108. /* [local][unique][helpstring][uuid][object] */
  2109. EXTERN_C const IID IID_IDXARGBSurfaceInit;
  2110. #if defined(__cplusplus) && !defined(CINTERFACE)
  2111. MIDL_INTERFACE("9EA3B63A-C37D-11d1-905E-00C04FD9189D")
  2112. IDXARGBSurfaceInit : public IDXSurfaceInit
  2113. {
  2114. public:
  2115. virtual HRESULT STDMETHODCALLTYPE InitFromDDSurface(
  2116. /* [in] */ IUnknown *pDDrawSurface,
  2117. /* [in] */ const GUID *pFormatID,
  2118. /* [in] */ DWORD dwFlags) = 0;
  2119. virtual HRESULT STDMETHODCALLTYPE InitFromRawSurface(
  2120. /* [in] */ IDXRawSurface *pRawSurface) = 0;
  2121. };
  2122. #else /* C style interface */
  2123. typedef struct IDXARGBSurfaceInitVtbl
  2124. {
  2125. BEGIN_INTERFACE
  2126. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2127. IDXARGBSurfaceInit * This,
  2128. /* [in] */ REFIID riid,
  2129. /* [iid_is][out] */ void **ppvObject);
  2130. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2131. IDXARGBSurfaceInit * This);
  2132. ULONG ( STDMETHODCALLTYPE *Release )(
  2133. IDXARGBSurfaceInit * This);
  2134. HRESULT ( STDMETHODCALLTYPE *InitSurface )(
  2135. IDXARGBSurfaceInit * This,
  2136. /* [in] */ IUnknown *pDirectDraw,
  2137. /* [in] */ const DDSURFACEDESC *pDDSurfaceDesc,
  2138. /* [in] */ const GUID *pFormatID,
  2139. /* [in] */ const DXBNDS *pBounds,
  2140. /* [in] */ DWORD dwFlags);
  2141. HRESULT ( STDMETHODCALLTYPE *InitFromDDSurface )(
  2142. IDXARGBSurfaceInit * This,
  2143. /* [in] */ IUnknown *pDDrawSurface,
  2144. /* [in] */ const GUID *pFormatID,
  2145. /* [in] */ DWORD dwFlags);
  2146. HRESULT ( STDMETHODCALLTYPE *InitFromRawSurface )(
  2147. IDXARGBSurfaceInit * This,
  2148. /* [in] */ IDXRawSurface *pRawSurface);
  2149. END_INTERFACE
  2150. } IDXARGBSurfaceInitVtbl;
  2151. interface IDXARGBSurfaceInit
  2152. {
  2153. CONST_VTBL struct IDXARGBSurfaceInitVtbl *lpVtbl;
  2154. };
  2155. #ifdef COBJMACROS
  2156. #define IDXARGBSurfaceInit_QueryInterface(This,riid,ppvObject) \
  2157. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2158. #define IDXARGBSurfaceInit_AddRef(This) \
  2159. (This)->lpVtbl -> AddRef(This)
  2160. #define IDXARGBSurfaceInit_Release(This) \
  2161. (This)->lpVtbl -> Release(This)
  2162. #define IDXARGBSurfaceInit_InitSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags) \
  2163. (This)->lpVtbl -> InitSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags)
  2164. #define IDXARGBSurfaceInit_InitFromDDSurface(This,pDDrawSurface,pFormatID,dwFlags) \
  2165. (This)->lpVtbl -> InitFromDDSurface(This,pDDrawSurface,pFormatID,dwFlags)
  2166. #define IDXARGBSurfaceInit_InitFromRawSurface(This,pRawSurface) \
  2167. (This)->lpVtbl -> InitFromRawSurface(This,pRawSurface)
  2168. #endif /* COBJMACROS */
  2169. #endif /* C style interface */
  2170. HRESULT STDMETHODCALLTYPE IDXARGBSurfaceInit_InitFromDDSurface_Proxy(
  2171. IDXARGBSurfaceInit * This,
  2172. /* [in] */ IUnknown *pDDrawSurface,
  2173. /* [in] */ const GUID *pFormatID,
  2174. /* [in] */ DWORD dwFlags);
  2175. void __RPC_STUB IDXARGBSurfaceInit_InitFromDDSurface_Stub(
  2176. IRpcStubBuffer *This,
  2177. IRpcChannelBuffer *_pRpcChannelBuffer,
  2178. PRPC_MESSAGE _pRpcMessage,
  2179. DWORD *_pdwStubPhase);
  2180. HRESULT STDMETHODCALLTYPE IDXARGBSurfaceInit_InitFromRawSurface_Proxy(
  2181. IDXARGBSurfaceInit * This,
  2182. /* [in] */ IDXRawSurface *pRawSurface);
  2183. void __RPC_STUB IDXARGBSurfaceInit_InitFromRawSurface_Stub(
  2184. IRpcStubBuffer *This,
  2185. IRpcChannelBuffer *_pRpcChannelBuffer,
  2186. PRPC_MESSAGE _pRpcMessage,
  2187. DWORD *_pdwStubPhase);
  2188. #endif /* __IDXARGBSurfaceInit_INTERFACE_DEFINED__ */
  2189. /* interface __MIDL_itf_dxtrans_0270 */
  2190. /* [local] */
  2191. typedef struct tagDXNATIVETYPEINFO
  2192. {
  2193. BYTE *pCurrentData;
  2194. BYTE *pFirstByte;
  2195. long lPitch;
  2196. DWORD dwColorKey;
  2197. } DXNATIVETYPEINFO;
  2198. typedef struct tagDXPACKEDRECTDESC
  2199. {
  2200. DXBASESAMPLE *pSamples;
  2201. BOOL bPremult;
  2202. RECT rect;
  2203. long lRowPadding;
  2204. } DXPACKEDRECTDESC;
  2205. typedef struct tagDXOVERSAMPLEDESC
  2206. {
  2207. POINT p;
  2208. DXPMSAMPLE Color;
  2209. } DXOVERSAMPLEDESC;
  2210. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0270_v0_0_c_ifspec;
  2211. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0270_v0_0_s_ifspec;
  2212. #ifndef __IDXARGBReadPtr_INTERFACE_DEFINED__
  2213. #define __IDXARGBReadPtr_INTERFACE_DEFINED__
  2214. /* interface IDXARGBReadPtr */
  2215. /* [local][unique][helpstring][uuid][object] */
  2216. EXTERN_C const IID IID_IDXARGBReadPtr;
  2217. #if defined(__cplusplus) && !defined(CINTERFACE)
  2218. MIDL_INTERFACE("EAAAC2D6-C290-11d1-905D-00C04FD9189D")
  2219. IDXARGBReadPtr : public IUnknown
  2220. {
  2221. public:
  2222. virtual HRESULT STDMETHODCALLTYPE GetSurface(
  2223. /* [in] */ REFIID riid,
  2224. /* [iid_is][out] */ void **ppSurface) = 0;
  2225. virtual DXSAMPLEFORMATENUM STDMETHODCALLTYPE GetNativeType(
  2226. /* [out] */ DXNATIVETYPEINFO *pInfo) = 0;
  2227. virtual void STDMETHODCALLTYPE Move(
  2228. /* [in] */ long cSamples) = 0;
  2229. virtual void STDMETHODCALLTYPE MoveToRow(
  2230. /* [in] */ ULONG y) = 0;
  2231. virtual void STDMETHODCALLTYPE MoveToXY(
  2232. /* [in] */ ULONG x,
  2233. /* [in] */ ULONG y) = 0;
  2234. virtual ULONG STDMETHODCALLTYPE MoveAndGetRunInfo(
  2235. /* [in] */ ULONG Row,
  2236. /* [out] */ const DXRUNINFO **ppInfo) = 0;
  2237. virtual DXSAMPLE *STDMETHODCALLTYPE Unpack(
  2238. /* [in] */ DXSAMPLE *pSamples,
  2239. /* [in] */ ULONG cSamples,
  2240. /* [in] */ BOOL bMove) = 0;
  2241. virtual DXPMSAMPLE *STDMETHODCALLTYPE UnpackPremult(
  2242. /* [in] */ DXPMSAMPLE *pSamples,
  2243. /* [in] */ ULONG cSamples,
  2244. /* [in] */ BOOL bMove) = 0;
  2245. virtual void STDMETHODCALLTYPE UnpackRect(
  2246. /* [in] */ const DXPACKEDRECTDESC *pRectDesc) = 0;
  2247. };
  2248. #else /* C style interface */
  2249. typedef struct IDXARGBReadPtrVtbl
  2250. {
  2251. BEGIN_INTERFACE
  2252. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2253. IDXARGBReadPtr * This,
  2254. /* [in] */ REFIID riid,
  2255. /* [iid_is][out] */ void **ppvObject);
  2256. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2257. IDXARGBReadPtr * This);
  2258. ULONG ( STDMETHODCALLTYPE *Release )(
  2259. IDXARGBReadPtr * This);
  2260. HRESULT ( STDMETHODCALLTYPE *GetSurface )(
  2261. IDXARGBReadPtr * This,
  2262. /* [in] */ REFIID riid,
  2263. /* [iid_is][out] */ void **ppSurface);
  2264. DXSAMPLEFORMATENUM ( STDMETHODCALLTYPE *GetNativeType )(
  2265. IDXARGBReadPtr * This,
  2266. /* [out] */ DXNATIVETYPEINFO *pInfo);
  2267. void ( STDMETHODCALLTYPE *Move )(
  2268. IDXARGBReadPtr * This,
  2269. /* [in] */ long cSamples);
  2270. void ( STDMETHODCALLTYPE *MoveToRow )(
  2271. IDXARGBReadPtr * This,
  2272. /* [in] */ ULONG y);
  2273. void ( STDMETHODCALLTYPE *MoveToXY )(
  2274. IDXARGBReadPtr * This,
  2275. /* [in] */ ULONG x,
  2276. /* [in] */ ULONG y);
  2277. ULONG ( STDMETHODCALLTYPE *MoveAndGetRunInfo )(
  2278. IDXARGBReadPtr * This,
  2279. /* [in] */ ULONG Row,
  2280. /* [out] */ const DXRUNINFO **ppInfo);
  2281. DXSAMPLE *( STDMETHODCALLTYPE *Unpack )(
  2282. IDXARGBReadPtr * This,
  2283. /* [in] */ DXSAMPLE *pSamples,
  2284. /* [in] */ ULONG cSamples,
  2285. /* [in] */ BOOL bMove);
  2286. DXPMSAMPLE *( STDMETHODCALLTYPE *UnpackPremult )(
  2287. IDXARGBReadPtr * This,
  2288. /* [in] */ DXPMSAMPLE *pSamples,
  2289. /* [in] */ ULONG cSamples,
  2290. /* [in] */ BOOL bMove);
  2291. void ( STDMETHODCALLTYPE *UnpackRect )(
  2292. IDXARGBReadPtr * This,
  2293. /* [in] */ const DXPACKEDRECTDESC *pRectDesc);
  2294. END_INTERFACE
  2295. } IDXARGBReadPtrVtbl;
  2296. interface IDXARGBReadPtr
  2297. {
  2298. CONST_VTBL struct IDXARGBReadPtrVtbl *lpVtbl;
  2299. };
  2300. #ifdef COBJMACROS
  2301. #define IDXARGBReadPtr_QueryInterface(This,riid,ppvObject) \
  2302. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2303. #define IDXARGBReadPtr_AddRef(This) \
  2304. (This)->lpVtbl -> AddRef(This)
  2305. #define IDXARGBReadPtr_Release(This) \
  2306. (This)->lpVtbl -> Release(This)
  2307. #define IDXARGBReadPtr_GetSurface(This,riid,ppSurface) \
  2308. (This)->lpVtbl -> GetSurface(This,riid,ppSurface)
  2309. #define IDXARGBReadPtr_GetNativeType(This,pInfo) \
  2310. (This)->lpVtbl -> GetNativeType(This,pInfo)
  2311. #define IDXARGBReadPtr_Move(This,cSamples) \
  2312. (This)->lpVtbl -> Move(This,cSamples)
  2313. #define IDXARGBReadPtr_MoveToRow(This,y) \
  2314. (This)->lpVtbl -> MoveToRow(This,y)
  2315. #define IDXARGBReadPtr_MoveToXY(This,x,y) \
  2316. (This)->lpVtbl -> MoveToXY(This,x,y)
  2317. #define IDXARGBReadPtr_MoveAndGetRunInfo(This,Row,ppInfo) \
  2318. (This)->lpVtbl -> MoveAndGetRunInfo(This,Row,ppInfo)
  2319. #define IDXARGBReadPtr_Unpack(This,pSamples,cSamples,bMove) \
  2320. (This)->lpVtbl -> Unpack(This,pSamples,cSamples,bMove)
  2321. #define IDXARGBReadPtr_UnpackPremult(This,pSamples,cSamples,bMove) \
  2322. (This)->lpVtbl -> UnpackPremult(This,pSamples,cSamples,bMove)
  2323. #define IDXARGBReadPtr_UnpackRect(This,pRectDesc) \
  2324. (This)->lpVtbl -> UnpackRect(This,pRectDesc)
  2325. #endif /* COBJMACROS */
  2326. #endif /* C style interface */
  2327. HRESULT STDMETHODCALLTYPE IDXARGBReadPtr_GetSurface_Proxy(
  2328. IDXARGBReadPtr * This,
  2329. /* [in] */ REFIID riid,
  2330. /* [iid_is][out] */ void **ppSurface);
  2331. void __RPC_STUB IDXARGBReadPtr_GetSurface_Stub(
  2332. IRpcStubBuffer *This,
  2333. IRpcChannelBuffer *_pRpcChannelBuffer,
  2334. PRPC_MESSAGE _pRpcMessage,
  2335. DWORD *_pdwStubPhase);
  2336. DXSAMPLEFORMATENUM STDMETHODCALLTYPE IDXARGBReadPtr_GetNativeType_Proxy(
  2337. IDXARGBReadPtr * This,
  2338. /* [out] */ DXNATIVETYPEINFO *pInfo);
  2339. void __RPC_STUB IDXARGBReadPtr_GetNativeType_Stub(
  2340. IRpcStubBuffer *This,
  2341. IRpcChannelBuffer *_pRpcChannelBuffer,
  2342. PRPC_MESSAGE _pRpcMessage,
  2343. DWORD *_pdwStubPhase);
  2344. void STDMETHODCALLTYPE IDXARGBReadPtr_Move_Proxy(
  2345. IDXARGBReadPtr * This,
  2346. /* [in] */ long cSamples);
  2347. void __RPC_STUB IDXARGBReadPtr_Move_Stub(
  2348. IRpcStubBuffer *This,
  2349. IRpcChannelBuffer *_pRpcChannelBuffer,
  2350. PRPC_MESSAGE _pRpcMessage,
  2351. DWORD *_pdwStubPhase);
  2352. void STDMETHODCALLTYPE IDXARGBReadPtr_MoveToRow_Proxy(
  2353. IDXARGBReadPtr * This,
  2354. /* [in] */ ULONG y);
  2355. void __RPC_STUB IDXARGBReadPtr_MoveToRow_Stub(
  2356. IRpcStubBuffer *This,
  2357. IRpcChannelBuffer *_pRpcChannelBuffer,
  2358. PRPC_MESSAGE _pRpcMessage,
  2359. DWORD *_pdwStubPhase);
  2360. void STDMETHODCALLTYPE IDXARGBReadPtr_MoveToXY_Proxy(
  2361. IDXARGBReadPtr * This,
  2362. /* [in] */ ULONG x,
  2363. /* [in] */ ULONG y);
  2364. void __RPC_STUB IDXARGBReadPtr_MoveToXY_Stub(
  2365. IRpcStubBuffer *This,
  2366. IRpcChannelBuffer *_pRpcChannelBuffer,
  2367. PRPC_MESSAGE _pRpcMessage,
  2368. DWORD *_pdwStubPhase);
  2369. ULONG STDMETHODCALLTYPE IDXARGBReadPtr_MoveAndGetRunInfo_Proxy(
  2370. IDXARGBReadPtr * This,
  2371. /* [in] */ ULONG Row,
  2372. /* [out] */ const DXRUNINFO **ppInfo);
  2373. void __RPC_STUB IDXARGBReadPtr_MoveAndGetRunInfo_Stub(
  2374. IRpcStubBuffer *This,
  2375. IRpcChannelBuffer *_pRpcChannelBuffer,
  2376. PRPC_MESSAGE _pRpcMessage,
  2377. DWORD *_pdwStubPhase);
  2378. DXSAMPLE *STDMETHODCALLTYPE IDXARGBReadPtr_Unpack_Proxy(
  2379. IDXARGBReadPtr * This,
  2380. /* [in] */ DXSAMPLE *pSamples,
  2381. /* [in] */ ULONG cSamples,
  2382. /* [in] */ BOOL bMove);
  2383. void __RPC_STUB IDXARGBReadPtr_Unpack_Stub(
  2384. IRpcStubBuffer *This,
  2385. IRpcChannelBuffer *_pRpcChannelBuffer,
  2386. PRPC_MESSAGE _pRpcMessage,
  2387. DWORD *_pdwStubPhase);
  2388. DXPMSAMPLE *STDMETHODCALLTYPE IDXARGBReadPtr_UnpackPremult_Proxy(
  2389. IDXARGBReadPtr * This,
  2390. /* [in] */ DXPMSAMPLE *pSamples,
  2391. /* [in] */ ULONG cSamples,
  2392. /* [in] */ BOOL bMove);
  2393. void __RPC_STUB IDXARGBReadPtr_UnpackPremult_Stub(
  2394. IRpcStubBuffer *This,
  2395. IRpcChannelBuffer *_pRpcChannelBuffer,
  2396. PRPC_MESSAGE _pRpcMessage,
  2397. DWORD *_pdwStubPhase);
  2398. void STDMETHODCALLTYPE IDXARGBReadPtr_UnpackRect_Proxy(
  2399. IDXARGBReadPtr * This,
  2400. /* [in] */ const DXPACKEDRECTDESC *pRectDesc);
  2401. void __RPC_STUB IDXARGBReadPtr_UnpackRect_Stub(
  2402. IRpcStubBuffer *This,
  2403. IRpcChannelBuffer *_pRpcChannelBuffer,
  2404. PRPC_MESSAGE _pRpcMessage,
  2405. DWORD *_pdwStubPhase);
  2406. #endif /* __IDXARGBReadPtr_INTERFACE_DEFINED__ */
  2407. #ifndef __IDXARGBReadWritePtr_INTERFACE_DEFINED__
  2408. #define __IDXARGBReadWritePtr_INTERFACE_DEFINED__
  2409. /* interface IDXARGBReadWritePtr */
  2410. /* [local][unique][helpstring][uuid][object] */
  2411. EXTERN_C const IID IID_IDXARGBReadWritePtr;
  2412. #if defined(__cplusplus) && !defined(CINTERFACE)
  2413. MIDL_INTERFACE("EAAAC2D7-C290-11d1-905D-00C04FD9189D")
  2414. IDXARGBReadWritePtr : public IDXARGBReadPtr
  2415. {
  2416. public:
  2417. virtual void STDMETHODCALLTYPE PackAndMove(
  2418. /* [in] */ const DXSAMPLE *pSamples,
  2419. /* [in] */ ULONG cSamples) = 0;
  2420. virtual void STDMETHODCALLTYPE PackPremultAndMove(
  2421. /* [in] */ const DXPMSAMPLE *pSamples,
  2422. /* [in] */ ULONG cSamples) = 0;
  2423. virtual void STDMETHODCALLTYPE PackRect(
  2424. /* [in] */ const DXPACKEDRECTDESC *pRectDesc) = 0;
  2425. virtual void STDMETHODCALLTYPE CopyAndMoveBoth(
  2426. /* [in] */ DXBASESAMPLE *pScratchBuffer,
  2427. /* [in] */ IDXARGBReadPtr *pSrc,
  2428. /* [in] */ ULONG cSamples,
  2429. /* [in] */ BOOL bIsOpaque) = 0;
  2430. virtual void STDMETHODCALLTYPE CopyRect(
  2431. /* [in] */ DXBASESAMPLE *pScratchBuffer,
  2432. /* [in] */ const RECT *pDestRect,
  2433. /* [in] */ IDXARGBReadPtr *pSrc,
  2434. /* [in] */ const POINT *pSrcOrigin,
  2435. /* [in] */ BOOL bIsOpaque) = 0;
  2436. virtual void STDMETHODCALLTYPE FillAndMove(
  2437. /* [in] */ DXBASESAMPLE *pScratchBuffer,
  2438. /* [in] */ DXPMSAMPLE SampVal,
  2439. /* [in] */ ULONG cSamples,
  2440. /* [in] */ BOOL bDoOver) = 0;
  2441. virtual void STDMETHODCALLTYPE FillRect(
  2442. /* [in] */ const RECT *pRect,
  2443. /* [in] */ DXPMSAMPLE SampVal,
  2444. /* [in] */ BOOL bDoOver) = 0;
  2445. virtual void STDMETHODCALLTYPE OverSample(
  2446. /* [in] */ const DXOVERSAMPLEDESC *pOverDesc) = 0;
  2447. virtual void STDMETHODCALLTYPE OverArrayAndMove(
  2448. /* [in] */ DXBASESAMPLE *pScratchBuffer,
  2449. /* [in] */ const DXPMSAMPLE *pSrc,
  2450. /* [in] */ ULONG cSamples) = 0;
  2451. };
  2452. #else /* C style interface */
  2453. typedef struct IDXARGBReadWritePtrVtbl
  2454. {
  2455. BEGIN_INTERFACE
  2456. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2457. IDXARGBReadWritePtr * This,
  2458. /* [in] */ REFIID riid,
  2459. /* [iid_is][out] */ void **ppvObject);
  2460. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2461. IDXARGBReadWritePtr * This);
  2462. ULONG ( STDMETHODCALLTYPE *Release )(
  2463. IDXARGBReadWritePtr * This);
  2464. HRESULT ( STDMETHODCALLTYPE *GetSurface )(
  2465. IDXARGBReadWritePtr * This,
  2466. /* [in] */ REFIID riid,
  2467. /* [iid_is][out] */ void **ppSurface);
  2468. DXSAMPLEFORMATENUM ( STDMETHODCALLTYPE *GetNativeType )(
  2469. IDXARGBReadWritePtr * This,
  2470. /* [out] */ DXNATIVETYPEINFO *pInfo);
  2471. void ( STDMETHODCALLTYPE *Move )(
  2472. IDXARGBReadWritePtr * This,
  2473. /* [in] */ long cSamples);
  2474. void ( STDMETHODCALLTYPE *MoveToRow )(
  2475. IDXARGBReadWritePtr * This,
  2476. /* [in] */ ULONG y);
  2477. void ( STDMETHODCALLTYPE *MoveToXY )(
  2478. IDXARGBReadWritePtr * This,
  2479. /* [in] */ ULONG x,
  2480. /* [in] */ ULONG y);
  2481. ULONG ( STDMETHODCALLTYPE *MoveAndGetRunInfo )(
  2482. IDXARGBReadWritePtr * This,
  2483. /* [in] */ ULONG Row,
  2484. /* [out] */ const DXRUNINFO **ppInfo);
  2485. DXSAMPLE *( STDMETHODCALLTYPE *Unpack )(
  2486. IDXARGBReadWritePtr * This,
  2487. /* [in] */ DXSAMPLE *pSamples,
  2488. /* [in] */ ULONG cSamples,
  2489. /* [in] */ BOOL bMove);
  2490. DXPMSAMPLE *( STDMETHODCALLTYPE *UnpackPremult )(
  2491. IDXARGBReadWritePtr * This,
  2492. /* [in] */ DXPMSAMPLE *pSamples,
  2493. /* [in] */ ULONG cSamples,
  2494. /* [in] */ BOOL bMove);
  2495. void ( STDMETHODCALLTYPE *UnpackRect )(
  2496. IDXARGBReadWritePtr * This,
  2497. /* [in] */ const DXPACKEDRECTDESC *pRectDesc);
  2498. void ( STDMETHODCALLTYPE *PackAndMove )(
  2499. IDXARGBReadWritePtr * This,
  2500. /* [in] */ const DXSAMPLE *pSamples,
  2501. /* [in] */ ULONG cSamples);
  2502. void ( STDMETHODCALLTYPE *PackPremultAndMove )(
  2503. IDXARGBReadWritePtr * This,
  2504. /* [in] */ const DXPMSAMPLE *pSamples,
  2505. /* [in] */ ULONG cSamples);
  2506. void ( STDMETHODCALLTYPE *PackRect )(
  2507. IDXARGBReadWritePtr * This,
  2508. /* [in] */ const DXPACKEDRECTDESC *pRectDesc);
  2509. void ( STDMETHODCALLTYPE *CopyAndMoveBoth )(
  2510. IDXARGBReadWritePtr * This,
  2511. /* [in] */ DXBASESAMPLE *pScratchBuffer,
  2512. /* [in] */ IDXARGBReadPtr *pSrc,
  2513. /* [in] */ ULONG cSamples,
  2514. /* [in] */ BOOL bIsOpaque);
  2515. void ( STDMETHODCALLTYPE *CopyRect )(
  2516. IDXARGBReadWritePtr * This,
  2517. /* [in] */ DXBASESAMPLE *pScratchBuffer,
  2518. /* [in] */ const RECT *pDestRect,
  2519. /* [in] */ IDXARGBReadPtr *pSrc,
  2520. /* [in] */ const POINT *pSrcOrigin,
  2521. /* [in] */ BOOL bIsOpaque);
  2522. void ( STDMETHODCALLTYPE *FillAndMove )(
  2523. IDXARGBReadWritePtr * This,
  2524. /* [in] */ DXBASESAMPLE *pScratchBuffer,
  2525. /* [in] */ DXPMSAMPLE SampVal,
  2526. /* [in] */ ULONG cSamples,
  2527. /* [in] */ BOOL bDoOver);
  2528. void ( STDMETHODCALLTYPE *FillRect )(
  2529. IDXARGBReadWritePtr * This,
  2530. /* [in] */ const RECT *pRect,
  2531. /* [in] */ DXPMSAMPLE SampVal,
  2532. /* [in] */ BOOL bDoOver);
  2533. void ( STDMETHODCALLTYPE *OverSample )(
  2534. IDXARGBReadWritePtr * This,
  2535. /* [in] */ const DXOVERSAMPLEDESC *pOverDesc);
  2536. void ( STDMETHODCALLTYPE *OverArrayAndMove )(
  2537. IDXARGBReadWritePtr * This,
  2538. /* [in] */ DXBASESAMPLE *pScratchBuffer,
  2539. /* [in] */ const DXPMSAMPLE *pSrc,
  2540. /* [in] */ ULONG cSamples);
  2541. END_INTERFACE
  2542. } IDXARGBReadWritePtrVtbl;
  2543. interface IDXARGBReadWritePtr
  2544. {
  2545. CONST_VTBL struct IDXARGBReadWritePtrVtbl *lpVtbl;
  2546. };
  2547. #ifdef COBJMACROS
  2548. #define IDXARGBReadWritePtr_QueryInterface(This,riid,ppvObject) \
  2549. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2550. #define IDXARGBReadWritePtr_AddRef(This) \
  2551. (This)->lpVtbl -> AddRef(This)
  2552. #define IDXARGBReadWritePtr_Release(This) \
  2553. (This)->lpVtbl -> Release(This)
  2554. #define IDXARGBReadWritePtr_GetSurface(This,riid,ppSurface) \
  2555. (This)->lpVtbl -> GetSurface(This,riid,ppSurface)
  2556. #define IDXARGBReadWritePtr_GetNativeType(This,pInfo) \
  2557. (This)->lpVtbl -> GetNativeType(This,pInfo)
  2558. #define IDXARGBReadWritePtr_Move(This,cSamples) \
  2559. (This)->lpVtbl -> Move(This,cSamples)
  2560. #define IDXARGBReadWritePtr_MoveToRow(This,y) \
  2561. (This)->lpVtbl -> MoveToRow(This,y)
  2562. #define IDXARGBReadWritePtr_MoveToXY(This,x,y) \
  2563. (This)->lpVtbl -> MoveToXY(This,x,y)
  2564. #define IDXARGBReadWritePtr_MoveAndGetRunInfo(This,Row,ppInfo) \
  2565. (This)->lpVtbl -> MoveAndGetRunInfo(This,Row,ppInfo)
  2566. #define IDXARGBReadWritePtr_Unpack(This,pSamples,cSamples,bMove) \
  2567. (This)->lpVtbl -> Unpack(This,pSamples,cSamples,bMove)
  2568. #define IDXARGBReadWritePtr_UnpackPremult(This,pSamples,cSamples,bMove) \
  2569. (This)->lpVtbl -> UnpackPremult(This,pSamples,cSamples,bMove)
  2570. #define IDXARGBReadWritePtr_UnpackRect(This,pRectDesc) \
  2571. (This)->lpVtbl -> UnpackRect(This,pRectDesc)
  2572. #define IDXARGBReadWritePtr_PackAndMove(This,pSamples,cSamples) \
  2573. (This)->lpVtbl -> PackAndMove(This,pSamples,cSamples)
  2574. #define IDXARGBReadWritePtr_PackPremultAndMove(This,pSamples,cSamples) \
  2575. (This)->lpVtbl -> PackPremultAndMove(This,pSamples,cSamples)
  2576. #define IDXARGBReadWritePtr_PackRect(This,pRectDesc) \
  2577. (This)->lpVtbl -> PackRect(This,pRectDesc)
  2578. #define IDXARGBReadWritePtr_CopyAndMoveBoth(This,pScratchBuffer,pSrc,cSamples,bIsOpaque) \
  2579. (This)->lpVtbl -> CopyAndMoveBoth(This,pScratchBuffer,pSrc,cSamples,bIsOpaque)
  2580. #define IDXARGBReadWritePtr_CopyRect(This,pScratchBuffer,pDestRect,pSrc,pSrcOrigin,bIsOpaque) \
  2581. (This)->lpVtbl -> CopyRect(This,pScratchBuffer,pDestRect,pSrc,pSrcOrigin,bIsOpaque)
  2582. #define IDXARGBReadWritePtr_FillAndMove(This,pScratchBuffer,SampVal,cSamples,bDoOver) \
  2583. (This)->lpVtbl -> FillAndMove(This,pScratchBuffer,SampVal,cSamples,bDoOver)
  2584. #define IDXARGBReadWritePtr_FillRect(This,pRect,SampVal,bDoOver) \
  2585. (This)->lpVtbl -> FillRect(This,pRect,SampVal,bDoOver)
  2586. #define IDXARGBReadWritePtr_OverSample(This,pOverDesc) \
  2587. (This)->lpVtbl -> OverSample(This,pOverDesc)
  2588. #define IDXARGBReadWritePtr_OverArrayAndMove(This,pScratchBuffer,pSrc,cSamples) \
  2589. (This)->lpVtbl -> OverArrayAndMove(This,pScratchBuffer,pSrc,cSamples)
  2590. #endif /* COBJMACROS */
  2591. #endif /* C style interface */
  2592. void STDMETHODCALLTYPE IDXARGBReadWritePtr_PackAndMove_Proxy(
  2593. IDXARGBReadWritePtr * This,
  2594. /* [in] */ const DXSAMPLE *pSamples,
  2595. /* [in] */ ULONG cSamples);
  2596. void __RPC_STUB IDXARGBReadWritePtr_PackAndMove_Stub(
  2597. IRpcStubBuffer *This,
  2598. IRpcChannelBuffer *_pRpcChannelBuffer,
  2599. PRPC_MESSAGE _pRpcMessage,
  2600. DWORD *_pdwStubPhase);
  2601. void STDMETHODCALLTYPE IDXARGBReadWritePtr_PackPremultAndMove_Proxy(
  2602. IDXARGBReadWritePtr * This,
  2603. /* [in] */ const DXPMSAMPLE *pSamples,
  2604. /* [in] */ ULONG cSamples);
  2605. void __RPC_STUB IDXARGBReadWritePtr_PackPremultAndMove_Stub(
  2606. IRpcStubBuffer *This,
  2607. IRpcChannelBuffer *_pRpcChannelBuffer,
  2608. PRPC_MESSAGE _pRpcMessage,
  2609. DWORD *_pdwStubPhase);
  2610. void STDMETHODCALLTYPE IDXARGBReadWritePtr_PackRect_Proxy(
  2611. IDXARGBReadWritePtr * This,
  2612. /* [in] */ const DXPACKEDRECTDESC *pRectDesc);
  2613. void __RPC_STUB IDXARGBReadWritePtr_PackRect_Stub(
  2614. IRpcStubBuffer *This,
  2615. IRpcChannelBuffer *_pRpcChannelBuffer,
  2616. PRPC_MESSAGE _pRpcMessage,
  2617. DWORD *_pdwStubPhase);
  2618. void STDMETHODCALLTYPE IDXARGBReadWritePtr_CopyAndMoveBoth_Proxy(
  2619. IDXARGBReadWritePtr * This,
  2620. /* [in] */ DXBASESAMPLE *pScratchBuffer,
  2621. /* [in] */ IDXARGBReadPtr *pSrc,
  2622. /* [in] */ ULONG cSamples,
  2623. /* [in] */ BOOL bIsOpaque);
  2624. void __RPC_STUB IDXARGBReadWritePtr_CopyAndMoveBoth_Stub(
  2625. IRpcStubBuffer *This,
  2626. IRpcChannelBuffer *_pRpcChannelBuffer,
  2627. PRPC_MESSAGE _pRpcMessage,
  2628. DWORD *_pdwStubPhase);
  2629. void STDMETHODCALLTYPE IDXARGBReadWritePtr_CopyRect_Proxy(
  2630. IDXARGBReadWritePtr * This,
  2631. /* [in] */ DXBASESAMPLE *pScratchBuffer,
  2632. /* [in] */ const RECT *pDestRect,
  2633. /* [in] */ IDXARGBReadPtr *pSrc,
  2634. /* [in] */ const POINT *pSrcOrigin,
  2635. /* [in] */ BOOL bIsOpaque);
  2636. void __RPC_STUB IDXARGBReadWritePtr_CopyRect_Stub(
  2637. IRpcStubBuffer *This,
  2638. IRpcChannelBuffer *_pRpcChannelBuffer,
  2639. PRPC_MESSAGE _pRpcMessage,
  2640. DWORD *_pdwStubPhase);
  2641. void STDMETHODCALLTYPE IDXARGBReadWritePtr_FillAndMove_Proxy(
  2642. IDXARGBReadWritePtr * This,
  2643. /* [in] */ DXBASESAMPLE *pScratchBuffer,
  2644. /* [in] */ DXPMSAMPLE SampVal,
  2645. /* [in] */ ULONG cSamples,
  2646. /* [in] */ BOOL bDoOver);
  2647. void __RPC_STUB IDXARGBReadWritePtr_FillAndMove_Stub(
  2648. IRpcStubBuffer *This,
  2649. IRpcChannelBuffer *_pRpcChannelBuffer,
  2650. PRPC_MESSAGE _pRpcMessage,
  2651. DWORD *_pdwStubPhase);
  2652. void STDMETHODCALLTYPE IDXARGBReadWritePtr_FillRect_Proxy(
  2653. IDXARGBReadWritePtr * This,
  2654. /* [in] */ const RECT *pRect,
  2655. /* [in] */ DXPMSAMPLE SampVal,
  2656. /* [in] */ BOOL bDoOver);
  2657. void __RPC_STUB IDXARGBReadWritePtr_FillRect_Stub(
  2658. IRpcStubBuffer *This,
  2659. IRpcChannelBuffer *_pRpcChannelBuffer,
  2660. PRPC_MESSAGE _pRpcMessage,
  2661. DWORD *_pdwStubPhase);
  2662. void STDMETHODCALLTYPE IDXARGBReadWritePtr_OverSample_Proxy(
  2663. IDXARGBReadWritePtr * This,
  2664. /* [in] */ const DXOVERSAMPLEDESC *pOverDesc);
  2665. void __RPC_STUB IDXARGBReadWritePtr_OverSample_Stub(
  2666. IRpcStubBuffer *This,
  2667. IRpcChannelBuffer *_pRpcChannelBuffer,
  2668. PRPC_MESSAGE _pRpcMessage,
  2669. DWORD *_pdwStubPhase);
  2670. void STDMETHODCALLTYPE IDXARGBReadWritePtr_OverArrayAndMove_Proxy(
  2671. IDXARGBReadWritePtr * This,
  2672. /* [in] */ DXBASESAMPLE *pScratchBuffer,
  2673. /* [in] */ const DXPMSAMPLE *pSrc,
  2674. /* [in] */ ULONG cSamples);
  2675. void __RPC_STUB IDXARGBReadWritePtr_OverArrayAndMove_Stub(
  2676. IRpcStubBuffer *This,
  2677. IRpcChannelBuffer *_pRpcChannelBuffer,
  2678. PRPC_MESSAGE _pRpcMessage,
  2679. DWORD *_pdwStubPhase);
  2680. #endif /* __IDXARGBReadWritePtr_INTERFACE_DEFINED__ */
  2681. #ifndef __IDXDCLock_INTERFACE_DEFINED__
  2682. #define __IDXDCLock_INTERFACE_DEFINED__
  2683. /* interface IDXDCLock */
  2684. /* [local][unique][helpstring][uuid][object] */
  2685. EXTERN_C const IID IID_IDXDCLock;
  2686. #if defined(__cplusplus) && !defined(CINTERFACE)
  2687. MIDL_INTERFACE("0F619456-CF39-11d1-905E-00C04FD9189D")
  2688. IDXDCLock : public IUnknown
  2689. {
  2690. public:
  2691. virtual HDC STDMETHODCALLTYPE GetDC( void) = 0;
  2692. };
  2693. #else /* C style interface */
  2694. typedef struct IDXDCLockVtbl
  2695. {
  2696. BEGIN_INTERFACE
  2697. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2698. IDXDCLock * This,
  2699. /* [in] */ REFIID riid,
  2700. /* [iid_is][out] */ void **ppvObject);
  2701. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2702. IDXDCLock * This);
  2703. ULONG ( STDMETHODCALLTYPE *Release )(
  2704. IDXDCLock * This);
  2705. HDC ( STDMETHODCALLTYPE *GetDC )(
  2706. IDXDCLock * This);
  2707. END_INTERFACE
  2708. } IDXDCLockVtbl;
  2709. interface IDXDCLock
  2710. {
  2711. CONST_VTBL struct IDXDCLockVtbl *lpVtbl;
  2712. };
  2713. #ifdef COBJMACROS
  2714. #define IDXDCLock_QueryInterface(This,riid,ppvObject) \
  2715. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2716. #define IDXDCLock_AddRef(This) \
  2717. (This)->lpVtbl -> AddRef(This)
  2718. #define IDXDCLock_Release(This) \
  2719. (This)->lpVtbl -> Release(This)
  2720. #define IDXDCLock_GetDC(This) \
  2721. (This)->lpVtbl -> GetDC(This)
  2722. #endif /* COBJMACROS */
  2723. #endif /* C style interface */
  2724. HDC STDMETHODCALLTYPE IDXDCLock_GetDC_Proxy(
  2725. IDXDCLock * This);
  2726. void __RPC_STUB IDXDCLock_GetDC_Stub(
  2727. IRpcStubBuffer *This,
  2728. IRpcChannelBuffer *_pRpcChannelBuffer,
  2729. PRPC_MESSAGE _pRpcMessage,
  2730. DWORD *_pdwStubPhase);
  2731. #endif /* __IDXDCLock_INTERFACE_DEFINED__ */
  2732. #ifndef __IDXTScaleOutput_INTERFACE_DEFINED__
  2733. #define __IDXTScaleOutput_INTERFACE_DEFINED__
  2734. /* interface IDXTScaleOutput */
  2735. /* [local][unique][helpstring][uuid][object] */
  2736. EXTERN_C const IID IID_IDXTScaleOutput;
  2737. #if defined(__cplusplus) && !defined(CINTERFACE)
  2738. MIDL_INTERFACE("B2024B50-EE77-11d1-9066-00C04FD9189D")
  2739. IDXTScaleOutput : public IUnknown
  2740. {
  2741. public:
  2742. virtual HRESULT STDMETHODCALLTYPE SetOutputSize(
  2743. /* [in] */ const SIZE OutSize,
  2744. /* [in] */ BOOL bMaintainAspect) = 0;
  2745. };
  2746. #else /* C style interface */
  2747. typedef struct IDXTScaleOutputVtbl
  2748. {
  2749. BEGIN_INTERFACE
  2750. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2751. IDXTScaleOutput * This,
  2752. /* [in] */ REFIID riid,
  2753. /* [iid_is][out] */ void **ppvObject);
  2754. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2755. IDXTScaleOutput * This);
  2756. ULONG ( STDMETHODCALLTYPE *Release )(
  2757. IDXTScaleOutput * This);
  2758. HRESULT ( STDMETHODCALLTYPE *SetOutputSize )(
  2759. IDXTScaleOutput * This,
  2760. /* [in] */ const SIZE OutSize,
  2761. /* [in] */ BOOL bMaintainAspect);
  2762. END_INTERFACE
  2763. } IDXTScaleOutputVtbl;
  2764. interface IDXTScaleOutput
  2765. {
  2766. CONST_VTBL struct IDXTScaleOutputVtbl *lpVtbl;
  2767. };
  2768. #ifdef COBJMACROS
  2769. #define IDXTScaleOutput_QueryInterface(This,riid,ppvObject) \
  2770. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2771. #define IDXTScaleOutput_AddRef(This) \
  2772. (This)->lpVtbl -> AddRef(This)
  2773. #define IDXTScaleOutput_Release(This) \
  2774. (This)->lpVtbl -> Release(This)
  2775. #define IDXTScaleOutput_SetOutputSize(This,OutSize,bMaintainAspect) \
  2776. (This)->lpVtbl -> SetOutputSize(This,OutSize,bMaintainAspect)
  2777. #endif /* COBJMACROS */
  2778. #endif /* C style interface */
  2779. HRESULT STDMETHODCALLTYPE IDXTScaleOutput_SetOutputSize_Proxy(
  2780. IDXTScaleOutput * This,
  2781. /* [in] */ const SIZE OutSize,
  2782. /* [in] */ BOOL bMaintainAspect);
  2783. void __RPC_STUB IDXTScaleOutput_SetOutputSize_Stub(
  2784. IRpcStubBuffer *This,
  2785. IRpcChannelBuffer *_pRpcChannelBuffer,
  2786. PRPC_MESSAGE _pRpcMessage,
  2787. DWORD *_pdwStubPhase);
  2788. #endif /* __IDXTScaleOutput_INTERFACE_DEFINED__ */
  2789. #ifndef __IDXGradient_INTERFACE_DEFINED__
  2790. #define __IDXGradient_INTERFACE_DEFINED__
  2791. /* interface IDXGradient */
  2792. /* [local][unique][helpstring][uuid][object] */
  2793. EXTERN_C const IID IID_IDXGradient;
  2794. #if defined(__cplusplus) && !defined(CINTERFACE)
  2795. MIDL_INTERFACE("B2024B51-EE77-11d1-9066-00C04FD9189D")
  2796. IDXGradient : public IDXTScaleOutput
  2797. {
  2798. public:
  2799. virtual HRESULT STDMETHODCALLTYPE SetGradient(
  2800. DXSAMPLE StartColor,
  2801. DXSAMPLE EndColor,
  2802. BOOL bHorizontal) = 0;
  2803. virtual HRESULT STDMETHODCALLTYPE GetOutputSize(
  2804. /* [out] */ SIZE *pOutSize) = 0;
  2805. };
  2806. #else /* C style interface */
  2807. typedef struct IDXGradientVtbl
  2808. {
  2809. BEGIN_INTERFACE
  2810. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2811. IDXGradient * This,
  2812. /* [in] */ REFIID riid,
  2813. /* [iid_is][out] */ void **ppvObject);
  2814. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2815. IDXGradient * This);
  2816. ULONG ( STDMETHODCALLTYPE *Release )(
  2817. IDXGradient * This);
  2818. HRESULT ( STDMETHODCALLTYPE *SetOutputSize )(
  2819. IDXGradient * This,
  2820. /* [in] */ const SIZE OutSize,
  2821. /* [in] */ BOOL bMaintainAspect);
  2822. HRESULT ( STDMETHODCALLTYPE *SetGradient )(
  2823. IDXGradient * This,
  2824. DXSAMPLE StartColor,
  2825. DXSAMPLE EndColor,
  2826. BOOL bHorizontal);
  2827. HRESULT ( STDMETHODCALLTYPE *GetOutputSize )(
  2828. IDXGradient * This,
  2829. /* [out] */ SIZE *pOutSize);
  2830. END_INTERFACE
  2831. } IDXGradientVtbl;
  2832. interface IDXGradient
  2833. {
  2834. CONST_VTBL struct IDXGradientVtbl *lpVtbl;
  2835. };
  2836. #ifdef COBJMACROS
  2837. #define IDXGradient_QueryInterface(This,riid,ppvObject) \
  2838. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2839. #define IDXGradient_AddRef(This) \
  2840. (This)->lpVtbl -> AddRef(This)
  2841. #define IDXGradient_Release(This) \
  2842. (This)->lpVtbl -> Release(This)
  2843. #define IDXGradient_SetOutputSize(This,OutSize,bMaintainAspect) \
  2844. (This)->lpVtbl -> SetOutputSize(This,OutSize,bMaintainAspect)
  2845. #define IDXGradient_SetGradient(This,StartColor,EndColor,bHorizontal) \
  2846. (This)->lpVtbl -> SetGradient(This,StartColor,EndColor,bHorizontal)
  2847. #define IDXGradient_GetOutputSize(This,pOutSize) \
  2848. (This)->lpVtbl -> GetOutputSize(This,pOutSize)
  2849. #endif /* COBJMACROS */
  2850. #endif /* C style interface */
  2851. HRESULT STDMETHODCALLTYPE IDXGradient_SetGradient_Proxy(
  2852. IDXGradient * This,
  2853. DXSAMPLE StartColor,
  2854. DXSAMPLE EndColor,
  2855. BOOL bHorizontal);
  2856. void __RPC_STUB IDXGradient_SetGradient_Stub(
  2857. IRpcStubBuffer *This,
  2858. IRpcChannelBuffer *_pRpcChannelBuffer,
  2859. PRPC_MESSAGE _pRpcMessage,
  2860. DWORD *_pdwStubPhase);
  2861. HRESULT STDMETHODCALLTYPE IDXGradient_GetOutputSize_Proxy(
  2862. IDXGradient * This,
  2863. /* [out] */ SIZE *pOutSize);
  2864. void __RPC_STUB IDXGradient_GetOutputSize_Stub(
  2865. IRpcStubBuffer *This,
  2866. IRpcChannelBuffer *_pRpcChannelBuffer,
  2867. PRPC_MESSAGE _pRpcMessage,
  2868. DWORD *_pdwStubPhase);
  2869. #endif /* __IDXGradient_INTERFACE_DEFINED__ */
  2870. #ifndef __IDXTScale_INTERFACE_DEFINED__
  2871. #define __IDXTScale_INTERFACE_DEFINED__
  2872. /* interface IDXTScale */
  2873. /* [local][unique][helpstring][uuid][object] */
  2874. EXTERN_C const IID IID_IDXTScale;
  2875. #if defined(__cplusplus) && !defined(CINTERFACE)
  2876. MIDL_INTERFACE("B39FD742-E139-11d1-9065-00C04FD9189D")
  2877. IDXTScale : public IUnknown
  2878. {
  2879. public:
  2880. virtual HRESULT STDMETHODCALLTYPE SetScales(
  2881. /* [in] */ float Scales[ 2 ]) = 0;
  2882. virtual HRESULT STDMETHODCALLTYPE GetScales(
  2883. /* [out] */ float Scales[ 2 ]) = 0;
  2884. virtual HRESULT STDMETHODCALLTYPE ScaleFitToSize(
  2885. /* [out][in] */ DXBNDS *pClipBounds,
  2886. /* [in] */ SIZE FitToSize,
  2887. /* [in] */ BOOL bMaintainAspect) = 0;
  2888. };
  2889. #else /* C style interface */
  2890. typedef struct IDXTScaleVtbl
  2891. {
  2892. BEGIN_INTERFACE
  2893. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2894. IDXTScale * This,
  2895. /* [in] */ REFIID riid,
  2896. /* [iid_is][out] */ void **ppvObject);
  2897. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2898. IDXTScale * This);
  2899. ULONG ( STDMETHODCALLTYPE *Release )(
  2900. IDXTScale * This);
  2901. HRESULT ( STDMETHODCALLTYPE *SetScales )(
  2902. IDXTScale * This,
  2903. /* [in] */ float Scales[ 2 ]);
  2904. HRESULT ( STDMETHODCALLTYPE *GetScales )(
  2905. IDXTScale * This,
  2906. /* [out] */ float Scales[ 2 ]);
  2907. HRESULT ( STDMETHODCALLTYPE *ScaleFitToSize )(
  2908. IDXTScale * This,
  2909. /* [out][in] */ DXBNDS *pClipBounds,
  2910. /* [in] */ SIZE FitToSize,
  2911. /* [in] */ BOOL bMaintainAspect);
  2912. END_INTERFACE
  2913. } IDXTScaleVtbl;
  2914. interface IDXTScale
  2915. {
  2916. CONST_VTBL struct IDXTScaleVtbl *lpVtbl;
  2917. };
  2918. #ifdef COBJMACROS
  2919. #define IDXTScale_QueryInterface(This,riid,ppvObject) \
  2920. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2921. #define IDXTScale_AddRef(This) \
  2922. (This)->lpVtbl -> AddRef(This)
  2923. #define IDXTScale_Release(This) \
  2924. (This)->lpVtbl -> Release(This)
  2925. #define IDXTScale_SetScales(This,Scales) \
  2926. (This)->lpVtbl -> SetScales(This,Scales)
  2927. #define IDXTScale_GetScales(This,Scales) \
  2928. (This)->lpVtbl -> GetScales(This,Scales)
  2929. #define IDXTScale_ScaleFitToSize(This,pClipBounds,FitToSize,bMaintainAspect) \
  2930. (This)->lpVtbl -> ScaleFitToSize(This,pClipBounds,FitToSize,bMaintainAspect)
  2931. #endif /* COBJMACROS */
  2932. #endif /* C style interface */
  2933. HRESULT STDMETHODCALLTYPE IDXTScale_SetScales_Proxy(
  2934. IDXTScale * This,
  2935. /* [in] */ float Scales[ 2 ]);
  2936. void __RPC_STUB IDXTScale_SetScales_Stub(
  2937. IRpcStubBuffer *This,
  2938. IRpcChannelBuffer *_pRpcChannelBuffer,
  2939. PRPC_MESSAGE _pRpcMessage,
  2940. DWORD *_pdwStubPhase);
  2941. HRESULT STDMETHODCALLTYPE IDXTScale_GetScales_Proxy(
  2942. IDXTScale * This,
  2943. /* [out] */ float Scales[ 2 ]);
  2944. void __RPC_STUB IDXTScale_GetScales_Stub(
  2945. IRpcStubBuffer *This,
  2946. IRpcChannelBuffer *_pRpcChannelBuffer,
  2947. PRPC_MESSAGE _pRpcMessage,
  2948. DWORD *_pdwStubPhase);
  2949. HRESULT STDMETHODCALLTYPE IDXTScale_ScaleFitToSize_Proxy(
  2950. IDXTScale * This,
  2951. /* [out][in] */ DXBNDS *pClipBounds,
  2952. /* [in] */ SIZE FitToSize,
  2953. /* [in] */ BOOL bMaintainAspect);
  2954. void __RPC_STUB IDXTScale_ScaleFitToSize_Stub(
  2955. IRpcStubBuffer *This,
  2956. IRpcChannelBuffer *_pRpcChannelBuffer,
  2957. PRPC_MESSAGE _pRpcMessage,
  2958. DWORD *_pdwStubPhase);
  2959. #endif /* __IDXTScale_INTERFACE_DEFINED__ */
  2960. /* interface __MIDL_itf_dxtrans_0276 */
  2961. /* [local] */
  2962. typedef
  2963. enum DISPIDDXEFFECT
  2964. { DISPID_DXECAPABILITIES = 10000,
  2965. DISPID_DXEPROGRESS = DISPID_DXECAPABILITIES + 1,
  2966. DISPID_DXESTEP = DISPID_DXEPROGRESS + 1,
  2967. DISPID_DXEDURATION = DISPID_DXESTEP + 1,
  2968. DISPID_DXE_NEXT_ID = DISPID_DXEDURATION + 1
  2969. } DISPIDDXBOUNDEDEFFECT;
  2970. typedef
  2971. enum DXEFFECTTYPE
  2972. { DXTET_PERIODIC = 1 << 0,
  2973. DXTET_MORPH = 1 << 1
  2974. } DXEFFECTTYPE;
  2975. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0276_v0_0_c_ifspec;
  2976. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0276_v0_0_s_ifspec;
  2977. #ifndef __IDXEffect_INTERFACE_DEFINED__
  2978. #define __IDXEffect_INTERFACE_DEFINED__
  2979. /* interface IDXEffect */
  2980. /* [dual][unique][helpstring][uuid][object] */
  2981. EXTERN_C const IID IID_IDXEffect;
  2982. #if defined(__cplusplus) && !defined(CINTERFACE)
  2983. MIDL_INTERFACE("E31FB81B-1335-11d1-8189-0000F87557DB")
  2984. IDXEffect : public IDispatch
  2985. {
  2986. public:
  2987. virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Capabilities(
  2988. /* [retval][out] */ long *pVal) = 0;
  2989. virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Progress(
  2990. /* [retval][out] */ float *pVal) = 0;
  2991. virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Progress(
  2992. /* [in] */ float newVal) = 0;
  2993. virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_StepResolution(
  2994. /* [retval][out] */ float *pVal) = 0;
  2995. virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Duration(
  2996. /* [retval][out] */ float *pVal) = 0;
  2997. virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Duration(
  2998. /* [in] */ float newVal) = 0;
  2999. };
  3000. #else /* C style interface */
  3001. typedef struct IDXEffectVtbl
  3002. {
  3003. BEGIN_INTERFACE
  3004. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3005. IDXEffect * This,
  3006. /* [in] */ REFIID riid,
  3007. /* [iid_is][out] */ void **ppvObject);
  3008. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3009. IDXEffect * This);
  3010. ULONG ( STDMETHODCALLTYPE *Release )(
  3011. IDXEffect * This);
  3012. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  3013. IDXEffect * This,
  3014. /* [out] */ UINT *pctinfo);
  3015. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  3016. IDXEffect * This,
  3017. /* [in] */ UINT iTInfo,
  3018. /* [in] */ LCID lcid,
  3019. /* [out] */ ITypeInfo **ppTInfo);
  3020. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  3021. IDXEffect * This,
  3022. /* [in] */ REFIID riid,
  3023. /* [size_is][in] */ LPOLESTR *rgszNames,
  3024. /* [in] */ UINT cNames,
  3025. /* [in] */ LCID lcid,
  3026. /* [size_is][out] */ DISPID *rgDispId);
  3027. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  3028. IDXEffect * This,
  3029. /* [in] */ DISPID dispIdMember,
  3030. /* [in] */ REFIID riid,
  3031. /* [in] */ LCID lcid,
  3032. /* [in] */ WORD wFlags,
  3033. /* [out][in] */ DISPPARAMS *pDispParams,
  3034. /* [out] */ VARIANT *pVarResult,
  3035. /* [out] */ EXCEPINFO *pExcepInfo,
  3036. /* [out] */ UINT *puArgErr);
  3037. /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Capabilities )(
  3038. IDXEffect * This,
  3039. /* [retval][out] */ long *pVal);
  3040. /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Progress )(
  3041. IDXEffect * This,
  3042. /* [retval][out] */ float *pVal);
  3043. /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Progress )(
  3044. IDXEffect * This,
  3045. /* [in] */ float newVal);
  3046. /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StepResolution )(
  3047. IDXEffect * This,
  3048. /* [retval][out] */ float *pVal);
  3049. /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )(
  3050. IDXEffect * This,
  3051. /* [retval][out] */ float *pVal);
  3052. /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Duration )(
  3053. IDXEffect * This,
  3054. /* [in] */ float newVal);
  3055. END_INTERFACE
  3056. } IDXEffectVtbl;
  3057. interface IDXEffect
  3058. {
  3059. CONST_VTBL struct IDXEffectVtbl *lpVtbl;
  3060. };
  3061. #ifdef COBJMACROS
  3062. #define IDXEffect_QueryInterface(This,riid,ppvObject) \
  3063. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3064. #define IDXEffect_AddRef(This) \
  3065. (This)->lpVtbl -> AddRef(This)
  3066. #define IDXEffect_Release(This) \
  3067. (This)->lpVtbl -> Release(This)
  3068. #define IDXEffect_GetTypeInfoCount(This,pctinfo) \
  3069. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3070. #define IDXEffect_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  3071. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3072. #define IDXEffect_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  3073. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3074. #define IDXEffect_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  3075. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3076. #define IDXEffect_get_Capabilities(This,pVal) \
  3077. (This)->lpVtbl -> get_Capabilities(This,pVal)
  3078. #define IDXEffect_get_Progress(This,pVal) \
  3079. (This)->lpVtbl -> get_Progress(This,pVal)
  3080. #define IDXEffect_put_Progress(This,newVal) \
  3081. (This)->lpVtbl -> put_Progress(This,newVal)
  3082. #define IDXEffect_get_StepResolution(This,pVal) \
  3083. (This)->lpVtbl -> get_StepResolution(This,pVal)
  3084. #define IDXEffect_get_Duration(This,pVal) \
  3085. (This)->lpVtbl -> get_Duration(This,pVal)
  3086. #define IDXEffect_put_Duration(This,newVal) \
  3087. (This)->lpVtbl -> put_Duration(This,newVal)
  3088. #endif /* COBJMACROS */
  3089. #endif /* C style interface */
  3090. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IDXEffect_get_Capabilities_Proxy(
  3091. IDXEffect * This,
  3092. /* [retval][out] */ long *pVal);
  3093. void __RPC_STUB IDXEffect_get_Capabilities_Stub(
  3094. IRpcStubBuffer *This,
  3095. IRpcChannelBuffer *_pRpcChannelBuffer,
  3096. PRPC_MESSAGE _pRpcMessage,
  3097. DWORD *_pdwStubPhase);
  3098. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IDXEffect_get_Progress_Proxy(
  3099. IDXEffect * This,
  3100. /* [retval][out] */ float *pVal);
  3101. void __RPC_STUB IDXEffect_get_Progress_Stub(
  3102. IRpcStubBuffer *This,
  3103. IRpcChannelBuffer *_pRpcChannelBuffer,
  3104. PRPC_MESSAGE _pRpcMessage,
  3105. DWORD *_pdwStubPhase);
  3106. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IDXEffect_put_Progress_Proxy(
  3107. IDXEffect * This,
  3108. /* [in] */ float newVal);
  3109. void __RPC_STUB IDXEffect_put_Progress_Stub(
  3110. IRpcStubBuffer *This,
  3111. IRpcChannelBuffer *_pRpcChannelBuffer,
  3112. PRPC_MESSAGE _pRpcMessage,
  3113. DWORD *_pdwStubPhase);
  3114. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IDXEffect_get_StepResolution_Proxy(
  3115. IDXEffect * This,
  3116. /* [retval][out] */ float *pVal);
  3117. void __RPC_STUB IDXEffect_get_StepResolution_Stub(
  3118. IRpcStubBuffer *This,
  3119. IRpcChannelBuffer *_pRpcChannelBuffer,
  3120. PRPC_MESSAGE _pRpcMessage,
  3121. DWORD *_pdwStubPhase);
  3122. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IDXEffect_get_Duration_Proxy(
  3123. IDXEffect * This,
  3124. /* [retval][out] */ float *pVal);
  3125. void __RPC_STUB IDXEffect_get_Duration_Stub(
  3126. IRpcStubBuffer *This,
  3127. IRpcChannelBuffer *_pRpcChannelBuffer,
  3128. PRPC_MESSAGE _pRpcMessage,
  3129. DWORD *_pdwStubPhase);
  3130. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IDXEffect_put_Duration_Proxy(
  3131. IDXEffect * This,
  3132. /* [in] */ float newVal);
  3133. void __RPC_STUB IDXEffect_put_Duration_Stub(
  3134. IRpcStubBuffer *This,
  3135. IRpcChannelBuffer *_pRpcChannelBuffer,
  3136. PRPC_MESSAGE _pRpcMessage,
  3137. DWORD *_pdwStubPhase);
  3138. #endif /* __IDXEffect_INTERFACE_DEFINED__ */
  3139. #ifndef __IDXLookupTable_INTERFACE_DEFINED__
  3140. #define __IDXLookupTable_INTERFACE_DEFINED__
  3141. /* interface IDXLookupTable */
  3142. /* [local][unique][helpstring][uuid][object] */
  3143. EXTERN_C const IID IID_IDXLookupTable;
  3144. #if defined(__cplusplus) && !defined(CINTERFACE)
  3145. MIDL_INTERFACE("01BAFC7F-9E63-11d1-9053-00C04FD9189D")
  3146. IDXLookupTable : public IDXBaseObject
  3147. {
  3148. public:
  3149. virtual HRESULT STDMETHODCALLTYPE GetTables(
  3150. /* [out] */ BYTE RedLUT[ 256 ],
  3151. /* [out] */ BYTE GreenLUT[ 256 ],
  3152. /* [out] */ BYTE BlueLUT[ 256 ],
  3153. /* [out] */ BYTE AlphaLUT[ 256 ]) = 0;
  3154. virtual HRESULT STDMETHODCALLTYPE IsChannelIdentity(
  3155. /* [out] */ DXBASESAMPLE *pSampleBools) = 0;
  3156. virtual HRESULT STDMETHODCALLTYPE GetIndexValues(
  3157. /* [in] */ ULONG Index,
  3158. /* [out] */ DXBASESAMPLE *pSample) = 0;
  3159. virtual HRESULT STDMETHODCALLTYPE ApplyTables(
  3160. /* [out][in] */ DXSAMPLE *pSamples,
  3161. /* [in] */ ULONG cSamples) = 0;
  3162. };
  3163. #else /* C style interface */
  3164. typedef struct IDXLookupTableVtbl
  3165. {
  3166. BEGIN_INTERFACE
  3167. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3168. IDXLookupTable * This,
  3169. /* [in] */ REFIID riid,
  3170. /* [iid_is][out] */ void **ppvObject);
  3171. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3172. IDXLookupTable * This);
  3173. ULONG ( STDMETHODCALLTYPE *Release )(
  3174. IDXLookupTable * This);
  3175. HRESULT ( STDMETHODCALLTYPE *GetGenerationId )(
  3176. IDXLookupTable * This,
  3177. /* [out] */ ULONG *pID);
  3178. HRESULT ( STDMETHODCALLTYPE *IncrementGenerationId )(
  3179. IDXLookupTable * This,
  3180. /* [in] */ BOOL bRefresh);
  3181. HRESULT ( STDMETHODCALLTYPE *GetObjectSize )(
  3182. IDXLookupTable * This,
  3183. /* [out] */ ULONG *pcbSize);
  3184. HRESULT ( STDMETHODCALLTYPE *GetTables )(
  3185. IDXLookupTable * This,
  3186. /* [out] */ BYTE RedLUT[ 256 ],
  3187. /* [out] */ BYTE GreenLUT[ 256 ],
  3188. /* [out] */ BYTE BlueLUT[ 256 ],
  3189. /* [out] */ BYTE AlphaLUT[ 256 ]);
  3190. HRESULT ( STDMETHODCALLTYPE *IsChannelIdentity )(
  3191. IDXLookupTable * This,
  3192. /* [out] */ DXBASESAMPLE *pSampleBools);
  3193. HRESULT ( STDMETHODCALLTYPE *GetIndexValues )(
  3194. IDXLookupTable * This,
  3195. /* [in] */ ULONG Index,
  3196. /* [out] */ DXBASESAMPLE *pSample);
  3197. HRESULT ( STDMETHODCALLTYPE *ApplyTables )(
  3198. IDXLookupTable * This,
  3199. /* [out][in] */ DXSAMPLE *pSamples,
  3200. /* [in] */ ULONG cSamples);
  3201. END_INTERFACE
  3202. } IDXLookupTableVtbl;
  3203. interface IDXLookupTable
  3204. {
  3205. CONST_VTBL struct IDXLookupTableVtbl *lpVtbl;
  3206. };
  3207. #ifdef COBJMACROS
  3208. #define IDXLookupTable_QueryInterface(This,riid,ppvObject) \
  3209. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3210. #define IDXLookupTable_AddRef(This) \
  3211. (This)->lpVtbl -> AddRef(This)
  3212. #define IDXLookupTable_Release(This) \
  3213. (This)->lpVtbl -> Release(This)
  3214. #define IDXLookupTable_GetGenerationId(This,pID) \
  3215. (This)->lpVtbl -> GetGenerationId(This,pID)
  3216. #define IDXLookupTable_IncrementGenerationId(This,bRefresh) \
  3217. (This)->lpVtbl -> IncrementGenerationId(This,bRefresh)
  3218. #define IDXLookupTable_GetObjectSize(This,pcbSize) \
  3219. (This)->lpVtbl -> GetObjectSize(This,pcbSize)
  3220. #define IDXLookupTable_GetTables(This,RedLUT,GreenLUT,BlueLUT,AlphaLUT) \
  3221. (This)->lpVtbl -> GetTables(This,RedLUT,GreenLUT,BlueLUT,AlphaLUT)
  3222. #define IDXLookupTable_IsChannelIdentity(This,pSampleBools) \
  3223. (This)->lpVtbl -> IsChannelIdentity(This,pSampleBools)
  3224. #define IDXLookupTable_GetIndexValues(This,Index,pSample) \
  3225. (This)->lpVtbl -> GetIndexValues(This,Index,pSample)
  3226. #define IDXLookupTable_ApplyTables(This,pSamples,cSamples) \
  3227. (This)->lpVtbl -> ApplyTables(This,pSamples,cSamples)
  3228. #endif /* COBJMACROS */
  3229. #endif /* C style interface */
  3230. HRESULT STDMETHODCALLTYPE IDXLookupTable_GetTables_Proxy(
  3231. IDXLookupTable * This,
  3232. /* [out] */ BYTE RedLUT[ 256 ],
  3233. /* [out] */ BYTE GreenLUT[ 256 ],
  3234. /* [out] */ BYTE BlueLUT[ 256 ],
  3235. /* [out] */ BYTE AlphaLUT[ 256 ]);
  3236. void __RPC_STUB IDXLookupTable_GetTables_Stub(
  3237. IRpcStubBuffer *This,
  3238. IRpcChannelBuffer *_pRpcChannelBuffer,
  3239. PRPC_MESSAGE _pRpcMessage,
  3240. DWORD *_pdwStubPhase);
  3241. HRESULT STDMETHODCALLTYPE IDXLookupTable_IsChannelIdentity_Proxy(
  3242. IDXLookupTable * This,
  3243. /* [out] */ DXBASESAMPLE *pSampleBools);
  3244. void __RPC_STUB IDXLookupTable_IsChannelIdentity_Stub(
  3245. IRpcStubBuffer *This,
  3246. IRpcChannelBuffer *_pRpcChannelBuffer,
  3247. PRPC_MESSAGE _pRpcMessage,
  3248. DWORD *_pdwStubPhase);
  3249. HRESULT STDMETHODCALLTYPE IDXLookupTable_GetIndexValues_Proxy(
  3250. IDXLookupTable * This,
  3251. /* [in] */ ULONG Index,
  3252. /* [out] */ DXBASESAMPLE *pSample);
  3253. void __RPC_STUB IDXLookupTable_GetIndexValues_Stub(
  3254. IRpcStubBuffer *This,
  3255. IRpcChannelBuffer *_pRpcChannelBuffer,
  3256. PRPC_MESSAGE _pRpcMessage,
  3257. DWORD *_pdwStubPhase);
  3258. HRESULT STDMETHODCALLTYPE IDXLookupTable_ApplyTables_Proxy(
  3259. IDXLookupTable * This,
  3260. /* [out][in] */ DXSAMPLE *pSamples,
  3261. /* [in] */ ULONG cSamples);
  3262. void __RPC_STUB IDXLookupTable_ApplyTables_Stub(
  3263. IRpcStubBuffer *This,
  3264. IRpcChannelBuffer *_pRpcChannelBuffer,
  3265. PRPC_MESSAGE _pRpcMessage,
  3266. DWORD *_pdwStubPhase);
  3267. #endif /* __IDXLookupTable_INTERFACE_DEFINED__ */
  3268. /* interface __MIDL_itf_dxtrans_0278 */
  3269. /* [local] */
  3270. typedef struct DXRAWSURFACEINFO
  3271. {
  3272. BYTE *pFirstByte;
  3273. long lPitch;
  3274. ULONG Width;
  3275. ULONG Height;
  3276. const GUID *pPixelFormat;
  3277. HDC hdc;
  3278. DWORD dwColorKey;
  3279. DXBASESAMPLE *pPalette;
  3280. } DXRAWSURFACEINFO;
  3281. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0278_v0_0_c_ifspec;
  3282. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0278_v0_0_s_ifspec;
  3283. #ifndef __IDXRawSurface_INTERFACE_DEFINED__
  3284. #define __IDXRawSurface_INTERFACE_DEFINED__
  3285. /* interface IDXRawSurface */
  3286. /* [local][unique][helpstring][uuid][object] */
  3287. EXTERN_C const IID IID_IDXRawSurface;
  3288. #if defined(__cplusplus) && !defined(CINTERFACE)
  3289. MIDL_INTERFACE("09756C8A-D96A-11d1-9062-00C04FD9189D")
  3290. IDXRawSurface : public IUnknown
  3291. {
  3292. public:
  3293. virtual HRESULT STDMETHODCALLTYPE GetSurfaceInfo(
  3294. DXRAWSURFACEINFO *pSurfaceInfo) = 0;
  3295. };
  3296. #else /* C style interface */
  3297. typedef struct IDXRawSurfaceVtbl
  3298. {
  3299. BEGIN_INTERFACE
  3300. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3301. IDXRawSurface * This,
  3302. /* [in] */ REFIID riid,
  3303. /* [iid_is][out] */ void **ppvObject);
  3304. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3305. IDXRawSurface * This);
  3306. ULONG ( STDMETHODCALLTYPE *Release )(
  3307. IDXRawSurface * This);
  3308. HRESULT ( STDMETHODCALLTYPE *GetSurfaceInfo )(
  3309. IDXRawSurface * This,
  3310. DXRAWSURFACEINFO *pSurfaceInfo);
  3311. END_INTERFACE
  3312. } IDXRawSurfaceVtbl;
  3313. interface IDXRawSurface
  3314. {
  3315. CONST_VTBL struct IDXRawSurfaceVtbl *lpVtbl;
  3316. };
  3317. #ifdef COBJMACROS
  3318. #define IDXRawSurface_QueryInterface(This,riid,ppvObject) \
  3319. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3320. #define IDXRawSurface_AddRef(This) \
  3321. (This)->lpVtbl -> AddRef(This)
  3322. #define IDXRawSurface_Release(This) \
  3323. (This)->lpVtbl -> Release(This)
  3324. #define IDXRawSurface_GetSurfaceInfo(This,pSurfaceInfo) \
  3325. (This)->lpVtbl -> GetSurfaceInfo(This,pSurfaceInfo)
  3326. #endif /* COBJMACROS */
  3327. #endif /* C style interface */
  3328. HRESULT STDMETHODCALLTYPE IDXRawSurface_GetSurfaceInfo_Proxy(
  3329. IDXRawSurface * This,
  3330. DXRAWSURFACEINFO *pSurfaceInfo);
  3331. void __RPC_STUB IDXRawSurface_GetSurfaceInfo_Stub(
  3332. IRpcStubBuffer *This,
  3333. IRpcChannelBuffer *_pRpcChannelBuffer,
  3334. PRPC_MESSAGE _pRpcMessage,
  3335. DWORD *_pdwStubPhase);
  3336. #endif /* __IDXRawSurface_INTERFACE_DEFINED__ */
  3337. #ifndef __IHTMLDXTransform_INTERFACE_DEFINED__
  3338. #define __IHTMLDXTransform_INTERFACE_DEFINED__
  3339. /* interface IHTMLDXTransform */
  3340. /* [local][unique][helpstring][uuid][object] */
  3341. EXTERN_C const IID IID_IHTMLDXTransform;
  3342. #if defined(__cplusplus) && !defined(CINTERFACE)
  3343. MIDL_INTERFACE("30E2AB7D-4FDD-4159-B7EA-DC722BF4ADE5")
  3344. IHTMLDXTransform : public IUnknown
  3345. {
  3346. public:
  3347. virtual HRESULT STDMETHODCALLTYPE SetHostUrl(
  3348. BSTR bstrHostUrl) = 0;
  3349. };
  3350. #else /* C style interface */
  3351. typedef struct IHTMLDXTransformVtbl
  3352. {
  3353. BEGIN_INTERFACE
  3354. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3355. IHTMLDXTransform * This,
  3356. /* [in] */ REFIID riid,
  3357. /* [iid_is][out] */ void **ppvObject);
  3358. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3359. IHTMLDXTransform * This);
  3360. ULONG ( STDMETHODCALLTYPE *Release )(
  3361. IHTMLDXTransform * This);
  3362. HRESULT ( STDMETHODCALLTYPE *SetHostUrl )(
  3363. IHTMLDXTransform * This,
  3364. BSTR bstrHostUrl);
  3365. END_INTERFACE
  3366. } IHTMLDXTransformVtbl;
  3367. interface IHTMLDXTransform
  3368. {
  3369. CONST_VTBL struct IHTMLDXTransformVtbl *lpVtbl;
  3370. };
  3371. #ifdef COBJMACROS
  3372. #define IHTMLDXTransform_QueryInterface(This,riid,ppvObject) \
  3373. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3374. #define IHTMLDXTransform_AddRef(This) \
  3375. (This)->lpVtbl -> AddRef(This)
  3376. #define IHTMLDXTransform_Release(This) \
  3377. (This)->lpVtbl -> Release(This)
  3378. #define IHTMLDXTransform_SetHostUrl(This,bstrHostUrl) \
  3379. (This)->lpVtbl -> SetHostUrl(This,bstrHostUrl)
  3380. #endif /* COBJMACROS */
  3381. #endif /* C style interface */
  3382. HRESULT STDMETHODCALLTYPE IHTMLDXTransform_SetHostUrl_Proxy(
  3383. IHTMLDXTransform * This,
  3384. BSTR bstrHostUrl);
  3385. void __RPC_STUB IHTMLDXTransform_SetHostUrl_Stub(
  3386. IRpcStubBuffer *This,
  3387. IRpcChannelBuffer *_pRpcChannelBuffer,
  3388. PRPC_MESSAGE _pRpcMessage,
  3389. DWORD *_pdwStubPhase);
  3390. #endif /* __IHTMLDXTransform_INTERFACE_DEFINED__ */
  3391. /* interface __MIDL_itf_dxtrans_0280 */
  3392. /* [local] */
  3393. typedef
  3394. enum DXTFILTER_STATUS
  3395. { DXTFILTER_STATUS_Stopped = 0,
  3396. DXTFILTER_STATUS_Applied = DXTFILTER_STATUS_Stopped + 1,
  3397. DXTFILTER_STATUS_Playing = DXTFILTER_STATUS_Applied + 1,
  3398. DXTFILTER_STATUS_MAX = DXTFILTER_STATUS_Playing + 1
  3399. } DXTFILTER_STATUS;
  3400. typedef
  3401. enum DXTFILTER_DISPID
  3402. { DISPID_DXTFilter_Percent = 1,
  3403. DISPID_DXTFilter_Duration = DISPID_DXTFilter_Percent + 1,
  3404. DISPID_DXTFilter_Enabled = DISPID_DXTFilter_Duration + 1,
  3405. DISPID_DXTFilter_Status = DISPID_DXTFilter_Enabled + 1,
  3406. DISPID_DXTFilter_Apply = DISPID_DXTFilter_Status + 1,
  3407. DISPID_DXTFilter_Play = DISPID_DXTFilter_Apply + 1,
  3408. DISPID_DXTFilter_Stop = DISPID_DXTFilter_Play + 1,
  3409. DISPID_DXTFilter_MAX = DISPID_DXTFilter_Stop + 1
  3410. } DXTFILTER_DISPID;
  3411. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0280_v0_0_c_ifspec;
  3412. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0280_v0_0_s_ifspec;
  3413. #ifndef __ICSSFilterDispatch_INTERFACE_DEFINED__
  3414. #define __ICSSFilterDispatch_INTERFACE_DEFINED__
  3415. /* interface ICSSFilterDispatch */
  3416. /* [dual][unique][helpstring][uuid][object] */
  3417. EXTERN_C const IID IID_ICSSFilterDispatch;
  3418. #if defined(__cplusplus) && !defined(CINTERFACE)
  3419. MIDL_INTERFACE("9519152B-9484-4A6C-B6A7-4F25E92D6C6B")
  3420. ICSSFilterDispatch : public IDispatch
  3421. {
  3422. public:
  3423. virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Percent(
  3424. /* [retval][out] */ float *pVal) = 0;
  3425. virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Percent(
  3426. /* [in] */ float newVal) = 0;
  3427. virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Duration(
  3428. /* [retval][out] */ float *pVal) = 0;
  3429. virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Duration(
  3430. /* [in] */ float newVal) = 0;
  3431. virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Enabled(
  3432. /* [retval][out] */ VARIANT_BOOL *pfVal) = 0;
  3433. virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Enabled(
  3434. /* [in] */ VARIANT_BOOL fVal) = 0;
  3435. virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Status(
  3436. /* [retval][out] */ DXTFILTER_STATUS *peVal) = 0;
  3437. virtual /* [id] */ HRESULT STDMETHODCALLTYPE Apply( void) = 0;
  3438. virtual /* [id] */ HRESULT STDMETHODCALLTYPE Play(
  3439. /* [optional][in] */ VARIANT varDuration) = 0;
  3440. virtual /* [id] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  3441. };
  3442. #else /* C style interface */
  3443. typedef struct ICSSFilterDispatchVtbl
  3444. {
  3445. BEGIN_INTERFACE
  3446. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3447. ICSSFilterDispatch * This,
  3448. /* [in] */ REFIID riid,
  3449. /* [iid_is][out] */ void **ppvObject);
  3450. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3451. ICSSFilterDispatch * This);
  3452. ULONG ( STDMETHODCALLTYPE *Release )(
  3453. ICSSFilterDispatch * This);
  3454. HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
  3455. ICSSFilterDispatch * This,
  3456. /* [out] */ UINT *pctinfo);
  3457. HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
  3458. ICSSFilterDispatch * This,
  3459. /* [in] */ UINT iTInfo,
  3460. /* [in] */ LCID lcid,
  3461. /* [out] */ ITypeInfo **ppTInfo);
  3462. HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
  3463. ICSSFilterDispatch * This,
  3464. /* [in] */ REFIID riid,
  3465. /* [size_is][in] */ LPOLESTR *rgszNames,
  3466. /* [in] */ UINT cNames,
  3467. /* [in] */ LCID lcid,
  3468. /* [size_is][out] */ DISPID *rgDispId);
  3469. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
  3470. ICSSFilterDispatch * This,
  3471. /* [in] */ DISPID dispIdMember,
  3472. /* [in] */ REFIID riid,
  3473. /* [in] */ LCID lcid,
  3474. /* [in] */ WORD wFlags,
  3475. /* [out][in] */ DISPPARAMS *pDispParams,
  3476. /* [out] */ VARIANT *pVarResult,
  3477. /* [out] */ EXCEPINFO *pExcepInfo,
  3478. /* [out] */ UINT *puArgErr);
  3479. /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Percent )(
  3480. ICSSFilterDispatch * This,
  3481. /* [retval][out] */ float *pVal);
  3482. /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Percent )(
  3483. ICSSFilterDispatch * This,
  3484. /* [in] */ float newVal);
  3485. /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )(
  3486. ICSSFilterDispatch * This,
  3487. /* [retval][out] */ float *pVal);
  3488. /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Duration )(
  3489. ICSSFilterDispatch * This,
  3490. /* [in] */ float newVal);
  3491. /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )(
  3492. ICSSFilterDispatch * This,
  3493. /* [retval][out] */ VARIANT_BOOL *pfVal);
  3494. /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )(
  3495. ICSSFilterDispatch * This,
  3496. /* [in] */ VARIANT_BOOL fVal);
  3497. /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Status )(
  3498. ICSSFilterDispatch * This,
  3499. /* [retval][out] */ DXTFILTER_STATUS *peVal);
  3500. /* [id] */ HRESULT ( STDMETHODCALLTYPE *Apply )(
  3501. ICSSFilterDispatch * This);
  3502. /* [id] */ HRESULT ( STDMETHODCALLTYPE *Play )(
  3503. ICSSFilterDispatch * This,
  3504. /* [optional][in] */ VARIANT varDuration);
  3505. /* [id] */ HRESULT ( STDMETHODCALLTYPE *Stop )(
  3506. ICSSFilterDispatch * This);
  3507. END_INTERFACE
  3508. } ICSSFilterDispatchVtbl;
  3509. interface ICSSFilterDispatch
  3510. {
  3511. CONST_VTBL struct ICSSFilterDispatchVtbl *lpVtbl;
  3512. };
  3513. #ifdef COBJMACROS
  3514. #define ICSSFilterDispatch_QueryInterface(This,riid,ppvObject) \
  3515. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3516. #define ICSSFilterDispatch_AddRef(This) \
  3517. (This)->lpVtbl -> AddRef(This)
  3518. #define ICSSFilterDispatch_Release(This) \
  3519. (This)->lpVtbl -> Release(This)
  3520. #define ICSSFilterDispatch_GetTypeInfoCount(This,pctinfo) \
  3521. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3522. #define ICSSFilterDispatch_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  3523. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3524. #define ICSSFilterDispatch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  3525. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3526. #define ICSSFilterDispatch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  3527. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3528. #define ICSSFilterDispatch_get_Percent(This,pVal) \
  3529. (This)->lpVtbl -> get_Percent(This,pVal)
  3530. #define ICSSFilterDispatch_put_Percent(This,newVal) \
  3531. (This)->lpVtbl -> put_Percent(This,newVal)
  3532. #define ICSSFilterDispatch_get_Duration(This,pVal) \
  3533. (This)->lpVtbl -> get_Duration(This,pVal)
  3534. #define ICSSFilterDispatch_put_Duration(This,newVal) \
  3535. (This)->lpVtbl -> put_Duration(This,newVal)
  3536. #define ICSSFilterDispatch_get_Enabled(This,pfVal) \
  3537. (This)->lpVtbl -> get_Enabled(This,pfVal)
  3538. #define ICSSFilterDispatch_put_Enabled(This,fVal) \
  3539. (This)->lpVtbl -> put_Enabled(This,fVal)
  3540. #define ICSSFilterDispatch_get_Status(This,peVal) \
  3541. (This)->lpVtbl -> get_Status(This,peVal)
  3542. #define ICSSFilterDispatch_Apply(This) \
  3543. (This)->lpVtbl -> Apply(This)
  3544. #define ICSSFilterDispatch_Play(This,varDuration) \
  3545. (This)->lpVtbl -> Play(This,varDuration)
  3546. #define ICSSFilterDispatch_Stop(This) \
  3547. (This)->lpVtbl -> Stop(This)
  3548. #endif /* COBJMACROS */
  3549. #endif /* C style interface */
  3550. /* [id][propget] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_get_Percent_Proxy(
  3551. ICSSFilterDispatch * This,
  3552. /* [retval][out] */ float *pVal);
  3553. void __RPC_STUB ICSSFilterDispatch_get_Percent_Stub(
  3554. IRpcStubBuffer *This,
  3555. IRpcChannelBuffer *_pRpcChannelBuffer,
  3556. PRPC_MESSAGE _pRpcMessage,
  3557. DWORD *_pdwStubPhase);
  3558. /* [id][propput] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_put_Percent_Proxy(
  3559. ICSSFilterDispatch * This,
  3560. /* [in] */ float newVal);
  3561. void __RPC_STUB ICSSFilterDispatch_put_Percent_Stub(
  3562. IRpcStubBuffer *This,
  3563. IRpcChannelBuffer *_pRpcChannelBuffer,
  3564. PRPC_MESSAGE _pRpcMessage,
  3565. DWORD *_pdwStubPhase);
  3566. /* [id][propget] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_get_Duration_Proxy(
  3567. ICSSFilterDispatch * This,
  3568. /* [retval][out] */ float *pVal);
  3569. void __RPC_STUB ICSSFilterDispatch_get_Duration_Stub(
  3570. IRpcStubBuffer *This,
  3571. IRpcChannelBuffer *_pRpcChannelBuffer,
  3572. PRPC_MESSAGE _pRpcMessage,
  3573. DWORD *_pdwStubPhase);
  3574. /* [id][propput] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_put_Duration_Proxy(
  3575. ICSSFilterDispatch * This,
  3576. /* [in] */ float newVal);
  3577. void __RPC_STUB ICSSFilterDispatch_put_Duration_Stub(
  3578. IRpcStubBuffer *This,
  3579. IRpcChannelBuffer *_pRpcChannelBuffer,
  3580. PRPC_MESSAGE _pRpcMessage,
  3581. DWORD *_pdwStubPhase);
  3582. /* [id][propget] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_get_Enabled_Proxy(
  3583. ICSSFilterDispatch * This,
  3584. /* [retval][out] */ VARIANT_BOOL *pfVal);
  3585. void __RPC_STUB ICSSFilterDispatch_get_Enabled_Stub(
  3586. IRpcStubBuffer *This,
  3587. IRpcChannelBuffer *_pRpcChannelBuffer,
  3588. PRPC_MESSAGE _pRpcMessage,
  3589. DWORD *_pdwStubPhase);
  3590. /* [id][propput] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_put_Enabled_Proxy(
  3591. ICSSFilterDispatch * This,
  3592. /* [in] */ VARIANT_BOOL fVal);
  3593. void __RPC_STUB ICSSFilterDispatch_put_Enabled_Stub(
  3594. IRpcStubBuffer *This,
  3595. IRpcChannelBuffer *_pRpcChannelBuffer,
  3596. PRPC_MESSAGE _pRpcMessage,
  3597. DWORD *_pdwStubPhase);
  3598. /* [id][propget] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_get_Status_Proxy(
  3599. ICSSFilterDispatch * This,
  3600. /* [retval][out] */ DXTFILTER_STATUS *peVal);
  3601. void __RPC_STUB ICSSFilterDispatch_get_Status_Stub(
  3602. IRpcStubBuffer *This,
  3603. IRpcChannelBuffer *_pRpcChannelBuffer,
  3604. PRPC_MESSAGE _pRpcMessage,
  3605. DWORD *_pdwStubPhase);
  3606. /* [id] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_Apply_Proxy(
  3607. ICSSFilterDispatch * This);
  3608. void __RPC_STUB ICSSFilterDispatch_Apply_Stub(
  3609. IRpcStubBuffer *This,
  3610. IRpcChannelBuffer *_pRpcChannelBuffer,
  3611. PRPC_MESSAGE _pRpcMessage,
  3612. DWORD *_pdwStubPhase);
  3613. /* [id] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_Play_Proxy(
  3614. ICSSFilterDispatch * This,
  3615. /* [optional][in] */ VARIANT varDuration);
  3616. void __RPC_STUB ICSSFilterDispatch_Play_Stub(
  3617. IRpcStubBuffer *This,
  3618. IRpcChannelBuffer *_pRpcChannelBuffer,
  3619. PRPC_MESSAGE _pRpcMessage,
  3620. DWORD *_pdwStubPhase);
  3621. /* [id] */ HRESULT STDMETHODCALLTYPE ICSSFilterDispatch_Stop_Proxy(
  3622. ICSSFilterDispatch * This);
  3623. void __RPC_STUB ICSSFilterDispatch_Stop_Stub(
  3624. IRpcStubBuffer *This,
  3625. IRpcChannelBuffer *_pRpcChannelBuffer,
  3626. PRPC_MESSAGE _pRpcMessage,
  3627. DWORD *_pdwStubPhase);
  3628. #endif /* __ICSSFilterDispatch_INTERFACE_DEFINED__ */
  3629. #ifndef __DXTRANSLib_LIBRARY_DEFINED__
  3630. #define __DXTRANSLib_LIBRARY_DEFINED__
  3631. /* library DXTRANSLib */
  3632. /* [helpstring][version][uuid] */
  3633. EXTERN_C const IID LIBID_DXTRANSLib;
  3634. EXTERN_C const CLSID CLSID_DXTransformFactory;
  3635. #ifdef __cplusplus
  3636. class DECLSPEC_UUID("D1FE6762-FC48-11D0-883A-3C8B00C10000")
  3637. DXTransformFactory;
  3638. #endif
  3639. EXTERN_C const CLSID CLSID_DXTaskManager;
  3640. #ifdef __cplusplus
  3641. class DECLSPEC_UUID("4CB26C03-FF93-11d0-817E-0000F87557DB")
  3642. DXTaskManager;
  3643. #endif
  3644. EXTERN_C const CLSID CLSID_DXTScale;
  3645. #ifdef __cplusplus
  3646. class DECLSPEC_UUID("555278E2-05DB-11D1-883A-3C8B00C10000")
  3647. DXTScale;
  3648. #endif
  3649. EXTERN_C const CLSID CLSID_DXSurface;
  3650. #ifdef __cplusplus
  3651. class DECLSPEC_UUID("0E890F83-5F79-11D1-9043-00C04FD9189D")
  3652. DXSurface;
  3653. #endif
  3654. EXTERN_C const CLSID CLSID_DXSurfaceModifier;
  3655. #ifdef __cplusplus
  3656. class DECLSPEC_UUID("3E669F1D-9C23-11d1-9053-00C04FD9189D")
  3657. DXSurfaceModifier;
  3658. #endif
  3659. EXTERN_C const CLSID CLSID_DXGradient;
  3660. #ifdef __cplusplus
  3661. class DECLSPEC_UUID("C6365470-F667-11d1-9067-00C04FD9189D")
  3662. DXGradient;
  3663. #endif
  3664. EXTERN_C const CLSID CLSID_DXTFilter;
  3665. #ifdef __cplusplus
  3666. class DECLSPEC_UUID("385A91BC-1E8A-4e4a-A7A6-F4FC1E6CA1BD")
  3667. DXTFilter;
  3668. #endif
  3669. #endif /* __DXTRANSLib_LIBRARY_DEFINED__ */
  3670. /* Additional Prototypes for ALL interfaces */
  3671. unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
  3672. unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
  3673. unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
  3674. void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
  3675. /* end of Additional Prototypes */
  3676. #ifdef __cplusplus
  3677. }
  3678. #endif
  3679. #endif