Source code of Windows XP (NT5)
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.

6782 lines
200 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 5.03.0285 */
  4. /* Compiler settings for dxtrans.idl:
  5. Oicf (OptLev=i2), W0, Zp8, env=Win32 (32b run), ms_ext, c_ext
  6. error checks: allocation ref bounds_check enum stub_data
  7. VC __declspec() decoration level:
  8. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  9. DECLSPEC_UUID(), MIDL_INTERFACE()
  10. */
  11. //@@MIDL_FILE_HEADING( )
  12. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  13. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  14. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  15. #endif
  16. #include "rpc.h"
  17. #include "rpcndr.h"
  18. #ifndef __RPCNDR_H_VERSION__
  19. #error this stub requires an updated version of <rpcndr.h>
  20. #endif // __RPCNDR_H_VERSION__
  21. #ifndef COM_NO_WINDOWS_H
  22. #include "windows.h"
  23. #include "ole2.h"
  24. #endif /*COM_NO_WINDOWS_H*/
  25. #ifndef __dxtrans_h__
  26. #define __dxtrans_h__
  27. /* Forward Declarations */
  28. #ifndef __IDXBaseObject_FWD_DEFINED__
  29. #define __IDXBaseObject_FWD_DEFINED__
  30. typedef interface IDXBaseObject IDXBaseObject;
  31. #endif /* __IDXBaseObject_FWD_DEFINED__ */
  32. #ifndef __IDXTransformFactory_FWD_DEFINED__
  33. #define __IDXTransformFactory_FWD_DEFINED__
  34. typedef interface IDXTransformFactory IDXTransformFactory;
  35. #endif /* __IDXTransformFactory_FWD_DEFINED__ */
  36. #ifndef __IDXTransform_FWD_DEFINED__
  37. #define __IDXTransform_FWD_DEFINED__
  38. typedef interface IDXTransform IDXTransform;
  39. #endif /* __IDXTransform_FWD_DEFINED__ */
  40. #ifndef __IDXSurfacePick_FWD_DEFINED__
  41. #define __IDXSurfacePick_FWD_DEFINED__
  42. typedef interface IDXSurfacePick IDXSurfacePick;
  43. #endif /* __IDXSurfacePick_FWD_DEFINED__ */
  44. #ifndef __IDXTBindHost_FWD_DEFINED__
  45. #define __IDXTBindHost_FWD_DEFINED__
  46. typedef interface IDXTBindHost IDXTBindHost;
  47. #endif /* __IDXTBindHost_FWD_DEFINED__ */
  48. #ifndef __IDXTaskManager_FWD_DEFINED__
  49. #define __IDXTaskManager_FWD_DEFINED__
  50. typedef interface IDXTaskManager IDXTaskManager;
  51. #endif /* __IDXTaskManager_FWD_DEFINED__ */
  52. #ifndef __IDXSurfaceFactory_FWD_DEFINED__
  53. #define __IDXSurfaceFactory_FWD_DEFINED__
  54. typedef interface IDXSurfaceFactory IDXSurfaceFactory;
  55. #endif /* __IDXSurfaceFactory_FWD_DEFINED__ */
  56. #ifndef __IDXSurfaceModifier_FWD_DEFINED__
  57. #define __IDXSurfaceModifier_FWD_DEFINED__
  58. typedef interface IDXSurfaceModifier IDXSurfaceModifier;
  59. #endif /* __IDXSurfaceModifier_FWD_DEFINED__ */
  60. #ifndef __IDXSurface_FWD_DEFINED__
  61. #define __IDXSurface_FWD_DEFINED__
  62. typedef interface IDXSurface IDXSurface;
  63. #endif /* __IDXSurface_FWD_DEFINED__ */
  64. #ifndef __IDXSurfaceInit_FWD_DEFINED__
  65. #define __IDXSurfaceInit_FWD_DEFINED__
  66. typedef interface IDXSurfaceInit IDXSurfaceInit;
  67. #endif /* __IDXSurfaceInit_FWD_DEFINED__ */
  68. #ifndef __IDXARGBSurfaceInit_FWD_DEFINED__
  69. #define __IDXARGBSurfaceInit_FWD_DEFINED__
  70. typedef interface IDXARGBSurfaceInit IDXARGBSurfaceInit;
  71. #endif /* __IDXARGBSurfaceInit_FWD_DEFINED__ */
  72. #ifndef __IDXARGBReadPtr_FWD_DEFINED__
  73. #define __IDXARGBReadPtr_FWD_DEFINED__
  74. typedef interface IDXARGBReadPtr IDXARGBReadPtr;
  75. #endif /* __IDXARGBReadPtr_FWD_DEFINED__ */
  76. #ifndef __IDXARGBReadWritePtr_FWD_DEFINED__
  77. #define __IDXARGBReadWritePtr_FWD_DEFINED__
  78. typedef interface IDXARGBReadWritePtr IDXARGBReadWritePtr;
  79. #endif /* __IDXARGBReadWritePtr_FWD_DEFINED__ */
  80. #ifndef __IDXDCLock_FWD_DEFINED__
  81. #define __IDXDCLock_FWD_DEFINED__
  82. typedef interface IDXDCLock IDXDCLock;
  83. #endif /* __IDXDCLock_FWD_DEFINED__ */
  84. #ifndef __IDXTScaleOutput_FWD_DEFINED__
  85. #define __IDXTScaleOutput_FWD_DEFINED__
  86. typedef interface IDXTScaleOutput IDXTScaleOutput;
  87. #endif /* __IDXTScaleOutput_FWD_DEFINED__ */
  88. #ifndef __IDXGradient_FWD_DEFINED__
  89. #define __IDXGradient_FWD_DEFINED__
  90. typedef interface IDXGradient IDXGradient;
  91. #endif /* __IDXGradient_FWD_DEFINED__ */
  92. #ifndef __IDXGradient2_FWD_DEFINED__
  93. #define __IDXGradient2_FWD_DEFINED__
  94. typedef interface IDXGradient2 IDXGradient2;
  95. #endif /* __IDXGradient2_FWD_DEFINED__ */
  96. #ifndef __IDXTScale_FWD_DEFINED__
  97. #define __IDXTScale_FWD_DEFINED__
  98. typedef interface IDXTScale IDXTScale;
  99. #endif /* __IDXTScale_FWD_DEFINED__ */
  100. #ifndef __IDXTLabel_FWD_DEFINED__
  101. #define __IDXTLabel_FWD_DEFINED__
  102. typedef interface IDXTLabel IDXTLabel;
  103. #endif /* __IDXTLabel_FWD_DEFINED__ */
  104. #ifndef __IDXRasterizer_FWD_DEFINED__
  105. #define __IDXRasterizer_FWD_DEFINED__
  106. typedef interface IDXRasterizer IDXRasterizer;
  107. #endif /* __IDXRasterizer_FWD_DEFINED__ */
  108. #ifndef __IDXEffect_FWD_DEFINED__
  109. #define __IDXEffect_FWD_DEFINED__
  110. typedef interface IDXEffect IDXEffect;
  111. #endif /* __IDXEffect_FWD_DEFINED__ */
  112. #ifndef __IDXLookupTable_FWD_DEFINED__
  113. #define __IDXLookupTable_FWD_DEFINED__
  114. typedef interface IDXLookupTable IDXLookupTable;
  115. #endif /* __IDXLookupTable_FWD_DEFINED__ */
  116. #ifndef __IDX2DDebug_FWD_DEFINED__
  117. #define __IDX2DDebug_FWD_DEFINED__
  118. typedef interface IDX2DDebug IDX2DDebug;
  119. #endif /* __IDX2DDebug_FWD_DEFINED__ */
  120. #ifndef __IDX2D_FWD_DEFINED__
  121. #define __IDX2D_FWD_DEFINED__
  122. typedef interface IDX2D IDX2D;
  123. #endif /* __IDX2D_FWD_DEFINED__ */
  124. #ifndef __IDXRawSurface_FWD_DEFINED__
  125. #define __IDXRawSurface_FWD_DEFINED__
  126. typedef interface IDXRawSurface IDXRawSurface;
  127. #endif /* __IDXRawSurface_FWD_DEFINED__ */
  128. #ifndef __DXTransformFactory_FWD_DEFINED__
  129. #define __DXTransformFactory_FWD_DEFINED__
  130. #ifdef __cplusplus
  131. typedef class DXTransformFactory DXTransformFactory;
  132. #else
  133. typedef struct DXTransformFactory DXTransformFactory;
  134. #endif /* __cplusplus */
  135. #endif /* __DXTransformFactory_FWD_DEFINED__ */
  136. #ifndef __DXTaskManager_FWD_DEFINED__
  137. #define __DXTaskManager_FWD_DEFINED__
  138. #ifdef __cplusplus
  139. typedef class DXTaskManager DXTaskManager;
  140. #else
  141. typedef struct DXTaskManager DXTaskManager;
  142. #endif /* __cplusplus */
  143. #endif /* __DXTaskManager_FWD_DEFINED__ */
  144. #ifndef __DXTScale_FWD_DEFINED__
  145. #define __DXTScale_FWD_DEFINED__
  146. #ifdef __cplusplus
  147. typedef class DXTScale DXTScale;
  148. #else
  149. typedef struct DXTScale DXTScale;
  150. #endif /* __cplusplus */
  151. #endif /* __DXTScale_FWD_DEFINED__ */
  152. #ifndef __DXTLabel_FWD_DEFINED__
  153. #define __DXTLabel_FWD_DEFINED__
  154. #ifdef __cplusplus
  155. typedef class DXTLabel DXTLabel;
  156. #else
  157. typedef struct DXTLabel DXTLabel;
  158. #endif /* __cplusplus */
  159. #endif /* __DXTLabel_FWD_DEFINED__ */
  160. #ifndef __DX2D_FWD_DEFINED__
  161. #define __DX2D_FWD_DEFINED__
  162. #ifdef __cplusplus
  163. typedef class DX2D DX2D;
  164. #else
  165. typedef struct DX2D DX2D;
  166. #endif /* __cplusplus */
  167. #endif /* __DX2D_FWD_DEFINED__ */
  168. #ifndef __DXSurface_FWD_DEFINED__
  169. #define __DXSurface_FWD_DEFINED__
  170. #ifdef __cplusplus
  171. typedef class DXSurface DXSurface;
  172. #else
  173. typedef struct DXSurface DXSurface;
  174. #endif /* __cplusplus */
  175. #endif /* __DXSurface_FWD_DEFINED__ */
  176. #ifndef __DXSurfaceModifier_FWD_DEFINED__
  177. #define __DXSurfaceModifier_FWD_DEFINED__
  178. #ifdef __cplusplus
  179. typedef class DXSurfaceModifier DXSurfaceModifier;
  180. #else
  181. typedef struct DXSurfaceModifier DXSurfaceModifier;
  182. #endif /* __cplusplus */
  183. #endif /* __DXSurfaceModifier_FWD_DEFINED__ */
  184. #ifndef __DXRasterizer_FWD_DEFINED__
  185. #define __DXRasterizer_FWD_DEFINED__
  186. #ifdef __cplusplus
  187. typedef class DXRasterizer DXRasterizer;
  188. #else
  189. typedef struct DXRasterizer DXRasterizer;
  190. #endif /* __cplusplus */
  191. #endif /* __DXRasterizer_FWD_DEFINED__ */
  192. #ifndef __DXGradient_FWD_DEFINED__
  193. #define __DXGradient_FWD_DEFINED__
  194. #ifdef __cplusplus
  195. typedef class DXGradient DXGradient;
  196. #else
  197. typedef struct DXGradient DXGradient;
  198. #endif /* __cplusplus */
  199. #endif /* __DXGradient_FWD_DEFINED__ */
  200. /* header files for imported files */
  201. #include "oaidl.h"
  202. #include "ocidl.h"
  203. #include "comcat.h"
  204. #ifdef __cplusplus
  205. extern "C"{
  206. #endif
  207. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  208. void __RPC_USER MIDL_user_free( void __RPC_FAR * );
  209. /* interface __MIDL_itf_dxtrans_0000 */
  210. /* [local] */
  211. #include <servprov.h>
  212. #include <ddraw.h>
  213. #include <d3d.h>
  214. #include <d3drm.h>
  215. #include <urlmon.h>
  216. #if 0
  217. // Bogus definition used to make MIDL compiler happy
  218. typedef void DDSURFACEDESC;
  219. typedef void D3DRMBOX;
  220. typedef void D3DVECTOR;
  221. typedef void D3DRMMATRIX4D;
  222. typedef void __RPC_FAR *LPSECURITY_ATTRIBUTES;
  223. #endif
  224. #ifdef _DXTRANSIMPL
  225. #define _DXTRANS_IMPL_EXT _declspec(dllexport)
  226. #else
  227. #define _DXTRANS_IMPL_EXT _declspec(dllimport)
  228. #endif
  229. //
  230. // All GUIDs for DXTransforms are declared in DXTGUID.CPP in the SDK include directory
  231. //
  232. EXTERN_C const GUID DDPF_RGB1;
  233. EXTERN_C const GUID DDPF_RGB2;
  234. EXTERN_C const GUID DDPF_RGB4;
  235. EXTERN_C const GUID DDPF_RGB8;
  236. EXTERN_C const GUID DDPF_RGB332;
  237. EXTERN_C const GUID DDPF_ARGB4444;
  238. EXTERN_C const GUID DDPF_RGB565;
  239. EXTERN_C const GUID DDPF_BGR565;
  240. EXTERN_C const GUID DDPF_RGB555;
  241. EXTERN_C const GUID DDPF_ARGB1555;
  242. EXTERN_C const GUID DDPF_RGB24;
  243. EXTERN_C const GUID DDPF_BGR24;
  244. EXTERN_C const GUID DDPF_RGB32;
  245. EXTERN_C const GUID DDPF_BGR32;
  246. EXTERN_C const GUID DDPF_ABGR32;
  247. EXTERN_C const GUID DDPF_ARGB32;
  248. EXTERN_C const GUID DDPF_PMARGB32;
  249. EXTERN_C const GUID DDPF_A1;
  250. EXTERN_C const GUID DDPF_A2;
  251. EXTERN_C const GUID DDPF_A4;
  252. EXTERN_C const GUID DDPF_A8;
  253. EXTERN_C const GUID DDPF_Z8;
  254. EXTERN_C const GUID DDPF_Z16;
  255. EXTERN_C const GUID DDPF_Z24;
  256. EXTERN_C const GUID DDPF_Z32;
  257. //
  258. // Component categories
  259. //
  260. EXTERN_C const GUID CATID_DXImageTransform;
  261. EXTERN_C const GUID CATID_DX3DTransform;
  262. EXTERN_C const GUID CATID_DXAuthoringTransform;
  263. EXTERN_C const GUID CATID_DXSurface;
  264. //
  265. // Service IDs
  266. //
  267. EXTERN_C const GUID SID_SDirectDraw;
  268. EXTERN_C const GUID SID_SDirect3DRM;
  269. #define SID_SDXTaskManager CLSID_DXTaskManager
  270. #define SID_SDXSurfaceFactory IID_IDXSurfaceFactory
  271. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0000_v0_0_c_ifspec;
  272. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0000_v0_0_s_ifspec;
  273. #ifndef __IDXBaseObject_INTERFACE_DEFINED__
  274. #define __IDXBaseObject_INTERFACE_DEFINED__
  275. /* interface IDXBaseObject */
  276. /* [object][unique][helpstring][uuid] */
  277. EXTERN_C const IID IID_IDXBaseObject;
  278. #if defined(__cplusplus) && !defined(CINTERFACE)
  279. MIDL_INTERFACE("17B59B2B-9CC8-11d1-9053-00C04FD9189D")
  280. IDXBaseObject : public IUnknown
  281. {
  282. public:
  283. virtual HRESULT STDMETHODCALLTYPE GetGenerationId(
  284. /* [out] */ ULONG __RPC_FAR *pID) = 0;
  285. virtual HRESULT STDMETHODCALLTYPE IncrementGenerationId(
  286. /* [in] */ BOOL bRefresh) = 0;
  287. virtual HRESULT STDMETHODCALLTYPE GetObjectSize(
  288. /* [out] */ ULONG __RPC_FAR *pcbSize) = 0;
  289. };
  290. #else /* C style interface */
  291. typedef struct IDXBaseObjectVtbl
  292. {
  293. BEGIN_INTERFACE
  294. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  295. IDXBaseObject __RPC_FAR * This,
  296. /* [in] */ REFIID riid,
  297. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  298. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  299. IDXBaseObject __RPC_FAR * This);
  300. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  301. IDXBaseObject __RPC_FAR * This);
  302. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetGenerationId )(
  303. IDXBaseObject __RPC_FAR * This,
  304. /* [out] */ ULONG __RPC_FAR *pID);
  305. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IncrementGenerationId )(
  306. IDXBaseObject __RPC_FAR * This,
  307. /* [in] */ BOOL bRefresh);
  308. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectSize )(
  309. IDXBaseObject __RPC_FAR * This,
  310. /* [out] */ ULONG __RPC_FAR *pcbSize);
  311. END_INTERFACE
  312. } IDXBaseObjectVtbl;
  313. interface IDXBaseObject
  314. {
  315. CONST_VTBL struct IDXBaseObjectVtbl __RPC_FAR *lpVtbl;
  316. };
  317. #ifdef COBJMACROS
  318. #define IDXBaseObject_QueryInterface(This,riid,ppvObject) \
  319. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  320. #define IDXBaseObject_AddRef(This) \
  321. (This)->lpVtbl -> AddRef(This)
  322. #define IDXBaseObject_Release(This) \
  323. (This)->lpVtbl -> Release(This)
  324. #define IDXBaseObject_GetGenerationId(This,pID) \
  325. (This)->lpVtbl -> GetGenerationId(This,pID)
  326. #define IDXBaseObject_IncrementGenerationId(This,bRefresh) \
  327. (This)->lpVtbl -> IncrementGenerationId(This,bRefresh)
  328. #define IDXBaseObject_GetObjectSize(This,pcbSize) \
  329. (This)->lpVtbl -> GetObjectSize(This,pcbSize)
  330. #endif /* COBJMACROS */
  331. #endif /* C style interface */
  332. HRESULT STDMETHODCALLTYPE IDXBaseObject_GetGenerationId_Proxy(
  333. IDXBaseObject __RPC_FAR * This,
  334. /* [out] */ ULONG __RPC_FAR *pID);
  335. void __RPC_STUB IDXBaseObject_GetGenerationId_Stub(
  336. IRpcStubBuffer *This,
  337. IRpcChannelBuffer *_pRpcChannelBuffer,
  338. PRPC_MESSAGE _pRpcMessage,
  339. DWORD *_pdwStubPhase);
  340. HRESULT STDMETHODCALLTYPE IDXBaseObject_IncrementGenerationId_Proxy(
  341. IDXBaseObject __RPC_FAR * This,
  342. /* [in] */ BOOL bRefresh);
  343. void __RPC_STUB IDXBaseObject_IncrementGenerationId_Stub(
  344. IRpcStubBuffer *This,
  345. IRpcChannelBuffer *_pRpcChannelBuffer,
  346. PRPC_MESSAGE _pRpcMessage,
  347. DWORD *_pdwStubPhase);
  348. HRESULT STDMETHODCALLTYPE IDXBaseObject_GetObjectSize_Proxy(
  349. IDXBaseObject __RPC_FAR * This,
  350. /* [out] */ ULONG __RPC_FAR *pcbSize);
  351. void __RPC_STUB IDXBaseObject_GetObjectSize_Stub(
  352. IRpcStubBuffer *This,
  353. IRpcChannelBuffer *_pRpcChannelBuffer,
  354. PRPC_MESSAGE _pRpcMessage,
  355. DWORD *_pdwStubPhase);
  356. #endif /* __IDXBaseObject_INTERFACE_DEFINED__ */
  357. /* interface __MIDL_itf_dxtrans_0252 */
  358. /* [local] */
  359. typedef
  360. enum DXFILTERTYPE
  361. { DXFILTER_NEAREST = 0,
  362. DXFILTER_BILINEAR = DXFILTER_NEAREST + 1,
  363. DXFILTER_CUBIC = DXFILTER_BILINEAR + 1,
  364. DXFILTER_BSPLINE = DXFILTER_CUBIC + 1,
  365. DXFILTER_NUM_FILTERS = DXFILTER_BSPLINE + 1
  366. } DXFILTERTYPE;
  367. typedef
  368. enum DX2DXFORMOPS
  369. { DX2DXO_IDENTITY = 0,
  370. DX2DXO_TRANSLATE = DX2DXO_IDENTITY + 1,
  371. DX2DXO_SCALE = DX2DXO_TRANSLATE + 1,
  372. DX2DXO_SCALE_AND_TRANS = DX2DXO_SCALE + 1,
  373. DX2DXO_GENERAL = DX2DXO_SCALE_AND_TRANS + 1,
  374. DX2DXO_GENERAL_AND_TRANS = DX2DXO_GENERAL + 1
  375. } DX2DXFORMOPS;
  376. typedef struct DX2DXFORM
  377. {
  378. FLOAT eM11;
  379. FLOAT eM12;
  380. FLOAT eM21;
  381. FLOAT eM22;
  382. FLOAT eDx;
  383. FLOAT eDy;
  384. DX2DXFORMOPS eOp;
  385. } DX2DXFORM;
  386. typedef struct DX2DXFORM __RPC_FAR *PDX2DXFORM;
  387. typedef
  388. enum DXBNDID
  389. { DXB_X = 0,
  390. DXB_Y = 1,
  391. DXB_Z = 2,
  392. DXB_T = 3
  393. } DXBNDID;
  394. typedef
  395. enum DXBNDTYPE
  396. { DXBT_DISCRETE = 0,
  397. DXBT_DISCRETE64 = DXBT_DISCRETE + 1,
  398. DXBT_CONTINUOUS = DXBT_DISCRETE64 + 1,
  399. DXBT_CONTINUOUS64 = DXBT_CONTINUOUS + 1
  400. } DXBNDTYPE;
  401. typedef struct DXDBND
  402. {
  403. long Min;
  404. long Max;
  405. } DXDBND;
  406. typedef DXDBND __RPC_FAR DXDBNDS[ 4 ];
  407. typedef struct DXDBND64
  408. {
  409. LONGLONG Min;
  410. LONGLONG Max;
  411. } DXDBND64;
  412. typedef DXDBND64 __RPC_FAR DXDBNDS64[ 4 ];
  413. typedef struct DXCBND
  414. {
  415. float Min;
  416. float Max;
  417. } DXCBND;
  418. typedef DXCBND __RPC_FAR DXCBNDS[ 4 ];
  419. typedef struct DXCBND64
  420. {
  421. double Min;
  422. double Max;
  423. } DXCBND64;
  424. typedef DXCBND64 __RPC_FAR DXCBNDS64[ 4 ];
  425. typedef struct DXBNDS
  426. {
  427. DXBNDTYPE eType;
  428. /* [switch_is] */ /* [switch_type] */ union __MIDL___MIDL_itf_dxtrans_0252_0001
  429. {
  430. /* [case()] */ DXDBND D[ 4 ];
  431. /* [case()] */ DXDBND64 LD[ 4 ];
  432. /* [case()] */ DXCBND C[ 4 ];
  433. /* [case()] */ DXCBND64 LC[ 4 ];
  434. } u;
  435. } DXBNDS;
  436. typedef long __RPC_FAR DXDVEC[ 4 ];
  437. typedef LONGLONG __RPC_FAR DXDVEC64[ 4 ];
  438. typedef float __RPC_FAR DXCVEC[ 4 ];
  439. typedef double __RPC_FAR DXCVEC64[ 4 ];
  440. typedef struct DXVEC
  441. {
  442. DXBNDTYPE eType;
  443. /* [switch_is] */ /* [switch_type] */ union __MIDL___MIDL_itf_dxtrans_0252_0002
  444. {
  445. /* [case()] */ long D[ 4 ];
  446. /* [case()] */ LONGLONG LD[ 4 ];
  447. /* [case()] */ float C[ 4 ];
  448. /* [case()] */ double LC[ 4 ];
  449. } u;
  450. } DXVEC;
  451. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0252_v0_0_c_ifspec;
  452. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0252_v0_0_s_ifspec;
  453. #ifndef __IDXTransformFactory_INTERFACE_DEFINED__
  454. #define __IDXTransformFactory_INTERFACE_DEFINED__
  455. /* interface IDXTransformFactory */
  456. /* [object][unique][helpstring][uuid] */
  457. EXTERN_C const IID IID_IDXTransformFactory;
  458. #if defined(__cplusplus) && !defined(CINTERFACE)
  459. MIDL_INTERFACE("6A950B2B-A971-11d1-81C8-0000F87557DB")
  460. IDXTransformFactory : public IServiceProvider
  461. {
  462. public:
  463. virtual HRESULT STDMETHODCALLTYPE SetService(
  464. /* [in] */ REFGUID guidService,
  465. /* [in] */ IUnknown __RPC_FAR *pUnkService,
  466. /* [in] */ BOOL bWeakReference) = 0;
  467. virtual HRESULT STDMETHODCALLTYPE CreateTransform(
  468. /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkInputs,
  469. /* [in] */ ULONG ulNumInputs,
  470. /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkOutputs,
  471. /* [in] */ ULONG ulNumOutputs,
  472. /* [in] */ IPropertyBag __RPC_FAR *pInitProps,
  473. /* [in] */ IErrorLog __RPC_FAR *pErrLog,
  474. /* [in] */ REFCLSID TransCLSID,
  475. /* [in] */ REFIID TransIID,
  476. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppTransform) = 0;
  477. virtual HRESULT STDMETHODCALLTYPE InitializeTransform(
  478. /* [in] */ IDXTransform __RPC_FAR *pTransform,
  479. /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkInputs,
  480. /* [in] */ ULONG ulNumInputs,
  481. /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkOutputs,
  482. /* [in] */ ULONG ulNumOutputs,
  483. /* [in] */ IPropertyBag __RPC_FAR *pInitProps,
  484. /* [in] */ IErrorLog __RPC_FAR *pErrLog) = 0;
  485. };
  486. #else /* C style interface */
  487. typedef struct IDXTransformFactoryVtbl
  488. {
  489. BEGIN_INTERFACE
  490. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  491. IDXTransformFactory __RPC_FAR * This,
  492. /* [in] */ REFIID riid,
  493. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  494. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  495. IDXTransformFactory __RPC_FAR * This);
  496. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  497. IDXTransformFactory __RPC_FAR * This);
  498. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryService )(
  499. IDXTransformFactory __RPC_FAR * This,
  500. /* [in] */ REFGUID guidService,
  501. /* [in] */ REFIID riid,
  502. /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  503. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetService )(
  504. IDXTransformFactory __RPC_FAR * This,
  505. /* [in] */ REFGUID guidService,
  506. /* [in] */ IUnknown __RPC_FAR *pUnkService,
  507. /* [in] */ BOOL bWeakReference);
  508. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateTransform )(
  509. IDXTransformFactory __RPC_FAR * This,
  510. /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkInputs,
  511. /* [in] */ ULONG ulNumInputs,
  512. /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkOutputs,
  513. /* [in] */ ULONG ulNumOutputs,
  514. /* [in] */ IPropertyBag __RPC_FAR *pInitProps,
  515. /* [in] */ IErrorLog __RPC_FAR *pErrLog,
  516. /* [in] */ REFCLSID TransCLSID,
  517. /* [in] */ REFIID TransIID,
  518. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppTransform);
  519. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitializeTransform )(
  520. IDXTransformFactory __RPC_FAR * This,
  521. /* [in] */ IDXTransform __RPC_FAR *pTransform,
  522. /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkInputs,
  523. /* [in] */ ULONG ulNumInputs,
  524. /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkOutputs,
  525. /* [in] */ ULONG ulNumOutputs,
  526. /* [in] */ IPropertyBag __RPC_FAR *pInitProps,
  527. /* [in] */ IErrorLog __RPC_FAR *pErrLog);
  528. END_INTERFACE
  529. } IDXTransformFactoryVtbl;
  530. interface IDXTransformFactory
  531. {
  532. CONST_VTBL struct IDXTransformFactoryVtbl __RPC_FAR *lpVtbl;
  533. };
  534. #ifdef COBJMACROS
  535. #define IDXTransformFactory_QueryInterface(This,riid,ppvObject) \
  536. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  537. #define IDXTransformFactory_AddRef(This) \
  538. (This)->lpVtbl -> AddRef(This)
  539. #define IDXTransformFactory_Release(This) \
  540. (This)->lpVtbl -> Release(This)
  541. #define IDXTransformFactory_QueryService(This,guidService,riid,ppvObject) \
  542. (This)->lpVtbl -> QueryService(This,guidService,riid,ppvObject)
  543. #define IDXTransformFactory_SetService(This,guidService,pUnkService,bWeakReference) \
  544. (This)->lpVtbl -> SetService(This,guidService,pUnkService,bWeakReference)
  545. #define IDXTransformFactory_CreateTransform(This,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,pInitProps,pErrLog,TransCLSID,TransIID,ppTransform) \
  546. (This)->lpVtbl -> CreateTransform(This,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,pInitProps,pErrLog,TransCLSID,TransIID,ppTransform)
  547. #define IDXTransformFactory_InitializeTransform(This,pTransform,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,pInitProps,pErrLog) \
  548. (This)->lpVtbl -> InitializeTransform(This,pTransform,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,pInitProps,pErrLog)
  549. #endif /* COBJMACROS */
  550. #endif /* C style interface */
  551. HRESULT STDMETHODCALLTYPE IDXTransformFactory_SetService_Proxy(
  552. IDXTransformFactory __RPC_FAR * This,
  553. /* [in] */ REFGUID guidService,
  554. /* [in] */ IUnknown __RPC_FAR *pUnkService,
  555. /* [in] */ BOOL bWeakReference);
  556. void __RPC_STUB IDXTransformFactory_SetService_Stub(
  557. IRpcStubBuffer *This,
  558. IRpcChannelBuffer *_pRpcChannelBuffer,
  559. PRPC_MESSAGE _pRpcMessage,
  560. DWORD *_pdwStubPhase);
  561. HRESULT STDMETHODCALLTYPE IDXTransformFactory_CreateTransform_Proxy(
  562. IDXTransformFactory __RPC_FAR * This,
  563. /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkInputs,
  564. /* [in] */ ULONG ulNumInputs,
  565. /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkOutputs,
  566. /* [in] */ ULONG ulNumOutputs,
  567. /* [in] */ IPropertyBag __RPC_FAR *pInitProps,
  568. /* [in] */ IErrorLog __RPC_FAR *pErrLog,
  569. /* [in] */ REFCLSID TransCLSID,
  570. /* [in] */ REFIID TransIID,
  571. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppTransform);
  572. void __RPC_STUB IDXTransformFactory_CreateTransform_Stub(
  573. IRpcStubBuffer *This,
  574. IRpcChannelBuffer *_pRpcChannelBuffer,
  575. PRPC_MESSAGE _pRpcMessage,
  576. DWORD *_pdwStubPhase);
  577. HRESULT STDMETHODCALLTYPE IDXTransformFactory_InitializeTransform_Proxy(
  578. IDXTransformFactory __RPC_FAR * This,
  579. /* [in] */ IDXTransform __RPC_FAR *pTransform,
  580. /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkInputs,
  581. /* [in] */ ULONG ulNumInputs,
  582. /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkOutputs,
  583. /* [in] */ ULONG ulNumOutputs,
  584. /* [in] */ IPropertyBag __RPC_FAR *pInitProps,
  585. /* [in] */ IErrorLog __RPC_FAR *pErrLog);
  586. void __RPC_STUB IDXTransformFactory_InitializeTransform_Stub(
  587. IRpcStubBuffer *This,
  588. IRpcChannelBuffer *_pRpcChannelBuffer,
  589. PRPC_MESSAGE _pRpcMessage,
  590. DWORD *_pdwStubPhase);
  591. #endif /* __IDXTransformFactory_INTERFACE_DEFINED__ */
  592. /* interface __MIDL_itf_dxtrans_0253 */
  593. /* [local] */
  594. typedef
  595. enum DXTMISCFLAGS
  596. { DXTMF_BLEND_WITH_OUTPUT = 1L << 0,
  597. DXTMF_DITHER_OUTPUT = 1L << 1,
  598. DXTMF_OPTION_MASK = 0xffff,
  599. DXTMF_VALID_OPTIONS = DXTMF_BLEND_WITH_OUTPUT | DXTMF_DITHER_OUTPUT,
  600. DXTMF_BLEND_SUPPORTED = 1L << 16,
  601. DXTMF_DITHER_SUPPORTED = 1L << 17,
  602. DXTMF_INPLACE_OPERATION = 1L << 24,
  603. DXTMF_BOUNDS_SUPPORTED = 1L << 25,
  604. DXTMF_PLACEMENT_SUPPORTED = 1L << 26,
  605. DXTMF_QUALITY_SUPPORTED = 1L << 27,
  606. DXTMF_OPAQUE_RESULT = 1L << 28
  607. } DXTMISCFLAGS;
  608. typedef
  609. enum DXINOUTINFOFLAGS
  610. { DXINOUTF_OPTIONAL = 1L << 0
  611. } DXINOUTINFOFLAGS;
  612. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0253_v0_0_c_ifspec;
  613. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0253_v0_0_s_ifspec;
  614. #ifndef __IDXTransform_INTERFACE_DEFINED__
  615. #define __IDXTransform_INTERFACE_DEFINED__
  616. /* interface IDXTransform */
  617. /* [object][unique][helpstring][uuid] */
  618. EXTERN_C const IID IID_IDXTransform;
  619. #if defined(__cplusplus) && !defined(CINTERFACE)
  620. MIDL_INTERFACE("30A5FB78-E11F-11d1-9064-00C04FD9189D")
  621. IDXTransform : public IDXBaseObject
  622. {
  623. public:
  624. virtual HRESULT STDMETHODCALLTYPE Setup(
  625. /* [size_is][in] */ IUnknown __RPC_FAR *const __RPC_FAR *punkInputs,
  626. /* [in] */ ULONG ulNumInputs,
  627. /* [size_is][in] */ IUnknown __RPC_FAR *const __RPC_FAR *punkOutputs,
  628. /* [in] */ ULONG ulNumOutputs,
  629. /* [in] */ DWORD dwFlags) = 0;
  630. virtual HRESULT STDMETHODCALLTYPE Execute(
  631. /* [in] */ const GUID __RPC_FAR *pRequestID,
  632. /* [in] */ const DXBNDS __RPC_FAR *pClipBnds,
  633. /* [in] */ const DXVEC __RPC_FAR *pPlacement) = 0;
  634. virtual HRESULT STDMETHODCALLTYPE MapBoundsIn2Out(
  635. /* [in] */ const DXBNDS __RPC_FAR *pInBounds,
  636. /* [in] */ ULONG ulNumInBnds,
  637. /* [in] */ ULONG ulOutIndex,
  638. /* [out] */ DXBNDS __RPC_FAR *pOutBounds) = 0;
  639. virtual HRESULT STDMETHODCALLTYPE MapBoundsOut2In(
  640. /* [in] */ ULONG ulOutIndex,
  641. /* [in] */ const DXBNDS __RPC_FAR *pOutBounds,
  642. /* [in] */ ULONG ulInIndex,
  643. /* [out] */ DXBNDS __RPC_FAR *pInBounds) = 0;
  644. virtual HRESULT STDMETHODCALLTYPE SetMiscFlags(
  645. /* [in] */ DWORD dwMiscFlags) = 0;
  646. virtual HRESULT STDMETHODCALLTYPE GetMiscFlags(
  647. /* [out] */ DWORD __RPC_FAR *pdwMiscFlags) = 0;
  648. virtual HRESULT STDMETHODCALLTYPE GetInOutInfo(
  649. /* [in] */ BOOL bIsOutput,
  650. /* [in] */ ULONG ulIndex,
  651. /* [out] */ DWORD __RPC_FAR *pdwFlags,
  652. /* [size_is][out] */ GUID __RPC_FAR *pIDs,
  653. /* [out][in] */ ULONG __RPC_FAR *pcIDs,
  654. /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnkCurrentObject) = 0;
  655. virtual HRESULT STDMETHODCALLTYPE SetQuality(
  656. /* [in] */ float fQuality) = 0;
  657. virtual HRESULT STDMETHODCALLTYPE GetQuality(
  658. /* [out] */ float __RPC_FAR *fQuality) = 0;
  659. };
  660. #else /* C style interface */
  661. typedef struct IDXTransformVtbl
  662. {
  663. BEGIN_INTERFACE
  664. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  665. IDXTransform __RPC_FAR * This,
  666. /* [in] */ REFIID riid,
  667. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  668. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  669. IDXTransform __RPC_FAR * This);
  670. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  671. IDXTransform __RPC_FAR * This);
  672. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetGenerationId )(
  673. IDXTransform __RPC_FAR * This,
  674. /* [out] */ ULONG __RPC_FAR *pID);
  675. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IncrementGenerationId )(
  676. IDXTransform __RPC_FAR * This,
  677. /* [in] */ BOOL bRefresh);
  678. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectSize )(
  679. IDXTransform __RPC_FAR * This,
  680. /* [out] */ ULONG __RPC_FAR *pcbSize);
  681. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Setup )(
  682. IDXTransform __RPC_FAR * This,
  683. /* [size_is][in] */ IUnknown __RPC_FAR *const __RPC_FAR *punkInputs,
  684. /* [in] */ ULONG ulNumInputs,
  685. /* [size_is][in] */ IUnknown __RPC_FAR *const __RPC_FAR *punkOutputs,
  686. /* [in] */ ULONG ulNumOutputs,
  687. /* [in] */ DWORD dwFlags);
  688. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Execute )(
  689. IDXTransform __RPC_FAR * This,
  690. /* [in] */ const GUID __RPC_FAR *pRequestID,
  691. /* [in] */ const DXBNDS __RPC_FAR *pClipBnds,
  692. /* [in] */ const DXVEC __RPC_FAR *pPlacement);
  693. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MapBoundsIn2Out )(
  694. IDXTransform __RPC_FAR * This,
  695. /* [in] */ const DXBNDS __RPC_FAR *pInBounds,
  696. /* [in] */ ULONG ulNumInBnds,
  697. /* [in] */ ULONG ulOutIndex,
  698. /* [out] */ DXBNDS __RPC_FAR *pOutBounds);
  699. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MapBoundsOut2In )(
  700. IDXTransform __RPC_FAR * This,
  701. /* [in] */ ULONG ulOutIndex,
  702. /* [in] */ const DXBNDS __RPC_FAR *pOutBounds,
  703. /* [in] */ ULONG ulInIndex,
  704. /* [out] */ DXBNDS __RPC_FAR *pInBounds);
  705. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMiscFlags )(
  706. IDXTransform __RPC_FAR * This,
  707. /* [in] */ DWORD dwMiscFlags);
  708. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMiscFlags )(
  709. IDXTransform __RPC_FAR * This,
  710. /* [out] */ DWORD __RPC_FAR *pdwMiscFlags);
  711. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInOutInfo )(
  712. IDXTransform __RPC_FAR * This,
  713. /* [in] */ BOOL bIsOutput,
  714. /* [in] */ ULONG ulIndex,
  715. /* [out] */ DWORD __RPC_FAR *pdwFlags,
  716. /* [size_is][out] */ GUID __RPC_FAR *pIDs,
  717. /* [out][in] */ ULONG __RPC_FAR *pcIDs,
  718. /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnkCurrentObject);
  719. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetQuality )(
  720. IDXTransform __RPC_FAR * This,
  721. /* [in] */ float fQuality);
  722. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetQuality )(
  723. IDXTransform __RPC_FAR * This,
  724. /* [out] */ float __RPC_FAR *fQuality);
  725. END_INTERFACE
  726. } IDXTransformVtbl;
  727. interface IDXTransform
  728. {
  729. CONST_VTBL struct IDXTransformVtbl __RPC_FAR *lpVtbl;
  730. };
  731. #ifdef COBJMACROS
  732. #define IDXTransform_QueryInterface(This,riid,ppvObject) \
  733. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  734. #define IDXTransform_AddRef(This) \
  735. (This)->lpVtbl -> AddRef(This)
  736. #define IDXTransform_Release(This) \
  737. (This)->lpVtbl -> Release(This)
  738. #define IDXTransform_GetGenerationId(This,pID) \
  739. (This)->lpVtbl -> GetGenerationId(This,pID)
  740. #define IDXTransform_IncrementGenerationId(This,bRefresh) \
  741. (This)->lpVtbl -> IncrementGenerationId(This,bRefresh)
  742. #define IDXTransform_GetObjectSize(This,pcbSize) \
  743. (This)->lpVtbl -> GetObjectSize(This,pcbSize)
  744. #define IDXTransform_Setup(This,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,dwFlags) \
  745. (This)->lpVtbl -> Setup(This,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,dwFlags)
  746. #define IDXTransform_Execute(This,pRequestID,pClipBnds,pPlacement) \
  747. (This)->lpVtbl -> Execute(This,pRequestID,pClipBnds,pPlacement)
  748. #define IDXTransform_MapBoundsIn2Out(This,pInBounds,ulNumInBnds,ulOutIndex,pOutBounds) \
  749. (This)->lpVtbl -> MapBoundsIn2Out(This,pInBounds,ulNumInBnds,ulOutIndex,pOutBounds)
  750. #define IDXTransform_MapBoundsOut2In(This,ulOutIndex,pOutBounds,ulInIndex,pInBounds) \
  751. (This)->lpVtbl -> MapBoundsOut2In(This,ulOutIndex,pOutBounds,ulInIndex,pInBounds)
  752. #define IDXTransform_SetMiscFlags(This,dwMiscFlags) \
  753. (This)->lpVtbl -> SetMiscFlags(This,dwMiscFlags)
  754. #define IDXTransform_GetMiscFlags(This,pdwMiscFlags) \
  755. (This)->lpVtbl -> GetMiscFlags(This,pdwMiscFlags)
  756. #define IDXTransform_GetInOutInfo(This,bIsOutput,ulIndex,pdwFlags,pIDs,pcIDs,ppUnkCurrentObject) \
  757. (This)->lpVtbl -> GetInOutInfo(This,bIsOutput,ulIndex,pdwFlags,pIDs,pcIDs,ppUnkCurrentObject)
  758. #define IDXTransform_SetQuality(This,fQuality) \
  759. (This)->lpVtbl -> SetQuality(This,fQuality)
  760. #define IDXTransform_GetQuality(This,fQuality) \
  761. (This)->lpVtbl -> GetQuality(This,fQuality)
  762. #endif /* COBJMACROS */
  763. #endif /* C style interface */
  764. HRESULT STDMETHODCALLTYPE IDXTransform_Setup_Proxy(
  765. IDXTransform __RPC_FAR * This,
  766. /* [size_is][in] */ IUnknown __RPC_FAR *const __RPC_FAR *punkInputs,
  767. /* [in] */ ULONG ulNumInputs,
  768. /* [size_is][in] */ IUnknown __RPC_FAR *const __RPC_FAR *punkOutputs,
  769. /* [in] */ ULONG ulNumOutputs,
  770. /* [in] */ DWORD dwFlags);
  771. void __RPC_STUB IDXTransform_Setup_Stub(
  772. IRpcStubBuffer *This,
  773. IRpcChannelBuffer *_pRpcChannelBuffer,
  774. PRPC_MESSAGE _pRpcMessage,
  775. DWORD *_pdwStubPhase);
  776. HRESULT STDMETHODCALLTYPE IDXTransform_Execute_Proxy(
  777. IDXTransform __RPC_FAR * This,
  778. /* [in] */ const GUID __RPC_FAR *pRequestID,
  779. /* [in] */ const DXBNDS __RPC_FAR *pClipBnds,
  780. /* [in] */ const DXVEC __RPC_FAR *pPlacement);
  781. void __RPC_STUB IDXTransform_Execute_Stub(
  782. IRpcStubBuffer *This,
  783. IRpcChannelBuffer *_pRpcChannelBuffer,
  784. PRPC_MESSAGE _pRpcMessage,
  785. DWORD *_pdwStubPhase);
  786. HRESULT STDMETHODCALLTYPE IDXTransform_MapBoundsIn2Out_Proxy(
  787. IDXTransform __RPC_FAR * This,
  788. /* [in] */ const DXBNDS __RPC_FAR *pInBounds,
  789. /* [in] */ ULONG ulNumInBnds,
  790. /* [in] */ ULONG ulOutIndex,
  791. /* [out] */ DXBNDS __RPC_FAR *pOutBounds);
  792. void __RPC_STUB IDXTransform_MapBoundsIn2Out_Stub(
  793. IRpcStubBuffer *This,
  794. IRpcChannelBuffer *_pRpcChannelBuffer,
  795. PRPC_MESSAGE _pRpcMessage,
  796. DWORD *_pdwStubPhase);
  797. HRESULT STDMETHODCALLTYPE IDXTransform_MapBoundsOut2In_Proxy(
  798. IDXTransform __RPC_FAR * This,
  799. /* [in] */ ULONG ulOutIndex,
  800. /* [in] */ const DXBNDS __RPC_FAR *pOutBounds,
  801. /* [in] */ ULONG ulInIndex,
  802. /* [out] */ DXBNDS __RPC_FAR *pInBounds);
  803. void __RPC_STUB IDXTransform_MapBoundsOut2In_Stub(
  804. IRpcStubBuffer *This,
  805. IRpcChannelBuffer *_pRpcChannelBuffer,
  806. PRPC_MESSAGE _pRpcMessage,
  807. DWORD *_pdwStubPhase);
  808. HRESULT STDMETHODCALLTYPE IDXTransform_SetMiscFlags_Proxy(
  809. IDXTransform __RPC_FAR * This,
  810. /* [in] */ DWORD dwMiscFlags);
  811. void __RPC_STUB IDXTransform_SetMiscFlags_Stub(
  812. IRpcStubBuffer *This,
  813. IRpcChannelBuffer *_pRpcChannelBuffer,
  814. PRPC_MESSAGE _pRpcMessage,
  815. DWORD *_pdwStubPhase);
  816. HRESULT STDMETHODCALLTYPE IDXTransform_GetMiscFlags_Proxy(
  817. IDXTransform __RPC_FAR * This,
  818. /* [out] */ DWORD __RPC_FAR *pdwMiscFlags);
  819. void __RPC_STUB IDXTransform_GetMiscFlags_Stub(
  820. IRpcStubBuffer *This,
  821. IRpcChannelBuffer *_pRpcChannelBuffer,
  822. PRPC_MESSAGE _pRpcMessage,
  823. DWORD *_pdwStubPhase);
  824. HRESULT STDMETHODCALLTYPE IDXTransform_GetInOutInfo_Proxy(
  825. IDXTransform __RPC_FAR * This,
  826. /* [in] */ BOOL bIsOutput,
  827. /* [in] */ ULONG ulIndex,
  828. /* [out] */ DWORD __RPC_FAR *pdwFlags,
  829. /* [size_is][out] */ GUID __RPC_FAR *pIDs,
  830. /* [out][in] */ ULONG __RPC_FAR *pcIDs,
  831. /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnkCurrentObject);
  832. void __RPC_STUB IDXTransform_GetInOutInfo_Stub(
  833. IRpcStubBuffer *This,
  834. IRpcChannelBuffer *_pRpcChannelBuffer,
  835. PRPC_MESSAGE _pRpcMessage,
  836. DWORD *_pdwStubPhase);
  837. HRESULT STDMETHODCALLTYPE IDXTransform_SetQuality_Proxy(
  838. IDXTransform __RPC_FAR * This,
  839. /* [in] */ float fQuality);
  840. void __RPC_STUB IDXTransform_SetQuality_Stub(
  841. IRpcStubBuffer *This,
  842. IRpcChannelBuffer *_pRpcChannelBuffer,
  843. PRPC_MESSAGE _pRpcMessage,
  844. DWORD *_pdwStubPhase);
  845. HRESULT STDMETHODCALLTYPE IDXTransform_GetQuality_Proxy(
  846. IDXTransform __RPC_FAR * This,
  847. /* [out] */ float __RPC_FAR *fQuality);
  848. void __RPC_STUB IDXTransform_GetQuality_Stub(
  849. IRpcStubBuffer *This,
  850. IRpcChannelBuffer *_pRpcChannelBuffer,
  851. PRPC_MESSAGE _pRpcMessage,
  852. DWORD *_pdwStubPhase);
  853. #endif /* __IDXTransform_INTERFACE_DEFINED__ */
  854. #ifndef __IDXSurfacePick_INTERFACE_DEFINED__
  855. #define __IDXSurfacePick_INTERFACE_DEFINED__
  856. /* interface IDXSurfacePick */
  857. /* [object][unique][helpstring][uuid] */
  858. EXTERN_C const IID IID_IDXSurfacePick;
  859. #if defined(__cplusplus) && !defined(CINTERFACE)
  860. MIDL_INTERFACE("30A5FB79-E11F-11d1-9064-00C04FD9189D")
  861. IDXSurfacePick : public IUnknown
  862. {
  863. public:
  864. virtual HRESULT STDMETHODCALLTYPE PointPick(
  865. /* [in] */ const DXVEC __RPC_FAR *pPoint,
  866. /* [out] */ ULONG __RPC_FAR *pulInputSurfaceIndex,
  867. /* [out] */ DXVEC __RPC_FAR *pInputPoint) = 0;
  868. };
  869. #else /* C style interface */
  870. typedef struct IDXSurfacePickVtbl
  871. {
  872. BEGIN_INTERFACE
  873. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  874. IDXSurfacePick __RPC_FAR * This,
  875. /* [in] */ REFIID riid,
  876. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  877. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  878. IDXSurfacePick __RPC_FAR * This);
  879. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  880. IDXSurfacePick __RPC_FAR * This);
  881. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PointPick )(
  882. IDXSurfacePick __RPC_FAR * This,
  883. /* [in] */ const DXVEC __RPC_FAR *pPoint,
  884. /* [out] */ ULONG __RPC_FAR *pulInputSurfaceIndex,
  885. /* [out] */ DXVEC __RPC_FAR *pInputPoint);
  886. END_INTERFACE
  887. } IDXSurfacePickVtbl;
  888. interface IDXSurfacePick
  889. {
  890. CONST_VTBL struct IDXSurfacePickVtbl __RPC_FAR *lpVtbl;
  891. };
  892. #ifdef COBJMACROS
  893. #define IDXSurfacePick_QueryInterface(This,riid,ppvObject) \
  894. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  895. #define IDXSurfacePick_AddRef(This) \
  896. (This)->lpVtbl -> AddRef(This)
  897. #define IDXSurfacePick_Release(This) \
  898. (This)->lpVtbl -> Release(This)
  899. #define IDXSurfacePick_PointPick(This,pPoint,pulInputSurfaceIndex,pInputPoint) \
  900. (This)->lpVtbl -> PointPick(This,pPoint,pulInputSurfaceIndex,pInputPoint)
  901. #endif /* COBJMACROS */
  902. #endif /* C style interface */
  903. HRESULT STDMETHODCALLTYPE IDXSurfacePick_PointPick_Proxy(
  904. IDXSurfacePick __RPC_FAR * This,
  905. /* [in] */ const DXVEC __RPC_FAR *pPoint,
  906. /* [out] */ ULONG __RPC_FAR *pulInputSurfaceIndex,
  907. /* [out] */ DXVEC __RPC_FAR *pInputPoint);
  908. void __RPC_STUB IDXSurfacePick_PointPick_Stub(
  909. IRpcStubBuffer *This,
  910. IRpcChannelBuffer *_pRpcChannelBuffer,
  911. PRPC_MESSAGE _pRpcMessage,
  912. DWORD *_pdwStubPhase);
  913. #endif /* __IDXSurfacePick_INTERFACE_DEFINED__ */
  914. #ifndef __IDXTBindHost_INTERFACE_DEFINED__
  915. #define __IDXTBindHost_INTERFACE_DEFINED__
  916. /* interface IDXTBindHost */
  917. /* [object][local][unique][helpstring][uuid] */
  918. EXTERN_C const IID IID_IDXTBindHost;
  919. #if defined(__cplusplus) && !defined(CINTERFACE)
  920. MIDL_INTERFACE("D26BCE55-E9DC-11d1-9066-00C04FD9189D")
  921. IDXTBindHost : public IUnknown
  922. {
  923. public:
  924. virtual HRESULT STDMETHODCALLTYPE SetBindHost(
  925. /* [in] */ IBindHost __RPC_FAR *pBindHost) = 0;
  926. };
  927. #else /* C style interface */
  928. typedef struct IDXTBindHostVtbl
  929. {
  930. BEGIN_INTERFACE
  931. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  932. IDXTBindHost __RPC_FAR * This,
  933. /* [in] */ REFIID riid,
  934. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  935. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  936. IDXTBindHost __RPC_FAR * This);
  937. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  938. IDXTBindHost __RPC_FAR * This);
  939. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBindHost )(
  940. IDXTBindHost __RPC_FAR * This,
  941. /* [in] */ IBindHost __RPC_FAR *pBindHost);
  942. END_INTERFACE
  943. } IDXTBindHostVtbl;
  944. interface IDXTBindHost
  945. {
  946. CONST_VTBL struct IDXTBindHostVtbl __RPC_FAR *lpVtbl;
  947. };
  948. #ifdef COBJMACROS
  949. #define IDXTBindHost_QueryInterface(This,riid,ppvObject) \
  950. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  951. #define IDXTBindHost_AddRef(This) \
  952. (This)->lpVtbl -> AddRef(This)
  953. #define IDXTBindHost_Release(This) \
  954. (This)->lpVtbl -> Release(This)
  955. #define IDXTBindHost_SetBindHost(This,pBindHost) \
  956. (This)->lpVtbl -> SetBindHost(This,pBindHost)
  957. #endif /* COBJMACROS */
  958. #endif /* C style interface */
  959. HRESULT STDMETHODCALLTYPE IDXTBindHost_SetBindHost_Proxy(
  960. IDXTBindHost __RPC_FAR * This,
  961. /* [in] */ IBindHost __RPC_FAR *pBindHost);
  962. void __RPC_STUB IDXTBindHost_SetBindHost_Stub(
  963. IRpcStubBuffer *This,
  964. IRpcChannelBuffer *_pRpcChannelBuffer,
  965. PRPC_MESSAGE _pRpcMessage,
  966. DWORD *_pdwStubPhase);
  967. #endif /* __IDXTBindHost_INTERFACE_DEFINED__ */
  968. /* interface __MIDL_itf_dxtrans_0256 */
  969. /* [local] */
  970. typedef void __stdcall __stdcall DXTASKPROC(
  971. void __RPC_FAR *pTaskData,
  972. BOOL __RPC_FAR *pbContinueProcessing);
  973. typedef DXTASKPROC __RPC_FAR *PFNDXTASKPROC;
  974. typedef void __stdcall __stdcall DXAPCPROC(
  975. DWORD dwData);
  976. typedef DXAPCPROC __RPC_FAR *PFNDXAPCPROC;
  977. #ifdef __cplusplus
  978. typedef struct DXTMTASKINFO
  979. {
  980. PFNDXTASKPROC pfnTaskProc; // Pointer to function to execute
  981. PVOID pTaskData; // Pointer to argument data
  982. PFNDXAPCPROC pfnCompletionAPC; // Pointer to completion APC proc
  983. DWORD dwCompletionData; // Pointer to APC proc data
  984. const GUID* pRequestID; // Used to identify groups of tasks
  985. } DXTMTASKINFO;
  986. #else
  987. typedef struct DXTMTASKINFO
  988. {
  989. PVOID pfnTaskProc;
  990. PVOID pTaskData;
  991. PVOID pfnCompletionAPC;
  992. DWORD dwCompletionData;
  993. const GUID __RPC_FAR *pRequestID;
  994. } DXTMTASKINFO;
  995. #endif
  996. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0256_v0_0_c_ifspec;
  997. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0256_v0_0_s_ifspec;
  998. #ifndef __IDXTaskManager_INTERFACE_DEFINED__
  999. #define __IDXTaskManager_INTERFACE_DEFINED__
  1000. /* interface IDXTaskManager */
  1001. /* [object][unique][helpstring][uuid][local] */
  1002. EXTERN_C const IID IID_IDXTaskManager;
  1003. #if defined(__cplusplus) && !defined(CINTERFACE)
  1004. MIDL_INTERFACE("254DBBC1-F922-11d0-883A-3C8B00C10000")
  1005. IDXTaskManager : public IUnknown
  1006. {
  1007. public:
  1008. virtual HRESULT STDMETHODCALLTYPE QueryNumProcessors(
  1009. /* [out] */ ULONG __RPC_FAR *pulNumProc) = 0;
  1010. virtual HRESULT STDMETHODCALLTYPE SetThreadPoolSize(
  1011. /* [in] */ ULONG ulNumThreads) = 0;
  1012. virtual HRESULT STDMETHODCALLTYPE GetThreadPoolSize(
  1013. /* [out] */ ULONG __RPC_FAR *pulNumThreads) = 0;
  1014. virtual HRESULT STDMETHODCALLTYPE SetConcurrencyLimit(
  1015. /* [in] */ ULONG ulNumThreads) = 0;
  1016. virtual HRESULT STDMETHODCALLTYPE GetConcurrencyLimit(
  1017. /* [out] */ ULONG __RPC_FAR *pulNumThreads) = 0;
  1018. virtual HRESULT STDMETHODCALLTYPE ScheduleTasks(
  1019. /* [in] */ DXTMTASKINFO __RPC_FAR TaskInfo[ ],
  1020. /* [in] */ HANDLE __RPC_FAR Events[ ],
  1021. /* [out] */ DWORD __RPC_FAR TaskIDs[ ],
  1022. /* [in] */ ULONG ulNumTasks,
  1023. /* [in] */ ULONG ulWaitPeriod) = 0;
  1024. virtual HRESULT STDMETHODCALLTYPE TerminateTasks(
  1025. /* [in] */ DWORD __RPC_FAR TaskIDs[ ],
  1026. /* [in] */ ULONG ulCount,
  1027. /* [in] */ ULONG ulTimeOut) = 0;
  1028. virtual HRESULT STDMETHODCALLTYPE TerminateRequest(
  1029. /* [in] */ REFIID RequestID,
  1030. /* [in] */ ULONG ulTimeOut) = 0;
  1031. };
  1032. #else /* C style interface */
  1033. typedef struct IDXTaskManagerVtbl
  1034. {
  1035. BEGIN_INTERFACE
  1036. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1037. IDXTaskManager __RPC_FAR * This,
  1038. /* [in] */ REFIID riid,
  1039. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1040. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1041. IDXTaskManager __RPC_FAR * This);
  1042. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1043. IDXTaskManager __RPC_FAR * This);
  1044. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryNumProcessors )(
  1045. IDXTaskManager __RPC_FAR * This,
  1046. /* [out] */ ULONG __RPC_FAR *pulNumProc);
  1047. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetThreadPoolSize )(
  1048. IDXTaskManager __RPC_FAR * This,
  1049. /* [in] */ ULONG ulNumThreads);
  1050. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetThreadPoolSize )(
  1051. IDXTaskManager __RPC_FAR * This,
  1052. /* [out] */ ULONG __RPC_FAR *pulNumThreads);
  1053. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetConcurrencyLimit )(
  1054. IDXTaskManager __RPC_FAR * This,
  1055. /* [in] */ ULONG ulNumThreads);
  1056. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetConcurrencyLimit )(
  1057. IDXTaskManager __RPC_FAR * This,
  1058. /* [out] */ ULONG __RPC_FAR *pulNumThreads);
  1059. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScheduleTasks )(
  1060. IDXTaskManager __RPC_FAR * This,
  1061. /* [in] */ DXTMTASKINFO __RPC_FAR TaskInfo[ ],
  1062. /* [in] */ HANDLE __RPC_FAR Events[ ],
  1063. /* [out] */ DWORD __RPC_FAR TaskIDs[ ],
  1064. /* [in] */ ULONG ulNumTasks,
  1065. /* [in] */ ULONG ulWaitPeriod);
  1066. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TerminateTasks )(
  1067. IDXTaskManager __RPC_FAR * This,
  1068. /* [in] */ DWORD __RPC_FAR TaskIDs[ ],
  1069. /* [in] */ ULONG ulCount,
  1070. /* [in] */ ULONG ulTimeOut);
  1071. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TerminateRequest )(
  1072. IDXTaskManager __RPC_FAR * This,
  1073. /* [in] */ REFIID RequestID,
  1074. /* [in] */ ULONG ulTimeOut);
  1075. END_INTERFACE
  1076. } IDXTaskManagerVtbl;
  1077. interface IDXTaskManager
  1078. {
  1079. CONST_VTBL struct IDXTaskManagerVtbl __RPC_FAR *lpVtbl;
  1080. };
  1081. #ifdef COBJMACROS
  1082. #define IDXTaskManager_QueryInterface(This,riid,ppvObject) \
  1083. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1084. #define IDXTaskManager_AddRef(This) \
  1085. (This)->lpVtbl -> AddRef(This)
  1086. #define IDXTaskManager_Release(This) \
  1087. (This)->lpVtbl -> Release(This)
  1088. #define IDXTaskManager_QueryNumProcessors(This,pulNumProc) \
  1089. (This)->lpVtbl -> QueryNumProcessors(This,pulNumProc)
  1090. #define IDXTaskManager_SetThreadPoolSize(This,ulNumThreads) \
  1091. (This)->lpVtbl -> SetThreadPoolSize(This,ulNumThreads)
  1092. #define IDXTaskManager_GetThreadPoolSize(This,pulNumThreads) \
  1093. (This)->lpVtbl -> GetThreadPoolSize(This,pulNumThreads)
  1094. #define IDXTaskManager_SetConcurrencyLimit(This,ulNumThreads) \
  1095. (This)->lpVtbl -> SetConcurrencyLimit(This,ulNumThreads)
  1096. #define IDXTaskManager_GetConcurrencyLimit(This,pulNumThreads) \
  1097. (This)->lpVtbl -> GetConcurrencyLimit(This,pulNumThreads)
  1098. #define IDXTaskManager_ScheduleTasks(This,TaskInfo,Events,TaskIDs,ulNumTasks,ulWaitPeriod) \
  1099. (This)->lpVtbl -> ScheduleTasks(This,TaskInfo,Events,TaskIDs,ulNumTasks,ulWaitPeriod)
  1100. #define IDXTaskManager_TerminateTasks(This,TaskIDs,ulCount,ulTimeOut) \
  1101. (This)->lpVtbl -> TerminateTasks(This,TaskIDs,ulCount,ulTimeOut)
  1102. #define IDXTaskManager_TerminateRequest(This,RequestID,ulTimeOut) \
  1103. (This)->lpVtbl -> TerminateRequest(This,RequestID,ulTimeOut)
  1104. #endif /* COBJMACROS */
  1105. #endif /* C style interface */
  1106. HRESULT STDMETHODCALLTYPE IDXTaskManager_QueryNumProcessors_Proxy(
  1107. IDXTaskManager __RPC_FAR * This,
  1108. /* [out] */ ULONG __RPC_FAR *pulNumProc);
  1109. void __RPC_STUB IDXTaskManager_QueryNumProcessors_Stub(
  1110. IRpcStubBuffer *This,
  1111. IRpcChannelBuffer *_pRpcChannelBuffer,
  1112. PRPC_MESSAGE _pRpcMessage,
  1113. DWORD *_pdwStubPhase);
  1114. HRESULT STDMETHODCALLTYPE IDXTaskManager_SetThreadPoolSize_Proxy(
  1115. IDXTaskManager __RPC_FAR * This,
  1116. /* [in] */ ULONG ulNumThreads);
  1117. void __RPC_STUB IDXTaskManager_SetThreadPoolSize_Stub(
  1118. IRpcStubBuffer *This,
  1119. IRpcChannelBuffer *_pRpcChannelBuffer,
  1120. PRPC_MESSAGE _pRpcMessage,
  1121. DWORD *_pdwStubPhase);
  1122. HRESULT STDMETHODCALLTYPE IDXTaskManager_GetThreadPoolSize_Proxy(
  1123. IDXTaskManager __RPC_FAR * This,
  1124. /* [out] */ ULONG __RPC_FAR *pulNumThreads);
  1125. void __RPC_STUB IDXTaskManager_GetThreadPoolSize_Stub(
  1126. IRpcStubBuffer *This,
  1127. IRpcChannelBuffer *_pRpcChannelBuffer,
  1128. PRPC_MESSAGE _pRpcMessage,
  1129. DWORD *_pdwStubPhase);
  1130. HRESULT STDMETHODCALLTYPE IDXTaskManager_SetConcurrencyLimit_Proxy(
  1131. IDXTaskManager __RPC_FAR * This,
  1132. /* [in] */ ULONG ulNumThreads);
  1133. void __RPC_STUB IDXTaskManager_SetConcurrencyLimit_Stub(
  1134. IRpcStubBuffer *This,
  1135. IRpcChannelBuffer *_pRpcChannelBuffer,
  1136. PRPC_MESSAGE _pRpcMessage,
  1137. DWORD *_pdwStubPhase);
  1138. HRESULT STDMETHODCALLTYPE IDXTaskManager_GetConcurrencyLimit_Proxy(
  1139. IDXTaskManager __RPC_FAR * This,
  1140. /* [out] */ ULONG __RPC_FAR *pulNumThreads);
  1141. void __RPC_STUB IDXTaskManager_GetConcurrencyLimit_Stub(
  1142. IRpcStubBuffer *This,
  1143. IRpcChannelBuffer *_pRpcChannelBuffer,
  1144. PRPC_MESSAGE _pRpcMessage,
  1145. DWORD *_pdwStubPhase);
  1146. HRESULT STDMETHODCALLTYPE IDXTaskManager_ScheduleTasks_Proxy(
  1147. IDXTaskManager __RPC_FAR * This,
  1148. /* [in] */ DXTMTASKINFO __RPC_FAR TaskInfo[ ],
  1149. /* [in] */ HANDLE __RPC_FAR Events[ ],
  1150. /* [out] */ DWORD __RPC_FAR TaskIDs[ ],
  1151. /* [in] */ ULONG ulNumTasks,
  1152. /* [in] */ ULONG ulWaitPeriod);
  1153. void __RPC_STUB IDXTaskManager_ScheduleTasks_Stub(
  1154. IRpcStubBuffer *This,
  1155. IRpcChannelBuffer *_pRpcChannelBuffer,
  1156. PRPC_MESSAGE _pRpcMessage,
  1157. DWORD *_pdwStubPhase);
  1158. HRESULT STDMETHODCALLTYPE IDXTaskManager_TerminateTasks_Proxy(
  1159. IDXTaskManager __RPC_FAR * This,
  1160. /* [in] */ DWORD __RPC_FAR TaskIDs[ ],
  1161. /* [in] */ ULONG ulCount,
  1162. /* [in] */ ULONG ulTimeOut);
  1163. void __RPC_STUB IDXTaskManager_TerminateTasks_Stub(
  1164. IRpcStubBuffer *This,
  1165. IRpcChannelBuffer *_pRpcChannelBuffer,
  1166. PRPC_MESSAGE _pRpcMessage,
  1167. DWORD *_pdwStubPhase);
  1168. HRESULT STDMETHODCALLTYPE IDXTaskManager_TerminateRequest_Proxy(
  1169. IDXTaskManager __RPC_FAR * This,
  1170. /* [in] */ REFIID RequestID,
  1171. /* [in] */ ULONG ulTimeOut);
  1172. void __RPC_STUB IDXTaskManager_TerminateRequest_Stub(
  1173. IRpcStubBuffer *This,
  1174. IRpcChannelBuffer *_pRpcChannelBuffer,
  1175. PRPC_MESSAGE _pRpcMessage,
  1176. DWORD *_pdwStubPhase);
  1177. #endif /* __IDXTaskManager_INTERFACE_DEFINED__ */
  1178. /* interface __MIDL_itf_dxtrans_0257 */
  1179. /* [local] */
  1180. #ifdef __cplusplus
  1181. /////////////////////////////////////////////////////
  1182. class DXBASESAMPLE;
  1183. class DXSAMPLE;
  1184. class DXPMSAMPLE;
  1185. /////////////////////////////////////////////////////
  1186. class DXBASESAMPLE
  1187. {
  1188. public:
  1189. BYTE Blue;
  1190. BYTE Green;
  1191. BYTE Red;
  1192. BYTE Alpha;
  1193. DXBASESAMPLE() {}
  1194. DXBASESAMPLE(const BYTE alpha, const BYTE red, const BYTE green, const BYTE blue) :
  1195. Alpha(alpha),
  1196. Red(red),
  1197. Green(green),
  1198. Blue(blue) {}
  1199. DXBASESAMPLE(const DWORD val) { *this = (*(DXBASESAMPLE *)&val); }
  1200. operator DWORD () const {return *((DWORD *)this); }
  1201. DWORD operator=(const DWORD val) { return *this = *((DXBASESAMPLE *)&val); }
  1202. }; // DXBASESAMPLE
  1203. /////////////////////////////////////////////////////
  1204. class DXSAMPLE : public DXBASESAMPLE
  1205. {
  1206. public:
  1207. DXSAMPLE() {}
  1208. DXSAMPLE(const BYTE alpha, const BYTE red, const BYTE green, const BYTE blue) :
  1209. DXBASESAMPLE(alpha, red, green, blue) {}
  1210. DXSAMPLE(const DWORD val) { *this = (*(DXSAMPLE *)&val); }
  1211. operator DWORD () const {return *((DWORD *)this); }
  1212. DWORD operator=(const DWORD val) { return *this = *((DXSAMPLE *)&val); }
  1213. operator DXPMSAMPLE() const;
  1214. }; // DXSAMPLE
  1215. /////////////////////////////////////////////////////
  1216. class DXPMSAMPLE : public DXBASESAMPLE
  1217. {
  1218. public:
  1219. DXPMSAMPLE() {}
  1220. DXPMSAMPLE(const BYTE alpha, const BYTE red, const BYTE green, const BYTE blue) :
  1221. DXBASESAMPLE(alpha, red, green, blue) {}
  1222. DXPMSAMPLE(const DWORD val) { *this = (*(DXPMSAMPLE *)&val); }
  1223. operator DWORD () const {return *((DWORD *)this); }
  1224. DWORD operator=(const DWORD val) { return *this = *((DXPMSAMPLE *)&val); }
  1225. operator DXSAMPLE() const;
  1226. }; // DXPMSAMPLE
  1227. //
  1228. // The following cast operators are to prevent a direct assignment of a DXSAMPLE to a DXPMSAMPLE
  1229. //
  1230. inline DXSAMPLE::operator DXPMSAMPLE() const { return *((DXPMSAMPLE *)this); }
  1231. inline DXPMSAMPLE::operator DXSAMPLE() const { return *((DXSAMPLE *)this); }
  1232. #else // !__cplusplus
  1233. typedef struct DXBASESAMPLE
  1234. {
  1235. BYTE Blue;
  1236. BYTE Green;
  1237. BYTE Red;
  1238. BYTE Alpha;
  1239. } DXBASESAMPLE;
  1240. typedef struct DXSAMPLE
  1241. {
  1242. BYTE Blue;
  1243. BYTE Green;
  1244. BYTE Red;
  1245. BYTE Alpha;
  1246. } DXSAMPLE;
  1247. typedef struct DXPMSAMPLE
  1248. {
  1249. BYTE Blue;
  1250. BYTE Green;
  1251. BYTE Red;
  1252. BYTE Alpha;
  1253. } DXPMSAMPLE;
  1254. #endif // !__cplusplus
  1255. typedef
  1256. enum DXRUNTYPE
  1257. { DXRUNTYPE_CLEAR = 0,
  1258. DXRUNTYPE_OPAQUE = 1,
  1259. DXRUNTYPE_TRANS = 2,
  1260. DXRUNTYPE_UNKNOWN = 3
  1261. } DXRUNTYPE;
  1262. #define DX_MAX_RUN_INFO_COUNT ( 128 )
  1263. // Ignore the definition used by MIDL for TLB generation
  1264. #if 0
  1265. typedef struct DXRUNINFO
  1266. {
  1267. ULONG Bitfields;
  1268. } DXRUNINFO;
  1269. #endif // 0
  1270. typedef struct DXRUNINFO
  1271. {
  1272. ULONG Type : 2; // Type
  1273. ULONG Count : 30; // Number of samples in run
  1274. } DXRUNINFO;
  1275. typedef
  1276. enum DXSFCREATE
  1277. { DXSF_FORMAT_IS_CLSID = 1L << 0,
  1278. DXSF_NO_LAZY_DDRAW_LOCK = 1L << 1
  1279. } DXSFCREATE;
  1280. typedef
  1281. enum DXBLTOPTIONS
  1282. { DXBOF_DO_OVER = 1L << 0,
  1283. DXBOF_DITHER = 1L << 1
  1284. } DXBLTOPTIONS;
  1285. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0257_v0_0_c_ifspec;
  1286. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0257_v0_0_s_ifspec;
  1287. #ifndef __IDXSurfaceFactory_INTERFACE_DEFINED__
  1288. #define __IDXSurfaceFactory_INTERFACE_DEFINED__
  1289. /* interface IDXSurfaceFactory */
  1290. /* [object][unique][helpstring][uuid] */
  1291. EXTERN_C const IID IID_IDXSurfaceFactory;
  1292. #if defined(__cplusplus) && !defined(CINTERFACE)
  1293. MIDL_INTERFACE("144946F5-C4D4-11d1-81D1-0000F87557DB")
  1294. IDXSurfaceFactory : public IUnknown
  1295. {
  1296. public:
  1297. virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateSurface(
  1298. /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1299. /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1300. /* [in] */ const GUID __RPC_FAR *pFormatID,
  1301. /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  1302. /* [in] */ DWORD dwFlags,
  1303. /* [in] */ IUnknown __RPC_FAR *punkOuter,
  1304. /* [in] */ REFIID riid,
  1305. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface) = 0;
  1306. virtual HRESULT STDMETHODCALLTYPE CreateFromDDSurface(
  1307. /* [in] */ IUnknown __RPC_FAR *pDDrawSurface,
  1308. /* [in] */ const GUID __RPC_FAR *pFormatID,
  1309. /* [in] */ DWORD dwFlags,
  1310. /* [in] */ IUnknown __RPC_FAR *punkOuter,
  1311. /* [in] */ REFIID riid,
  1312. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface) = 0;
  1313. virtual /* [local] */ HRESULT STDMETHODCALLTYPE LoadImage(
  1314. /* [in] */ const LPWSTR pszFileName,
  1315. /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1316. /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1317. /* [in] */ const GUID __RPC_FAR *pFormatID,
  1318. /* [in] */ REFIID riid,
  1319. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface) = 0;
  1320. virtual /* [local] */ HRESULT STDMETHODCALLTYPE LoadImageFromStream(
  1321. /* [in] */ IStream __RPC_FAR *pStream,
  1322. /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1323. /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1324. /* [in] */ const GUID __RPC_FAR *pFormatID,
  1325. /* [in] */ REFIID riid,
  1326. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface) = 0;
  1327. virtual /* [local] */ HRESULT STDMETHODCALLTYPE CopySurfaceToNewFormat(
  1328. /* [in] */ IDXSurface __RPC_FAR *pSrc,
  1329. /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1330. /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1331. /* [in] */ const GUID __RPC_FAR *pDestFormatID,
  1332. /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppNewSurface) = 0;
  1333. virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateD3DRMTexture(
  1334. /* [in] */ IDXSurface __RPC_FAR *pSrc,
  1335. /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1336. /* [in] */ IUnknown __RPC_FAR *pD3DRM3,
  1337. /* [in] */ REFIID riid,
  1338. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppTexture3) = 0;
  1339. virtual HRESULT STDMETHODCALLTYPE BitBlt(
  1340. /* [in] */ IDXSurface __RPC_FAR *pDest,
  1341. /* [in] */ const DXVEC __RPC_FAR *pPlacement,
  1342. /* [in] */ IDXSurface __RPC_FAR *pSrc,
  1343. /* [in] */ const DXBNDS __RPC_FAR *pClipBounds,
  1344. /* [in] */ DWORD dwFlags) = 0;
  1345. };
  1346. #else /* C style interface */
  1347. typedef struct IDXSurfaceFactoryVtbl
  1348. {
  1349. BEGIN_INTERFACE
  1350. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1351. IDXSurfaceFactory __RPC_FAR * This,
  1352. /* [in] */ REFIID riid,
  1353. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1354. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1355. IDXSurfaceFactory __RPC_FAR * This);
  1356. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1357. IDXSurfaceFactory __RPC_FAR * This);
  1358. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateSurface )(
  1359. IDXSurfaceFactory __RPC_FAR * This,
  1360. /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1361. /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1362. /* [in] */ const GUID __RPC_FAR *pFormatID,
  1363. /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  1364. /* [in] */ DWORD dwFlags,
  1365. /* [in] */ IUnknown __RPC_FAR *punkOuter,
  1366. /* [in] */ REFIID riid,
  1367. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface);
  1368. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateFromDDSurface )(
  1369. IDXSurfaceFactory __RPC_FAR * This,
  1370. /* [in] */ IUnknown __RPC_FAR *pDDrawSurface,
  1371. /* [in] */ const GUID __RPC_FAR *pFormatID,
  1372. /* [in] */ DWORD dwFlags,
  1373. /* [in] */ IUnknown __RPC_FAR *punkOuter,
  1374. /* [in] */ REFIID riid,
  1375. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface);
  1376. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadImage )(
  1377. IDXSurfaceFactory __RPC_FAR * This,
  1378. /* [in] */ const LPWSTR pszFileName,
  1379. /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1380. /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1381. /* [in] */ const GUID __RPC_FAR *pFormatID,
  1382. /* [in] */ REFIID riid,
  1383. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface);
  1384. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadImageFromStream )(
  1385. IDXSurfaceFactory __RPC_FAR * This,
  1386. /* [in] */ IStream __RPC_FAR *pStream,
  1387. /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1388. /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1389. /* [in] */ const GUID __RPC_FAR *pFormatID,
  1390. /* [in] */ REFIID riid,
  1391. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface);
  1392. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopySurfaceToNewFormat )(
  1393. IDXSurfaceFactory __RPC_FAR * This,
  1394. /* [in] */ IDXSurface __RPC_FAR *pSrc,
  1395. /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1396. /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1397. /* [in] */ const GUID __RPC_FAR *pDestFormatID,
  1398. /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppNewSurface);
  1399. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateD3DRMTexture )(
  1400. IDXSurfaceFactory __RPC_FAR * This,
  1401. /* [in] */ IDXSurface __RPC_FAR *pSrc,
  1402. /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1403. /* [in] */ IUnknown __RPC_FAR *pD3DRM3,
  1404. /* [in] */ REFIID riid,
  1405. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppTexture3);
  1406. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BitBlt )(
  1407. IDXSurfaceFactory __RPC_FAR * This,
  1408. /* [in] */ IDXSurface __RPC_FAR *pDest,
  1409. /* [in] */ const DXVEC __RPC_FAR *pPlacement,
  1410. /* [in] */ IDXSurface __RPC_FAR *pSrc,
  1411. /* [in] */ const DXBNDS __RPC_FAR *pClipBounds,
  1412. /* [in] */ DWORD dwFlags);
  1413. END_INTERFACE
  1414. } IDXSurfaceFactoryVtbl;
  1415. interface IDXSurfaceFactory
  1416. {
  1417. CONST_VTBL struct IDXSurfaceFactoryVtbl __RPC_FAR *lpVtbl;
  1418. };
  1419. #ifdef COBJMACROS
  1420. #define IDXSurfaceFactory_QueryInterface(This,riid,ppvObject) \
  1421. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1422. #define IDXSurfaceFactory_AddRef(This) \
  1423. (This)->lpVtbl -> AddRef(This)
  1424. #define IDXSurfaceFactory_Release(This) \
  1425. (This)->lpVtbl -> Release(This)
  1426. #define IDXSurfaceFactory_CreateSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags,punkOuter,riid,ppDXSurface) \
  1427. (This)->lpVtbl -> CreateSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags,punkOuter,riid,ppDXSurface)
  1428. #define IDXSurfaceFactory_CreateFromDDSurface(This,pDDrawSurface,pFormatID,dwFlags,punkOuter,riid,ppDXSurface) \
  1429. (This)->lpVtbl -> CreateFromDDSurface(This,pDDrawSurface,pFormatID,dwFlags,punkOuter,riid,ppDXSurface)
  1430. #define IDXSurfaceFactory_LoadImage(This,pszFileName,pDirectDraw,pDDSurfaceDesc,pFormatID,riid,ppDXSurface) \
  1431. (This)->lpVtbl -> LoadImage(This,pszFileName,pDirectDraw,pDDSurfaceDesc,pFormatID,riid,ppDXSurface)
  1432. #define IDXSurfaceFactory_LoadImageFromStream(This,pStream,pDirectDraw,pDDSurfaceDesc,pFormatID,riid,ppDXSurface) \
  1433. (This)->lpVtbl -> LoadImageFromStream(This,pStream,pDirectDraw,pDDSurfaceDesc,pFormatID,riid,ppDXSurface)
  1434. #define IDXSurfaceFactory_CopySurfaceToNewFormat(This,pSrc,pDirectDraw,pDDSurfaceDesc,pDestFormatID,ppNewSurface) \
  1435. (This)->lpVtbl -> CopySurfaceToNewFormat(This,pSrc,pDirectDraw,pDDSurfaceDesc,pDestFormatID,ppNewSurface)
  1436. #define IDXSurfaceFactory_CreateD3DRMTexture(This,pSrc,pDirectDraw,pD3DRM3,riid,ppTexture3) \
  1437. (This)->lpVtbl -> CreateD3DRMTexture(This,pSrc,pDirectDraw,pD3DRM3,riid,ppTexture3)
  1438. #define IDXSurfaceFactory_BitBlt(This,pDest,pPlacement,pSrc,pClipBounds,dwFlags) \
  1439. (This)->lpVtbl -> BitBlt(This,pDest,pPlacement,pSrc,pClipBounds,dwFlags)
  1440. #endif /* COBJMACROS */
  1441. #endif /* C style interface */
  1442. /* [local] */ HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CreateSurface_Proxy(
  1443. IDXSurfaceFactory __RPC_FAR * This,
  1444. /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1445. /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1446. /* [in] */ const GUID __RPC_FAR *pFormatID,
  1447. /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  1448. /* [in] */ DWORD dwFlags,
  1449. /* [in] */ IUnknown __RPC_FAR *punkOuter,
  1450. /* [in] */ REFIID riid,
  1451. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface);
  1452. void __RPC_STUB IDXSurfaceFactory_CreateSurface_Stub(
  1453. IRpcStubBuffer *This,
  1454. IRpcChannelBuffer *_pRpcChannelBuffer,
  1455. PRPC_MESSAGE _pRpcMessage,
  1456. DWORD *_pdwStubPhase);
  1457. HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CreateFromDDSurface_Proxy(
  1458. IDXSurfaceFactory __RPC_FAR * This,
  1459. /* [in] */ IUnknown __RPC_FAR *pDDrawSurface,
  1460. /* [in] */ const GUID __RPC_FAR *pFormatID,
  1461. /* [in] */ DWORD dwFlags,
  1462. /* [in] */ IUnknown __RPC_FAR *punkOuter,
  1463. /* [in] */ REFIID riid,
  1464. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface);
  1465. void __RPC_STUB IDXSurfaceFactory_CreateFromDDSurface_Stub(
  1466. IRpcStubBuffer *This,
  1467. IRpcChannelBuffer *_pRpcChannelBuffer,
  1468. PRPC_MESSAGE _pRpcMessage,
  1469. DWORD *_pdwStubPhase);
  1470. /* [local] */ HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_LoadImage_Proxy(
  1471. IDXSurfaceFactory __RPC_FAR * This,
  1472. /* [in] */ const LPWSTR pszFileName,
  1473. /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1474. /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1475. /* [in] */ const GUID __RPC_FAR *pFormatID,
  1476. /* [in] */ REFIID riid,
  1477. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface);
  1478. void __RPC_STUB IDXSurfaceFactory_LoadImage_Stub(
  1479. IRpcStubBuffer *This,
  1480. IRpcChannelBuffer *_pRpcChannelBuffer,
  1481. PRPC_MESSAGE _pRpcMessage,
  1482. DWORD *_pdwStubPhase);
  1483. /* [local] */ HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_LoadImageFromStream_Proxy(
  1484. IDXSurfaceFactory __RPC_FAR * This,
  1485. /* [in] */ IStream __RPC_FAR *pStream,
  1486. /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1487. /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1488. /* [in] */ const GUID __RPC_FAR *pFormatID,
  1489. /* [in] */ REFIID riid,
  1490. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface);
  1491. void __RPC_STUB IDXSurfaceFactory_LoadImageFromStream_Stub(
  1492. IRpcStubBuffer *This,
  1493. IRpcChannelBuffer *_pRpcChannelBuffer,
  1494. PRPC_MESSAGE _pRpcMessage,
  1495. DWORD *_pdwStubPhase);
  1496. /* [local] */ HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CopySurfaceToNewFormat_Proxy(
  1497. IDXSurfaceFactory __RPC_FAR * This,
  1498. /* [in] */ IDXSurface __RPC_FAR *pSrc,
  1499. /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1500. /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1501. /* [in] */ const GUID __RPC_FAR *pDestFormatID,
  1502. /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppNewSurface);
  1503. void __RPC_STUB IDXSurfaceFactory_CopySurfaceToNewFormat_Stub(
  1504. IRpcStubBuffer *This,
  1505. IRpcChannelBuffer *_pRpcChannelBuffer,
  1506. PRPC_MESSAGE _pRpcMessage,
  1507. DWORD *_pdwStubPhase);
  1508. /* [local] */ HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CreateD3DRMTexture_Proxy(
  1509. IDXSurfaceFactory __RPC_FAR * This,
  1510. /* [in] */ IDXSurface __RPC_FAR *pSrc,
  1511. /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1512. /* [in] */ IUnknown __RPC_FAR *pD3DRM3,
  1513. /* [in] */ REFIID riid,
  1514. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppTexture3);
  1515. void __RPC_STUB IDXSurfaceFactory_CreateD3DRMTexture_Stub(
  1516. IRpcStubBuffer *This,
  1517. IRpcChannelBuffer *_pRpcChannelBuffer,
  1518. PRPC_MESSAGE _pRpcMessage,
  1519. DWORD *_pdwStubPhase);
  1520. HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_BitBlt_Proxy(
  1521. IDXSurfaceFactory __RPC_FAR * This,
  1522. /* [in] */ IDXSurface __RPC_FAR *pDest,
  1523. /* [in] */ const DXVEC __RPC_FAR *pPlacement,
  1524. /* [in] */ IDXSurface __RPC_FAR *pSrc,
  1525. /* [in] */ const DXBNDS __RPC_FAR *pClipBounds,
  1526. /* [in] */ DWORD dwFlags);
  1527. void __RPC_STUB IDXSurfaceFactory_BitBlt_Stub(
  1528. IRpcStubBuffer *This,
  1529. IRpcChannelBuffer *_pRpcChannelBuffer,
  1530. PRPC_MESSAGE _pRpcMessage,
  1531. DWORD *_pdwStubPhase);
  1532. #endif /* __IDXSurfaceFactory_INTERFACE_DEFINED__ */
  1533. /* interface __MIDL_itf_dxtrans_0258 */
  1534. /* [local] */
  1535. typedef
  1536. enum DXSURFMODCOMPOP
  1537. { DXSURFMOD_COMP_OVER = 0,
  1538. DXSURFMOD_COMP_ALPHA_MASK = 1,
  1539. DXSURFMOD_COMP_MAX_VALID = 1
  1540. } DXSURFMODCOMPOP;
  1541. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0258_v0_0_c_ifspec;
  1542. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0258_v0_0_s_ifspec;
  1543. #ifndef __IDXSurfaceModifier_INTERFACE_DEFINED__
  1544. #define __IDXSurfaceModifier_INTERFACE_DEFINED__
  1545. /* interface IDXSurfaceModifier */
  1546. /* [object][unique][helpstring][uuid] */
  1547. EXTERN_C const IID IID_IDXSurfaceModifier;
  1548. #if defined(__cplusplus) && !defined(CINTERFACE)
  1549. MIDL_INTERFACE("9EA3B637-C37D-11d1-905E-00C04FD9189D")
  1550. IDXSurfaceModifier : public IUnknown
  1551. {
  1552. public:
  1553. virtual HRESULT STDMETHODCALLTYPE SetFillColor(
  1554. /* [in] */ DXSAMPLE Color) = 0;
  1555. virtual HRESULT STDMETHODCALLTYPE GetFillColor(
  1556. /* [out] */ DXSAMPLE __RPC_FAR *pColor) = 0;
  1557. virtual HRESULT STDMETHODCALLTYPE SetBounds(
  1558. /* [in] */ const DXBNDS __RPC_FAR *pBounds) = 0;
  1559. virtual HRESULT STDMETHODCALLTYPE SetBackground(
  1560. /* [in] */ IDXSurface __RPC_FAR *pSurface) = 0;
  1561. virtual HRESULT STDMETHODCALLTYPE GetBackground(
  1562. /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppSurface) = 0;
  1563. virtual HRESULT STDMETHODCALLTYPE SetCompositeOperation(
  1564. /* [in] */ DXSURFMODCOMPOP CompOp) = 0;
  1565. virtual HRESULT STDMETHODCALLTYPE GetCompositeOperation(
  1566. /* [out] */ DXSURFMODCOMPOP __RPC_FAR *pCompOp) = 0;
  1567. virtual HRESULT STDMETHODCALLTYPE SetForeground(
  1568. /* [in] */ IDXSurface __RPC_FAR *pSurface,
  1569. /* [in] */ BOOL bTile,
  1570. /* [in] */ const POINT __RPC_FAR *pOrigin) = 0;
  1571. virtual HRESULT STDMETHODCALLTYPE GetForeground(
  1572. /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppSurface,
  1573. /* [out] */ BOOL __RPC_FAR *pbTile,
  1574. /* [out] */ POINT __RPC_FAR *pOrigin) = 0;
  1575. virtual HRESULT STDMETHODCALLTYPE SetOpacity(
  1576. /* [in] */ float Opacity) = 0;
  1577. virtual HRESULT STDMETHODCALLTYPE GetOpacity(
  1578. /* [out] */ float __RPC_FAR *pOpacity) = 0;
  1579. virtual HRESULT STDMETHODCALLTYPE SetLookup(
  1580. /* [in] */ IDXLookupTable __RPC_FAR *pLookupTable) = 0;
  1581. virtual HRESULT STDMETHODCALLTYPE GetLookup(
  1582. /* [out] */ IDXLookupTable __RPC_FAR *__RPC_FAR *ppLookupTable) = 0;
  1583. };
  1584. #else /* C style interface */
  1585. typedef struct IDXSurfaceModifierVtbl
  1586. {
  1587. BEGIN_INTERFACE
  1588. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1589. IDXSurfaceModifier __RPC_FAR * This,
  1590. /* [in] */ REFIID riid,
  1591. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1592. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1593. IDXSurfaceModifier __RPC_FAR * This);
  1594. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1595. IDXSurfaceModifier __RPC_FAR * This);
  1596. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFillColor )(
  1597. IDXSurfaceModifier __RPC_FAR * This,
  1598. /* [in] */ DXSAMPLE Color);
  1599. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFillColor )(
  1600. IDXSurfaceModifier __RPC_FAR * This,
  1601. /* [out] */ DXSAMPLE __RPC_FAR *pColor);
  1602. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBounds )(
  1603. IDXSurfaceModifier __RPC_FAR * This,
  1604. /* [in] */ const DXBNDS __RPC_FAR *pBounds);
  1605. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBackground )(
  1606. IDXSurfaceModifier __RPC_FAR * This,
  1607. /* [in] */ IDXSurface __RPC_FAR *pSurface);
  1608. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBackground )(
  1609. IDXSurfaceModifier __RPC_FAR * This,
  1610. /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppSurface);
  1611. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCompositeOperation )(
  1612. IDXSurfaceModifier __RPC_FAR * This,
  1613. /* [in] */ DXSURFMODCOMPOP CompOp);
  1614. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCompositeOperation )(
  1615. IDXSurfaceModifier __RPC_FAR * This,
  1616. /* [out] */ DXSURFMODCOMPOP __RPC_FAR *pCompOp);
  1617. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetForeground )(
  1618. IDXSurfaceModifier __RPC_FAR * This,
  1619. /* [in] */ IDXSurface __RPC_FAR *pSurface,
  1620. /* [in] */ BOOL bTile,
  1621. /* [in] */ const POINT __RPC_FAR *pOrigin);
  1622. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetForeground )(
  1623. IDXSurfaceModifier __RPC_FAR * This,
  1624. /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppSurface,
  1625. /* [out] */ BOOL __RPC_FAR *pbTile,
  1626. /* [out] */ POINT __RPC_FAR *pOrigin);
  1627. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOpacity )(
  1628. IDXSurfaceModifier __RPC_FAR * This,
  1629. /* [in] */ float Opacity);
  1630. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOpacity )(
  1631. IDXSurfaceModifier __RPC_FAR * This,
  1632. /* [out] */ float __RPC_FAR *pOpacity);
  1633. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLookup )(
  1634. IDXSurfaceModifier __RPC_FAR * This,
  1635. /* [in] */ IDXLookupTable __RPC_FAR *pLookupTable);
  1636. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLookup )(
  1637. IDXSurfaceModifier __RPC_FAR * This,
  1638. /* [out] */ IDXLookupTable __RPC_FAR *__RPC_FAR *ppLookupTable);
  1639. END_INTERFACE
  1640. } IDXSurfaceModifierVtbl;
  1641. interface IDXSurfaceModifier
  1642. {
  1643. CONST_VTBL struct IDXSurfaceModifierVtbl __RPC_FAR *lpVtbl;
  1644. };
  1645. #ifdef COBJMACROS
  1646. #define IDXSurfaceModifier_QueryInterface(This,riid,ppvObject) \
  1647. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1648. #define IDXSurfaceModifier_AddRef(This) \
  1649. (This)->lpVtbl -> AddRef(This)
  1650. #define IDXSurfaceModifier_Release(This) \
  1651. (This)->lpVtbl -> Release(This)
  1652. #define IDXSurfaceModifier_SetFillColor(This,Color) \
  1653. (This)->lpVtbl -> SetFillColor(This,Color)
  1654. #define IDXSurfaceModifier_GetFillColor(This,pColor) \
  1655. (This)->lpVtbl -> GetFillColor(This,pColor)
  1656. #define IDXSurfaceModifier_SetBounds(This,pBounds) \
  1657. (This)->lpVtbl -> SetBounds(This,pBounds)
  1658. #define IDXSurfaceModifier_SetBackground(This,pSurface) \
  1659. (This)->lpVtbl -> SetBackground(This,pSurface)
  1660. #define IDXSurfaceModifier_GetBackground(This,ppSurface) \
  1661. (This)->lpVtbl -> GetBackground(This,ppSurface)
  1662. #define IDXSurfaceModifier_SetCompositeOperation(This,CompOp) \
  1663. (This)->lpVtbl -> SetCompositeOperation(This,CompOp)
  1664. #define IDXSurfaceModifier_GetCompositeOperation(This,pCompOp) \
  1665. (This)->lpVtbl -> GetCompositeOperation(This,pCompOp)
  1666. #define IDXSurfaceModifier_SetForeground(This,pSurface,bTile,pOrigin) \
  1667. (This)->lpVtbl -> SetForeground(This,pSurface,bTile,pOrigin)
  1668. #define IDXSurfaceModifier_GetForeground(This,ppSurface,pbTile,pOrigin) \
  1669. (This)->lpVtbl -> GetForeground(This,ppSurface,pbTile,pOrigin)
  1670. #define IDXSurfaceModifier_SetOpacity(This,Opacity) \
  1671. (This)->lpVtbl -> SetOpacity(This,Opacity)
  1672. #define IDXSurfaceModifier_GetOpacity(This,pOpacity) \
  1673. (This)->lpVtbl -> GetOpacity(This,pOpacity)
  1674. #define IDXSurfaceModifier_SetLookup(This,pLookupTable) \
  1675. (This)->lpVtbl -> SetLookup(This,pLookupTable)
  1676. #define IDXSurfaceModifier_GetLookup(This,ppLookupTable) \
  1677. (This)->lpVtbl -> GetLookup(This,ppLookupTable)
  1678. #endif /* COBJMACROS */
  1679. #endif /* C style interface */
  1680. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetFillColor_Proxy(
  1681. IDXSurfaceModifier __RPC_FAR * This,
  1682. /* [in] */ DXSAMPLE Color);
  1683. void __RPC_STUB IDXSurfaceModifier_SetFillColor_Stub(
  1684. IRpcStubBuffer *This,
  1685. IRpcChannelBuffer *_pRpcChannelBuffer,
  1686. PRPC_MESSAGE _pRpcMessage,
  1687. DWORD *_pdwStubPhase);
  1688. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetFillColor_Proxy(
  1689. IDXSurfaceModifier __RPC_FAR * This,
  1690. /* [out] */ DXSAMPLE __RPC_FAR *pColor);
  1691. void __RPC_STUB IDXSurfaceModifier_GetFillColor_Stub(
  1692. IRpcStubBuffer *This,
  1693. IRpcChannelBuffer *_pRpcChannelBuffer,
  1694. PRPC_MESSAGE _pRpcMessage,
  1695. DWORD *_pdwStubPhase);
  1696. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetBounds_Proxy(
  1697. IDXSurfaceModifier __RPC_FAR * This,
  1698. /* [in] */ const DXBNDS __RPC_FAR *pBounds);
  1699. void __RPC_STUB IDXSurfaceModifier_SetBounds_Stub(
  1700. IRpcStubBuffer *This,
  1701. IRpcChannelBuffer *_pRpcChannelBuffer,
  1702. PRPC_MESSAGE _pRpcMessage,
  1703. DWORD *_pdwStubPhase);
  1704. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetBackground_Proxy(
  1705. IDXSurfaceModifier __RPC_FAR * This,
  1706. /* [in] */ IDXSurface __RPC_FAR *pSurface);
  1707. void __RPC_STUB IDXSurfaceModifier_SetBackground_Stub(
  1708. IRpcStubBuffer *This,
  1709. IRpcChannelBuffer *_pRpcChannelBuffer,
  1710. PRPC_MESSAGE _pRpcMessage,
  1711. DWORD *_pdwStubPhase);
  1712. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetBackground_Proxy(
  1713. IDXSurfaceModifier __RPC_FAR * This,
  1714. /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppSurface);
  1715. void __RPC_STUB IDXSurfaceModifier_GetBackground_Stub(
  1716. IRpcStubBuffer *This,
  1717. IRpcChannelBuffer *_pRpcChannelBuffer,
  1718. PRPC_MESSAGE _pRpcMessage,
  1719. DWORD *_pdwStubPhase);
  1720. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetCompositeOperation_Proxy(
  1721. IDXSurfaceModifier __RPC_FAR * This,
  1722. /* [in] */ DXSURFMODCOMPOP CompOp);
  1723. void __RPC_STUB IDXSurfaceModifier_SetCompositeOperation_Stub(
  1724. IRpcStubBuffer *This,
  1725. IRpcChannelBuffer *_pRpcChannelBuffer,
  1726. PRPC_MESSAGE _pRpcMessage,
  1727. DWORD *_pdwStubPhase);
  1728. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetCompositeOperation_Proxy(
  1729. IDXSurfaceModifier __RPC_FAR * This,
  1730. /* [out] */ DXSURFMODCOMPOP __RPC_FAR *pCompOp);
  1731. void __RPC_STUB IDXSurfaceModifier_GetCompositeOperation_Stub(
  1732. IRpcStubBuffer *This,
  1733. IRpcChannelBuffer *_pRpcChannelBuffer,
  1734. PRPC_MESSAGE _pRpcMessage,
  1735. DWORD *_pdwStubPhase);
  1736. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetForeground_Proxy(
  1737. IDXSurfaceModifier __RPC_FAR * This,
  1738. /* [in] */ IDXSurface __RPC_FAR *pSurface,
  1739. /* [in] */ BOOL bTile,
  1740. /* [in] */ const POINT __RPC_FAR *pOrigin);
  1741. void __RPC_STUB IDXSurfaceModifier_SetForeground_Stub(
  1742. IRpcStubBuffer *This,
  1743. IRpcChannelBuffer *_pRpcChannelBuffer,
  1744. PRPC_MESSAGE _pRpcMessage,
  1745. DWORD *_pdwStubPhase);
  1746. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetForeground_Proxy(
  1747. IDXSurfaceModifier __RPC_FAR * This,
  1748. /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppSurface,
  1749. /* [out] */ BOOL __RPC_FAR *pbTile,
  1750. /* [out] */ POINT __RPC_FAR *pOrigin);
  1751. void __RPC_STUB IDXSurfaceModifier_GetForeground_Stub(
  1752. IRpcStubBuffer *This,
  1753. IRpcChannelBuffer *_pRpcChannelBuffer,
  1754. PRPC_MESSAGE _pRpcMessage,
  1755. DWORD *_pdwStubPhase);
  1756. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetOpacity_Proxy(
  1757. IDXSurfaceModifier __RPC_FAR * This,
  1758. /* [in] */ float Opacity);
  1759. void __RPC_STUB IDXSurfaceModifier_SetOpacity_Stub(
  1760. IRpcStubBuffer *This,
  1761. IRpcChannelBuffer *_pRpcChannelBuffer,
  1762. PRPC_MESSAGE _pRpcMessage,
  1763. DWORD *_pdwStubPhase);
  1764. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetOpacity_Proxy(
  1765. IDXSurfaceModifier __RPC_FAR * This,
  1766. /* [out] */ float __RPC_FAR *pOpacity);
  1767. void __RPC_STUB IDXSurfaceModifier_GetOpacity_Stub(
  1768. IRpcStubBuffer *This,
  1769. IRpcChannelBuffer *_pRpcChannelBuffer,
  1770. PRPC_MESSAGE _pRpcMessage,
  1771. DWORD *_pdwStubPhase);
  1772. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetLookup_Proxy(
  1773. IDXSurfaceModifier __RPC_FAR * This,
  1774. /* [in] */ IDXLookupTable __RPC_FAR *pLookupTable);
  1775. void __RPC_STUB IDXSurfaceModifier_SetLookup_Stub(
  1776. IRpcStubBuffer *This,
  1777. IRpcChannelBuffer *_pRpcChannelBuffer,
  1778. PRPC_MESSAGE _pRpcMessage,
  1779. DWORD *_pdwStubPhase);
  1780. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetLookup_Proxy(
  1781. IDXSurfaceModifier __RPC_FAR * This,
  1782. /* [out] */ IDXLookupTable __RPC_FAR *__RPC_FAR *ppLookupTable);
  1783. void __RPC_STUB IDXSurfaceModifier_GetLookup_Stub(
  1784. IRpcStubBuffer *This,
  1785. IRpcChannelBuffer *_pRpcChannelBuffer,
  1786. PRPC_MESSAGE _pRpcMessage,
  1787. DWORD *_pdwStubPhase);
  1788. #endif /* __IDXSurfaceModifier_INTERFACE_DEFINED__ */
  1789. /* interface __MIDL_itf_dxtrans_0259 */
  1790. /* [local] */
  1791. typedef
  1792. enum DXSAMPLEFORMATENUM
  1793. { DXPF_FLAGSMASK = 0xffff0000,
  1794. DXPF_NONPREMULT = 0x10000,
  1795. DXPF_TRANSPARENCY = 0x20000,
  1796. DXPF_TRANSLUCENCY = 0x40000,
  1797. DXPF_2BITERROR = 0x200000,
  1798. DXPF_3BITERROR = 0x300000,
  1799. DXPF_4BITERROR = 0x400000,
  1800. DXPF_5BITERROR = 0x500000,
  1801. DXPF_ERRORMASK = 0x700000,
  1802. DXPF_NONSTANDARD = 0,
  1803. DXPF_PMARGB32 = 1 | DXPF_TRANSPARENCY | DXPF_TRANSLUCENCY,
  1804. DXPF_ARGB32 = 2 | DXPF_NONPREMULT | DXPF_TRANSPARENCY | DXPF_TRANSLUCENCY,
  1805. DXPF_ARGB4444 = 3 | DXPF_NONPREMULT | DXPF_TRANSPARENCY | DXPF_TRANSLUCENCY | DXPF_4BITERROR,
  1806. DXPF_A8 = 4 | DXPF_TRANSPARENCY | DXPF_TRANSLUCENCY,
  1807. DXPF_RGB32 = 5,
  1808. DXPF_RGB24 = 6,
  1809. DXPF_RGB565 = 7 | DXPF_3BITERROR,
  1810. DXPF_RGB555 = 8 | DXPF_3BITERROR,
  1811. DXPF_RGB8 = 9 | DXPF_5BITERROR,
  1812. DXPF_ARGB1555 = 10 | DXPF_TRANSPARENCY | DXPF_3BITERROR,
  1813. DXPF_RGB32_CK = DXPF_RGB32 | DXPF_TRANSPARENCY,
  1814. DXPF_RGB24_CK = DXPF_RGB24 | DXPF_TRANSPARENCY,
  1815. DXPF_RGB555_CK = DXPF_RGB555 | DXPF_TRANSPARENCY,
  1816. DXPF_RGB565_CK = DXPF_RGB565 | DXPF_TRANSPARENCY,
  1817. DXPF_RGB8_CK = DXPF_RGB8 | DXPF_TRANSPARENCY
  1818. } DXSAMPLEFORMATENUM;
  1819. typedef
  1820. enum DXLOCKSURF
  1821. { DXLOCKF_READ = 0,
  1822. DXLOCKF_READWRITE = 1 << 0,
  1823. DXLOCKF_EXISTINGINFOONLY = 1 << 1,
  1824. DXLOCKF_WANTRUNINFO = 1 << 2,
  1825. DXLOCKF_NONPREMULT = 1 << 16,
  1826. DXLOCKF_VALIDFLAGS = DXLOCKF_READWRITE | DXLOCKF_EXISTINGINFOONLY | DXLOCKF_WANTRUNINFO | DXLOCKF_NONPREMULT
  1827. } DXLOCKSURF;
  1828. typedef
  1829. enum DXSURFSTATUS
  1830. { DXSURF_TRANSIENT = 1 << 0,
  1831. DXSURF_READONLY = 1 << 1,
  1832. DXSURF_VALIDFLAGS = DXSURF_TRANSIENT | DXSURF_READONLY
  1833. } DXSURFSTATUS;
  1834. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0259_v0_0_c_ifspec;
  1835. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0259_v0_0_s_ifspec;
  1836. #ifndef __IDXSurface_INTERFACE_DEFINED__
  1837. #define __IDXSurface_INTERFACE_DEFINED__
  1838. /* interface IDXSurface */
  1839. /* [object][unique][helpstring][uuid] */
  1840. EXTERN_C const IID IID_IDXSurface;
  1841. #if defined(__cplusplus) && !defined(CINTERFACE)
  1842. MIDL_INTERFACE("B39FD73F-E139-11d1-9065-00C04FD9189D")
  1843. IDXSurface : public IDXBaseObject
  1844. {
  1845. public:
  1846. virtual HRESULT STDMETHODCALLTYPE GetPixelFormat(
  1847. /* [out] */ GUID __RPC_FAR *pFormatID,
  1848. /* [out] */ DXSAMPLEFORMATENUM __RPC_FAR *pSampleFormatEnum) = 0;
  1849. virtual HRESULT STDMETHODCALLTYPE GetBounds(
  1850. /* [out] */ DXBNDS __RPC_FAR *pBounds) = 0;
  1851. virtual HRESULT STDMETHODCALLTYPE GetStatusFlags(
  1852. /* [out] */ DWORD __RPC_FAR *pdwStatusFlags) = 0;
  1853. virtual HRESULT STDMETHODCALLTYPE SetStatusFlags(
  1854. /* [in] */ DWORD dwStatusFlags) = 0;
  1855. virtual HRESULT STDMETHODCALLTYPE LockSurface(
  1856. /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  1857. /* [in] */ ULONG ulTimeOut,
  1858. /* [in] */ DWORD dwFlags,
  1859. /* [in] */ REFIID riid,
  1860. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppPointer,
  1861. /* [out] */ ULONG __RPC_FAR *pulGenerationId) = 0;
  1862. virtual HRESULT STDMETHODCALLTYPE GetDirectDrawSurface(
  1863. /* [in] */ REFIID riid,
  1864. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppSurface) = 0;
  1865. virtual HRESULT STDMETHODCALLTYPE GetColorKey(
  1866. DXSAMPLE __RPC_FAR *pColorKey) = 0;
  1867. virtual HRESULT STDMETHODCALLTYPE SetColorKey(
  1868. DXSAMPLE ColorKey) = 0;
  1869. virtual HRESULT STDMETHODCALLTYPE LockSurfaceDC(
  1870. /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  1871. /* [in] */ ULONG ulTimeOut,
  1872. /* [in] */ DWORD dwFlags,
  1873. /* [out] */ IDXDCLock __RPC_FAR *__RPC_FAR *ppDCLock) = 0;
  1874. virtual HRESULT STDMETHODCALLTYPE SetAppData(
  1875. DWORD dwAppData) = 0;
  1876. virtual HRESULT STDMETHODCALLTYPE GetAppData(
  1877. DWORD __RPC_FAR *pdwAppData) = 0;
  1878. };
  1879. #else /* C style interface */
  1880. typedef struct IDXSurfaceVtbl
  1881. {
  1882. BEGIN_INTERFACE
  1883. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1884. IDXSurface __RPC_FAR * This,
  1885. /* [in] */ REFIID riid,
  1886. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1887. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1888. IDXSurface __RPC_FAR * This);
  1889. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1890. IDXSurface __RPC_FAR * This);
  1891. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetGenerationId )(
  1892. IDXSurface __RPC_FAR * This,
  1893. /* [out] */ ULONG __RPC_FAR *pID);
  1894. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IncrementGenerationId )(
  1895. IDXSurface __RPC_FAR * This,
  1896. /* [in] */ BOOL bRefresh);
  1897. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectSize )(
  1898. IDXSurface __RPC_FAR * This,
  1899. /* [out] */ ULONG __RPC_FAR *pcbSize);
  1900. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPixelFormat )(
  1901. IDXSurface __RPC_FAR * This,
  1902. /* [out] */ GUID __RPC_FAR *pFormatID,
  1903. /* [out] */ DXSAMPLEFORMATENUM __RPC_FAR *pSampleFormatEnum);
  1904. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBounds )(
  1905. IDXSurface __RPC_FAR * This,
  1906. /* [out] */ DXBNDS __RPC_FAR *pBounds);
  1907. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatusFlags )(
  1908. IDXSurface __RPC_FAR * This,
  1909. /* [out] */ DWORD __RPC_FAR *pdwStatusFlags);
  1910. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetStatusFlags )(
  1911. IDXSurface __RPC_FAR * This,
  1912. /* [in] */ DWORD dwStatusFlags);
  1913. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockSurface )(
  1914. IDXSurface __RPC_FAR * This,
  1915. /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  1916. /* [in] */ ULONG ulTimeOut,
  1917. /* [in] */ DWORD dwFlags,
  1918. /* [in] */ REFIID riid,
  1919. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppPointer,
  1920. /* [out] */ ULONG __RPC_FAR *pulGenerationId);
  1921. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDirectDrawSurface )(
  1922. IDXSurface __RPC_FAR * This,
  1923. /* [in] */ REFIID riid,
  1924. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppSurface);
  1925. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetColorKey )(
  1926. IDXSurface __RPC_FAR * This,
  1927. DXSAMPLE __RPC_FAR *pColorKey);
  1928. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetColorKey )(
  1929. IDXSurface __RPC_FAR * This,
  1930. DXSAMPLE ColorKey);
  1931. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockSurfaceDC )(
  1932. IDXSurface __RPC_FAR * This,
  1933. /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  1934. /* [in] */ ULONG ulTimeOut,
  1935. /* [in] */ DWORD dwFlags,
  1936. /* [out] */ IDXDCLock __RPC_FAR *__RPC_FAR *ppDCLock);
  1937. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAppData )(
  1938. IDXSurface __RPC_FAR * This,
  1939. DWORD dwAppData);
  1940. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAppData )(
  1941. IDXSurface __RPC_FAR * This,
  1942. DWORD __RPC_FAR *pdwAppData);
  1943. END_INTERFACE
  1944. } IDXSurfaceVtbl;
  1945. interface IDXSurface
  1946. {
  1947. CONST_VTBL struct IDXSurfaceVtbl __RPC_FAR *lpVtbl;
  1948. };
  1949. #ifdef COBJMACROS
  1950. #define IDXSurface_QueryInterface(This,riid,ppvObject) \
  1951. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1952. #define IDXSurface_AddRef(This) \
  1953. (This)->lpVtbl -> AddRef(This)
  1954. #define IDXSurface_Release(This) \
  1955. (This)->lpVtbl -> Release(This)
  1956. #define IDXSurface_GetGenerationId(This,pID) \
  1957. (This)->lpVtbl -> GetGenerationId(This,pID)
  1958. #define IDXSurface_IncrementGenerationId(This,bRefresh) \
  1959. (This)->lpVtbl -> IncrementGenerationId(This,bRefresh)
  1960. #define IDXSurface_GetObjectSize(This,pcbSize) \
  1961. (This)->lpVtbl -> GetObjectSize(This,pcbSize)
  1962. #define IDXSurface_GetPixelFormat(This,pFormatID,pSampleFormatEnum) \
  1963. (This)->lpVtbl -> GetPixelFormat(This,pFormatID,pSampleFormatEnum)
  1964. #define IDXSurface_GetBounds(This,pBounds) \
  1965. (This)->lpVtbl -> GetBounds(This,pBounds)
  1966. #define IDXSurface_GetStatusFlags(This,pdwStatusFlags) \
  1967. (This)->lpVtbl -> GetStatusFlags(This,pdwStatusFlags)
  1968. #define IDXSurface_SetStatusFlags(This,dwStatusFlags) \
  1969. (This)->lpVtbl -> SetStatusFlags(This,dwStatusFlags)
  1970. #define IDXSurface_LockSurface(This,pBounds,ulTimeOut,dwFlags,riid,ppPointer,pulGenerationId) \
  1971. (This)->lpVtbl -> LockSurface(This,pBounds,ulTimeOut,dwFlags,riid,ppPointer,pulGenerationId)
  1972. #define IDXSurface_GetDirectDrawSurface(This,riid,ppSurface) \
  1973. (This)->lpVtbl -> GetDirectDrawSurface(This,riid,ppSurface)
  1974. #define IDXSurface_GetColorKey(This,pColorKey) \
  1975. (This)->lpVtbl -> GetColorKey(This,pColorKey)
  1976. #define IDXSurface_SetColorKey(This,ColorKey) \
  1977. (This)->lpVtbl -> SetColorKey(This,ColorKey)
  1978. #define IDXSurface_LockSurfaceDC(This,pBounds,ulTimeOut,dwFlags,ppDCLock) \
  1979. (This)->lpVtbl -> LockSurfaceDC(This,pBounds,ulTimeOut,dwFlags,ppDCLock)
  1980. #define IDXSurface_SetAppData(This,dwAppData) \
  1981. (This)->lpVtbl -> SetAppData(This,dwAppData)
  1982. #define IDXSurface_GetAppData(This,pdwAppData) \
  1983. (This)->lpVtbl -> GetAppData(This,pdwAppData)
  1984. #endif /* COBJMACROS */
  1985. #endif /* C style interface */
  1986. HRESULT STDMETHODCALLTYPE IDXSurface_GetPixelFormat_Proxy(
  1987. IDXSurface __RPC_FAR * This,
  1988. /* [out] */ GUID __RPC_FAR *pFormatID,
  1989. /* [out] */ DXSAMPLEFORMATENUM __RPC_FAR *pSampleFormatEnum);
  1990. void __RPC_STUB IDXSurface_GetPixelFormat_Stub(
  1991. IRpcStubBuffer *This,
  1992. IRpcChannelBuffer *_pRpcChannelBuffer,
  1993. PRPC_MESSAGE _pRpcMessage,
  1994. DWORD *_pdwStubPhase);
  1995. HRESULT STDMETHODCALLTYPE IDXSurface_GetBounds_Proxy(
  1996. IDXSurface __RPC_FAR * This,
  1997. /* [out] */ DXBNDS __RPC_FAR *pBounds);
  1998. void __RPC_STUB IDXSurface_GetBounds_Stub(
  1999. IRpcStubBuffer *This,
  2000. IRpcChannelBuffer *_pRpcChannelBuffer,
  2001. PRPC_MESSAGE _pRpcMessage,
  2002. DWORD *_pdwStubPhase);
  2003. HRESULT STDMETHODCALLTYPE IDXSurface_GetStatusFlags_Proxy(
  2004. IDXSurface __RPC_FAR * This,
  2005. /* [out] */ DWORD __RPC_FAR *pdwStatusFlags);
  2006. void __RPC_STUB IDXSurface_GetStatusFlags_Stub(
  2007. IRpcStubBuffer *This,
  2008. IRpcChannelBuffer *_pRpcChannelBuffer,
  2009. PRPC_MESSAGE _pRpcMessage,
  2010. DWORD *_pdwStubPhase);
  2011. HRESULT STDMETHODCALLTYPE IDXSurface_SetStatusFlags_Proxy(
  2012. IDXSurface __RPC_FAR * This,
  2013. /* [in] */ DWORD dwStatusFlags);
  2014. void __RPC_STUB IDXSurface_SetStatusFlags_Stub(
  2015. IRpcStubBuffer *This,
  2016. IRpcChannelBuffer *_pRpcChannelBuffer,
  2017. PRPC_MESSAGE _pRpcMessage,
  2018. DWORD *_pdwStubPhase);
  2019. HRESULT STDMETHODCALLTYPE IDXSurface_LockSurface_Proxy(
  2020. IDXSurface __RPC_FAR * This,
  2021. /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  2022. /* [in] */ ULONG ulTimeOut,
  2023. /* [in] */ DWORD dwFlags,
  2024. /* [in] */ REFIID riid,
  2025. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppPointer,
  2026. /* [out] */ ULONG __RPC_FAR *pulGenerationId);
  2027. void __RPC_STUB IDXSurface_LockSurface_Stub(
  2028. IRpcStubBuffer *This,
  2029. IRpcChannelBuffer *_pRpcChannelBuffer,
  2030. PRPC_MESSAGE _pRpcMessage,
  2031. DWORD *_pdwStubPhase);
  2032. HRESULT STDMETHODCALLTYPE IDXSurface_GetDirectDrawSurface_Proxy(
  2033. IDXSurface __RPC_FAR * This,
  2034. /* [in] */ REFIID riid,
  2035. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppSurface);
  2036. void __RPC_STUB IDXSurface_GetDirectDrawSurface_Stub(
  2037. IRpcStubBuffer *This,
  2038. IRpcChannelBuffer *_pRpcChannelBuffer,
  2039. PRPC_MESSAGE _pRpcMessage,
  2040. DWORD *_pdwStubPhase);
  2041. HRESULT STDMETHODCALLTYPE IDXSurface_GetColorKey_Proxy(
  2042. IDXSurface __RPC_FAR * This,
  2043. DXSAMPLE __RPC_FAR *pColorKey);
  2044. void __RPC_STUB IDXSurface_GetColorKey_Stub(
  2045. IRpcStubBuffer *This,
  2046. IRpcChannelBuffer *_pRpcChannelBuffer,
  2047. PRPC_MESSAGE _pRpcMessage,
  2048. DWORD *_pdwStubPhase);
  2049. HRESULT STDMETHODCALLTYPE IDXSurface_SetColorKey_Proxy(
  2050. IDXSurface __RPC_FAR * This,
  2051. DXSAMPLE ColorKey);
  2052. void __RPC_STUB IDXSurface_SetColorKey_Stub(
  2053. IRpcStubBuffer *This,
  2054. IRpcChannelBuffer *_pRpcChannelBuffer,
  2055. PRPC_MESSAGE _pRpcMessage,
  2056. DWORD *_pdwStubPhase);
  2057. HRESULT STDMETHODCALLTYPE IDXSurface_LockSurfaceDC_Proxy(
  2058. IDXSurface __RPC_FAR * This,
  2059. /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  2060. /* [in] */ ULONG ulTimeOut,
  2061. /* [in] */ DWORD dwFlags,
  2062. /* [out] */ IDXDCLock __RPC_FAR *__RPC_FAR *ppDCLock);
  2063. void __RPC_STUB IDXSurface_LockSurfaceDC_Stub(
  2064. IRpcStubBuffer *This,
  2065. IRpcChannelBuffer *_pRpcChannelBuffer,
  2066. PRPC_MESSAGE _pRpcMessage,
  2067. DWORD *_pdwStubPhase);
  2068. HRESULT STDMETHODCALLTYPE IDXSurface_SetAppData_Proxy(
  2069. IDXSurface __RPC_FAR * This,
  2070. DWORD dwAppData);
  2071. void __RPC_STUB IDXSurface_SetAppData_Stub(
  2072. IRpcStubBuffer *This,
  2073. IRpcChannelBuffer *_pRpcChannelBuffer,
  2074. PRPC_MESSAGE _pRpcMessage,
  2075. DWORD *_pdwStubPhase);
  2076. HRESULT STDMETHODCALLTYPE IDXSurface_GetAppData_Proxy(
  2077. IDXSurface __RPC_FAR * This,
  2078. DWORD __RPC_FAR *pdwAppData);
  2079. void __RPC_STUB IDXSurface_GetAppData_Stub(
  2080. IRpcStubBuffer *This,
  2081. IRpcChannelBuffer *_pRpcChannelBuffer,
  2082. PRPC_MESSAGE _pRpcMessage,
  2083. DWORD *_pdwStubPhase);
  2084. #endif /* __IDXSurface_INTERFACE_DEFINED__ */
  2085. #ifndef __IDXSurfaceInit_INTERFACE_DEFINED__
  2086. #define __IDXSurfaceInit_INTERFACE_DEFINED__
  2087. /* interface IDXSurfaceInit */
  2088. /* [object][local][unique][helpstring][uuid] */
  2089. EXTERN_C const IID IID_IDXSurfaceInit;
  2090. #if defined(__cplusplus) && !defined(CINTERFACE)
  2091. MIDL_INTERFACE("9EA3B639-C37D-11d1-905E-00C04FD9189D")
  2092. IDXSurfaceInit : public IUnknown
  2093. {
  2094. public:
  2095. virtual HRESULT STDMETHODCALLTYPE InitSurface(
  2096. /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  2097. /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  2098. /* [in] */ const GUID __RPC_FAR *pFormatID,
  2099. /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  2100. /* [in] */ DWORD dwFlags) = 0;
  2101. };
  2102. #else /* C style interface */
  2103. typedef struct IDXSurfaceInitVtbl
  2104. {
  2105. BEGIN_INTERFACE
  2106. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2107. IDXSurfaceInit __RPC_FAR * This,
  2108. /* [in] */ REFIID riid,
  2109. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2110. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2111. IDXSurfaceInit __RPC_FAR * This);
  2112. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2113. IDXSurfaceInit __RPC_FAR * This);
  2114. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitSurface )(
  2115. IDXSurfaceInit __RPC_FAR * This,
  2116. /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  2117. /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  2118. /* [in] */ const GUID __RPC_FAR *pFormatID,
  2119. /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  2120. /* [in] */ DWORD dwFlags);
  2121. END_INTERFACE
  2122. } IDXSurfaceInitVtbl;
  2123. interface IDXSurfaceInit
  2124. {
  2125. CONST_VTBL struct IDXSurfaceInitVtbl __RPC_FAR *lpVtbl;
  2126. };
  2127. #ifdef COBJMACROS
  2128. #define IDXSurfaceInit_QueryInterface(This,riid,ppvObject) \
  2129. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2130. #define IDXSurfaceInit_AddRef(This) \
  2131. (This)->lpVtbl -> AddRef(This)
  2132. #define IDXSurfaceInit_Release(This) \
  2133. (This)->lpVtbl -> Release(This)
  2134. #define IDXSurfaceInit_InitSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags) \
  2135. (This)->lpVtbl -> InitSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags)
  2136. #endif /* COBJMACROS */
  2137. #endif /* C style interface */
  2138. HRESULT STDMETHODCALLTYPE IDXSurfaceInit_InitSurface_Proxy(
  2139. IDXSurfaceInit __RPC_FAR * This,
  2140. /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  2141. /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  2142. /* [in] */ const GUID __RPC_FAR *pFormatID,
  2143. /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  2144. /* [in] */ DWORD dwFlags);
  2145. void __RPC_STUB IDXSurfaceInit_InitSurface_Stub(
  2146. IRpcStubBuffer *This,
  2147. IRpcChannelBuffer *_pRpcChannelBuffer,
  2148. PRPC_MESSAGE _pRpcMessage,
  2149. DWORD *_pdwStubPhase);
  2150. #endif /* __IDXSurfaceInit_INTERFACE_DEFINED__ */
  2151. #ifndef __IDXARGBSurfaceInit_INTERFACE_DEFINED__
  2152. #define __IDXARGBSurfaceInit_INTERFACE_DEFINED__
  2153. /* interface IDXARGBSurfaceInit */
  2154. /* [object][local][unique][helpstring][uuid] */
  2155. EXTERN_C const IID IID_IDXARGBSurfaceInit;
  2156. #if defined(__cplusplus) && !defined(CINTERFACE)
  2157. MIDL_INTERFACE("9EA3B63A-C37D-11d1-905E-00C04FD9189D")
  2158. IDXARGBSurfaceInit : public IDXSurfaceInit
  2159. {
  2160. public:
  2161. virtual HRESULT STDMETHODCALLTYPE InitFromDDSurface(
  2162. /* [in] */ IUnknown __RPC_FAR *pDDrawSurface,
  2163. /* [in] */ const GUID __RPC_FAR *pFormatID,
  2164. /* [in] */ DWORD dwFlags) = 0;
  2165. virtual HRESULT STDMETHODCALLTYPE InitFromRawSurface(
  2166. /* [in] */ IDXRawSurface __RPC_FAR *pRawSurface) = 0;
  2167. };
  2168. #else /* C style interface */
  2169. typedef struct IDXARGBSurfaceInitVtbl
  2170. {
  2171. BEGIN_INTERFACE
  2172. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2173. IDXARGBSurfaceInit __RPC_FAR * This,
  2174. /* [in] */ REFIID riid,
  2175. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2176. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2177. IDXARGBSurfaceInit __RPC_FAR * This);
  2178. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2179. IDXARGBSurfaceInit __RPC_FAR * This);
  2180. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitSurface )(
  2181. IDXARGBSurfaceInit __RPC_FAR * This,
  2182. /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  2183. /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  2184. /* [in] */ const GUID __RPC_FAR *pFormatID,
  2185. /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  2186. /* [in] */ DWORD dwFlags);
  2187. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitFromDDSurface )(
  2188. IDXARGBSurfaceInit __RPC_FAR * This,
  2189. /* [in] */ IUnknown __RPC_FAR *pDDrawSurface,
  2190. /* [in] */ const GUID __RPC_FAR *pFormatID,
  2191. /* [in] */ DWORD dwFlags);
  2192. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitFromRawSurface )(
  2193. IDXARGBSurfaceInit __RPC_FAR * This,
  2194. /* [in] */ IDXRawSurface __RPC_FAR *pRawSurface);
  2195. END_INTERFACE
  2196. } IDXARGBSurfaceInitVtbl;
  2197. interface IDXARGBSurfaceInit
  2198. {
  2199. CONST_VTBL struct IDXARGBSurfaceInitVtbl __RPC_FAR *lpVtbl;
  2200. };
  2201. #ifdef COBJMACROS
  2202. #define IDXARGBSurfaceInit_QueryInterface(This,riid,ppvObject) \
  2203. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2204. #define IDXARGBSurfaceInit_AddRef(This) \
  2205. (This)->lpVtbl -> AddRef(This)
  2206. #define IDXARGBSurfaceInit_Release(This) \
  2207. (This)->lpVtbl -> Release(This)
  2208. #define IDXARGBSurfaceInit_InitSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags) \
  2209. (This)->lpVtbl -> InitSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags)
  2210. #define IDXARGBSurfaceInit_InitFromDDSurface(This,pDDrawSurface,pFormatID,dwFlags) \
  2211. (This)->lpVtbl -> InitFromDDSurface(This,pDDrawSurface,pFormatID,dwFlags)
  2212. #define IDXARGBSurfaceInit_InitFromRawSurface(This,pRawSurface) \
  2213. (This)->lpVtbl -> InitFromRawSurface(This,pRawSurface)
  2214. #endif /* COBJMACROS */
  2215. #endif /* C style interface */
  2216. HRESULT STDMETHODCALLTYPE IDXARGBSurfaceInit_InitFromDDSurface_Proxy(
  2217. IDXARGBSurfaceInit __RPC_FAR * This,
  2218. /* [in] */ IUnknown __RPC_FAR *pDDrawSurface,
  2219. /* [in] */ const GUID __RPC_FAR *pFormatID,
  2220. /* [in] */ DWORD dwFlags);
  2221. void __RPC_STUB IDXARGBSurfaceInit_InitFromDDSurface_Stub(
  2222. IRpcStubBuffer *This,
  2223. IRpcChannelBuffer *_pRpcChannelBuffer,
  2224. PRPC_MESSAGE _pRpcMessage,
  2225. DWORD *_pdwStubPhase);
  2226. HRESULT STDMETHODCALLTYPE IDXARGBSurfaceInit_InitFromRawSurface_Proxy(
  2227. IDXARGBSurfaceInit __RPC_FAR * This,
  2228. /* [in] */ IDXRawSurface __RPC_FAR *pRawSurface);
  2229. void __RPC_STUB IDXARGBSurfaceInit_InitFromRawSurface_Stub(
  2230. IRpcStubBuffer *This,
  2231. IRpcChannelBuffer *_pRpcChannelBuffer,
  2232. PRPC_MESSAGE _pRpcMessage,
  2233. DWORD *_pdwStubPhase);
  2234. #endif /* __IDXARGBSurfaceInit_INTERFACE_DEFINED__ */
  2235. /* interface __MIDL_itf_dxtrans_0262 */
  2236. /* [local] */
  2237. typedef struct tagDXNATIVETYPEINFO
  2238. {
  2239. BYTE __RPC_FAR *pCurrentData;
  2240. BYTE __RPC_FAR *pFirstByte;
  2241. long lPitch;
  2242. DWORD dwColorKey;
  2243. } DXNATIVETYPEINFO;
  2244. typedef struct tagDXPACKEDRECTDESC
  2245. {
  2246. DXBASESAMPLE __RPC_FAR *pSamples;
  2247. BOOL bPremult;
  2248. RECT rect;
  2249. long lRowPadding;
  2250. } DXPACKEDRECTDESC;
  2251. typedef struct tagDXOVERSAMPLEDESC
  2252. {
  2253. POINT p;
  2254. DXPMSAMPLE Color;
  2255. } DXOVERSAMPLEDESC;
  2256. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0262_v0_0_c_ifspec;
  2257. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0262_v0_0_s_ifspec;
  2258. #ifndef __IDXARGBReadPtr_INTERFACE_DEFINED__
  2259. #define __IDXARGBReadPtr_INTERFACE_DEFINED__
  2260. /* interface IDXARGBReadPtr */
  2261. /* [object][local][unique][helpstring][uuid] */
  2262. EXTERN_C const IID IID_IDXARGBReadPtr;
  2263. #if defined(__cplusplus) && !defined(CINTERFACE)
  2264. MIDL_INTERFACE("EAAAC2D6-C290-11d1-905D-00C04FD9189D")
  2265. IDXARGBReadPtr : public IUnknown
  2266. {
  2267. public:
  2268. virtual HRESULT STDMETHODCALLTYPE GetSurface(
  2269. /* [in] */ REFIID riid,
  2270. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppSurface) = 0;
  2271. virtual DXSAMPLEFORMATENUM STDMETHODCALLTYPE GetNativeType(
  2272. /* [out] */ DXNATIVETYPEINFO __RPC_FAR *pInfo) = 0;
  2273. virtual void STDMETHODCALLTYPE Move(
  2274. /* [in] */ long cSamples) = 0;
  2275. virtual void STDMETHODCALLTYPE MoveToRow(
  2276. /* [in] */ ULONG y) = 0;
  2277. virtual void STDMETHODCALLTYPE MoveToXY(
  2278. /* [in] */ ULONG x,
  2279. /* [in] */ ULONG y) = 0;
  2280. virtual ULONG STDMETHODCALLTYPE MoveAndGetRunInfo(
  2281. /* [in] */ ULONG Row,
  2282. /* [out] */ const DXRUNINFO __RPC_FAR *__RPC_FAR *ppInfo) = 0;
  2283. virtual DXSAMPLE __RPC_FAR *STDMETHODCALLTYPE Unpack(
  2284. /* [in] */ DXSAMPLE __RPC_FAR *pSamples,
  2285. /* [in] */ ULONG cSamples,
  2286. /* [in] */ BOOL bMove) = 0;
  2287. virtual DXPMSAMPLE __RPC_FAR *STDMETHODCALLTYPE UnpackPremult(
  2288. /* [in] */ DXPMSAMPLE __RPC_FAR *pSamples,
  2289. /* [in] */ ULONG cSamples,
  2290. /* [in] */ BOOL bMove) = 0;
  2291. virtual void STDMETHODCALLTYPE UnpackRect(
  2292. /* [in] */ const DXPACKEDRECTDESC __RPC_FAR *pRectDesc) = 0;
  2293. };
  2294. #else /* C style interface */
  2295. typedef struct IDXARGBReadPtrVtbl
  2296. {
  2297. BEGIN_INTERFACE
  2298. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2299. IDXARGBReadPtr __RPC_FAR * This,
  2300. /* [in] */ REFIID riid,
  2301. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2302. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2303. IDXARGBReadPtr __RPC_FAR * This);
  2304. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2305. IDXARGBReadPtr __RPC_FAR * This);
  2306. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )(
  2307. IDXARGBReadPtr __RPC_FAR * This,
  2308. /* [in] */ REFIID riid,
  2309. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppSurface);
  2310. DXSAMPLEFORMATENUM ( STDMETHODCALLTYPE __RPC_FAR *GetNativeType )(
  2311. IDXARGBReadPtr __RPC_FAR * This,
  2312. /* [out] */ DXNATIVETYPEINFO __RPC_FAR *pInfo);
  2313. void ( STDMETHODCALLTYPE __RPC_FAR *Move )(
  2314. IDXARGBReadPtr __RPC_FAR * This,
  2315. /* [in] */ long cSamples);
  2316. void ( STDMETHODCALLTYPE __RPC_FAR *MoveToRow )(
  2317. IDXARGBReadPtr __RPC_FAR * This,
  2318. /* [in] */ ULONG y);
  2319. void ( STDMETHODCALLTYPE __RPC_FAR *MoveToXY )(
  2320. IDXARGBReadPtr __RPC_FAR * This,
  2321. /* [in] */ ULONG x,
  2322. /* [in] */ ULONG y);
  2323. ULONG ( STDMETHODCALLTYPE __RPC_FAR *MoveAndGetRunInfo )(
  2324. IDXARGBReadPtr __RPC_FAR * This,
  2325. /* [in] */ ULONG Row,
  2326. /* [out] */ const DXRUNINFO __RPC_FAR *__RPC_FAR *ppInfo);
  2327. DXSAMPLE __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *Unpack )(
  2328. IDXARGBReadPtr __RPC_FAR * This,
  2329. /* [in] */ DXSAMPLE __RPC_FAR *pSamples,
  2330. /* [in] */ ULONG cSamples,
  2331. /* [in] */ BOOL bMove);
  2332. DXPMSAMPLE __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *UnpackPremult )(
  2333. IDXARGBReadPtr __RPC_FAR * This,
  2334. /* [in] */ DXPMSAMPLE __RPC_FAR *pSamples,
  2335. /* [in] */ ULONG cSamples,
  2336. /* [in] */ BOOL bMove);
  2337. void ( STDMETHODCALLTYPE __RPC_FAR *UnpackRect )(
  2338. IDXARGBReadPtr __RPC_FAR * This,
  2339. /* [in] */ const DXPACKEDRECTDESC __RPC_FAR *pRectDesc);
  2340. END_INTERFACE
  2341. } IDXARGBReadPtrVtbl;
  2342. interface IDXARGBReadPtr
  2343. {
  2344. CONST_VTBL struct IDXARGBReadPtrVtbl __RPC_FAR *lpVtbl;
  2345. };
  2346. #ifdef COBJMACROS
  2347. #define IDXARGBReadPtr_QueryInterface(This,riid,ppvObject) \
  2348. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2349. #define IDXARGBReadPtr_AddRef(This) \
  2350. (This)->lpVtbl -> AddRef(This)
  2351. #define IDXARGBReadPtr_Release(This) \
  2352. (This)->lpVtbl -> Release(This)
  2353. #define IDXARGBReadPtr_GetSurface(This,riid,ppSurface) \
  2354. (This)->lpVtbl -> GetSurface(This,riid,ppSurface)
  2355. #define IDXARGBReadPtr_GetNativeType(This,pInfo) \
  2356. (This)->lpVtbl -> GetNativeType(This,pInfo)
  2357. #define IDXARGBReadPtr_Move(This,cSamples) \
  2358. (This)->lpVtbl -> Move(This,cSamples)
  2359. #define IDXARGBReadPtr_MoveToRow(This,y) \
  2360. (This)->lpVtbl -> MoveToRow(This,y)
  2361. #define IDXARGBReadPtr_MoveToXY(This,x,y) \
  2362. (This)->lpVtbl -> MoveToXY(This,x,y)
  2363. #define IDXARGBReadPtr_MoveAndGetRunInfo(This,Row,ppInfo) \
  2364. (This)->lpVtbl -> MoveAndGetRunInfo(This,Row,ppInfo)
  2365. #define IDXARGBReadPtr_Unpack(This,pSamples,cSamples,bMove) \
  2366. (This)->lpVtbl -> Unpack(This,pSamples,cSamples,bMove)
  2367. #define IDXARGBReadPtr_UnpackPremult(This,pSamples,cSamples,bMove) \
  2368. (This)->lpVtbl -> UnpackPremult(This,pSamples,cSamples,bMove)
  2369. #define IDXARGBReadPtr_UnpackRect(This,pRectDesc) \
  2370. (This)->lpVtbl -> UnpackRect(This,pRectDesc)
  2371. #endif /* COBJMACROS */
  2372. #endif /* C style interface */
  2373. HRESULT STDMETHODCALLTYPE IDXARGBReadPtr_GetSurface_Proxy(
  2374. IDXARGBReadPtr __RPC_FAR * This,
  2375. /* [in] */ REFIID riid,
  2376. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppSurface);
  2377. void __RPC_STUB IDXARGBReadPtr_GetSurface_Stub(
  2378. IRpcStubBuffer *This,
  2379. IRpcChannelBuffer *_pRpcChannelBuffer,
  2380. PRPC_MESSAGE _pRpcMessage,
  2381. DWORD *_pdwStubPhase);
  2382. DXSAMPLEFORMATENUM STDMETHODCALLTYPE IDXARGBReadPtr_GetNativeType_Proxy(
  2383. IDXARGBReadPtr __RPC_FAR * This,
  2384. /* [out] */ DXNATIVETYPEINFO __RPC_FAR *pInfo);
  2385. void __RPC_STUB IDXARGBReadPtr_GetNativeType_Stub(
  2386. IRpcStubBuffer *This,
  2387. IRpcChannelBuffer *_pRpcChannelBuffer,
  2388. PRPC_MESSAGE _pRpcMessage,
  2389. DWORD *_pdwStubPhase);
  2390. void STDMETHODCALLTYPE IDXARGBReadPtr_Move_Proxy(
  2391. IDXARGBReadPtr __RPC_FAR * This,
  2392. /* [in] */ long cSamples);
  2393. void __RPC_STUB IDXARGBReadPtr_Move_Stub(
  2394. IRpcStubBuffer *This,
  2395. IRpcChannelBuffer *_pRpcChannelBuffer,
  2396. PRPC_MESSAGE _pRpcMessage,
  2397. DWORD *_pdwStubPhase);
  2398. void STDMETHODCALLTYPE IDXARGBReadPtr_MoveToRow_Proxy(
  2399. IDXARGBReadPtr __RPC_FAR * This,
  2400. /* [in] */ ULONG y);
  2401. void __RPC_STUB IDXARGBReadPtr_MoveToRow_Stub(
  2402. IRpcStubBuffer *This,
  2403. IRpcChannelBuffer *_pRpcChannelBuffer,
  2404. PRPC_MESSAGE _pRpcMessage,
  2405. DWORD *_pdwStubPhase);
  2406. void STDMETHODCALLTYPE IDXARGBReadPtr_MoveToXY_Proxy(
  2407. IDXARGBReadPtr __RPC_FAR * This,
  2408. /* [in] */ ULONG x,
  2409. /* [in] */ ULONG y);
  2410. void __RPC_STUB IDXARGBReadPtr_MoveToXY_Stub(
  2411. IRpcStubBuffer *This,
  2412. IRpcChannelBuffer *_pRpcChannelBuffer,
  2413. PRPC_MESSAGE _pRpcMessage,
  2414. DWORD *_pdwStubPhase);
  2415. ULONG STDMETHODCALLTYPE IDXARGBReadPtr_MoveAndGetRunInfo_Proxy(
  2416. IDXARGBReadPtr __RPC_FAR * This,
  2417. /* [in] */ ULONG Row,
  2418. /* [out] */ const DXRUNINFO __RPC_FAR *__RPC_FAR *ppInfo);
  2419. void __RPC_STUB IDXARGBReadPtr_MoveAndGetRunInfo_Stub(
  2420. IRpcStubBuffer *This,
  2421. IRpcChannelBuffer *_pRpcChannelBuffer,
  2422. PRPC_MESSAGE _pRpcMessage,
  2423. DWORD *_pdwStubPhase);
  2424. DXSAMPLE __RPC_FAR *STDMETHODCALLTYPE IDXARGBReadPtr_Unpack_Proxy(
  2425. IDXARGBReadPtr __RPC_FAR * This,
  2426. /* [in] */ DXSAMPLE __RPC_FAR *pSamples,
  2427. /* [in] */ ULONG cSamples,
  2428. /* [in] */ BOOL bMove);
  2429. void __RPC_STUB IDXARGBReadPtr_Unpack_Stub(
  2430. IRpcStubBuffer *This,
  2431. IRpcChannelBuffer *_pRpcChannelBuffer,
  2432. PRPC_MESSAGE _pRpcMessage,
  2433. DWORD *_pdwStubPhase);
  2434. DXPMSAMPLE __RPC_FAR *STDMETHODCALLTYPE IDXARGBReadPtr_UnpackPremult_Proxy(
  2435. IDXARGBReadPtr __RPC_FAR * This,
  2436. /* [in] */ DXPMSAMPLE __RPC_FAR *pSamples,
  2437. /* [in] */ ULONG cSamples,
  2438. /* [in] */ BOOL bMove);
  2439. void __RPC_STUB IDXARGBReadPtr_UnpackPremult_Stub(
  2440. IRpcStubBuffer *This,
  2441. IRpcChannelBuffer *_pRpcChannelBuffer,
  2442. PRPC_MESSAGE _pRpcMessage,
  2443. DWORD *_pdwStubPhase);
  2444. void STDMETHODCALLTYPE IDXARGBReadPtr_UnpackRect_Proxy(
  2445. IDXARGBReadPtr __RPC_FAR * This,
  2446. /* [in] */ const DXPACKEDRECTDESC __RPC_FAR *pRectDesc);
  2447. void __RPC_STUB IDXARGBReadPtr_UnpackRect_Stub(
  2448. IRpcStubBuffer *This,
  2449. IRpcChannelBuffer *_pRpcChannelBuffer,
  2450. PRPC_MESSAGE _pRpcMessage,
  2451. DWORD *_pdwStubPhase);
  2452. #endif /* __IDXARGBReadPtr_INTERFACE_DEFINED__ */
  2453. #ifndef __IDXARGBReadWritePtr_INTERFACE_DEFINED__
  2454. #define __IDXARGBReadWritePtr_INTERFACE_DEFINED__
  2455. /* interface IDXARGBReadWritePtr */
  2456. /* [object][local][unique][helpstring][uuid] */
  2457. EXTERN_C const IID IID_IDXARGBReadWritePtr;
  2458. #if defined(__cplusplus) && !defined(CINTERFACE)
  2459. MIDL_INTERFACE("EAAAC2D7-C290-11d1-905D-00C04FD9189D")
  2460. IDXARGBReadWritePtr : public IDXARGBReadPtr
  2461. {
  2462. public:
  2463. virtual void STDMETHODCALLTYPE PackAndMove(
  2464. /* [in] */ const DXSAMPLE __RPC_FAR *pSamples,
  2465. /* [in] */ ULONG cSamples) = 0;
  2466. virtual void STDMETHODCALLTYPE PackPremultAndMove(
  2467. /* [in] */ const DXPMSAMPLE __RPC_FAR *pSamples,
  2468. /* [in] */ ULONG cSamples) = 0;
  2469. virtual void STDMETHODCALLTYPE PackRect(
  2470. /* [in] */ const DXPACKEDRECTDESC __RPC_FAR *pRectDesc) = 0;
  2471. virtual void STDMETHODCALLTYPE CopyAndMoveBoth(
  2472. /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  2473. /* [in] */ IDXARGBReadPtr __RPC_FAR *pSrc,
  2474. /* [in] */ ULONG cSamples,
  2475. /* [in] */ BOOL bIsOpaque) = 0;
  2476. virtual void STDMETHODCALLTYPE CopyRect(
  2477. /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  2478. /* [in] */ const RECT __RPC_FAR *pDestRect,
  2479. /* [in] */ IDXARGBReadPtr __RPC_FAR *pSrc,
  2480. /* [in] */ const POINT __RPC_FAR *pSrcOrigin,
  2481. /* [in] */ BOOL bIsOpaque) = 0;
  2482. virtual void STDMETHODCALLTYPE FillAndMove(
  2483. /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  2484. /* [in] */ DXPMSAMPLE SampVal,
  2485. /* [in] */ ULONG cSamples,
  2486. /* [in] */ BOOL bDoOver) = 0;
  2487. virtual void STDMETHODCALLTYPE FillRect(
  2488. /* [in] */ const RECT __RPC_FAR *pRect,
  2489. /* [in] */ DXPMSAMPLE SampVal,
  2490. /* [in] */ BOOL bDoOver) = 0;
  2491. virtual void STDMETHODCALLTYPE OverSample(
  2492. /* [in] */ const DXOVERSAMPLEDESC __RPC_FAR *pOverDesc) = 0;
  2493. virtual void STDMETHODCALLTYPE OverArrayAndMove(
  2494. /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  2495. /* [in] */ const DXPMSAMPLE __RPC_FAR *pSrc,
  2496. /* [in] */ ULONG cSamples) = 0;
  2497. };
  2498. #else /* C style interface */
  2499. typedef struct IDXARGBReadWritePtrVtbl
  2500. {
  2501. BEGIN_INTERFACE
  2502. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2503. IDXARGBReadWritePtr __RPC_FAR * This,
  2504. /* [in] */ REFIID riid,
  2505. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2506. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2507. IDXARGBReadWritePtr __RPC_FAR * This);
  2508. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2509. IDXARGBReadWritePtr __RPC_FAR * This);
  2510. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )(
  2511. IDXARGBReadWritePtr __RPC_FAR * This,
  2512. /* [in] */ REFIID riid,
  2513. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppSurface);
  2514. DXSAMPLEFORMATENUM ( STDMETHODCALLTYPE __RPC_FAR *GetNativeType )(
  2515. IDXARGBReadWritePtr __RPC_FAR * This,
  2516. /* [out] */ DXNATIVETYPEINFO __RPC_FAR *pInfo);
  2517. void ( STDMETHODCALLTYPE __RPC_FAR *Move )(
  2518. IDXARGBReadWritePtr __RPC_FAR * This,
  2519. /* [in] */ long cSamples);
  2520. void ( STDMETHODCALLTYPE __RPC_FAR *MoveToRow )(
  2521. IDXARGBReadWritePtr __RPC_FAR * This,
  2522. /* [in] */ ULONG y);
  2523. void ( STDMETHODCALLTYPE __RPC_FAR *MoveToXY )(
  2524. IDXARGBReadWritePtr __RPC_FAR * This,
  2525. /* [in] */ ULONG x,
  2526. /* [in] */ ULONG y);
  2527. ULONG ( STDMETHODCALLTYPE __RPC_FAR *MoveAndGetRunInfo )(
  2528. IDXARGBReadWritePtr __RPC_FAR * This,
  2529. /* [in] */ ULONG Row,
  2530. /* [out] */ const DXRUNINFO __RPC_FAR *__RPC_FAR *ppInfo);
  2531. DXSAMPLE __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *Unpack )(
  2532. IDXARGBReadWritePtr __RPC_FAR * This,
  2533. /* [in] */ DXSAMPLE __RPC_FAR *pSamples,
  2534. /* [in] */ ULONG cSamples,
  2535. /* [in] */ BOOL bMove);
  2536. DXPMSAMPLE __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *UnpackPremult )(
  2537. IDXARGBReadWritePtr __RPC_FAR * This,
  2538. /* [in] */ DXPMSAMPLE __RPC_FAR *pSamples,
  2539. /* [in] */ ULONG cSamples,
  2540. /* [in] */ BOOL bMove);
  2541. void ( STDMETHODCALLTYPE __RPC_FAR *UnpackRect )(
  2542. IDXARGBReadWritePtr __RPC_FAR * This,
  2543. /* [in] */ const DXPACKEDRECTDESC __RPC_FAR *pRectDesc);
  2544. void ( STDMETHODCALLTYPE __RPC_FAR *PackAndMove )(
  2545. IDXARGBReadWritePtr __RPC_FAR * This,
  2546. /* [in] */ const DXSAMPLE __RPC_FAR *pSamples,
  2547. /* [in] */ ULONG cSamples);
  2548. void ( STDMETHODCALLTYPE __RPC_FAR *PackPremultAndMove )(
  2549. IDXARGBReadWritePtr __RPC_FAR * This,
  2550. /* [in] */ const DXPMSAMPLE __RPC_FAR *pSamples,
  2551. /* [in] */ ULONG cSamples);
  2552. void ( STDMETHODCALLTYPE __RPC_FAR *PackRect )(
  2553. IDXARGBReadWritePtr __RPC_FAR * This,
  2554. /* [in] */ const DXPACKEDRECTDESC __RPC_FAR *pRectDesc);
  2555. void ( STDMETHODCALLTYPE __RPC_FAR *CopyAndMoveBoth )(
  2556. IDXARGBReadWritePtr __RPC_FAR * This,
  2557. /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  2558. /* [in] */ IDXARGBReadPtr __RPC_FAR *pSrc,
  2559. /* [in] */ ULONG cSamples,
  2560. /* [in] */ BOOL bIsOpaque);
  2561. void ( STDMETHODCALLTYPE __RPC_FAR *CopyRect )(
  2562. IDXARGBReadWritePtr __RPC_FAR * This,
  2563. /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  2564. /* [in] */ const RECT __RPC_FAR *pDestRect,
  2565. /* [in] */ IDXARGBReadPtr __RPC_FAR *pSrc,
  2566. /* [in] */ const POINT __RPC_FAR *pSrcOrigin,
  2567. /* [in] */ BOOL bIsOpaque);
  2568. void ( STDMETHODCALLTYPE __RPC_FAR *FillAndMove )(
  2569. IDXARGBReadWritePtr __RPC_FAR * This,
  2570. /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  2571. /* [in] */ DXPMSAMPLE SampVal,
  2572. /* [in] */ ULONG cSamples,
  2573. /* [in] */ BOOL bDoOver);
  2574. void ( STDMETHODCALLTYPE __RPC_FAR *FillRect )(
  2575. IDXARGBReadWritePtr __RPC_FAR * This,
  2576. /* [in] */ const RECT __RPC_FAR *pRect,
  2577. /* [in] */ DXPMSAMPLE SampVal,
  2578. /* [in] */ BOOL bDoOver);
  2579. void ( STDMETHODCALLTYPE __RPC_FAR *OverSample )(
  2580. IDXARGBReadWritePtr __RPC_FAR * This,
  2581. /* [in] */ const DXOVERSAMPLEDESC __RPC_FAR *pOverDesc);
  2582. void ( STDMETHODCALLTYPE __RPC_FAR *OverArrayAndMove )(
  2583. IDXARGBReadWritePtr __RPC_FAR * This,
  2584. /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  2585. /* [in] */ const DXPMSAMPLE __RPC_FAR *pSrc,
  2586. /* [in] */ ULONG cSamples);
  2587. END_INTERFACE
  2588. } IDXARGBReadWritePtrVtbl;
  2589. interface IDXARGBReadWritePtr
  2590. {
  2591. CONST_VTBL struct IDXARGBReadWritePtrVtbl __RPC_FAR *lpVtbl;
  2592. };
  2593. #ifdef COBJMACROS
  2594. #define IDXARGBReadWritePtr_QueryInterface(This,riid,ppvObject) \
  2595. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2596. #define IDXARGBReadWritePtr_AddRef(This) \
  2597. (This)->lpVtbl -> AddRef(This)
  2598. #define IDXARGBReadWritePtr_Release(This) \
  2599. (This)->lpVtbl -> Release(This)
  2600. #define IDXARGBReadWritePtr_GetSurface(This,riid,ppSurface) \
  2601. (This)->lpVtbl -> GetSurface(This,riid,ppSurface)
  2602. #define IDXARGBReadWritePtr_GetNativeType(This,pInfo) \
  2603. (This)->lpVtbl -> GetNativeType(This,pInfo)
  2604. #define IDXARGBReadWritePtr_Move(This,cSamples) \
  2605. (This)->lpVtbl -> Move(This,cSamples)
  2606. #define IDXARGBReadWritePtr_MoveToRow(This,y) \
  2607. (This)->lpVtbl -> MoveToRow(This,y)
  2608. #define IDXARGBReadWritePtr_MoveToXY(This,x,y) \
  2609. (This)->lpVtbl -> MoveToXY(This,x,y)
  2610. #define IDXARGBReadWritePtr_MoveAndGetRunInfo(This,Row,ppInfo) \
  2611. (This)->lpVtbl -> MoveAndGetRunInfo(This,Row,ppInfo)
  2612. #define IDXARGBReadWritePtr_Unpack(This,pSamples,cSamples,bMove) \
  2613. (This)->lpVtbl -> Unpack(This,pSamples,cSamples,bMove)
  2614. #define IDXARGBReadWritePtr_UnpackPremult(This,pSamples,cSamples,bMove) \
  2615. (This)->lpVtbl -> UnpackPremult(This,pSamples,cSamples,bMove)
  2616. #define IDXARGBReadWritePtr_UnpackRect(This,pRectDesc) \
  2617. (This)->lpVtbl -> UnpackRect(This,pRectDesc)
  2618. #define IDXARGBReadWritePtr_PackAndMove(This,pSamples,cSamples) \
  2619. (This)->lpVtbl -> PackAndMove(This,pSamples,cSamples)
  2620. #define IDXARGBReadWritePtr_PackPremultAndMove(This,pSamples,cSamples) \
  2621. (This)->lpVtbl -> PackPremultAndMove(This,pSamples,cSamples)
  2622. #define IDXARGBReadWritePtr_PackRect(This,pRectDesc) \
  2623. (This)->lpVtbl -> PackRect(This,pRectDesc)
  2624. #define IDXARGBReadWritePtr_CopyAndMoveBoth(This,pScratchBuffer,pSrc,cSamples,bIsOpaque) \
  2625. (This)->lpVtbl -> CopyAndMoveBoth(This,pScratchBuffer,pSrc,cSamples,bIsOpaque)
  2626. #define IDXARGBReadWritePtr_CopyRect(This,pScratchBuffer,pDestRect,pSrc,pSrcOrigin,bIsOpaque) \
  2627. (This)->lpVtbl -> CopyRect(This,pScratchBuffer,pDestRect,pSrc,pSrcOrigin,bIsOpaque)
  2628. #define IDXARGBReadWritePtr_FillAndMove(This,pScratchBuffer,SampVal,cSamples,bDoOver) \
  2629. (This)->lpVtbl -> FillAndMove(This,pScratchBuffer,SampVal,cSamples,bDoOver)
  2630. #define IDXARGBReadWritePtr_FillRect(This,pRect,SampVal,bDoOver) \
  2631. (This)->lpVtbl -> FillRect(This,pRect,SampVal,bDoOver)
  2632. #define IDXARGBReadWritePtr_OverSample(This,pOverDesc) \
  2633. (This)->lpVtbl -> OverSample(This,pOverDesc)
  2634. #define IDXARGBReadWritePtr_OverArrayAndMove(This,pScratchBuffer,pSrc,cSamples) \
  2635. (This)->lpVtbl -> OverArrayAndMove(This,pScratchBuffer,pSrc,cSamples)
  2636. #endif /* COBJMACROS */
  2637. #endif /* C style interface */
  2638. void STDMETHODCALLTYPE IDXARGBReadWritePtr_PackAndMove_Proxy(
  2639. IDXARGBReadWritePtr __RPC_FAR * This,
  2640. /* [in] */ const DXSAMPLE __RPC_FAR *pSamples,
  2641. /* [in] */ ULONG cSamples);
  2642. void __RPC_STUB IDXARGBReadWritePtr_PackAndMove_Stub(
  2643. IRpcStubBuffer *This,
  2644. IRpcChannelBuffer *_pRpcChannelBuffer,
  2645. PRPC_MESSAGE _pRpcMessage,
  2646. DWORD *_pdwStubPhase);
  2647. void STDMETHODCALLTYPE IDXARGBReadWritePtr_PackPremultAndMove_Proxy(
  2648. IDXARGBReadWritePtr __RPC_FAR * This,
  2649. /* [in] */ const DXPMSAMPLE __RPC_FAR *pSamples,
  2650. /* [in] */ ULONG cSamples);
  2651. void __RPC_STUB IDXARGBReadWritePtr_PackPremultAndMove_Stub(
  2652. IRpcStubBuffer *This,
  2653. IRpcChannelBuffer *_pRpcChannelBuffer,
  2654. PRPC_MESSAGE _pRpcMessage,
  2655. DWORD *_pdwStubPhase);
  2656. void STDMETHODCALLTYPE IDXARGBReadWritePtr_PackRect_Proxy(
  2657. IDXARGBReadWritePtr __RPC_FAR * This,
  2658. /* [in] */ const DXPACKEDRECTDESC __RPC_FAR *pRectDesc);
  2659. void __RPC_STUB IDXARGBReadWritePtr_PackRect_Stub(
  2660. IRpcStubBuffer *This,
  2661. IRpcChannelBuffer *_pRpcChannelBuffer,
  2662. PRPC_MESSAGE _pRpcMessage,
  2663. DWORD *_pdwStubPhase);
  2664. void STDMETHODCALLTYPE IDXARGBReadWritePtr_CopyAndMoveBoth_Proxy(
  2665. IDXARGBReadWritePtr __RPC_FAR * This,
  2666. /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  2667. /* [in] */ IDXARGBReadPtr __RPC_FAR *pSrc,
  2668. /* [in] */ ULONG cSamples,
  2669. /* [in] */ BOOL bIsOpaque);
  2670. void __RPC_STUB IDXARGBReadWritePtr_CopyAndMoveBoth_Stub(
  2671. IRpcStubBuffer *This,
  2672. IRpcChannelBuffer *_pRpcChannelBuffer,
  2673. PRPC_MESSAGE _pRpcMessage,
  2674. DWORD *_pdwStubPhase);
  2675. void STDMETHODCALLTYPE IDXARGBReadWritePtr_CopyRect_Proxy(
  2676. IDXARGBReadWritePtr __RPC_FAR * This,
  2677. /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  2678. /* [in] */ const RECT __RPC_FAR *pDestRect,
  2679. /* [in] */ IDXARGBReadPtr __RPC_FAR *pSrc,
  2680. /* [in] */ const POINT __RPC_FAR *pSrcOrigin,
  2681. /* [in] */ BOOL bIsOpaque);
  2682. void __RPC_STUB IDXARGBReadWritePtr_CopyRect_Stub(
  2683. IRpcStubBuffer *This,
  2684. IRpcChannelBuffer *_pRpcChannelBuffer,
  2685. PRPC_MESSAGE _pRpcMessage,
  2686. DWORD *_pdwStubPhase);
  2687. void STDMETHODCALLTYPE IDXARGBReadWritePtr_FillAndMove_Proxy(
  2688. IDXARGBReadWritePtr __RPC_FAR * This,
  2689. /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  2690. /* [in] */ DXPMSAMPLE SampVal,
  2691. /* [in] */ ULONG cSamples,
  2692. /* [in] */ BOOL bDoOver);
  2693. void __RPC_STUB IDXARGBReadWritePtr_FillAndMove_Stub(
  2694. IRpcStubBuffer *This,
  2695. IRpcChannelBuffer *_pRpcChannelBuffer,
  2696. PRPC_MESSAGE _pRpcMessage,
  2697. DWORD *_pdwStubPhase);
  2698. void STDMETHODCALLTYPE IDXARGBReadWritePtr_FillRect_Proxy(
  2699. IDXARGBReadWritePtr __RPC_FAR * This,
  2700. /* [in] */ const RECT __RPC_FAR *pRect,
  2701. /* [in] */ DXPMSAMPLE SampVal,
  2702. /* [in] */ BOOL bDoOver);
  2703. void __RPC_STUB IDXARGBReadWritePtr_FillRect_Stub(
  2704. IRpcStubBuffer *This,
  2705. IRpcChannelBuffer *_pRpcChannelBuffer,
  2706. PRPC_MESSAGE _pRpcMessage,
  2707. DWORD *_pdwStubPhase);
  2708. void STDMETHODCALLTYPE IDXARGBReadWritePtr_OverSample_Proxy(
  2709. IDXARGBReadWritePtr __RPC_FAR * This,
  2710. /* [in] */ const DXOVERSAMPLEDESC __RPC_FAR *pOverDesc);
  2711. void __RPC_STUB IDXARGBReadWritePtr_OverSample_Stub(
  2712. IRpcStubBuffer *This,
  2713. IRpcChannelBuffer *_pRpcChannelBuffer,
  2714. PRPC_MESSAGE _pRpcMessage,
  2715. DWORD *_pdwStubPhase);
  2716. void STDMETHODCALLTYPE IDXARGBReadWritePtr_OverArrayAndMove_Proxy(
  2717. IDXARGBReadWritePtr __RPC_FAR * This,
  2718. /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  2719. /* [in] */ const DXPMSAMPLE __RPC_FAR *pSrc,
  2720. /* [in] */ ULONG cSamples);
  2721. void __RPC_STUB IDXARGBReadWritePtr_OverArrayAndMove_Stub(
  2722. IRpcStubBuffer *This,
  2723. IRpcChannelBuffer *_pRpcChannelBuffer,
  2724. PRPC_MESSAGE _pRpcMessage,
  2725. DWORD *_pdwStubPhase);
  2726. #endif /* __IDXARGBReadWritePtr_INTERFACE_DEFINED__ */
  2727. #ifndef __IDXDCLock_INTERFACE_DEFINED__
  2728. #define __IDXDCLock_INTERFACE_DEFINED__
  2729. /* interface IDXDCLock */
  2730. /* [object][local][unique][helpstring][uuid] */
  2731. EXTERN_C const IID IID_IDXDCLock;
  2732. #if defined(__cplusplus) && !defined(CINTERFACE)
  2733. MIDL_INTERFACE("0F619456-CF39-11d1-905E-00C04FD9189D")
  2734. IDXDCLock : public IUnknown
  2735. {
  2736. public:
  2737. virtual HDC STDMETHODCALLTYPE GetDC( void) = 0;
  2738. };
  2739. #else /* C style interface */
  2740. typedef struct IDXDCLockVtbl
  2741. {
  2742. BEGIN_INTERFACE
  2743. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2744. IDXDCLock __RPC_FAR * This,
  2745. /* [in] */ REFIID riid,
  2746. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2747. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2748. IDXDCLock __RPC_FAR * This);
  2749. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2750. IDXDCLock __RPC_FAR * This);
  2751. HDC ( STDMETHODCALLTYPE __RPC_FAR *GetDC )(
  2752. IDXDCLock __RPC_FAR * This);
  2753. END_INTERFACE
  2754. } IDXDCLockVtbl;
  2755. interface IDXDCLock
  2756. {
  2757. CONST_VTBL struct IDXDCLockVtbl __RPC_FAR *lpVtbl;
  2758. };
  2759. #ifdef COBJMACROS
  2760. #define IDXDCLock_QueryInterface(This,riid,ppvObject) \
  2761. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2762. #define IDXDCLock_AddRef(This) \
  2763. (This)->lpVtbl -> AddRef(This)
  2764. #define IDXDCLock_Release(This) \
  2765. (This)->lpVtbl -> Release(This)
  2766. #define IDXDCLock_GetDC(This) \
  2767. (This)->lpVtbl -> GetDC(This)
  2768. #endif /* COBJMACROS */
  2769. #endif /* C style interface */
  2770. HDC STDMETHODCALLTYPE IDXDCLock_GetDC_Proxy(
  2771. IDXDCLock __RPC_FAR * This);
  2772. void __RPC_STUB IDXDCLock_GetDC_Stub(
  2773. IRpcStubBuffer *This,
  2774. IRpcChannelBuffer *_pRpcChannelBuffer,
  2775. PRPC_MESSAGE _pRpcMessage,
  2776. DWORD *_pdwStubPhase);
  2777. #endif /* __IDXDCLock_INTERFACE_DEFINED__ */
  2778. #ifndef __IDXTScaleOutput_INTERFACE_DEFINED__
  2779. #define __IDXTScaleOutput_INTERFACE_DEFINED__
  2780. /* interface IDXTScaleOutput */
  2781. /* [object][unique][helpstring][uuid] */
  2782. EXTERN_C const IID IID_IDXTScaleOutput;
  2783. #if defined(__cplusplus) && !defined(CINTERFACE)
  2784. MIDL_INTERFACE("B2024B50-EE77-11d1-9066-00C04FD9189D")
  2785. IDXTScaleOutput : public IUnknown
  2786. {
  2787. public:
  2788. virtual HRESULT STDMETHODCALLTYPE SetOutputSize(
  2789. /* [in] */ const SIZE OutSize,
  2790. /* [in] */ BOOL bMaintainAspect) = 0;
  2791. };
  2792. #else /* C style interface */
  2793. typedef struct IDXTScaleOutputVtbl
  2794. {
  2795. BEGIN_INTERFACE
  2796. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2797. IDXTScaleOutput __RPC_FAR * This,
  2798. /* [in] */ REFIID riid,
  2799. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2800. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2801. IDXTScaleOutput __RPC_FAR * This);
  2802. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2803. IDXTScaleOutput __RPC_FAR * This);
  2804. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOutputSize )(
  2805. IDXTScaleOutput __RPC_FAR * This,
  2806. /* [in] */ const SIZE OutSize,
  2807. /* [in] */ BOOL bMaintainAspect);
  2808. END_INTERFACE
  2809. } IDXTScaleOutputVtbl;
  2810. interface IDXTScaleOutput
  2811. {
  2812. CONST_VTBL struct IDXTScaleOutputVtbl __RPC_FAR *lpVtbl;
  2813. };
  2814. #ifdef COBJMACROS
  2815. #define IDXTScaleOutput_QueryInterface(This,riid,ppvObject) \
  2816. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2817. #define IDXTScaleOutput_AddRef(This) \
  2818. (This)->lpVtbl -> AddRef(This)
  2819. #define IDXTScaleOutput_Release(This) \
  2820. (This)->lpVtbl -> Release(This)
  2821. #define IDXTScaleOutput_SetOutputSize(This,OutSize,bMaintainAspect) \
  2822. (This)->lpVtbl -> SetOutputSize(This,OutSize,bMaintainAspect)
  2823. #endif /* COBJMACROS */
  2824. #endif /* C style interface */
  2825. HRESULT STDMETHODCALLTYPE IDXTScaleOutput_SetOutputSize_Proxy(
  2826. IDXTScaleOutput __RPC_FAR * This,
  2827. /* [in] */ const SIZE OutSize,
  2828. /* [in] */ BOOL bMaintainAspect);
  2829. void __RPC_STUB IDXTScaleOutput_SetOutputSize_Stub(
  2830. IRpcStubBuffer *This,
  2831. IRpcChannelBuffer *_pRpcChannelBuffer,
  2832. PRPC_MESSAGE _pRpcMessage,
  2833. DWORD *_pdwStubPhase);
  2834. #endif /* __IDXTScaleOutput_INTERFACE_DEFINED__ */
  2835. #ifndef __IDXGradient_INTERFACE_DEFINED__
  2836. #define __IDXGradient_INTERFACE_DEFINED__
  2837. /* interface IDXGradient */
  2838. /* [object][unique][helpstring][uuid] */
  2839. EXTERN_C const IID IID_IDXGradient;
  2840. #if defined(__cplusplus) && !defined(CINTERFACE)
  2841. MIDL_INTERFACE("B2024B51-EE77-11d1-9066-00C04FD9189D")
  2842. IDXGradient : public IDXTScaleOutput
  2843. {
  2844. public:
  2845. virtual HRESULT STDMETHODCALLTYPE SetGradient(
  2846. DXSAMPLE StartColor,
  2847. DXSAMPLE EndColor,
  2848. BOOL bHorizontal) = 0;
  2849. virtual HRESULT STDMETHODCALLTYPE GetOutputSize(
  2850. /* [out] */ SIZE __RPC_FAR *pOutSize) = 0;
  2851. };
  2852. #else /* C style interface */
  2853. typedef struct IDXGradientVtbl
  2854. {
  2855. BEGIN_INTERFACE
  2856. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2857. IDXGradient __RPC_FAR * This,
  2858. /* [in] */ REFIID riid,
  2859. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2860. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2861. IDXGradient __RPC_FAR * This);
  2862. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2863. IDXGradient __RPC_FAR * This);
  2864. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOutputSize )(
  2865. IDXGradient __RPC_FAR * This,
  2866. /* [in] */ const SIZE OutSize,
  2867. /* [in] */ BOOL bMaintainAspect);
  2868. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetGradient )(
  2869. IDXGradient __RPC_FAR * This,
  2870. DXSAMPLE StartColor,
  2871. DXSAMPLE EndColor,
  2872. BOOL bHorizontal);
  2873. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOutputSize )(
  2874. IDXGradient __RPC_FAR * This,
  2875. /* [out] */ SIZE __RPC_FAR *pOutSize);
  2876. END_INTERFACE
  2877. } IDXGradientVtbl;
  2878. interface IDXGradient
  2879. {
  2880. CONST_VTBL struct IDXGradientVtbl __RPC_FAR *lpVtbl;
  2881. };
  2882. #ifdef COBJMACROS
  2883. #define IDXGradient_QueryInterface(This,riid,ppvObject) \
  2884. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2885. #define IDXGradient_AddRef(This) \
  2886. (This)->lpVtbl -> AddRef(This)
  2887. #define IDXGradient_Release(This) \
  2888. (This)->lpVtbl -> Release(This)
  2889. #define IDXGradient_SetOutputSize(This,OutSize,bMaintainAspect) \
  2890. (This)->lpVtbl -> SetOutputSize(This,OutSize,bMaintainAspect)
  2891. #define IDXGradient_SetGradient(This,StartColor,EndColor,bHorizontal) \
  2892. (This)->lpVtbl -> SetGradient(This,StartColor,EndColor,bHorizontal)
  2893. #define IDXGradient_GetOutputSize(This,pOutSize) \
  2894. (This)->lpVtbl -> GetOutputSize(This,pOutSize)
  2895. #endif /* COBJMACROS */
  2896. #endif /* C style interface */
  2897. HRESULT STDMETHODCALLTYPE IDXGradient_SetGradient_Proxy(
  2898. IDXGradient __RPC_FAR * This,
  2899. DXSAMPLE StartColor,
  2900. DXSAMPLE EndColor,
  2901. BOOL bHorizontal);
  2902. void __RPC_STUB IDXGradient_SetGradient_Stub(
  2903. IRpcStubBuffer *This,
  2904. IRpcChannelBuffer *_pRpcChannelBuffer,
  2905. PRPC_MESSAGE _pRpcMessage,
  2906. DWORD *_pdwStubPhase);
  2907. HRESULT STDMETHODCALLTYPE IDXGradient_GetOutputSize_Proxy(
  2908. IDXGradient __RPC_FAR * This,
  2909. /* [out] */ SIZE __RPC_FAR *pOutSize);
  2910. void __RPC_STUB IDXGradient_GetOutputSize_Stub(
  2911. IRpcStubBuffer *This,
  2912. IRpcChannelBuffer *_pRpcChannelBuffer,
  2913. PRPC_MESSAGE _pRpcMessage,
  2914. DWORD *_pdwStubPhase);
  2915. #endif /* __IDXGradient_INTERFACE_DEFINED__ */
  2916. #ifndef __IDXGradient2_INTERFACE_DEFINED__
  2917. #define __IDXGradient2_INTERFACE_DEFINED__
  2918. /* interface IDXGradient2 */
  2919. /* [object][unique][helpstring][uuid] */
  2920. EXTERN_C const IID IID_IDXGradient2;
  2921. #if defined(__cplusplus) && !defined(CINTERFACE)
  2922. MIDL_INTERFACE("d0ef2a80-61dc-11d2-b2eb-00a0c936b212")
  2923. IDXGradient2 : public IDXGradient
  2924. {
  2925. public:
  2926. virtual HRESULT STDMETHODCALLTYPE SetRadialGradient(
  2927. /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  2928. /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  2929. /* [in] */ ULONG ulCount,
  2930. /* [in] */ double dblOpacity,
  2931. /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  2932. /* [in] */ DWORD dwFlags) = 0;
  2933. virtual HRESULT STDMETHODCALLTYPE SetLinearGradient(
  2934. /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  2935. /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  2936. /* [in] */ ULONG ulCount,
  2937. /* [in] */ double dblOpacity,
  2938. /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  2939. /* [in] */ DWORD dwFlags) = 0;
  2940. };
  2941. #else /* C style interface */
  2942. typedef struct IDXGradient2Vtbl
  2943. {
  2944. BEGIN_INTERFACE
  2945. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2946. IDXGradient2 __RPC_FAR * This,
  2947. /* [in] */ REFIID riid,
  2948. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2949. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2950. IDXGradient2 __RPC_FAR * This);
  2951. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2952. IDXGradient2 __RPC_FAR * This);
  2953. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOutputSize )(
  2954. IDXGradient2 __RPC_FAR * This,
  2955. /* [in] */ const SIZE OutSize,
  2956. /* [in] */ BOOL bMaintainAspect);
  2957. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetGradient )(
  2958. IDXGradient2 __RPC_FAR * This,
  2959. DXSAMPLE StartColor,
  2960. DXSAMPLE EndColor,
  2961. BOOL bHorizontal);
  2962. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOutputSize )(
  2963. IDXGradient2 __RPC_FAR * This,
  2964. /* [out] */ SIZE __RPC_FAR *pOutSize);
  2965. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetRadialGradient )(
  2966. IDXGradient2 __RPC_FAR * This,
  2967. /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  2968. /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  2969. /* [in] */ ULONG ulCount,
  2970. /* [in] */ double dblOpacity,
  2971. /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  2972. /* [in] */ DWORD dwFlags);
  2973. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLinearGradient )(
  2974. IDXGradient2 __RPC_FAR * This,
  2975. /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  2976. /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  2977. /* [in] */ ULONG ulCount,
  2978. /* [in] */ double dblOpacity,
  2979. /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  2980. /* [in] */ DWORD dwFlags);
  2981. END_INTERFACE
  2982. } IDXGradient2Vtbl;
  2983. interface IDXGradient2
  2984. {
  2985. CONST_VTBL struct IDXGradient2Vtbl __RPC_FAR *lpVtbl;
  2986. };
  2987. #ifdef COBJMACROS
  2988. #define IDXGradient2_QueryInterface(This,riid,ppvObject) \
  2989. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2990. #define IDXGradient2_AddRef(This) \
  2991. (This)->lpVtbl -> AddRef(This)
  2992. #define IDXGradient2_Release(This) \
  2993. (This)->lpVtbl -> Release(This)
  2994. #define IDXGradient2_SetOutputSize(This,OutSize,bMaintainAspect) \
  2995. (This)->lpVtbl -> SetOutputSize(This,OutSize,bMaintainAspect)
  2996. #define IDXGradient2_SetGradient(This,StartColor,EndColor,bHorizontal) \
  2997. (This)->lpVtbl -> SetGradient(This,StartColor,EndColor,bHorizontal)
  2998. #define IDXGradient2_GetOutputSize(This,pOutSize) \
  2999. (This)->lpVtbl -> GetOutputSize(This,pOutSize)
  3000. #define IDXGradient2_SetRadialGradient(This,rgdblOffsets,rgdblColors,ulCount,dblOpacity,pXform,dwFlags) \
  3001. (This)->lpVtbl -> SetRadialGradient(This,rgdblOffsets,rgdblColors,ulCount,dblOpacity,pXform,dwFlags)
  3002. #define IDXGradient2_SetLinearGradient(This,rgdblOffsets,rgdblColors,ulCount,dblOpacity,pXform,dwFlags) \
  3003. (This)->lpVtbl -> SetLinearGradient(This,rgdblOffsets,rgdblColors,ulCount,dblOpacity,pXform,dwFlags)
  3004. #endif /* COBJMACROS */
  3005. #endif /* C style interface */
  3006. HRESULT STDMETHODCALLTYPE IDXGradient2_SetRadialGradient_Proxy(
  3007. IDXGradient2 __RPC_FAR * This,
  3008. /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  3009. /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  3010. /* [in] */ ULONG ulCount,
  3011. /* [in] */ double dblOpacity,
  3012. /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  3013. /* [in] */ DWORD dwFlags);
  3014. void __RPC_STUB IDXGradient2_SetRadialGradient_Stub(
  3015. IRpcStubBuffer *This,
  3016. IRpcChannelBuffer *_pRpcChannelBuffer,
  3017. PRPC_MESSAGE _pRpcMessage,
  3018. DWORD *_pdwStubPhase);
  3019. HRESULT STDMETHODCALLTYPE IDXGradient2_SetLinearGradient_Proxy(
  3020. IDXGradient2 __RPC_FAR * This,
  3021. /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  3022. /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  3023. /* [in] */ ULONG ulCount,
  3024. /* [in] */ double dblOpacity,
  3025. /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  3026. /* [in] */ DWORD dwFlags);
  3027. void __RPC_STUB IDXGradient2_SetLinearGradient_Stub(
  3028. IRpcStubBuffer *This,
  3029. IRpcChannelBuffer *_pRpcChannelBuffer,
  3030. PRPC_MESSAGE _pRpcMessage,
  3031. DWORD *_pdwStubPhase);
  3032. #endif /* __IDXGradient2_INTERFACE_DEFINED__ */
  3033. #ifndef __IDXTScale_INTERFACE_DEFINED__
  3034. #define __IDXTScale_INTERFACE_DEFINED__
  3035. /* interface IDXTScale */
  3036. /* [object][unique][helpstring][uuid] */
  3037. EXTERN_C const IID IID_IDXTScale;
  3038. #if defined(__cplusplus) && !defined(CINTERFACE)
  3039. MIDL_INTERFACE("B39FD742-E139-11d1-9065-00C04FD9189D")
  3040. IDXTScale : public IUnknown
  3041. {
  3042. public:
  3043. virtual HRESULT STDMETHODCALLTYPE SetScales(
  3044. /* [in] */ float __RPC_FAR Scales[ 2 ]) = 0;
  3045. virtual HRESULT STDMETHODCALLTYPE GetScales(
  3046. /* [out] */ float __RPC_FAR Scales[ 2 ]) = 0;
  3047. virtual HRESULT STDMETHODCALLTYPE ScaleFitToSize(
  3048. /* [out][in] */ DXBNDS __RPC_FAR *pClipBounds,
  3049. /* [in] */ SIZE FitToSize,
  3050. /* [in] */ BOOL bMaintainAspect) = 0;
  3051. };
  3052. #else /* C style interface */
  3053. typedef struct IDXTScaleVtbl
  3054. {
  3055. BEGIN_INTERFACE
  3056. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3057. IDXTScale __RPC_FAR * This,
  3058. /* [in] */ REFIID riid,
  3059. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3060. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3061. IDXTScale __RPC_FAR * This);
  3062. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3063. IDXTScale __RPC_FAR * This);
  3064. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetScales )(
  3065. IDXTScale __RPC_FAR * This,
  3066. /* [in] */ float __RPC_FAR Scales[ 2 ]);
  3067. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetScales )(
  3068. IDXTScale __RPC_FAR * This,
  3069. /* [out] */ float __RPC_FAR Scales[ 2 ]);
  3070. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleFitToSize )(
  3071. IDXTScale __RPC_FAR * This,
  3072. /* [out][in] */ DXBNDS __RPC_FAR *pClipBounds,
  3073. /* [in] */ SIZE FitToSize,
  3074. /* [in] */ BOOL bMaintainAspect);
  3075. END_INTERFACE
  3076. } IDXTScaleVtbl;
  3077. interface IDXTScale
  3078. {
  3079. CONST_VTBL struct IDXTScaleVtbl __RPC_FAR *lpVtbl;
  3080. };
  3081. #ifdef COBJMACROS
  3082. #define IDXTScale_QueryInterface(This,riid,ppvObject) \
  3083. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3084. #define IDXTScale_AddRef(This) \
  3085. (This)->lpVtbl -> AddRef(This)
  3086. #define IDXTScale_Release(This) \
  3087. (This)->lpVtbl -> Release(This)
  3088. #define IDXTScale_SetScales(This,Scales) \
  3089. (This)->lpVtbl -> SetScales(This,Scales)
  3090. #define IDXTScale_GetScales(This,Scales) \
  3091. (This)->lpVtbl -> GetScales(This,Scales)
  3092. #define IDXTScale_ScaleFitToSize(This,pClipBounds,FitToSize,bMaintainAspect) \
  3093. (This)->lpVtbl -> ScaleFitToSize(This,pClipBounds,FitToSize,bMaintainAspect)
  3094. #endif /* COBJMACROS */
  3095. #endif /* C style interface */
  3096. HRESULT STDMETHODCALLTYPE IDXTScale_SetScales_Proxy(
  3097. IDXTScale __RPC_FAR * This,
  3098. /* [in] */ float __RPC_FAR Scales[ 2 ]);
  3099. void __RPC_STUB IDXTScale_SetScales_Stub(
  3100. IRpcStubBuffer *This,
  3101. IRpcChannelBuffer *_pRpcChannelBuffer,
  3102. PRPC_MESSAGE _pRpcMessage,
  3103. DWORD *_pdwStubPhase);
  3104. HRESULT STDMETHODCALLTYPE IDXTScale_GetScales_Proxy(
  3105. IDXTScale __RPC_FAR * This,
  3106. /* [out] */ float __RPC_FAR Scales[ 2 ]);
  3107. void __RPC_STUB IDXTScale_GetScales_Stub(
  3108. IRpcStubBuffer *This,
  3109. IRpcChannelBuffer *_pRpcChannelBuffer,
  3110. PRPC_MESSAGE _pRpcMessage,
  3111. DWORD *_pdwStubPhase);
  3112. HRESULT STDMETHODCALLTYPE IDXTScale_ScaleFitToSize_Proxy(
  3113. IDXTScale __RPC_FAR * This,
  3114. /* [out][in] */ DXBNDS __RPC_FAR *pClipBounds,
  3115. /* [in] */ SIZE FitToSize,
  3116. /* [in] */ BOOL bMaintainAspect);
  3117. void __RPC_STUB IDXTScale_ScaleFitToSize_Stub(
  3118. IRpcStubBuffer *This,
  3119. IRpcChannelBuffer *_pRpcChannelBuffer,
  3120. PRPC_MESSAGE _pRpcMessage,
  3121. DWORD *_pdwStubPhase);
  3122. #endif /* __IDXTScale_INTERFACE_DEFINED__ */
  3123. /* interface __MIDL_itf_dxtrans_0269 */
  3124. /* [local] */
  3125. typedef
  3126. enum DXLOGFONTENUM
  3127. { DXLF_HEIGHT = 1,
  3128. DXLF_WIDTH = 2,
  3129. DXLF_ESC = 4,
  3130. DXLF_ORIENTATION = 8,
  3131. DXLF_WEIGHT = 16,
  3132. DXLF_ITALIC = 32,
  3133. DXLF_UNDERLINE = 64,
  3134. DXLF_STRIKEOUT = 128,
  3135. DXLF_CHARSET = 256,
  3136. DXLF_OUTPREC = 512,
  3137. DXLF_CLIPPREC = 1024,
  3138. DXLF_QUALITY = 2048,
  3139. DXLF_PITCHANDFAM = 4096,
  3140. DXLF_FACENAME = 8192,
  3141. DXLF_ALL = 0x3fff
  3142. } DXLOGFONTENUM;
  3143. #ifndef _WINGDI_
  3144. typedef struct tagLOGFONTA
  3145. {
  3146. LONG lfHeight;
  3147. LONG lfWidth;
  3148. LONG lfEscapement;
  3149. LONG lfOrientation;
  3150. LONG lfWeight;
  3151. BYTE lfItalic;
  3152. BYTE lfUnderline;
  3153. BYTE lfStrikeOut;
  3154. BYTE lfCharSet;
  3155. BYTE lfOutPrecision;
  3156. BYTE lfClipPrecision;
  3157. BYTE lfQuality;
  3158. BYTE lfPitchAndFamily;
  3159. CHAR lfFaceName[ 32 ];
  3160. } LOGFONTA;
  3161. typedef struct tagLOGFONTW
  3162. {
  3163. LONG lfHeight;
  3164. LONG lfWidth;
  3165. LONG lfEscapement;
  3166. LONG lfOrientation;
  3167. LONG lfWeight;
  3168. BYTE lfItalic;
  3169. BYTE lfUnderline;
  3170. BYTE lfStrikeOut;
  3171. BYTE lfCharSet;
  3172. BYTE lfOutPrecision;
  3173. BYTE lfClipPrecision;
  3174. BYTE lfQuality;
  3175. BYTE lfPitchAndFamily;
  3176. WCHAR lfFaceName[ 32 ];
  3177. } LOGFONTW;
  3178. typedef LOGFONTA LOGFONT;
  3179. #endif
  3180. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0269_v0_0_c_ifspec;
  3181. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0269_v0_0_s_ifspec;
  3182. #ifndef __IDXTLabel_INTERFACE_DEFINED__
  3183. #define __IDXTLabel_INTERFACE_DEFINED__
  3184. /* interface IDXTLabel */
  3185. /* [object][unique][helpstring][uuid] */
  3186. EXTERN_C const IID IID_IDXTLabel;
  3187. #if defined(__cplusplus) && !defined(CINTERFACE)
  3188. MIDL_INTERFACE("C0C17F0E-AE41-11d1-9A3B-0000F8756A10")
  3189. IDXTLabel : public IUnknown
  3190. {
  3191. public:
  3192. virtual HRESULT STDMETHODCALLTYPE SetFontHandle(
  3193. /* [in] */ HFONT hFont) = 0;
  3194. virtual HRESULT STDMETHODCALLTYPE GetFontHandle(
  3195. /* [out] */ HFONT __RPC_FAR *phFont) = 0;
  3196. virtual HRESULT STDMETHODCALLTYPE SetTextString(
  3197. /* [in] */ LPCWSTR pString) = 0;
  3198. virtual HRESULT STDMETHODCALLTYPE GetTextString(
  3199. /* [out] */ LPWSTR __RPC_FAR *ppString) = 0;
  3200. virtual HRESULT STDMETHODCALLTYPE GetFillColor(
  3201. /* [out] */ DXSAMPLE __RPC_FAR *pVal) = 0;
  3202. virtual HRESULT STDMETHODCALLTYPE SetFillColor(
  3203. /* [in] */ DXSAMPLE newVal) = 0;
  3204. virtual HRESULT STDMETHODCALLTYPE GetBackgroundColor(
  3205. /* [out] */ DXSAMPLE __RPC_FAR *pVal) = 0;
  3206. virtual HRESULT STDMETHODCALLTYPE SetBackgroundColor(
  3207. /* [in] */ DXSAMPLE newVal) = 0;
  3208. virtual HRESULT STDMETHODCALLTYPE GetTexturePosition(
  3209. /* [out] */ long __RPC_FAR *px,
  3210. /* [out] */ long __RPC_FAR *py) = 0;
  3211. virtual HRESULT STDMETHODCALLTYPE SetTexturePosition(
  3212. /* [in] */ long x,
  3213. /* [in] */ long y) = 0;
  3214. virtual HRESULT STDMETHODCALLTYPE GetMatrix(
  3215. /* [out] */ PDX2DXFORM pXform) = 0;
  3216. virtual HRESULT STDMETHODCALLTYPE SetMatrix(
  3217. /* [in] */ const PDX2DXFORM pXform) = 0;
  3218. virtual HRESULT STDMETHODCALLTYPE SetLogfont(
  3219. /* [in] */ const LOGFONT __RPC_FAR *plf,
  3220. /* [in] */ DWORD dwFlags) = 0;
  3221. virtual HRESULT STDMETHODCALLTYPE GetLogfont(
  3222. /* [out] */ LOGFONT __RPC_FAR *plf,
  3223. /* [in] */ DWORD dwFlags) = 0;
  3224. virtual HRESULT STDMETHODCALLTYPE ExecuteWithRasterizer(
  3225. /* [in] */ IDXRasterizer __RPC_FAR *pRasterizer,
  3226. /* [in] */ const DXBNDS __RPC_FAR *pClipBnds,
  3227. /* [in] */ const DXVEC __RPC_FAR *pPlacement) = 0;
  3228. virtual HRESULT STDMETHODCALLTYPE GetBaselineOffset(
  3229. /* [out] */ long __RPC_FAR *px,
  3230. /* [out] */ long __RPC_FAR *py,
  3231. /* [out] */ long __RPC_FAR *pdx,
  3232. /* [out] */ long __RPC_FAR *pdy) = 0;
  3233. };
  3234. #else /* C style interface */
  3235. typedef struct IDXTLabelVtbl
  3236. {
  3237. BEGIN_INTERFACE
  3238. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3239. IDXTLabel __RPC_FAR * This,
  3240. /* [in] */ REFIID riid,
  3241. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3242. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3243. IDXTLabel __RPC_FAR * This);
  3244. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3245. IDXTLabel __RPC_FAR * This);
  3246. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFontHandle )(
  3247. IDXTLabel __RPC_FAR * This,
  3248. /* [in] */ HFONT hFont);
  3249. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFontHandle )(
  3250. IDXTLabel __RPC_FAR * This,
  3251. /* [out] */ HFONT __RPC_FAR *phFont);
  3252. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTextString )(
  3253. IDXTLabel __RPC_FAR * This,
  3254. /* [in] */ LPCWSTR pString);
  3255. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTextString )(
  3256. IDXTLabel __RPC_FAR * This,
  3257. /* [out] */ LPWSTR __RPC_FAR *ppString);
  3258. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFillColor )(
  3259. IDXTLabel __RPC_FAR * This,
  3260. /* [out] */ DXSAMPLE __RPC_FAR *pVal);
  3261. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFillColor )(
  3262. IDXTLabel __RPC_FAR * This,
  3263. /* [in] */ DXSAMPLE newVal);
  3264. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBackgroundColor )(
  3265. IDXTLabel __RPC_FAR * This,
  3266. /* [out] */ DXSAMPLE __RPC_FAR *pVal);
  3267. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBackgroundColor )(
  3268. IDXTLabel __RPC_FAR * This,
  3269. /* [in] */ DXSAMPLE newVal);
  3270. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTexturePosition )(
  3271. IDXTLabel __RPC_FAR * This,
  3272. /* [out] */ long __RPC_FAR *px,
  3273. /* [out] */ long __RPC_FAR *py);
  3274. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTexturePosition )(
  3275. IDXTLabel __RPC_FAR * This,
  3276. /* [in] */ long x,
  3277. /* [in] */ long y);
  3278. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMatrix )(
  3279. IDXTLabel __RPC_FAR * This,
  3280. /* [out] */ PDX2DXFORM pXform);
  3281. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMatrix )(
  3282. IDXTLabel __RPC_FAR * This,
  3283. /* [in] */ const PDX2DXFORM pXform);
  3284. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLogfont )(
  3285. IDXTLabel __RPC_FAR * This,
  3286. /* [in] */ const LOGFONT __RPC_FAR *plf,
  3287. /* [in] */ DWORD dwFlags);
  3288. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLogfont )(
  3289. IDXTLabel __RPC_FAR * This,
  3290. /* [out] */ LOGFONT __RPC_FAR *plf,
  3291. /* [in] */ DWORD dwFlags);
  3292. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExecuteWithRasterizer )(
  3293. IDXTLabel __RPC_FAR * This,
  3294. /* [in] */ IDXRasterizer __RPC_FAR *pRasterizer,
  3295. /* [in] */ const DXBNDS __RPC_FAR *pClipBnds,
  3296. /* [in] */ const DXVEC __RPC_FAR *pPlacement);
  3297. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBaselineOffset )(
  3298. IDXTLabel __RPC_FAR * This,
  3299. /* [out] */ long __RPC_FAR *px,
  3300. /* [out] */ long __RPC_FAR *py,
  3301. /* [out] */ long __RPC_FAR *pdx,
  3302. /* [out] */ long __RPC_FAR *pdy);
  3303. END_INTERFACE
  3304. } IDXTLabelVtbl;
  3305. interface IDXTLabel
  3306. {
  3307. CONST_VTBL struct IDXTLabelVtbl __RPC_FAR *lpVtbl;
  3308. };
  3309. #ifdef COBJMACROS
  3310. #define IDXTLabel_QueryInterface(This,riid,ppvObject) \
  3311. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3312. #define IDXTLabel_AddRef(This) \
  3313. (This)->lpVtbl -> AddRef(This)
  3314. #define IDXTLabel_Release(This) \
  3315. (This)->lpVtbl -> Release(This)
  3316. #define IDXTLabel_SetFontHandle(This,hFont) \
  3317. (This)->lpVtbl -> SetFontHandle(This,hFont)
  3318. #define IDXTLabel_GetFontHandle(This,phFont) \
  3319. (This)->lpVtbl -> GetFontHandle(This,phFont)
  3320. #define IDXTLabel_SetTextString(This,pString) \
  3321. (This)->lpVtbl -> SetTextString(This,pString)
  3322. #define IDXTLabel_GetTextString(This,ppString) \
  3323. (This)->lpVtbl -> GetTextString(This,ppString)
  3324. #define IDXTLabel_GetFillColor(This,pVal) \
  3325. (This)->lpVtbl -> GetFillColor(This,pVal)
  3326. #define IDXTLabel_SetFillColor(This,newVal) \
  3327. (This)->lpVtbl -> SetFillColor(This,newVal)
  3328. #define IDXTLabel_GetBackgroundColor(This,pVal) \
  3329. (This)->lpVtbl -> GetBackgroundColor(This,pVal)
  3330. #define IDXTLabel_SetBackgroundColor(This,newVal) \
  3331. (This)->lpVtbl -> SetBackgroundColor(This,newVal)
  3332. #define IDXTLabel_GetTexturePosition(This,px,py) \
  3333. (This)->lpVtbl -> GetTexturePosition(This,px,py)
  3334. #define IDXTLabel_SetTexturePosition(This,x,y) \
  3335. (This)->lpVtbl -> SetTexturePosition(This,x,y)
  3336. #define IDXTLabel_GetMatrix(This,pXform) \
  3337. (This)->lpVtbl -> GetMatrix(This,pXform)
  3338. #define IDXTLabel_SetMatrix(This,pXform) \
  3339. (This)->lpVtbl -> SetMatrix(This,pXform)
  3340. #define IDXTLabel_SetLogfont(This,plf,dwFlags) \
  3341. (This)->lpVtbl -> SetLogfont(This,plf,dwFlags)
  3342. #define IDXTLabel_GetLogfont(This,plf,dwFlags) \
  3343. (This)->lpVtbl -> GetLogfont(This,plf,dwFlags)
  3344. #define IDXTLabel_ExecuteWithRasterizer(This,pRasterizer,pClipBnds,pPlacement) \
  3345. (This)->lpVtbl -> ExecuteWithRasterizer(This,pRasterizer,pClipBnds,pPlacement)
  3346. #define IDXTLabel_GetBaselineOffset(This,px,py,pdx,pdy) \
  3347. (This)->lpVtbl -> GetBaselineOffset(This,px,py,pdx,pdy)
  3348. #endif /* COBJMACROS */
  3349. #endif /* C style interface */
  3350. HRESULT STDMETHODCALLTYPE IDXTLabel_SetFontHandle_Proxy(
  3351. IDXTLabel __RPC_FAR * This,
  3352. /* [in] */ HFONT hFont);
  3353. void __RPC_STUB IDXTLabel_SetFontHandle_Stub(
  3354. IRpcStubBuffer *This,
  3355. IRpcChannelBuffer *_pRpcChannelBuffer,
  3356. PRPC_MESSAGE _pRpcMessage,
  3357. DWORD *_pdwStubPhase);
  3358. HRESULT STDMETHODCALLTYPE IDXTLabel_GetFontHandle_Proxy(
  3359. IDXTLabel __RPC_FAR * This,
  3360. /* [out] */ HFONT __RPC_FAR *phFont);
  3361. void __RPC_STUB IDXTLabel_GetFontHandle_Stub(
  3362. IRpcStubBuffer *This,
  3363. IRpcChannelBuffer *_pRpcChannelBuffer,
  3364. PRPC_MESSAGE _pRpcMessage,
  3365. DWORD *_pdwStubPhase);
  3366. HRESULT STDMETHODCALLTYPE IDXTLabel_SetTextString_Proxy(
  3367. IDXTLabel __RPC_FAR * This,
  3368. /* [in] */ LPCWSTR pString);
  3369. void __RPC_STUB IDXTLabel_SetTextString_Stub(
  3370. IRpcStubBuffer *This,
  3371. IRpcChannelBuffer *_pRpcChannelBuffer,
  3372. PRPC_MESSAGE _pRpcMessage,
  3373. DWORD *_pdwStubPhase);
  3374. HRESULT STDMETHODCALLTYPE IDXTLabel_GetTextString_Proxy(
  3375. IDXTLabel __RPC_FAR * This,
  3376. /* [out] */ LPWSTR __RPC_FAR *ppString);
  3377. void __RPC_STUB IDXTLabel_GetTextString_Stub(
  3378. IRpcStubBuffer *This,
  3379. IRpcChannelBuffer *_pRpcChannelBuffer,
  3380. PRPC_MESSAGE _pRpcMessage,
  3381. DWORD *_pdwStubPhase);
  3382. HRESULT STDMETHODCALLTYPE IDXTLabel_GetFillColor_Proxy(
  3383. IDXTLabel __RPC_FAR * This,
  3384. /* [out] */ DXSAMPLE __RPC_FAR *pVal);
  3385. void __RPC_STUB IDXTLabel_GetFillColor_Stub(
  3386. IRpcStubBuffer *This,
  3387. IRpcChannelBuffer *_pRpcChannelBuffer,
  3388. PRPC_MESSAGE _pRpcMessage,
  3389. DWORD *_pdwStubPhase);
  3390. HRESULT STDMETHODCALLTYPE IDXTLabel_SetFillColor_Proxy(
  3391. IDXTLabel __RPC_FAR * This,
  3392. /* [in] */ DXSAMPLE newVal);
  3393. void __RPC_STUB IDXTLabel_SetFillColor_Stub(
  3394. IRpcStubBuffer *This,
  3395. IRpcChannelBuffer *_pRpcChannelBuffer,
  3396. PRPC_MESSAGE _pRpcMessage,
  3397. DWORD *_pdwStubPhase);
  3398. HRESULT STDMETHODCALLTYPE IDXTLabel_GetBackgroundColor_Proxy(
  3399. IDXTLabel __RPC_FAR * This,
  3400. /* [out] */ DXSAMPLE __RPC_FAR *pVal);
  3401. void __RPC_STUB IDXTLabel_GetBackgroundColor_Stub(
  3402. IRpcStubBuffer *This,
  3403. IRpcChannelBuffer *_pRpcChannelBuffer,
  3404. PRPC_MESSAGE _pRpcMessage,
  3405. DWORD *_pdwStubPhase);
  3406. HRESULT STDMETHODCALLTYPE IDXTLabel_SetBackgroundColor_Proxy(
  3407. IDXTLabel __RPC_FAR * This,
  3408. /* [in] */ DXSAMPLE newVal);
  3409. void __RPC_STUB IDXTLabel_SetBackgroundColor_Stub(
  3410. IRpcStubBuffer *This,
  3411. IRpcChannelBuffer *_pRpcChannelBuffer,
  3412. PRPC_MESSAGE _pRpcMessage,
  3413. DWORD *_pdwStubPhase);
  3414. HRESULT STDMETHODCALLTYPE IDXTLabel_GetTexturePosition_Proxy(
  3415. IDXTLabel __RPC_FAR * This,
  3416. /* [out] */ long __RPC_FAR *px,
  3417. /* [out] */ long __RPC_FAR *py);
  3418. void __RPC_STUB IDXTLabel_GetTexturePosition_Stub(
  3419. IRpcStubBuffer *This,
  3420. IRpcChannelBuffer *_pRpcChannelBuffer,
  3421. PRPC_MESSAGE _pRpcMessage,
  3422. DWORD *_pdwStubPhase);
  3423. HRESULT STDMETHODCALLTYPE IDXTLabel_SetTexturePosition_Proxy(
  3424. IDXTLabel __RPC_FAR * This,
  3425. /* [in] */ long x,
  3426. /* [in] */ long y);
  3427. void __RPC_STUB IDXTLabel_SetTexturePosition_Stub(
  3428. IRpcStubBuffer *This,
  3429. IRpcChannelBuffer *_pRpcChannelBuffer,
  3430. PRPC_MESSAGE _pRpcMessage,
  3431. DWORD *_pdwStubPhase);
  3432. HRESULT STDMETHODCALLTYPE IDXTLabel_GetMatrix_Proxy(
  3433. IDXTLabel __RPC_FAR * This,
  3434. /* [out] */ PDX2DXFORM pXform);
  3435. void __RPC_STUB IDXTLabel_GetMatrix_Stub(
  3436. IRpcStubBuffer *This,
  3437. IRpcChannelBuffer *_pRpcChannelBuffer,
  3438. PRPC_MESSAGE _pRpcMessage,
  3439. DWORD *_pdwStubPhase);
  3440. HRESULT STDMETHODCALLTYPE IDXTLabel_SetMatrix_Proxy(
  3441. IDXTLabel __RPC_FAR * This,
  3442. /* [in] */ const PDX2DXFORM pXform);
  3443. void __RPC_STUB IDXTLabel_SetMatrix_Stub(
  3444. IRpcStubBuffer *This,
  3445. IRpcChannelBuffer *_pRpcChannelBuffer,
  3446. PRPC_MESSAGE _pRpcMessage,
  3447. DWORD *_pdwStubPhase);
  3448. HRESULT STDMETHODCALLTYPE IDXTLabel_SetLogfont_Proxy(
  3449. IDXTLabel __RPC_FAR * This,
  3450. /* [in] */ const LOGFONT __RPC_FAR *plf,
  3451. /* [in] */ DWORD dwFlags);
  3452. void __RPC_STUB IDXTLabel_SetLogfont_Stub(
  3453. IRpcStubBuffer *This,
  3454. IRpcChannelBuffer *_pRpcChannelBuffer,
  3455. PRPC_MESSAGE _pRpcMessage,
  3456. DWORD *_pdwStubPhase);
  3457. HRESULT STDMETHODCALLTYPE IDXTLabel_GetLogfont_Proxy(
  3458. IDXTLabel __RPC_FAR * This,
  3459. /* [out] */ LOGFONT __RPC_FAR *plf,
  3460. /* [in] */ DWORD dwFlags);
  3461. void __RPC_STUB IDXTLabel_GetLogfont_Stub(
  3462. IRpcStubBuffer *This,
  3463. IRpcChannelBuffer *_pRpcChannelBuffer,
  3464. PRPC_MESSAGE _pRpcMessage,
  3465. DWORD *_pdwStubPhase);
  3466. HRESULT STDMETHODCALLTYPE IDXTLabel_ExecuteWithRasterizer_Proxy(
  3467. IDXTLabel __RPC_FAR * This,
  3468. /* [in] */ IDXRasterizer __RPC_FAR *pRasterizer,
  3469. /* [in] */ const DXBNDS __RPC_FAR *pClipBnds,
  3470. /* [in] */ const DXVEC __RPC_FAR *pPlacement);
  3471. void __RPC_STUB IDXTLabel_ExecuteWithRasterizer_Stub(
  3472. IRpcStubBuffer *This,
  3473. IRpcChannelBuffer *_pRpcChannelBuffer,
  3474. PRPC_MESSAGE _pRpcMessage,
  3475. DWORD *_pdwStubPhase);
  3476. HRESULT STDMETHODCALLTYPE IDXTLabel_GetBaselineOffset_Proxy(
  3477. IDXTLabel __RPC_FAR * This,
  3478. /* [out] */ long __RPC_FAR *px,
  3479. /* [out] */ long __RPC_FAR *py,
  3480. /* [out] */ long __RPC_FAR *pdx,
  3481. /* [out] */ long __RPC_FAR *pdy);
  3482. void __RPC_STUB IDXTLabel_GetBaselineOffset_Stub(
  3483. IRpcStubBuffer *This,
  3484. IRpcChannelBuffer *_pRpcChannelBuffer,
  3485. PRPC_MESSAGE _pRpcMessage,
  3486. DWORD *_pdwStubPhase);
  3487. #endif /* __IDXTLabel_INTERFACE_DEFINED__ */
  3488. /* interface __MIDL_itf_dxtrans_0270 */
  3489. /* [local] */
  3490. typedef
  3491. enum DXRASTERFILL
  3492. { DXRASTER_PEN = 0,
  3493. DXRASTER_BRUSH = 1,
  3494. DXRASTER_BACKGROUND = 2
  3495. } DXRASTERFILL;
  3496. typedef struct DXRASTERSCANINFO
  3497. {
  3498. ULONG ulIndex;
  3499. ULONG Row;
  3500. const BYTE __RPC_FAR *pWeights;
  3501. const DXRUNINFO __RPC_FAR *pRunInfo;
  3502. ULONG cRunInfo;
  3503. } DXRASTERSCANINFO;
  3504. typedef struct DXRASTERPOINTINFO
  3505. {
  3506. DXOVERSAMPLEDESC Pixel;
  3507. ULONG ulIndex;
  3508. BYTE Weight;
  3509. } DXRASTERPOINTINFO;
  3510. typedef struct DXRASTERRECTINFO
  3511. {
  3512. ULONG ulIndex;
  3513. RECT Rect;
  3514. BYTE Weight;
  3515. } DXRASTERRECTINFO;
  3516. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0270_v0_0_c_ifspec;
  3517. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0270_v0_0_s_ifspec;
  3518. #ifndef __IDXRasterizer_INTERFACE_DEFINED__
  3519. #define __IDXRasterizer_INTERFACE_DEFINED__
  3520. /* interface IDXRasterizer */
  3521. /* [object][local][unique][helpstring][uuid] */
  3522. EXTERN_C const IID IID_IDXRasterizer;
  3523. #if defined(__cplusplus) && !defined(CINTERFACE)
  3524. MIDL_INTERFACE("9EA3B635-C37D-11d1-905E-00C04FD9189D")
  3525. IDXRasterizer : public IUnknown
  3526. {
  3527. public:
  3528. virtual HRESULT STDMETHODCALLTYPE SetSurface(
  3529. /* [in] */ IDXSurface __RPC_FAR *pDXSurface) = 0;
  3530. virtual HRESULT STDMETHODCALLTYPE GetSurface(
  3531. /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppDXSurface) = 0;
  3532. virtual HRESULT STDMETHODCALLTYPE SetFill(
  3533. /* [in] */ ULONG ulIndex,
  3534. /* [in] */ IDXSurface __RPC_FAR *pSurface,
  3535. /* [in] */ const POINT __RPC_FAR *ppt,
  3536. /* [in] */ DXSAMPLE FillColor) = 0;
  3537. virtual HRESULT STDMETHODCALLTYPE GetFill(
  3538. /* [in] */ ULONG ulIndex,
  3539. /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppSurface,
  3540. /* [out] */ POINT __RPC_FAR *ppt,
  3541. /* [out] */ DXSAMPLE __RPC_FAR *pFillColor) = 0;
  3542. virtual HRESULT STDMETHODCALLTYPE BeginRendering(
  3543. /* [in] */ ULONG ulTimeOut) = 0;
  3544. virtual HRESULT STDMETHODCALLTYPE EndRendering( void) = 0;
  3545. virtual HRESULT STDMETHODCALLTYPE RenderScan(
  3546. /* [in] */ const DXRASTERSCANINFO __RPC_FAR *pScanInfo) = 0;
  3547. virtual HRESULT STDMETHODCALLTYPE SetPixel(
  3548. /* [in] */ DXRASTERPOINTINFO __RPC_FAR *pPointInfo) = 0;
  3549. virtual HRESULT STDMETHODCALLTYPE FillRect(
  3550. /* [in] */ const DXRASTERRECTINFO __RPC_FAR *pRectInfo) = 0;
  3551. virtual HRESULT STDMETHODCALLTYPE GetBounds(
  3552. /* [out] */ DXBNDS __RPC_FAR *pBounds) = 0;
  3553. };
  3554. #else /* C style interface */
  3555. typedef struct IDXRasterizerVtbl
  3556. {
  3557. BEGIN_INTERFACE
  3558. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3559. IDXRasterizer __RPC_FAR * This,
  3560. /* [in] */ REFIID riid,
  3561. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3562. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3563. IDXRasterizer __RPC_FAR * This);
  3564. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3565. IDXRasterizer __RPC_FAR * This);
  3566. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSurface )(
  3567. IDXRasterizer __RPC_FAR * This,
  3568. /* [in] */ IDXSurface __RPC_FAR *pDXSurface);
  3569. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )(
  3570. IDXRasterizer __RPC_FAR * This,
  3571. /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppDXSurface);
  3572. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFill )(
  3573. IDXRasterizer __RPC_FAR * This,
  3574. /* [in] */ ULONG ulIndex,
  3575. /* [in] */ IDXSurface __RPC_FAR *pSurface,
  3576. /* [in] */ const POINT __RPC_FAR *ppt,
  3577. /* [in] */ DXSAMPLE FillColor);
  3578. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFill )(
  3579. IDXRasterizer __RPC_FAR * This,
  3580. /* [in] */ ULONG ulIndex,
  3581. /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppSurface,
  3582. /* [out] */ POINT __RPC_FAR *ppt,
  3583. /* [out] */ DXSAMPLE __RPC_FAR *pFillColor);
  3584. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BeginRendering )(
  3585. IDXRasterizer __RPC_FAR * This,
  3586. /* [in] */ ULONG ulTimeOut);
  3587. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EndRendering )(
  3588. IDXRasterizer __RPC_FAR * This);
  3589. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RenderScan )(
  3590. IDXRasterizer __RPC_FAR * This,
  3591. /* [in] */ const DXRASTERSCANINFO __RPC_FAR *pScanInfo);
  3592. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPixel )(
  3593. IDXRasterizer __RPC_FAR * This,
  3594. /* [in] */ DXRASTERPOINTINFO __RPC_FAR *pPointInfo);
  3595. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FillRect )(
  3596. IDXRasterizer __RPC_FAR * This,
  3597. /* [in] */ const DXRASTERRECTINFO __RPC_FAR *pRectInfo);
  3598. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBounds )(
  3599. IDXRasterizer __RPC_FAR * This,
  3600. /* [out] */ DXBNDS __RPC_FAR *pBounds);
  3601. END_INTERFACE
  3602. } IDXRasterizerVtbl;
  3603. interface IDXRasterizer
  3604. {
  3605. CONST_VTBL struct IDXRasterizerVtbl __RPC_FAR *lpVtbl;
  3606. };
  3607. #ifdef COBJMACROS
  3608. #define IDXRasterizer_QueryInterface(This,riid,ppvObject) \
  3609. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3610. #define IDXRasterizer_AddRef(This) \
  3611. (This)->lpVtbl -> AddRef(This)
  3612. #define IDXRasterizer_Release(This) \
  3613. (This)->lpVtbl -> Release(This)
  3614. #define IDXRasterizer_SetSurface(This,pDXSurface) \
  3615. (This)->lpVtbl -> SetSurface(This,pDXSurface)
  3616. #define IDXRasterizer_GetSurface(This,ppDXSurface) \
  3617. (This)->lpVtbl -> GetSurface(This,ppDXSurface)
  3618. #define IDXRasterizer_SetFill(This,ulIndex,pSurface,ppt,FillColor) \
  3619. (This)->lpVtbl -> SetFill(This,ulIndex,pSurface,ppt,FillColor)
  3620. #define IDXRasterizer_GetFill(This,ulIndex,ppSurface,ppt,pFillColor) \
  3621. (This)->lpVtbl -> GetFill(This,ulIndex,ppSurface,ppt,pFillColor)
  3622. #define IDXRasterizer_BeginRendering(This,ulTimeOut) \
  3623. (This)->lpVtbl -> BeginRendering(This,ulTimeOut)
  3624. #define IDXRasterizer_EndRendering(This) \
  3625. (This)->lpVtbl -> EndRendering(This)
  3626. #define IDXRasterizer_RenderScan(This,pScanInfo) \
  3627. (This)->lpVtbl -> RenderScan(This,pScanInfo)
  3628. #define IDXRasterizer_SetPixel(This,pPointInfo) \
  3629. (This)->lpVtbl -> SetPixel(This,pPointInfo)
  3630. #define IDXRasterizer_FillRect(This,pRectInfo) \
  3631. (This)->lpVtbl -> FillRect(This,pRectInfo)
  3632. #define IDXRasterizer_GetBounds(This,pBounds) \
  3633. (This)->lpVtbl -> GetBounds(This,pBounds)
  3634. #endif /* COBJMACROS */
  3635. #endif /* C style interface */
  3636. HRESULT STDMETHODCALLTYPE IDXRasterizer_SetSurface_Proxy(
  3637. IDXRasterizer __RPC_FAR * This,
  3638. /* [in] */ IDXSurface __RPC_FAR *pDXSurface);
  3639. void __RPC_STUB IDXRasterizer_SetSurface_Stub(
  3640. IRpcStubBuffer *This,
  3641. IRpcChannelBuffer *_pRpcChannelBuffer,
  3642. PRPC_MESSAGE _pRpcMessage,
  3643. DWORD *_pdwStubPhase);
  3644. HRESULT STDMETHODCALLTYPE IDXRasterizer_GetSurface_Proxy(
  3645. IDXRasterizer __RPC_FAR * This,
  3646. /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppDXSurface);
  3647. void __RPC_STUB IDXRasterizer_GetSurface_Stub(
  3648. IRpcStubBuffer *This,
  3649. IRpcChannelBuffer *_pRpcChannelBuffer,
  3650. PRPC_MESSAGE _pRpcMessage,
  3651. DWORD *_pdwStubPhase);
  3652. HRESULT STDMETHODCALLTYPE IDXRasterizer_SetFill_Proxy(
  3653. IDXRasterizer __RPC_FAR * This,
  3654. /* [in] */ ULONG ulIndex,
  3655. /* [in] */ IDXSurface __RPC_FAR *pSurface,
  3656. /* [in] */ const POINT __RPC_FAR *ppt,
  3657. /* [in] */ DXSAMPLE FillColor);
  3658. void __RPC_STUB IDXRasterizer_SetFill_Stub(
  3659. IRpcStubBuffer *This,
  3660. IRpcChannelBuffer *_pRpcChannelBuffer,
  3661. PRPC_MESSAGE _pRpcMessage,
  3662. DWORD *_pdwStubPhase);
  3663. HRESULT STDMETHODCALLTYPE IDXRasterizer_GetFill_Proxy(
  3664. IDXRasterizer __RPC_FAR * This,
  3665. /* [in] */ ULONG ulIndex,
  3666. /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppSurface,
  3667. /* [out] */ POINT __RPC_FAR *ppt,
  3668. /* [out] */ DXSAMPLE __RPC_FAR *pFillColor);
  3669. void __RPC_STUB IDXRasterizer_GetFill_Stub(
  3670. IRpcStubBuffer *This,
  3671. IRpcChannelBuffer *_pRpcChannelBuffer,
  3672. PRPC_MESSAGE _pRpcMessage,
  3673. DWORD *_pdwStubPhase);
  3674. HRESULT STDMETHODCALLTYPE IDXRasterizer_BeginRendering_Proxy(
  3675. IDXRasterizer __RPC_FAR * This,
  3676. /* [in] */ ULONG ulTimeOut);
  3677. void __RPC_STUB IDXRasterizer_BeginRendering_Stub(
  3678. IRpcStubBuffer *This,
  3679. IRpcChannelBuffer *_pRpcChannelBuffer,
  3680. PRPC_MESSAGE _pRpcMessage,
  3681. DWORD *_pdwStubPhase);
  3682. HRESULT STDMETHODCALLTYPE IDXRasterizer_EndRendering_Proxy(
  3683. IDXRasterizer __RPC_FAR * This);
  3684. void __RPC_STUB IDXRasterizer_EndRendering_Stub(
  3685. IRpcStubBuffer *This,
  3686. IRpcChannelBuffer *_pRpcChannelBuffer,
  3687. PRPC_MESSAGE _pRpcMessage,
  3688. DWORD *_pdwStubPhase);
  3689. HRESULT STDMETHODCALLTYPE IDXRasterizer_RenderScan_Proxy(
  3690. IDXRasterizer __RPC_FAR * This,
  3691. /* [in] */ const DXRASTERSCANINFO __RPC_FAR *pScanInfo);
  3692. void __RPC_STUB IDXRasterizer_RenderScan_Stub(
  3693. IRpcStubBuffer *This,
  3694. IRpcChannelBuffer *_pRpcChannelBuffer,
  3695. PRPC_MESSAGE _pRpcMessage,
  3696. DWORD *_pdwStubPhase);
  3697. HRESULT STDMETHODCALLTYPE IDXRasterizer_SetPixel_Proxy(
  3698. IDXRasterizer __RPC_FAR * This,
  3699. /* [in] */ DXRASTERPOINTINFO __RPC_FAR *pPointInfo);
  3700. void __RPC_STUB IDXRasterizer_SetPixel_Stub(
  3701. IRpcStubBuffer *This,
  3702. IRpcChannelBuffer *_pRpcChannelBuffer,
  3703. PRPC_MESSAGE _pRpcMessage,
  3704. DWORD *_pdwStubPhase);
  3705. HRESULT STDMETHODCALLTYPE IDXRasterizer_FillRect_Proxy(
  3706. IDXRasterizer __RPC_FAR * This,
  3707. /* [in] */ const DXRASTERRECTINFO __RPC_FAR *pRectInfo);
  3708. void __RPC_STUB IDXRasterizer_FillRect_Stub(
  3709. IRpcStubBuffer *This,
  3710. IRpcChannelBuffer *_pRpcChannelBuffer,
  3711. PRPC_MESSAGE _pRpcMessage,
  3712. DWORD *_pdwStubPhase);
  3713. HRESULT STDMETHODCALLTYPE IDXRasterizer_GetBounds_Proxy(
  3714. IDXRasterizer __RPC_FAR * This,
  3715. /* [out] */ DXBNDS __RPC_FAR *pBounds);
  3716. void __RPC_STUB IDXRasterizer_GetBounds_Stub(
  3717. IRpcStubBuffer *This,
  3718. IRpcChannelBuffer *_pRpcChannelBuffer,
  3719. PRPC_MESSAGE _pRpcMessage,
  3720. DWORD *_pdwStubPhase);
  3721. #endif /* __IDXRasterizer_INTERFACE_DEFINED__ */
  3722. /* interface __MIDL_itf_dxtrans_0271 */
  3723. /* [local] */
  3724. typedef
  3725. enum DISPIDDXEFFECT
  3726. { DISPID_DXECAPABILITIES = 10000,
  3727. DISPID_DXEPROGRESS = DISPID_DXECAPABILITIES + 1,
  3728. DISPID_DXESTEP = DISPID_DXEPROGRESS + 1,
  3729. DISPID_DXEDURATION = DISPID_DXESTEP + 1,
  3730. DISPID_DXE_NEXT_ID = DISPID_DXEDURATION + 1
  3731. } DISPIDDXBOUNDEDEFFECT;
  3732. typedef
  3733. enum DXEFFECTTYPE
  3734. { DXTET_PERIODIC = 1 << 0,
  3735. DXTET_MORPH = 1 << 1
  3736. } DXEFFECTTYPE;
  3737. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0271_v0_0_c_ifspec;
  3738. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0271_v0_0_s_ifspec;
  3739. #ifndef __IDXEffect_INTERFACE_DEFINED__
  3740. #define __IDXEffect_INTERFACE_DEFINED__
  3741. /* interface IDXEffect */
  3742. /* [unique][helpstring][dual][uuid][object] */
  3743. EXTERN_C const IID IID_IDXEffect;
  3744. #if defined(__cplusplus) && !defined(CINTERFACE)
  3745. MIDL_INTERFACE("E31FB81B-1335-11d1-8189-0000F87557DB")
  3746. IDXEffect : public IDispatch
  3747. {
  3748. public:
  3749. virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Capabilities(
  3750. /* [retval][out] */ long __RPC_FAR *pVal) = 0;
  3751. virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Progress(
  3752. /* [retval][out] */ float __RPC_FAR *pVal) = 0;
  3753. virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Progress(
  3754. /* [in] */ float newVal) = 0;
  3755. virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_StepResolution(
  3756. /* [retval][out] */ float __RPC_FAR *pVal) = 0;
  3757. virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Duration(
  3758. /* [retval][out] */ float __RPC_FAR *pVal) = 0;
  3759. virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Duration(
  3760. /* [in] */ float newVal) = 0;
  3761. };
  3762. #else /* C style interface */
  3763. typedef struct IDXEffectVtbl
  3764. {
  3765. BEGIN_INTERFACE
  3766. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3767. IDXEffect __RPC_FAR * This,
  3768. /* [in] */ REFIID riid,
  3769. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3770. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3771. IDXEffect __RPC_FAR * This);
  3772. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3773. IDXEffect __RPC_FAR * This);
  3774. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  3775. IDXEffect __RPC_FAR * This,
  3776. /* [out] */ UINT __RPC_FAR *pctinfo);
  3777. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  3778. IDXEffect __RPC_FAR * This,
  3779. /* [in] */ UINT iTInfo,
  3780. /* [in] */ LCID lcid,
  3781. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3782. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  3783. IDXEffect __RPC_FAR * This,
  3784. /* [in] */ REFIID riid,
  3785. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3786. /* [in] */ UINT cNames,
  3787. /* [in] */ LCID lcid,
  3788. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  3789. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  3790. IDXEffect __RPC_FAR * This,
  3791. /* [in] */ DISPID dispIdMember,
  3792. /* [in] */ REFIID riid,
  3793. /* [in] */ LCID lcid,
  3794. /* [in] */ WORD wFlags,
  3795. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3796. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3797. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3798. /* [out] */ UINT __RPC_FAR *puArgErr);
  3799. /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Capabilities )(
  3800. IDXEffect __RPC_FAR * This,
  3801. /* [retval][out] */ long __RPC_FAR *pVal);
  3802. /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Progress )(
  3803. IDXEffect __RPC_FAR * This,
  3804. /* [retval][out] */ float __RPC_FAR *pVal);
  3805. /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Progress )(
  3806. IDXEffect __RPC_FAR * This,
  3807. /* [in] */ float newVal);
  3808. /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StepResolution )(
  3809. IDXEffect __RPC_FAR * This,
  3810. /* [retval][out] */ float __RPC_FAR *pVal);
  3811. /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Duration )(
  3812. IDXEffect __RPC_FAR * This,
  3813. /* [retval][out] */ float __RPC_FAR *pVal);
  3814. /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Duration )(
  3815. IDXEffect __RPC_FAR * This,
  3816. /* [in] */ float newVal);
  3817. END_INTERFACE
  3818. } IDXEffectVtbl;
  3819. interface IDXEffect
  3820. {
  3821. CONST_VTBL struct IDXEffectVtbl __RPC_FAR *lpVtbl;
  3822. };
  3823. #ifdef COBJMACROS
  3824. #define IDXEffect_QueryInterface(This,riid,ppvObject) \
  3825. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3826. #define IDXEffect_AddRef(This) \
  3827. (This)->lpVtbl -> AddRef(This)
  3828. #define IDXEffect_Release(This) \
  3829. (This)->lpVtbl -> Release(This)
  3830. #define IDXEffect_GetTypeInfoCount(This,pctinfo) \
  3831. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3832. #define IDXEffect_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  3833. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3834. #define IDXEffect_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  3835. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3836. #define IDXEffect_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  3837. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3838. #define IDXEffect_get_Capabilities(This,pVal) \
  3839. (This)->lpVtbl -> get_Capabilities(This,pVal)
  3840. #define IDXEffect_get_Progress(This,pVal) \
  3841. (This)->lpVtbl -> get_Progress(This,pVal)
  3842. #define IDXEffect_put_Progress(This,newVal) \
  3843. (This)->lpVtbl -> put_Progress(This,newVal)
  3844. #define IDXEffect_get_StepResolution(This,pVal) \
  3845. (This)->lpVtbl -> get_StepResolution(This,pVal)
  3846. #define IDXEffect_get_Duration(This,pVal) \
  3847. (This)->lpVtbl -> get_Duration(This,pVal)
  3848. #define IDXEffect_put_Duration(This,newVal) \
  3849. (This)->lpVtbl -> put_Duration(This,newVal)
  3850. #endif /* COBJMACROS */
  3851. #endif /* C style interface */
  3852. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IDXEffect_get_Capabilities_Proxy(
  3853. IDXEffect __RPC_FAR * This,
  3854. /* [retval][out] */ long __RPC_FAR *pVal);
  3855. void __RPC_STUB IDXEffect_get_Capabilities_Stub(
  3856. IRpcStubBuffer *This,
  3857. IRpcChannelBuffer *_pRpcChannelBuffer,
  3858. PRPC_MESSAGE _pRpcMessage,
  3859. DWORD *_pdwStubPhase);
  3860. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IDXEffect_get_Progress_Proxy(
  3861. IDXEffect __RPC_FAR * This,
  3862. /* [retval][out] */ float __RPC_FAR *pVal);
  3863. void __RPC_STUB IDXEffect_get_Progress_Stub(
  3864. IRpcStubBuffer *This,
  3865. IRpcChannelBuffer *_pRpcChannelBuffer,
  3866. PRPC_MESSAGE _pRpcMessage,
  3867. DWORD *_pdwStubPhase);
  3868. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IDXEffect_put_Progress_Proxy(
  3869. IDXEffect __RPC_FAR * This,
  3870. /* [in] */ float newVal);
  3871. void __RPC_STUB IDXEffect_put_Progress_Stub(
  3872. IRpcStubBuffer *This,
  3873. IRpcChannelBuffer *_pRpcChannelBuffer,
  3874. PRPC_MESSAGE _pRpcMessage,
  3875. DWORD *_pdwStubPhase);
  3876. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IDXEffect_get_StepResolution_Proxy(
  3877. IDXEffect __RPC_FAR * This,
  3878. /* [retval][out] */ float __RPC_FAR *pVal);
  3879. void __RPC_STUB IDXEffect_get_StepResolution_Stub(
  3880. IRpcStubBuffer *This,
  3881. IRpcChannelBuffer *_pRpcChannelBuffer,
  3882. PRPC_MESSAGE _pRpcMessage,
  3883. DWORD *_pdwStubPhase);
  3884. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IDXEffect_get_Duration_Proxy(
  3885. IDXEffect __RPC_FAR * This,
  3886. /* [retval][out] */ float __RPC_FAR *pVal);
  3887. void __RPC_STUB IDXEffect_get_Duration_Stub(
  3888. IRpcStubBuffer *This,
  3889. IRpcChannelBuffer *_pRpcChannelBuffer,
  3890. PRPC_MESSAGE _pRpcMessage,
  3891. DWORD *_pdwStubPhase);
  3892. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IDXEffect_put_Duration_Proxy(
  3893. IDXEffect __RPC_FAR * This,
  3894. /* [in] */ float newVal);
  3895. void __RPC_STUB IDXEffect_put_Duration_Stub(
  3896. IRpcStubBuffer *This,
  3897. IRpcChannelBuffer *_pRpcChannelBuffer,
  3898. PRPC_MESSAGE _pRpcMessage,
  3899. DWORD *_pdwStubPhase);
  3900. #endif /* __IDXEffect_INTERFACE_DEFINED__ */
  3901. #ifndef __IDXLookupTable_INTERFACE_DEFINED__
  3902. #define __IDXLookupTable_INTERFACE_DEFINED__
  3903. /* interface IDXLookupTable */
  3904. /* [object][unique][helpstring][uuid] */
  3905. EXTERN_C const IID IID_IDXLookupTable;
  3906. #if defined(__cplusplus) && !defined(CINTERFACE)
  3907. MIDL_INTERFACE("01BAFC7F-9E63-11d1-9053-00C04FD9189D")
  3908. IDXLookupTable : public IDXBaseObject
  3909. {
  3910. public:
  3911. virtual HRESULT STDMETHODCALLTYPE GetTables(
  3912. /* [out] */ BYTE __RPC_FAR RedLUT[ 256 ],
  3913. /* [out] */ BYTE __RPC_FAR GreenLUT[ 256 ],
  3914. /* [out] */ BYTE __RPC_FAR BlueLUT[ 256 ],
  3915. /* [out] */ BYTE __RPC_FAR AlphaLUT[ 256 ]) = 0;
  3916. virtual HRESULT STDMETHODCALLTYPE IsChannelIdentity(
  3917. /* [out] */ DXBASESAMPLE __RPC_FAR *pSampleBools) = 0;
  3918. virtual HRESULT STDMETHODCALLTYPE GetIndexValues(
  3919. /* [in] */ ULONG Index,
  3920. /* [out] */ DXBASESAMPLE __RPC_FAR *pSample) = 0;
  3921. virtual HRESULT STDMETHODCALLTYPE ApplyTables(
  3922. /* [out][in] */ DXSAMPLE __RPC_FAR *pSamples,
  3923. /* [in] */ ULONG cSamples) = 0;
  3924. };
  3925. #else /* C style interface */
  3926. typedef struct IDXLookupTableVtbl
  3927. {
  3928. BEGIN_INTERFACE
  3929. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  3930. IDXLookupTable __RPC_FAR * This,
  3931. /* [in] */ REFIID riid,
  3932. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3933. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  3934. IDXLookupTable __RPC_FAR * This);
  3935. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  3936. IDXLookupTable __RPC_FAR * This);
  3937. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetGenerationId )(
  3938. IDXLookupTable __RPC_FAR * This,
  3939. /* [out] */ ULONG __RPC_FAR *pID);
  3940. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IncrementGenerationId )(
  3941. IDXLookupTable __RPC_FAR * This,
  3942. /* [in] */ BOOL bRefresh);
  3943. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectSize )(
  3944. IDXLookupTable __RPC_FAR * This,
  3945. /* [out] */ ULONG __RPC_FAR *pcbSize);
  3946. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTables )(
  3947. IDXLookupTable __RPC_FAR * This,
  3948. /* [out] */ BYTE __RPC_FAR RedLUT[ 256 ],
  3949. /* [out] */ BYTE __RPC_FAR GreenLUT[ 256 ],
  3950. /* [out] */ BYTE __RPC_FAR BlueLUT[ 256 ],
  3951. /* [out] */ BYTE __RPC_FAR AlphaLUT[ 256 ]);
  3952. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsChannelIdentity )(
  3953. IDXLookupTable __RPC_FAR * This,
  3954. /* [out] */ DXBASESAMPLE __RPC_FAR *pSampleBools);
  3955. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIndexValues )(
  3956. IDXLookupTable __RPC_FAR * This,
  3957. /* [in] */ ULONG Index,
  3958. /* [out] */ DXBASESAMPLE __RPC_FAR *pSample);
  3959. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ApplyTables )(
  3960. IDXLookupTable __RPC_FAR * This,
  3961. /* [out][in] */ DXSAMPLE __RPC_FAR *pSamples,
  3962. /* [in] */ ULONG cSamples);
  3963. END_INTERFACE
  3964. } IDXLookupTableVtbl;
  3965. interface IDXLookupTable
  3966. {
  3967. CONST_VTBL struct IDXLookupTableVtbl __RPC_FAR *lpVtbl;
  3968. };
  3969. #ifdef COBJMACROS
  3970. #define IDXLookupTable_QueryInterface(This,riid,ppvObject) \
  3971. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3972. #define IDXLookupTable_AddRef(This) \
  3973. (This)->lpVtbl -> AddRef(This)
  3974. #define IDXLookupTable_Release(This) \
  3975. (This)->lpVtbl -> Release(This)
  3976. #define IDXLookupTable_GetGenerationId(This,pID) \
  3977. (This)->lpVtbl -> GetGenerationId(This,pID)
  3978. #define IDXLookupTable_IncrementGenerationId(This,bRefresh) \
  3979. (This)->lpVtbl -> IncrementGenerationId(This,bRefresh)
  3980. #define IDXLookupTable_GetObjectSize(This,pcbSize) \
  3981. (This)->lpVtbl -> GetObjectSize(This,pcbSize)
  3982. #define IDXLookupTable_GetTables(This,RedLUT,GreenLUT,BlueLUT,AlphaLUT) \
  3983. (This)->lpVtbl -> GetTables(This,RedLUT,GreenLUT,BlueLUT,AlphaLUT)
  3984. #define IDXLookupTable_IsChannelIdentity(This,pSampleBools) \
  3985. (This)->lpVtbl -> IsChannelIdentity(This,pSampleBools)
  3986. #define IDXLookupTable_GetIndexValues(This,Index,pSample) \
  3987. (This)->lpVtbl -> GetIndexValues(This,Index,pSample)
  3988. #define IDXLookupTable_ApplyTables(This,pSamples,cSamples) \
  3989. (This)->lpVtbl -> ApplyTables(This,pSamples,cSamples)
  3990. #endif /* COBJMACROS */
  3991. #endif /* C style interface */
  3992. HRESULT STDMETHODCALLTYPE IDXLookupTable_GetTables_Proxy(
  3993. IDXLookupTable __RPC_FAR * This,
  3994. /* [out] */ BYTE __RPC_FAR RedLUT[ 256 ],
  3995. /* [out] */ BYTE __RPC_FAR GreenLUT[ 256 ],
  3996. /* [out] */ BYTE __RPC_FAR BlueLUT[ 256 ],
  3997. /* [out] */ BYTE __RPC_FAR AlphaLUT[ 256 ]);
  3998. void __RPC_STUB IDXLookupTable_GetTables_Stub(
  3999. IRpcStubBuffer *This,
  4000. IRpcChannelBuffer *_pRpcChannelBuffer,
  4001. PRPC_MESSAGE _pRpcMessage,
  4002. DWORD *_pdwStubPhase);
  4003. HRESULT STDMETHODCALLTYPE IDXLookupTable_IsChannelIdentity_Proxy(
  4004. IDXLookupTable __RPC_FAR * This,
  4005. /* [out] */ DXBASESAMPLE __RPC_FAR *pSampleBools);
  4006. void __RPC_STUB IDXLookupTable_IsChannelIdentity_Stub(
  4007. IRpcStubBuffer *This,
  4008. IRpcChannelBuffer *_pRpcChannelBuffer,
  4009. PRPC_MESSAGE _pRpcMessage,
  4010. DWORD *_pdwStubPhase);
  4011. HRESULT STDMETHODCALLTYPE IDXLookupTable_GetIndexValues_Proxy(
  4012. IDXLookupTable __RPC_FAR * This,
  4013. /* [in] */ ULONG Index,
  4014. /* [out] */ DXBASESAMPLE __RPC_FAR *pSample);
  4015. void __RPC_STUB IDXLookupTable_GetIndexValues_Stub(
  4016. IRpcStubBuffer *This,
  4017. IRpcChannelBuffer *_pRpcChannelBuffer,
  4018. PRPC_MESSAGE _pRpcMessage,
  4019. DWORD *_pdwStubPhase);
  4020. HRESULT STDMETHODCALLTYPE IDXLookupTable_ApplyTables_Proxy(
  4021. IDXLookupTable __RPC_FAR * This,
  4022. /* [out][in] */ DXSAMPLE __RPC_FAR *pSamples,
  4023. /* [in] */ ULONG cSamples);
  4024. void __RPC_STUB IDXLookupTable_ApplyTables_Stub(
  4025. IRpcStubBuffer *This,
  4026. IRpcChannelBuffer *_pRpcChannelBuffer,
  4027. PRPC_MESSAGE _pRpcMessage,
  4028. DWORD *_pdwStubPhase);
  4029. #endif /* __IDXLookupTable_INTERFACE_DEFINED__ */
  4030. /* interface __MIDL_itf_dxtrans_0273 */
  4031. /* [local] */
  4032. typedef
  4033. enum DX2DPOLYDRAW
  4034. { DX2D_WINDING_FILL = 1L << 0,
  4035. DX2D_NO_FLATTEN = 1L << 1,
  4036. DX2D_DO_GRID_FIT = 1L << 2,
  4037. DX2D_IS_RECT = 1L << 3,
  4038. DX2D_STROKE = 1L << 4,
  4039. DX2D_FILL = 1L << 5,
  4040. DX2D_UNUSED = 0xffffffc0
  4041. } DX2DPOLYDRAW;
  4042. typedef struct DXFPOINT
  4043. {
  4044. FLOAT x;
  4045. FLOAT y;
  4046. } DXFPOINT;
  4047. typedef
  4048. enum DX2DPEN
  4049. { DX2D_PEN_DEFAULT = 0,
  4050. DX2D_PEN_WIDTH_IN_DISPLAY_COORDS = 1L << 0,
  4051. DX2D_PEN_UNUSED = 0xfffffffe
  4052. } DX2DPEN;
  4053. typedef struct DXPEN
  4054. {
  4055. DXSAMPLE Color;
  4056. float Width;
  4057. DWORD Style;
  4058. IDXSurface __RPC_FAR *pTexture;
  4059. DXFPOINT TexturePos;
  4060. DWORD dwFlags;
  4061. } DXPEN;
  4062. typedef struct DXBRUSH
  4063. {
  4064. DXSAMPLE Color;
  4065. IDXSurface __RPC_FAR *pTexture;
  4066. DXFPOINT TexturePos;
  4067. } DXBRUSH;
  4068. typedef
  4069. enum DX2DGRADIENT
  4070. { DX2DGRAD_DEFAULT = 0,
  4071. DX2DGRAD_CLIPGRADIENT = 1,
  4072. DX2DGRAD_UNUSED = 0xfffffffe
  4073. } DX2DGRADIENT;
  4074. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0273_v0_0_c_ifspec;
  4075. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0273_v0_0_s_ifspec;
  4076. #ifndef __IDX2DDebug_INTERFACE_DEFINED__
  4077. #define __IDX2DDebug_INTERFACE_DEFINED__
  4078. /* interface IDX2DDebug */
  4079. /* [object][unique][helpstring][uuid][local] */
  4080. EXTERN_C const IID IID_IDX2DDebug;
  4081. #if defined(__cplusplus) && !defined(CINTERFACE)
  4082. MIDL_INTERFACE("03BB2457-A279-11d1-81C6-0000F87557DB")
  4083. IDX2DDebug : public IUnknown
  4084. {
  4085. public:
  4086. virtual HRESULT STDMETHODCALLTYPE SetDC(
  4087. HDC hDC) = 0;
  4088. virtual HRESULT STDMETHODCALLTYPE GetDC(
  4089. HDC __RPC_FAR *phDC) = 0;
  4090. };
  4091. #else /* C style interface */
  4092. typedef struct IDX2DDebugVtbl
  4093. {
  4094. BEGIN_INTERFACE
  4095. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  4096. IDX2DDebug __RPC_FAR * This,
  4097. /* [in] */ REFIID riid,
  4098. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4099. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4100. IDX2DDebug __RPC_FAR * This);
  4101. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4102. IDX2DDebug __RPC_FAR * This);
  4103. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDC )(
  4104. IDX2DDebug __RPC_FAR * This,
  4105. HDC hDC);
  4106. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDC )(
  4107. IDX2DDebug __RPC_FAR * This,
  4108. HDC __RPC_FAR *phDC);
  4109. END_INTERFACE
  4110. } IDX2DDebugVtbl;
  4111. interface IDX2DDebug
  4112. {
  4113. CONST_VTBL struct IDX2DDebugVtbl __RPC_FAR *lpVtbl;
  4114. };
  4115. #ifdef COBJMACROS
  4116. #define IDX2DDebug_QueryInterface(This,riid,ppvObject) \
  4117. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4118. #define IDX2DDebug_AddRef(This) \
  4119. (This)->lpVtbl -> AddRef(This)
  4120. #define IDX2DDebug_Release(This) \
  4121. (This)->lpVtbl -> Release(This)
  4122. #define IDX2DDebug_SetDC(This,hDC) \
  4123. (This)->lpVtbl -> SetDC(This,hDC)
  4124. #define IDX2DDebug_GetDC(This,phDC) \
  4125. (This)->lpVtbl -> GetDC(This,phDC)
  4126. #endif /* COBJMACROS */
  4127. #endif /* C style interface */
  4128. HRESULT STDMETHODCALLTYPE IDX2DDebug_SetDC_Proxy(
  4129. IDX2DDebug __RPC_FAR * This,
  4130. HDC hDC);
  4131. void __RPC_STUB IDX2DDebug_SetDC_Stub(
  4132. IRpcStubBuffer *This,
  4133. IRpcChannelBuffer *_pRpcChannelBuffer,
  4134. PRPC_MESSAGE _pRpcMessage,
  4135. DWORD *_pdwStubPhase);
  4136. HRESULT STDMETHODCALLTYPE IDX2DDebug_GetDC_Proxy(
  4137. IDX2DDebug __RPC_FAR * This,
  4138. HDC __RPC_FAR *phDC);
  4139. void __RPC_STUB IDX2DDebug_GetDC_Stub(
  4140. IRpcStubBuffer *This,
  4141. IRpcChannelBuffer *_pRpcChannelBuffer,
  4142. PRPC_MESSAGE _pRpcMessage,
  4143. DWORD *_pdwStubPhase);
  4144. #endif /* __IDX2DDebug_INTERFACE_DEFINED__ */
  4145. #ifndef __IDX2D_INTERFACE_DEFINED__
  4146. #define __IDX2D_INTERFACE_DEFINED__
  4147. /* interface IDX2D */
  4148. /* [object][unique][helpstring][uuid][local] */
  4149. EXTERN_C const IID IID_IDX2D;
  4150. #if defined(__cplusplus) && !defined(CINTERFACE)
  4151. MIDL_INTERFACE("9EFD02A9-A996-11d1-81C9-0000F87557DB")
  4152. IDX2D : public IUnknown
  4153. {
  4154. public:
  4155. virtual HRESULT STDMETHODCALLTYPE SetTransformFactory(
  4156. IDXTransformFactory __RPC_FAR *pTransFact) = 0;
  4157. virtual HRESULT STDMETHODCALLTYPE GetTransformFactory(
  4158. IDXTransformFactory __RPC_FAR *__RPC_FAR *ppTransFact) = 0;
  4159. virtual HRESULT STDMETHODCALLTYPE SetSurface(
  4160. IUnknown __RPC_FAR *pSurface) = 0;
  4161. virtual HRESULT STDMETHODCALLTYPE GetSurface(
  4162. REFIID riid,
  4163. void __RPC_FAR *__RPC_FAR *ppSurface) = 0;
  4164. virtual HRESULT STDMETHODCALLTYPE SetClipRect(
  4165. RECT __RPC_FAR *pClipRect) = 0;
  4166. virtual HRESULT STDMETHODCALLTYPE GetClipRect(
  4167. RECT __RPC_FAR *pClipRect) = 0;
  4168. virtual HRESULT STDMETHODCALLTYPE SetWorldTransform(
  4169. const DX2DXFORM __RPC_FAR *pXform) = 0;
  4170. virtual HRESULT STDMETHODCALLTYPE GetWorldTransform(
  4171. DX2DXFORM __RPC_FAR *pXform) = 0;
  4172. virtual HRESULT STDMETHODCALLTYPE SetPen(
  4173. const DXPEN __RPC_FAR *pPen) = 0;
  4174. virtual HRESULT STDMETHODCALLTYPE GetPen(
  4175. DXPEN __RPC_FAR *pPen) = 0;
  4176. virtual HRESULT STDMETHODCALLTYPE SetBrush(
  4177. const DXBRUSH __RPC_FAR *pBrush) = 0;
  4178. virtual HRESULT STDMETHODCALLTYPE GetBrush(
  4179. DXBRUSH __RPC_FAR *pBrush) = 0;
  4180. virtual HRESULT STDMETHODCALLTYPE SetBackgroundBrush(
  4181. const DXBRUSH __RPC_FAR *pBrush) = 0;
  4182. virtual HRESULT STDMETHODCALLTYPE GetBackgroundBrush(
  4183. DXBRUSH __RPC_FAR *pBrush) = 0;
  4184. virtual HRESULT STDMETHODCALLTYPE SetFont(
  4185. HFONT hFont) = 0;
  4186. virtual HRESULT STDMETHODCALLTYPE GetFont(
  4187. HFONT __RPC_FAR *phFont) = 0;
  4188. virtual HRESULT STDMETHODCALLTYPE Blt(
  4189. IUnknown __RPC_FAR *punkSrc,
  4190. const RECT __RPC_FAR *pSrcRect,
  4191. const POINT __RPC_FAR *pDest) = 0;
  4192. virtual HRESULT STDMETHODCALLTYPE AAPolyDraw(
  4193. const DXFPOINT __RPC_FAR *pPos,
  4194. const BYTE __RPC_FAR *pTypes,
  4195. ULONG ulCount,
  4196. ULONG SubSampRes,
  4197. DWORD dwFlags) = 0;
  4198. virtual HRESULT STDMETHODCALLTYPE AAText(
  4199. DXFPOINT Pos,
  4200. LPWSTR pString,
  4201. ULONG ulCount,
  4202. DWORD dwFlags) = 0;
  4203. virtual HRESULT STDMETHODCALLTYPE SetRadialGradientBrush(
  4204. /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  4205. /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  4206. /* [in] */ ULONG ulCount,
  4207. /* [in] */ double dblOpacity,
  4208. /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  4209. /* [in] */ DWORD dwFlags) = 0;
  4210. virtual HRESULT STDMETHODCALLTYPE SetLinearGradientBrush(
  4211. /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  4212. /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  4213. /* [in] */ ULONG ulCount,
  4214. /* [in] */ double dblOpacity,
  4215. /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  4216. /* [in] */ DWORD dwFlags) = 0;
  4217. };
  4218. #else /* C style interface */
  4219. typedef struct IDX2DVtbl
  4220. {
  4221. BEGIN_INTERFACE
  4222. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  4223. IDX2D __RPC_FAR * This,
  4224. /* [in] */ REFIID riid,
  4225. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4226. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4227. IDX2D __RPC_FAR * This);
  4228. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4229. IDX2D __RPC_FAR * This);
  4230. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTransformFactory )(
  4231. IDX2D __RPC_FAR * This,
  4232. IDXTransformFactory __RPC_FAR *pTransFact);
  4233. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTransformFactory )(
  4234. IDX2D __RPC_FAR * This,
  4235. IDXTransformFactory __RPC_FAR *__RPC_FAR *ppTransFact);
  4236. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSurface )(
  4237. IDX2D __RPC_FAR * This,
  4238. IUnknown __RPC_FAR *pSurface);
  4239. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )(
  4240. IDX2D __RPC_FAR * This,
  4241. REFIID riid,
  4242. void __RPC_FAR *__RPC_FAR *ppSurface);
  4243. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetClipRect )(
  4244. IDX2D __RPC_FAR * This,
  4245. RECT __RPC_FAR *pClipRect);
  4246. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClipRect )(
  4247. IDX2D __RPC_FAR * This,
  4248. RECT __RPC_FAR *pClipRect);
  4249. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetWorldTransform )(
  4250. IDX2D __RPC_FAR * This,
  4251. const DX2DXFORM __RPC_FAR *pXform);
  4252. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWorldTransform )(
  4253. IDX2D __RPC_FAR * This,
  4254. DX2DXFORM __RPC_FAR *pXform);
  4255. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPen )(
  4256. IDX2D __RPC_FAR * This,
  4257. const DXPEN __RPC_FAR *pPen);
  4258. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPen )(
  4259. IDX2D __RPC_FAR * This,
  4260. DXPEN __RPC_FAR *pPen);
  4261. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBrush )(
  4262. IDX2D __RPC_FAR * This,
  4263. const DXBRUSH __RPC_FAR *pBrush);
  4264. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBrush )(
  4265. IDX2D __RPC_FAR * This,
  4266. DXBRUSH __RPC_FAR *pBrush);
  4267. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBackgroundBrush )(
  4268. IDX2D __RPC_FAR * This,
  4269. const DXBRUSH __RPC_FAR *pBrush);
  4270. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBackgroundBrush )(
  4271. IDX2D __RPC_FAR * This,
  4272. DXBRUSH __RPC_FAR *pBrush);
  4273. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFont )(
  4274. IDX2D __RPC_FAR * This,
  4275. HFONT hFont);
  4276. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFont )(
  4277. IDX2D __RPC_FAR * This,
  4278. HFONT __RPC_FAR *phFont);
  4279. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Blt )(
  4280. IDX2D __RPC_FAR * This,
  4281. IUnknown __RPC_FAR *punkSrc,
  4282. const RECT __RPC_FAR *pSrcRect,
  4283. const POINT __RPC_FAR *pDest);
  4284. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AAPolyDraw )(
  4285. IDX2D __RPC_FAR * This,
  4286. const DXFPOINT __RPC_FAR *pPos,
  4287. const BYTE __RPC_FAR *pTypes,
  4288. ULONG ulCount,
  4289. ULONG SubSampRes,
  4290. DWORD dwFlags);
  4291. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AAText )(
  4292. IDX2D __RPC_FAR * This,
  4293. DXFPOINT Pos,
  4294. LPWSTR pString,
  4295. ULONG ulCount,
  4296. DWORD dwFlags);
  4297. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetRadialGradientBrush )(
  4298. IDX2D __RPC_FAR * This,
  4299. /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  4300. /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  4301. /* [in] */ ULONG ulCount,
  4302. /* [in] */ double dblOpacity,
  4303. /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  4304. /* [in] */ DWORD dwFlags);
  4305. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLinearGradientBrush )(
  4306. IDX2D __RPC_FAR * This,
  4307. /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  4308. /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  4309. /* [in] */ ULONG ulCount,
  4310. /* [in] */ double dblOpacity,
  4311. /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  4312. /* [in] */ DWORD dwFlags);
  4313. END_INTERFACE
  4314. } IDX2DVtbl;
  4315. interface IDX2D
  4316. {
  4317. CONST_VTBL struct IDX2DVtbl __RPC_FAR *lpVtbl;
  4318. };
  4319. #ifdef COBJMACROS
  4320. #define IDX2D_QueryInterface(This,riid,ppvObject) \
  4321. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4322. #define IDX2D_AddRef(This) \
  4323. (This)->lpVtbl -> AddRef(This)
  4324. #define IDX2D_Release(This) \
  4325. (This)->lpVtbl -> Release(This)
  4326. #define IDX2D_SetTransformFactory(This,pTransFact) \
  4327. (This)->lpVtbl -> SetTransformFactory(This,pTransFact)
  4328. #define IDX2D_GetTransformFactory(This,ppTransFact) \
  4329. (This)->lpVtbl -> GetTransformFactory(This,ppTransFact)
  4330. #define IDX2D_SetSurface(This,pSurface) \
  4331. (This)->lpVtbl -> SetSurface(This,pSurface)
  4332. #define IDX2D_GetSurface(This,riid,ppSurface) \
  4333. (This)->lpVtbl -> GetSurface(This,riid,ppSurface)
  4334. #define IDX2D_SetClipRect(This,pClipRect) \
  4335. (This)->lpVtbl -> SetClipRect(This,pClipRect)
  4336. #define IDX2D_GetClipRect(This,pClipRect) \
  4337. (This)->lpVtbl -> GetClipRect(This,pClipRect)
  4338. #define IDX2D_SetWorldTransform(This,pXform) \
  4339. (This)->lpVtbl -> SetWorldTransform(This,pXform)
  4340. #define IDX2D_GetWorldTransform(This,pXform) \
  4341. (This)->lpVtbl -> GetWorldTransform(This,pXform)
  4342. #define IDX2D_SetPen(This,pPen) \
  4343. (This)->lpVtbl -> SetPen(This,pPen)
  4344. #define IDX2D_GetPen(This,pPen) \
  4345. (This)->lpVtbl -> GetPen(This,pPen)
  4346. #define IDX2D_SetBrush(This,pBrush) \
  4347. (This)->lpVtbl -> SetBrush(This,pBrush)
  4348. #define IDX2D_GetBrush(This,pBrush) \
  4349. (This)->lpVtbl -> GetBrush(This,pBrush)
  4350. #define IDX2D_SetBackgroundBrush(This,pBrush) \
  4351. (This)->lpVtbl -> SetBackgroundBrush(This,pBrush)
  4352. #define IDX2D_GetBackgroundBrush(This,pBrush) \
  4353. (This)->lpVtbl -> GetBackgroundBrush(This,pBrush)
  4354. #define IDX2D_SetFont(This,hFont) \
  4355. (This)->lpVtbl -> SetFont(This,hFont)
  4356. #define IDX2D_GetFont(This,phFont) \
  4357. (This)->lpVtbl -> GetFont(This,phFont)
  4358. #define IDX2D_Blt(This,punkSrc,pSrcRect,pDest) \
  4359. (This)->lpVtbl -> Blt(This,punkSrc,pSrcRect,pDest)
  4360. #define IDX2D_AAPolyDraw(This,pPos,pTypes,ulCount,SubSampRes,dwFlags) \
  4361. (This)->lpVtbl -> AAPolyDraw(This,pPos,pTypes,ulCount,SubSampRes,dwFlags)
  4362. #define IDX2D_AAText(This,Pos,pString,ulCount,dwFlags) \
  4363. (This)->lpVtbl -> AAText(This,Pos,pString,ulCount,dwFlags)
  4364. #define IDX2D_SetRadialGradientBrush(This,rgdblOffsets,rgdblColors,ulCount,dblOpacity,pXform,dwFlags) \
  4365. (This)->lpVtbl -> SetRadialGradientBrush(This,rgdblOffsets,rgdblColors,ulCount,dblOpacity,pXform,dwFlags)
  4366. #define IDX2D_SetLinearGradientBrush(This,rgdblOffsets,rgdblColors,ulCount,dblOpacity,pXform,dwFlags) \
  4367. (This)->lpVtbl -> SetLinearGradientBrush(This,rgdblOffsets,rgdblColors,ulCount,dblOpacity,pXform,dwFlags)
  4368. #endif /* COBJMACROS */
  4369. #endif /* C style interface */
  4370. HRESULT STDMETHODCALLTYPE IDX2D_SetTransformFactory_Proxy(
  4371. IDX2D __RPC_FAR * This,
  4372. IDXTransformFactory __RPC_FAR *pTransFact);
  4373. void __RPC_STUB IDX2D_SetTransformFactory_Stub(
  4374. IRpcStubBuffer *This,
  4375. IRpcChannelBuffer *_pRpcChannelBuffer,
  4376. PRPC_MESSAGE _pRpcMessage,
  4377. DWORD *_pdwStubPhase);
  4378. HRESULT STDMETHODCALLTYPE IDX2D_GetTransformFactory_Proxy(
  4379. IDX2D __RPC_FAR * This,
  4380. IDXTransformFactory __RPC_FAR *__RPC_FAR *ppTransFact);
  4381. void __RPC_STUB IDX2D_GetTransformFactory_Stub(
  4382. IRpcStubBuffer *This,
  4383. IRpcChannelBuffer *_pRpcChannelBuffer,
  4384. PRPC_MESSAGE _pRpcMessage,
  4385. DWORD *_pdwStubPhase);
  4386. HRESULT STDMETHODCALLTYPE IDX2D_SetSurface_Proxy(
  4387. IDX2D __RPC_FAR * This,
  4388. IUnknown __RPC_FAR *pSurface);
  4389. void __RPC_STUB IDX2D_SetSurface_Stub(
  4390. IRpcStubBuffer *This,
  4391. IRpcChannelBuffer *_pRpcChannelBuffer,
  4392. PRPC_MESSAGE _pRpcMessage,
  4393. DWORD *_pdwStubPhase);
  4394. HRESULT STDMETHODCALLTYPE IDX2D_GetSurface_Proxy(
  4395. IDX2D __RPC_FAR * This,
  4396. REFIID riid,
  4397. void __RPC_FAR *__RPC_FAR *ppSurface);
  4398. void __RPC_STUB IDX2D_GetSurface_Stub(
  4399. IRpcStubBuffer *This,
  4400. IRpcChannelBuffer *_pRpcChannelBuffer,
  4401. PRPC_MESSAGE _pRpcMessage,
  4402. DWORD *_pdwStubPhase);
  4403. HRESULT STDMETHODCALLTYPE IDX2D_SetClipRect_Proxy(
  4404. IDX2D __RPC_FAR * This,
  4405. RECT __RPC_FAR *pClipRect);
  4406. void __RPC_STUB IDX2D_SetClipRect_Stub(
  4407. IRpcStubBuffer *This,
  4408. IRpcChannelBuffer *_pRpcChannelBuffer,
  4409. PRPC_MESSAGE _pRpcMessage,
  4410. DWORD *_pdwStubPhase);
  4411. HRESULT STDMETHODCALLTYPE IDX2D_GetClipRect_Proxy(
  4412. IDX2D __RPC_FAR * This,
  4413. RECT __RPC_FAR *pClipRect);
  4414. void __RPC_STUB IDX2D_GetClipRect_Stub(
  4415. IRpcStubBuffer *This,
  4416. IRpcChannelBuffer *_pRpcChannelBuffer,
  4417. PRPC_MESSAGE _pRpcMessage,
  4418. DWORD *_pdwStubPhase);
  4419. HRESULT STDMETHODCALLTYPE IDX2D_SetWorldTransform_Proxy(
  4420. IDX2D __RPC_FAR * This,
  4421. const DX2DXFORM __RPC_FAR *pXform);
  4422. void __RPC_STUB IDX2D_SetWorldTransform_Stub(
  4423. IRpcStubBuffer *This,
  4424. IRpcChannelBuffer *_pRpcChannelBuffer,
  4425. PRPC_MESSAGE _pRpcMessage,
  4426. DWORD *_pdwStubPhase);
  4427. HRESULT STDMETHODCALLTYPE IDX2D_GetWorldTransform_Proxy(
  4428. IDX2D __RPC_FAR * This,
  4429. DX2DXFORM __RPC_FAR *pXform);
  4430. void __RPC_STUB IDX2D_GetWorldTransform_Stub(
  4431. IRpcStubBuffer *This,
  4432. IRpcChannelBuffer *_pRpcChannelBuffer,
  4433. PRPC_MESSAGE _pRpcMessage,
  4434. DWORD *_pdwStubPhase);
  4435. HRESULT STDMETHODCALLTYPE IDX2D_SetPen_Proxy(
  4436. IDX2D __RPC_FAR * This,
  4437. const DXPEN __RPC_FAR *pPen);
  4438. void __RPC_STUB IDX2D_SetPen_Stub(
  4439. IRpcStubBuffer *This,
  4440. IRpcChannelBuffer *_pRpcChannelBuffer,
  4441. PRPC_MESSAGE _pRpcMessage,
  4442. DWORD *_pdwStubPhase);
  4443. HRESULT STDMETHODCALLTYPE IDX2D_GetPen_Proxy(
  4444. IDX2D __RPC_FAR * This,
  4445. DXPEN __RPC_FAR *pPen);
  4446. void __RPC_STUB IDX2D_GetPen_Stub(
  4447. IRpcStubBuffer *This,
  4448. IRpcChannelBuffer *_pRpcChannelBuffer,
  4449. PRPC_MESSAGE _pRpcMessage,
  4450. DWORD *_pdwStubPhase);
  4451. HRESULT STDMETHODCALLTYPE IDX2D_SetBrush_Proxy(
  4452. IDX2D __RPC_FAR * This,
  4453. const DXBRUSH __RPC_FAR *pBrush);
  4454. void __RPC_STUB IDX2D_SetBrush_Stub(
  4455. IRpcStubBuffer *This,
  4456. IRpcChannelBuffer *_pRpcChannelBuffer,
  4457. PRPC_MESSAGE _pRpcMessage,
  4458. DWORD *_pdwStubPhase);
  4459. HRESULT STDMETHODCALLTYPE IDX2D_GetBrush_Proxy(
  4460. IDX2D __RPC_FAR * This,
  4461. DXBRUSH __RPC_FAR *pBrush);
  4462. void __RPC_STUB IDX2D_GetBrush_Stub(
  4463. IRpcStubBuffer *This,
  4464. IRpcChannelBuffer *_pRpcChannelBuffer,
  4465. PRPC_MESSAGE _pRpcMessage,
  4466. DWORD *_pdwStubPhase);
  4467. HRESULT STDMETHODCALLTYPE IDX2D_SetBackgroundBrush_Proxy(
  4468. IDX2D __RPC_FAR * This,
  4469. const DXBRUSH __RPC_FAR *pBrush);
  4470. void __RPC_STUB IDX2D_SetBackgroundBrush_Stub(
  4471. IRpcStubBuffer *This,
  4472. IRpcChannelBuffer *_pRpcChannelBuffer,
  4473. PRPC_MESSAGE _pRpcMessage,
  4474. DWORD *_pdwStubPhase);
  4475. HRESULT STDMETHODCALLTYPE IDX2D_GetBackgroundBrush_Proxy(
  4476. IDX2D __RPC_FAR * This,
  4477. DXBRUSH __RPC_FAR *pBrush);
  4478. void __RPC_STUB IDX2D_GetBackgroundBrush_Stub(
  4479. IRpcStubBuffer *This,
  4480. IRpcChannelBuffer *_pRpcChannelBuffer,
  4481. PRPC_MESSAGE _pRpcMessage,
  4482. DWORD *_pdwStubPhase);
  4483. HRESULT STDMETHODCALLTYPE IDX2D_SetFont_Proxy(
  4484. IDX2D __RPC_FAR * This,
  4485. HFONT hFont);
  4486. void __RPC_STUB IDX2D_SetFont_Stub(
  4487. IRpcStubBuffer *This,
  4488. IRpcChannelBuffer *_pRpcChannelBuffer,
  4489. PRPC_MESSAGE _pRpcMessage,
  4490. DWORD *_pdwStubPhase);
  4491. HRESULT STDMETHODCALLTYPE IDX2D_GetFont_Proxy(
  4492. IDX2D __RPC_FAR * This,
  4493. HFONT __RPC_FAR *phFont);
  4494. void __RPC_STUB IDX2D_GetFont_Stub(
  4495. IRpcStubBuffer *This,
  4496. IRpcChannelBuffer *_pRpcChannelBuffer,
  4497. PRPC_MESSAGE _pRpcMessage,
  4498. DWORD *_pdwStubPhase);
  4499. HRESULT STDMETHODCALLTYPE IDX2D_Blt_Proxy(
  4500. IDX2D __RPC_FAR * This,
  4501. IUnknown __RPC_FAR *punkSrc,
  4502. const RECT __RPC_FAR *pSrcRect,
  4503. const POINT __RPC_FAR *pDest);
  4504. void __RPC_STUB IDX2D_Blt_Stub(
  4505. IRpcStubBuffer *This,
  4506. IRpcChannelBuffer *_pRpcChannelBuffer,
  4507. PRPC_MESSAGE _pRpcMessage,
  4508. DWORD *_pdwStubPhase);
  4509. HRESULT STDMETHODCALLTYPE IDX2D_AAPolyDraw_Proxy(
  4510. IDX2D __RPC_FAR * This,
  4511. const DXFPOINT __RPC_FAR *pPos,
  4512. const BYTE __RPC_FAR *pTypes,
  4513. ULONG ulCount,
  4514. ULONG SubSampRes,
  4515. DWORD dwFlags);
  4516. void __RPC_STUB IDX2D_AAPolyDraw_Stub(
  4517. IRpcStubBuffer *This,
  4518. IRpcChannelBuffer *_pRpcChannelBuffer,
  4519. PRPC_MESSAGE _pRpcMessage,
  4520. DWORD *_pdwStubPhase);
  4521. HRESULT STDMETHODCALLTYPE IDX2D_AAText_Proxy(
  4522. IDX2D __RPC_FAR * This,
  4523. DXFPOINT Pos,
  4524. LPWSTR pString,
  4525. ULONG ulCount,
  4526. DWORD dwFlags);
  4527. void __RPC_STUB IDX2D_AAText_Stub(
  4528. IRpcStubBuffer *This,
  4529. IRpcChannelBuffer *_pRpcChannelBuffer,
  4530. PRPC_MESSAGE _pRpcMessage,
  4531. DWORD *_pdwStubPhase);
  4532. HRESULT STDMETHODCALLTYPE IDX2D_SetRadialGradientBrush_Proxy(
  4533. IDX2D __RPC_FAR * This,
  4534. /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  4535. /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  4536. /* [in] */ ULONG ulCount,
  4537. /* [in] */ double dblOpacity,
  4538. /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  4539. /* [in] */ DWORD dwFlags);
  4540. void __RPC_STUB IDX2D_SetRadialGradientBrush_Stub(
  4541. IRpcStubBuffer *This,
  4542. IRpcChannelBuffer *_pRpcChannelBuffer,
  4543. PRPC_MESSAGE _pRpcMessage,
  4544. DWORD *_pdwStubPhase);
  4545. HRESULT STDMETHODCALLTYPE IDX2D_SetLinearGradientBrush_Proxy(
  4546. IDX2D __RPC_FAR * This,
  4547. /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  4548. /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  4549. /* [in] */ ULONG ulCount,
  4550. /* [in] */ double dblOpacity,
  4551. /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  4552. /* [in] */ DWORD dwFlags);
  4553. void __RPC_STUB IDX2D_SetLinearGradientBrush_Stub(
  4554. IRpcStubBuffer *This,
  4555. IRpcChannelBuffer *_pRpcChannelBuffer,
  4556. PRPC_MESSAGE _pRpcMessage,
  4557. DWORD *_pdwStubPhase);
  4558. #endif /* __IDX2D_INTERFACE_DEFINED__ */
  4559. /* interface __MIDL_itf_dxtrans_0275 */
  4560. /* [local] */
  4561. typedef struct DXRAWSURFACEINFO
  4562. {
  4563. BYTE __RPC_FAR *pFirstByte;
  4564. long lPitch;
  4565. ULONG Width;
  4566. ULONG Height;
  4567. const GUID __RPC_FAR *pPixelFormat;
  4568. HDC hdc;
  4569. DWORD dwColorKey;
  4570. DXBASESAMPLE __RPC_FAR *pPalette;
  4571. } DXRAWSURFACEINFO;
  4572. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0275_v0_0_c_ifspec;
  4573. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0275_v0_0_s_ifspec;
  4574. #ifndef __IDXRawSurface_INTERFACE_DEFINED__
  4575. #define __IDXRawSurface_INTERFACE_DEFINED__
  4576. /* interface IDXRawSurface */
  4577. /* [object][local][unique][helpstring][uuid] */
  4578. EXTERN_C const IID IID_IDXRawSurface;
  4579. #if defined(__cplusplus) && !defined(CINTERFACE)
  4580. MIDL_INTERFACE("09756C8A-D96A-11d1-9062-00C04FD9189D")
  4581. IDXRawSurface : public IUnknown
  4582. {
  4583. public:
  4584. virtual HRESULT STDMETHODCALLTYPE GetSurfaceInfo(
  4585. DXRAWSURFACEINFO __RPC_FAR *pSurfaceInfo) = 0;
  4586. };
  4587. #else /* C style interface */
  4588. typedef struct IDXRawSurfaceVtbl
  4589. {
  4590. BEGIN_INTERFACE
  4591. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  4592. IDXRawSurface __RPC_FAR * This,
  4593. /* [in] */ REFIID riid,
  4594. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4595. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  4596. IDXRawSurface __RPC_FAR * This);
  4597. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  4598. IDXRawSurface __RPC_FAR * This);
  4599. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSurfaceInfo )(
  4600. IDXRawSurface __RPC_FAR * This,
  4601. DXRAWSURFACEINFO __RPC_FAR *pSurfaceInfo);
  4602. END_INTERFACE
  4603. } IDXRawSurfaceVtbl;
  4604. interface IDXRawSurface
  4605. {
  4606. CONST_VTBL struct IDXRawSurfaceVtbl __RPC_FAR *lpVtbl;
  4607. };
  4608. #ifdef COBJMACROS
  4609. #define IDXRawSurface_QueryInterface(This,riid,ppvObject) \
  4610. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4611. #define IDXRawSurface_AddRef(This) \
  4612. (This)->lpVtbl -> AddRef(This)
  4613. #define IDXRawSurface_Release(This) \
  4614. (This)->lpVtbl -> Release(This)
  4615. #define IDXRawSurface_GetSurfaceInfo(This,pSurfaceInfo) \
  4616. (This)->lpVtbl -> GetSurfaceInfo(This,pSurfaceInfo)
  4617. #endif /* COBJMACROS */
  4618. #endif /* C style interface */
  4619. HRESULT STDMETHODCALLTYPE IDXRawSurface_GetSurfaceInfo_Proxy(
  4620. IDXRawSurface __RPC_FAR * This,
  4621. DXRAWSURFACEINFO __RPC_FAR *pSurfaceInfo);
  4622. void __RPC_STUB IDXRawSurface_GetSurfaceInfo_Stub(
  4623. IRpcStubBuffer *This,
  4624. IRpcChannelBuffer *_pRpcChannelBuffer,
  4625. PRPC_MESSAGE _pRpcMessage,
  4626. DWORD *_pdwStubPhase);
  4627. #endif /* __IDXRawSurface_INTERFACE_DEFINED__ */
  4628. #ifndef __DXTRANSLib_LIBRARY_DEFINED__
  4629. #define __DXTRANSLib_LIBRARY_DEFINED__
  4630. /* library DXTRANSLib */
  4631. /* [helpstring][version][uuid] */
  4632. EXTERN_C const IID LIBID_DXTRANSLib;
  4633. EXTERN_C const CLSID CLSID_DXTransformFactory;
  4634. #ifdef __cplusplus
  4635. class DECLSPEC_UUID("D1FE6762-FC48-11D0-883A-3C8B00C10000")
  4636. DXTransformFactory;
  4637. #endif
  4638. EXTERN_C const CLSID CLSID_DXTaskManager;
  4639. #ifdef __cplusplus
  4640. class DECLSPEC_UUID("4CB26C03-FF93-11d0-817E-0000F87557DB")
  4641. DXTaskManager;
  4642. #endif
  4643. EXTERN_C const CLSID CLSID_DXTScale;
  4644. #ifdef __cplusplus
  4645. class DECLSPEC_UUID("555278E2-05DB-11D1-883A-3C8B00C10000")
  4646. DXTScale;
  4647. #endif
  4648. EXTERN_C const CLSID CLSID_DXTLabel;
  4649. #ifdef __cplusplus
  4650. class DECLSPEC_UUID("54702535-2606-11D1-999C-0000F8756A10")
  4651. DXTLabel;
  4652. #endif
  4653. EXTERN_C const CLSID CLSID_DX2D;
  4654. #ifdef __cplusplus
  4655. class DECLSPEC_UUID("473AA80B-4577-11D1-81A8-0000F87557DB")
  4656. DX2D;
  4657. #endif
  4658. EXTERN_C const CLSID CLSID_DXSurface;
  4659. #ifdef __cplusplus
  4660. class DECLSPEC_UUID("0E890F83-5F79-11D1-9043-00C04FD9189D")
  4661. DXSurface;
  4662. #endif
  4663. EXTERN_C const CLSID CLSID_DXSurfaceModifier;
  4664. #ifdef __cplusplus
  4665. class DECLSPEC_UUID("3E669F1D-9C23-11d1-9053-00C04FD9189D")
  4666. DXSurfaceModifier;
  4667. #endif
  4668. EXTERN_C const CLSID CLSID_DXRasterizer;
  4669. #ifdef __cplusplus
  4670. class DECLSPEC_UUID("8652CE55-9E80-11D1-9053-00C04FD9189D")
  4671. DXRasterizer;
  4672. #endif
  4673. EXTERN_C const CLSID CLSID_DXGradient;
  4674. #ifdef __cplusplus
  4675. class DECLSPEC_UUID("C6365470-F667-11d1-9067-00C04FD9189D")
  4676. DXGradient;
  4677. #endif
  4678. #endif /* __DXTRANSLib_LIBRARY_DEFINED__ */
  4679. /* Additional Prototypes for ALL interfaces */
  4680. unsigned long __RPC_USER HFONT_UserSize( unsigned long __RPC_FAR *, unsigned long , HFONT __RPC_FAR * );
  4681. unsigned char __RPC_FAR * __RPC_USER HFONT_UserMarshal( unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HFONT __RPC_FAR * );
  4682. unsigned char __RPC_FAR * __RPC_USER HFONT_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HFONT __RPC_FAR * );
  4683. void __RPC_USER HFONT_UserFree( unsigned long __RPC_FAR *, HFONT __RPC_FAR * );
  4684. /* end of Additional Prototypes */
  4685. #ifdef __cplusplus
  4686. }
  4687. #endif
  4688. #endif