home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 May / PCFMay2001.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / dxtrans.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  206.6 KB  |  6,787 lines

  1. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  2.  
  3. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  4.  
  5. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  6.  
  7.  
  8.  /* File created by MIDL compiler version 5.03.0279 */
  9. /* at Fri Jul 30 19:38:36 1999
  10.  */
  11. /* Compiler settings for dxtrans.idl:
  12.     Oicf (OptLev=i2), W0, Zp8, env=Win32 (32b run), ms_ext, c_ext
  13.     error checks: allocation ref bounds_check enum stub_data 
  14.     VC __declspec() decoration level: 
  15.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  16.          DECLSPEC_UUID(), MIDL_INTERFACE()
  17. */
  18. //@@MIDL_FILE_HEADING(  )
  19.  
  20.  
  21. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  22. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  23. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  24. #endif
  25.  
  26. #include "rpc.h"
  27. #include "rpcndr.h"
  28.  
  29. #ifndef __RPCNDR_H_VERSION__
  30. #error this stub requires an updated version of <rpcndr.h>
  31. #endif // __RPCNDR_H_VERSION__
  32.  
  33. #ifndef COM_NO_WINDOWS_H
  34. #include "windows.h"
  35. #include "ole2.h"
  36. #endif /*COM_NO_WINDOWS_H*/
  37.  
  38. #ifndef __dxtrans_h__
  39. #define __dxtrans_h__
  40.  
  41. /* Forward Declarations */ 
  42.  
  43. #ifndef __IDXBaseObject_FWD_DEFINED__
  44. #define __IDXBaseObject_FWD_DEFINED__
  45. typedef interface IDXBaseObject IDXBaseObject;
  46. #endif     /* __IDXBaseObject_FWD_DEFINED__ */
  47.  
  48.  
  49. #ifndef __IDXTransformFactory_FWD_DEFINED__
  50. #define __IDXTransformFactory_FWD_DEFINED__
  51. typedef interface IDXTransformFactory IDXTransformFactory;
  52. #endif     /* __IDXTransformFactory_FWD_DEFINED__ */
  53.  
  54.  
  55. #ifndef __IDXTransform_FWD_DEFINED__
  56. #define __IDXTransform_FWD_DEFINED__
  57. typedef interface IDXTransform IDXTransform;
  58. #endif     /* __IDXTransform_FWD_DEFINED__ */
  59.  
  60.  
  61. #ifndef __IDXSurfacePick_FWD_DEFINED__
  62. #define __IDXSurfacePick_FWD_DEFINED__
  63. typedef interface IDXSurfacePick IDXSurfacePick;
  64. #endif     /* __IDXSurfacePick_FWD_DEFINED__ */
  65.  
  66.  
  67. #ifndef __IDXTBindHost_FWD_DEFINED__
  68. #define __IDXTBindHost_FWD_DEFINED__
  69. typedef interface IDXTBindHost IDXTBindHost;
  70. #endif     /* __IDXTBindHost_FWD_DEFINED__ */
  71.  
  72.  
  73. #ifndef __IDXTaskManager_FWD_DEFINED__
  74. #define __IDXTaskManager_FWD_DEFINED__
  75. typedef interface IDXTaskManager IDXTaskManager;
  76. #endif     /* __IDXTaskManager_FWD_DEFINED__ */
  77.  
  78.  
  79. #ifndef __IDXSurfaceFactory_FWD_DEFINED__
  80. #define __IDXSurfaceFactory_FWD_DEFINED__
  81. typedef interface IDXSurfaceFactory IDXSurfaceFactory;
  82. #endif     /* __IDXSurfaceFactory_FWD_DEFINED__ */
  83.  
  84.  
  85. #ifndef __IDXSurfaceModifier_FWD_DEFINED__
  86. #define __IDXSurfaceModifier_FWD_DEFINED__
  87. typedef interface IDXSurfaceModifier IDXSurfaceModifier;
  88. #endif     /* __IDXSurfaceModifier_FWD_DEFINED__ */
  89.  
  90.  
  91. #ifndef __IDXSurface_FWD_DEFINED__
  92. #define __IDXSurface_FWD_DEFINED__
  93. typedef interface IDXSurface IDXSurface;
  94. #endif     /* __IDXSurface_FWD_DEFINED__ */
  95.  
  96.  
  97. #ifndef __IDXSurfaceInit_FWD_DEFINED__
  98. #define __IDXSurfaceInit_FWD_DEFINED__
  99. typedef interface IDXSurfaceInit IDXSurfaceInit;
  100. #endif     /* __IDXSurfaceInit_FWD_DEFINED__ */
  101.  
  102.  
  103. #ifndef __IDXARGBSurfaceInit_FWD_DEFINED__
  104. #define __IDXARGBSurfaceInit_FWD_DEFINED__
  105. typedef interface IDXARGBSurfaceInit IDXARGBSurfaceInit;
  106. #endif     /* __IDXARGBSurfaceInit_FWD_DEFINED__ */
  107.  
  108.  
  109. #ifndef __IDXARGBReadPtr_FWD_DEFINED__
  110. #define __IDXARGBReadPtr_FWD_DEFINED__
  111. typedef interface IDXARGBReadPtr IDXARGBReadPtr;
  112. #endif     /* __IDXARGBReadPtr_FWD_DEFINED__ */
  113.  
  114.  
  115. #ifndef __IDXARGBReadWritePtr_FWD_DEFINED__
  116. #define __IDXARGBReadWritePtr_FWD_DEFINED__
  117. typedef interface IDXARGBReadWritePtr IDXARGBReadWritePtr;
  118. #endif     /* __IDXARGBReadWritePtr_FWD_DEFINED__ */
  119.  
  120.  
  121. #ifndef __IDXDCLock_FWD_DEFINED__
  122. #define __IDXDCLock_FWD_DEFINED__
  123. typedef interface IDXDCLock IDXDCLock;
  124. #endif     /* __IDXDCLock_FWD_DEFINED__ */
  125.  
  126.  
  127. #ifndef __IDXTScaleOutput_FWD_DEFINED__
  128. #define __IDXTScaleOutput_FWD_DEFINED__
  129. typedef interface IDXTScaleOutput IDXTScaleOutput;
  130. #endif     /* __IDXTScaleOutput_FWD_DEFINED__ */
  131.  
  132.  
  133. #ifndef __IDXGradient_FWD_DEFINED__
  134. #define __IDXGradient_FWD_DEFINED__
  135. typedef interface IDXGradient IDXGradient;
  136. #endif     /* __IDXGradient_FWD_DEFINED__ */
  137.  
  138.  
  139. #ifndef __IDXGradient2_FWD_DEFINED__
  140. #define __IDXGradient2_FWD_DEFINED__
  141. typedef interface IDXGradient2 IDXGradient2;
  142. #endif     /* __IDXGradient2_FWD_DEFINED__ */
  143.  
  144.  
  145. #ifndef __IDXTScale_FWD_DEFINED__
  146. #define __IDXTScale_FWD_DEFINED__
  147. typedef interface IDXTScale IDXTScale;
  148. #endif     /* __IDXTScale_FWD_DEFINED__ */
  149.  
  150.  
  151. #ifndef __IDXTLabel_FWD_DEFINED__
  152. #define __IDXTLabel_FWD_DEFINED__
  153. typedef interface IDXTLabel IDXTLabel;
  154. #endif     /* __IDXTLabel_FWD_DEFINED__ */
  155.  
  156.  
  157. #ifndef __IDXRasterizer_FWD_DEFINED__
  158. #define __IDXRasterizer_FWD_DEFINED__
  159. typedef interface IDXRasterizer IDXRasterizer;
  160. #endif     /* __IDXRasterizer_FWD_DEFINED__ */
  161.  
  162.  
  163. #ifndef __IDXEffect_FWD_DEFINED__
  164. #define __IDXEffect_FWD_DEFINED__
  165. typedef interface IDXEffect IDXEffect;
  166. #endif     /* __IDXEffect_FWD_DEFINED__ */
  167.  
  168.  
  169. #ifndef __IDXLookupTable_FWD_DEFINED__
  170. #define __IDXLookupTable_FWD_DEFINED__
  171. typedef interface IDXLookupTable IDXLookupTable;
  172. #endif     /* __IDXLookupTable_FWD_DEFINED__ */
  173.  
  174.  
  175. #ifndef __IDX2DDebug_FWD_DEFINED__
  176. #define __IDX2DDebug_FWD_DEFINED__
  177. typedef interface IDX2DDebug IDX2DDebug;
  178. #endif     /* __IDX2DDebug_FWD_DEFINED__ */
  179.  
  180.  
  181. #ifndef __IDX2D_FWD_DEFINED__
  182. #define __IDX2D_FWD_DEFINED__
  183. typedef interface IDX2D IDX2D;
  184. #endif     /* __IDX2D_FWD_DEFINED__ */
  185.  
  186.  
  187. #ifndef __IDXRawSurface_FWD_DEFINED__
  188. #define __IDXRawSurface_FWD_DEFINED__
  189. typedef interface IDXRawSurface IDXRawSurface;
  190. #endif     /* __IDXRawSurface_FWD_DEFINED__ */
  191.  
  192.  
  193. #ifndef __DXTransformFactory_FWD_DEFINED__
  194. #define __DXTransformFactory_FWD_DEFINED__
  195.  
  196. #ifdef __cplusplus
  197. typedef class DXTransformFactory DXTransformFactory;
  198. #else
  199. typedef struct DXTransformFactory DXTransformFactory;
  200. #endif /* __cplusplus */
  201.  
  202. #endif     /* __DXTransformFactory_FWD_DEFINED__ */
  203.  
  204.  
  205. #ifndef __DXTaskManager_FWD_DEFINED__
  206. #define __DXTaskManager_FWD_DEFINED__
  207.  
  208. #ifdef __cplusplus
  209. typedef class DXTaskManager DXTaskManager;
  210. #else
  211. typedef struct DXTaskManager DXTaskManager;
  212. #endif /* __cplusplus */
  213.  
  214. #endif     /* __DXTaskManager_FWD_DEFINED__ */
  215.  
  216.  
  217. #ifndef __DXTScale_FWD_DEFINED__
  218. #define __DXTScale_FWD_DEFINED__
  219.  
  220. #ifdef __cplusplus
  221. typedef class DXTScale DXTScale;
  222. #else
  223. typedef struct DXTScale DXTScale;
  224. #endif /* __cplusplus */
  225.  
  226. #endif     /* __DXTScale_FWD_DEFINED__ */
  227.  
  228.  
  229. #ifndef __DXTLabel_FWD_DEFINED__
  230. #define __DXTLabel_FWD_DEFINED__
  231.  
  232. #ifdef __cplusplus
  233. typedef class DXTLabel DXTLabel;
  234. #else
  235. typedef struct DXTLabel DXTLabel;
  236. #endif /* __cplusplus */
  237.  
  238. #endif     /* __DXTLabel_FWD_DEFINED__ */
  239.  
  240.  
  241. #ifndef __DX2D_FWD_DEFINED__
  242. #define __DX2D_FWD_DEFINED__
  243.  
  244. #ifdef __cplusplus
  245. typedef class DX2D DX2D;
  246. #else
  247. typedef struct DX2D DX2D;
  248. #endif /* __cplusplus */
  249.  
  250. #endif     /* __DX2D_FWD_DEFINED__ */
  251.  
  252.  
  253. #ifndef __DXSurface_FWD_DEFINED__
  254. #define __DXSurface_FWD_DEFINED__
  255.  
  256. #ifdef __cplusplus
  257. typedef class DXSurface DXSurface;
  258. #else
  259. typedef struct DXSurface DXSurface;
  260. #endif /* __cplusplus */
  261.  
  262. #endif     /* __DXSurface_FWD_DEFINED__ */
  263.  
  264.  
  265. #ifndef __DXSurfaceModifier_FWD_DEFINED__
  266. #define __DXSurfaceModifier_FWD_DEFINED__
  267.  
  268. #ifdef __cplusplus
  269. typedef class DXSurfaceModifier DXSurfaceModifier;
  270. #else
  271. typedef struct DXSurfaceModifier DXSurfaceModifier;
  272. #endif /* __cplusplus */
  273.  
  274. #endif     /* __DXSurfaceModifier_FWD_DEFINED__ */
  275.  
  276.  
  277. #ifndef __DXRasterizer_FWD_DEFINED__
  278. #define __DXRasterizer_FWD_DEFINED__
  279.  
  280. #ifdef __cplusplus
  281. typedef class DXRasterizer DXRasterizer;
  282. #else
  283. typedef struct DXRasterizer DXRasterizer;
  284. #endif /* __cplusplus */
  285.  
  286. #endif     /* __DXRasterizer_FWD_DEFINED__ */
  287.  
  288.  
  289. #ifndef __DXGradient_FWD_DEFINED__
  290. #define __DXGradient_FWD_DEFINED__
  291.  
  292. #ifdef __cplusplus
  293. typedef class DXGradient DXGradient;
  294. #else
  295. typedef struct DXGradient DXGradient;
  296. #endif /* __cplusplus */
  297.  
  298. #endif     /* __DXGradient_FWD_DEFINED__ */
  299.  
  300.  
  301. /* header files for imported files */
  302. #include "oaidl.h"
  303. #include "ocidl.h"
  304. #include "comcat.h"
  305.  
  306. #ifdef __cplusplus
  307. extern "C"{
  308. #endif 
  309.  
  310. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  311. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  312.  
  313. /* interface __MIDL_itf_dxtrans_0000 */
  314. /* [local] */ 
  315.  
  316. #include <servprov.h>
  317. #include <ddraw.h>
  318. #include <d3d.h>
  319. #include <d3drm.h>
  320. #include <urlmon.h>
  321. #if 0
  322. // Bogus definition used to make MIDL compiler happy
  323. typedef void DDSURFACEDESC;
  324.  
  325. typedef void D3DRMBOX;
  326.  
  327. typedef void D3DVECTOR;
  328.  
  329. typedef void D3DRMMATRIX4D;
  330.  
  331. typedef void __RPC_FAR *LPSECURITY_ATTRIBUTES;
  332.  
  333. #endif
  334. #ifdef _DXTRANSIMPL
  335.     #define _DXTRANS_IMPL_EXT _declspec(dllexport)
  336. #else
  337.     #define _DXTRANS_IMPL_EXT _declspec(dllimport)
  338. #endif
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357. //
  358. //   All GUIDs for DXTransforms are declared in DXTGUID.CPP in the SDK include directory
  359. //
  360. EXTERN_C const GUID DDPF_RGB1;
  361. EXTERN_C const GUID DDPF_RGB2;
  362. EXTERN_C const GUID DDPF_RGB4;
  363. EXTERN_C const GUID DDPF_RGB8;
  364. EXTERN_C const GUID DDPF_RGB332;
  365. EXTERN_C const GUID DDPF_ARGB4444;
  366. EXTERN_C const GUID DDPF_RGB565;
  367. EXTERN_C const GUID DDPF_BGR565;
  368. EXTERN_C const GUID DDPF_RGB555;
  369. EXTERN_C const GUID DDPF_ARGB1555;
  370. EXTERN_C const GUID DDPF_RGB24;
  371. EXTERN_C const GUID DDPF_BGR24;
  372. EXTERN_C const GUID DDPF_RGB32;
  373. EXTERN_C const GUID DDPF_BGR32;
  374. EXTERN_C const GUID DDPF_ABGR32;
  375. EXTERN_C const GUID DDPF_ARGB32;
  376. EXTERN_C const GUID DDPF_PMARGB32;
  377. EXTERN_C const GUID DDPF_A1;
  378. EXTERN_C const GUID DDPF_A2;
  379. EXTERN_C const GUID DDPF_A4;
  380. EXTERN_C const GUID DDPF_A8;
  381. EXTERN_C const GUID DDPF_Z8;
  382. EXTERN_C const GUID DDPF_Z16;
  383. EXTERN_C const GUID DDPF_Z24;
  384. EXTERN_C const GUID DDPF_Z32;
  385. //
  386. //   Component categories
  387. //
  388. EXTERN_C const GUID CATID_DXImageTransform;
  389. EXTERN_C const GUID CATID_DX3DTransform;
  390. EXTERN_C const GUID CATID_DXAuthoringTransform;
  391. EXTERN_C const GUID CATID_DXSurface;
  392. //
  393. //   Service IDs
  394. //
  395. EXTERN_C const GUID SID_SDirectDraw;
  396. EXTERN_C const GUID SID_SDirect3DRM;
  397. #define SID_SDXTaskManager CLSID_DXTaskManager
  398. #define SID_SDXSurfaceFactory IID_IDXSurfaceFactory
  399.  
  400.  
  401. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0000_v0_0_c_ifspec;
  402. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0000_v0_0_s_ifspec;
  403.  
  404. #ifndef __IDXBaseObject_INTERFACE_DEFINED__
  405. #define __IDXBaseObject_INTERFACE_DEFINED__
  406.  
  407. /* interface IDXBaseObject */
  408. /* [object][unique][helpstring][uuid] */ 
  409.  
  410.  
  411. EXTERN_C const IID IID_IDXBaseObject;
  412.  
  413. #if defined(__cplusplus) && !defined(CINTERFACE)
  414.     
  415.     MIDL_INTERFACE("17B59B2B-9CC8-11d1-9053-00C04FD9189D")
  416.     IDXBaseObject : public IUnknown
  417.     {
  418.     public:
  419.         virtual HRESULT STDMETHODCALLTYPE GetGenerationId( 
  420.             /* [out] */ ULONG __RPC_FAR *pID) = 0;
  421.         
  422.         virtual HRESULT STDMETHODCALLTYPE IncrementGenerationId( 
  423.             /* [in] */ BOOL bRefresh) = 0;
  424.         
  425.         virtual HRESULT STDMETHODCALLTYPE GetObjectSize( 
  426.             /* [out] */ ULONG __RPC_FAR *pcbSize) = 0;
  427.         
  428.     };
  429.     
  430. #else     /* C style interface */
  431.  
  432.     typedef struct IDXBaseObjectVtbl
  433.     {
  434.         BEGIN_INTERFACE
  435.         
  436.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  437.             IDXBaseObject __RPC_FAR * This,
  438.             /* [in] */ REFIID riid,
  439.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  440.         
  441.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  442.             IDXBaseObject __RPC_FAR * This);
  443.         
  444.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  445.             IDXBaseObject __RPC_FAR * This);
  446.         
  447.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetGenerationId )( 
  448.             IDXBaseObject __RPC_FAR * This,
  449.             /* [out] */ ULONG __RPC_FAR *pID);
  450.         
  451.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IncrementGenerationId )( 
  452.             IDXBaseObject __RPC_FAR * This,
  453.             /* [in] */ BOOL bRefresh);
  454.         
  455.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectSize )( 
  456.             IDXBaseObject __RPC_FAR * This,
  457.             /* [out] */ ULONG __RPC_FAR *pcbSize);
  458.         
  459.         END_INTERFACE
  460.     } IDXBaseObjectVtbl;
  461.  
  462.     interface IDXBaseObject
  463.     {
  464.         CONST_VTBL struct IDXBaseObjectVtbl __RPC_FAR *lpVtbl;
  465.     };
  466.  
  467.     
  468.  
  469. #ifdef COBJMACROS
  470.  
  471.  
  472. #define IDXBaseObject_QueryInterface(This,riid,ppvObject)    \
  473.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  474.  
  475. #define IDXBaseObject_AddRef(This)    \
  476.     (This)->lpVtbl -> AddRef(This)
  477.  
  478. #define IDXBaseObject_Release(This)    \
  479.     (This)->lpVtbl -> Release(This)
  480.  
  481.  
  482. #define IDXBaseObject_GetGenerationId(This,pID)    \
  483.     (This)->lpVtbl -> GetGenerationId(This,pID)
  484.  
  485. #define IDXBaseObject_IncrementGenerationId(This,bRefresh)    \
  486.     (This)->lpVtbl -> IncrementGenerationId(This,bRefresh)
  487.  
  488. #define IDXBaseObject_GetObjectSize(This,pcbSize)    \
  489.     (This)->lpVtbl -> GetObjectSize(This,pcbSize)
  490.  
  491. #endif /* COBJMACROS */
  492.  
  493.  
  494. #endif     /* C style interface */
  495.  
  496.  
  497.  
  498. HRESULT STDMETHODCALLTYPE IDXBaseObject_GetGenerationId_Proxy( 
  499.     IDXBaseObject __RPC_FAR * This,
  500.     /* [out] */ ULONG __RPC_FAR *pID);
  501.  
  502.  
  503. void __RPC_STUB IDXBaseObject_GetGenerationId_Stub(
  504.     IRpcStubBuffer *This,
  505.     IRpcChannelBuffer *_pRpcChannelBuffer,
  506.     PRPC_MESSAGE _pRpcMessage,
  507.     DWORD *_pdwStubPhase);
  508.  
  509.  
  510. HRESULT STDMETHODCALLTYPE IDXBaseObject_IncrementGenerationId_Proxy( 
  511.     IDXBaseObject __RPC_FAR * This,
  512.     /* [in] */ BOOL bRefresh);
  513.  
  514.  
  515. void __RPC_STUB IDXBaseObject_IncrementGenerationId_Stub(
  516.     IRpcStubBuffer *This,
  517.     IRpcChannelBuffer *_pRpcChannelBuffer,
  518.     PRPC_MESSAGE _pRpcMessage,
  519.     DWORD *_pdwStubPhase);
  520.  
  521.  
  522. HRESULT STDMETHODCALLTYPE IDXBaseObject_GetObjectSize_Proxy( 
  523.     IDXBaseObject __RPC_FAR * This,
  524.     /* [out] */ ULONG __RPC_FAR *pcbSize);
  525.  
  526.  
  527. void __RPC_STUB IDXBaseObject_GetObjectSize_Stub(
  528.     IRpcStubBuffer *This,
  529.     IRpcChannelBuffer *_pRpcChannelBuffer,
  530.     PRPC_MESSAGE _pRpcMessage,
  531.     DWORD *_pdwStubPhase);
  532.  
  533.  
  534.  
  535. #endif     /* __IDXBaseObject_INTERFACE_DEFINED__ */
  536.  
  537.  
  538. /* interface __MIDL_itf_dxtrans_0251 */
  539. /* [local] */ 
  540.  
  541. typedef 
  542. enum DXFILTERTYPE
  543.     {    DXFILTER_NEAREST    = 0,
  544.     DXFILTER_BILINEAR    = DXFILTER_NEAREST + 1,
  545.     DXFILTER_CUBIC    = DXFILTER_BILINEAR + 1,
  546.     DXFILTER_BSPLINE    = DXFILTER_CUBIC + 1,
  547.     DXFILTER_NUM_FILTERS    = DXFILTER_BSPLINE + 1
  548.     }    DXFILTERTYPE;
  549.  
  550. typedef 
  551. enum DX2DXFORMOPS
  552.     {    DX2DXO_IDENTITY    = 0,
  553.     DX2DXO_TRANSLATE    = DX2DXO_IDENTITY + 1,
  554.     DX2DXO_SCALE    = DX2DXO_TRANSLATE + 1,
  555.     DX2DXO_SCALE_AND_TRANS    = DX2DXO_SCALE + 1,
  556.     DX2DXO_GENERAL    = DX2DXO_SCALE_AND_TRANS + 1,
  557.     DX2DXO_GENERAL_AND_TRANS    = DX2DXO_GENERAL + 1
  558.     }    DX2DXFORMOPS;
  559.  
  560. typedef struct DX2DXFORM
  561.     {
  562.     FLOAT eM11;
  563.     FLOAT eM12;
  564.     FLOAT eM21;
  565.     FLOAT eM22;
  566.     FLOAT eDx;
  567.     FLOAT eDy;
  568.     DX2DXFORMOPS eOp;
  569.     }    DX2DXFORM;
  570.  
  571. typedef struct DX2DXFORM __RPC_FAR *PDX2DXFORM;
  572.  
  573. typedef 
  574. enum DXBNDID
  575.     {    DXB_X    = 0,
  576.     DXB_Y    = 1,
  577.     DXB_Z    = 2,
  578.     DXB_T    = 3
  579.     }    DXBNDID;
  580.  
  581. typedef 
  582. enum DXBNDTYPE
  583.     {    DXBT_DISCRETE    = 0,
  584.     DXBT_DISCRETE64    = DXBT_DISCRETE + 1,
  585.     DXBT_CONTINUOUS    = DXBT_DISCRETE64 + 1,
  586.     DXBT_CONTINUOUS64    = DXBT_CONTINUOUS + 1
  587.     }    DXBNDTYPE;
  588.  
  589. typedef struct DXDBND
  590.     {
  591.     long Min;
  592.     long Max;
  593.     }    DXDBND;
  594.  
  595. typedef DXDBND __RPC_FAR DXDBNDS[ 4 ];
  596.  
  597. typedef struct DXDBND64
  598.     {
  599.     LONGLONG Min;
  600.     LONGLONG Max;
  601.     }    DXDBND64;
  602.  
  603. typedef DXDBND64 __RPC_FAR DXDBNDS64[ 4 ];
  604.  
  605. typedef struct DXCBND
  606.     {
  607.     float Min;
  608.     float Max;
  609.     }    DXCBND;
  610.  
  611. typedef DXCBND __RPC_FAR DXCBNDS[ 4 ];
  612.  
  613. typedef struct DXCBND64
  614.     {
  615.     double Min;
  616.     double Max;
  617.     }    DXCBND64;
  618.  
  619. typedef DXCBND64 __RPC_FAR DXCBNDS64[ 4 ];
  620.  
  621. typedef struct DXBNDS
  622.     {
  623.     DXBNDTYPE eType;
  624.     /* [switch_is] */ /* [switch_type] */ union __MIDL___MIDL_itf_dxtrans_0251_0001
  625.         {
  626.         /* [case()] */ DXDBND D[ 4 ];
  627.         /* [case()] */ DXDBND64 LD[ 4 ];
  628.         /* [case()] */ DXCBND C[ 4 ];
  629.         /* [case()] */ DXCBND64 LC[ 4 ];
  630.         }    u;
  631.     }    DXBNDS;
  632.  
  633. typedef long __RPC_FAR DXDVEC[ 4 ];
  634.  
  635. typedef LONGLONG __RPC_FAR DXDVEC64[ 4 ];
  636.  
  637. typedef float __RPC_FAR DXCVEC[ 4 ];
  638.  
  639. typedef double __RPC_FAR DXCVEC64[ 4 ];
  640.  
  641. typedef struct DXVEC
  642.     {
  643.     DXBNDTYPE eType;
  644.     /* [switch_is] */ /* [switch_type] */ union __MIDL___MIDL_itf_dxtrans_0251_0002
  645.         {
  646.         /* [case()] */ long D[ 4 ];
  647.         /* [case()] */ LONGLONG LD[ 4 ];
  648.         /* [case()] */ float C[ 4 ];
  649.         /* [case()] */ double LC[ 4 ];
  650.         }    u;
  651.     }    DXVEC;
  652.  
  653.  
  654.  
  655. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0251_v0_0_c_ifspec;
  656. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0251_v0_0_s_ifspec;
  657.  
  658. #ifndef __IDXTransformFactory_INTERFACE_DEFINED__
  659. #define __IDXTransformFactory_INTERFACE_DEFINED__
  660.  
  661. /* interface IDXTransformFactory */
  662. /* [object][unique][helpstring][uuid] */ 
  663.  
  664.  
  665. EXTERN_C const IID IID_IDXTransformFactory;
  666.  
  667. #if defined(__cplusplus) && !defined(CINTERFACE)
  668.     
  669.     MIDL_INTERFACE("6A950B2B-A971-11d1-81C8-0000F87557DB")
  670.     IDXTransformFactory : public IServiceProvider
  671.     {
  672.     public:
  673.         virtual HRESULT STDMETHODCALLTYPE SetService( 
  674.             /* [in] */ REFGUID guidService,
  675.             /* [in] */ IUnknown __RPC_FAR *pUnkService,
  676.             /* [in] */ BOOL bWeakReference) = 0;
  677.         
  678.         virtual HRESULT STDMETHODCALLTYPE CreateTransform( 
  679.             /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkInputs,
  680.             /* [in] */ ULONG ulNumInputs,
  681.             /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkOutputs,
  682.             /* [in] */ ULONG ulNumOutputs,
  683.             /* [in] */ IPropertyBag __RPC_FAR *pInitProps,
  684.             /* [in] */ IErrorLog __RPC_FAR *pErrLog,
  685.             /* [in] */ REFCLSID TransCLSID,
  686.             /* [in] */ REFIID TransIID,
  687.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppTransform) = 0;
  688.         
  689.         virtual HRESULT STDMETHODCALLTYPE InitializeTransform( 
  690.             /* [in] */ IDXTransform __RPC_FAR *pTransform,
  691.             /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkInputs,
  692.             /* [in] */ ULONG ulNumInputs,
  693.             /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkOutputs,
  694.             /* [in] */ ULONG ulNumOutputs,
  695.             /* [in] */ IPropertyBag __RPC_FAR *pInitProps,
  696.             /* [in] */ IErrorLog __RPC_FAR *pErrLog) = 0;
  697.         
  698.     };
  699.     
  700. #else     /* C style interface */
  701.  
  702.     typedef struct IDXTransformFactoryVtbl
  703.     {
  704.         BEGIN_INTERFACE
  705.         
  706.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  707.             IDXTransformFactory __RPC_FAR * This,
  708.             /* [in] */ REFIID riid,
  709.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  710.         
  711.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  712.             IDXTransformFactory __RPC_FAR * This);
  713.         
  714.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  715.             IDXTransformFactory __RPC_FAR * This);
  716.         
  717.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryService )( 
  718.             IDXTransformFactory __RPC_FAR * This,
  719.             /* [in] */ REFGUID guidService,
  720.             /* [in] */ REFIID riid,
  721.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  722.         
  723.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetService )( 
  724.             IDXTransformFactory __RPC_FAR * This,
  725.             /* [in] */ REFGUID guidService,
  726.             /* [in] */ IUnknown __RPC_FAR *pUnkService,
  727.             /* [in] */ BOOL bWeakReference);
  728.         
  729.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateTransform )( 
  730.             IDXTransformFactory __RPC_FAR * This,
  731.             /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkInputs,
  732.             /* [in] */ ULONG ulNumInputs,
  733.             /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkOutputs,
  734.             /* [in] */ ULONG ulNumOutputs,
  735.             /* [in] */ IPropertyBag __RPC_FAR *pInitProps,
  736.             /* [in] */ IErrorLog __RPC_FAR *pErrLog,
  737.             /* [in] */ REFCLSID TransCLSID,
  738.             /* [in] */ REFIID TransIID,
  739.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppTransform);
  740.         
  741.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitializeTransform )( 
  742.             IDXTransformFactory __RPC_FAR * This,
  743.             /* [in] */ IDXTransform __RPC_FAR *pTransform,
  744.             /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkInputs,
  745.             /* [in] */ ULONG ulNumInputs,
  746.             /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkOutputs,
  747.             /* [in] */ ULONG ulNumOutputs,
  748.             /* [in] */ IPropertyBag __RPC_FAR *pInitProps,
  749.             /* [in] */ IErrorLog __RPC_FAR *pErrLog);
  750.         
  751.         END_INTERFACE
  752.     } IDXTransformFactoryVtbl;
  753.  
  754.     interface IDXTransformFactory
  755.     {
  756.         CONST_VTBL struct IDXTransformFactoryVtbl __RPC_FAR *lpVtbl;
  757.     };
  758.  
  759.     
  760.  
  761. #ifdef COBJMACROS
  762.  
  763.  
  764. #define IDXTransformFactory_QueryInterface(This,riid,ppvObject)    \
  765.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  766.  
  767. #define IDXTransformFactory_AddRef(This)    \
  768.     (This)->lpVtbl -> AddRef(This)
  769.  
  770. #define IDXTransformFactory_Release(This)    \
  771.     (This)->lpVtbl -> Release(This)
  772.  
  773.  
  774. #define IDXTransformFactory_QueryService(This,guidService,riid,ppvObject)    \
  775.     (This)->lpVtbl -> QueryService(This,guidService,riid,ppvObject)
  776.  
  777.  
  778. #define IDXTransformFactory_SetService(This,guidService,pUnkService,bWeakReference)    \
  779.     (This)->lpVtbl -> SetService(This,guidService,pUnkService,bWeakReference)
  780.  
  781. #define IDXTransformFactory_CreateTransform(This,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,pInitProps,pErrLog,TransCLSID,TransIID,ppTransform)    \
  782.     (This)->lpVtbl -> CreateTransform(This,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,pInitProps,pErrLog,TransCLSID,TransIID,ppTransform)
  783.  
  784. #define IDXTransformFactory_InitializeTransform(This,pTransform,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,pInitProps,pErrLog)    \
  785.     (This)->lpVtbl -> InitializeTransform(This,pTransform,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,pInitProps,pErrLog)
  786.  
  787. #endif /* COBJMACROS */
  788.  
  789.  
  790. #endif     /* C style interface */
  791.  
  792.  
  793.  
  794. HRESULT STDMETHODCALLTYPE IDXTransformFactory_SetService_Proxy( 
  795.     IDXTransformFactory __RPC_FAR * This,
  796.     /* [in] */ REFGUID guidService,
  797.     /* [in] */ IUnknown __RPC_FAR *pUnkService,
  798.     /* [in] */ BOOL bWeakReference);
  799.  
  800.  
  801. void __RPC_STUB IDXTransformFactory_SetService_Stub(
  802.     IRpcStubBuffer *This,
  803.     IRpcChannelBuffer *_pRpcChannelBuffer,
  804.     PRPC_MESSAGE _pRpcMessage,
  805.     DWORD *_pdwStubPhase);
  806.  
  807.  
  808. HRESULT STDMETHODCALLTYPE IDXTransformFactory_CreateTransform_Proxy( 
  809.     IDXTransformFactory __RPC_FAR * This,
  810.     /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkInputs,
  811.     /* [in] */ ULONG ulNumInputs,
  812.     /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkOutputs,
  813.     /* [in] */ ULONG ulNumOutputs,
  814.     /* [in] */ IPropertyBag __RPC_FAR *pInitProps,
  815.     /* [in] */ IErrorLog __RPC_FAR *pErrLog,
  816.     /* [in] */ REFCLSID TransCLSID,
  817.     /* [in] */ REFIID TransIID,
  818.     /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppTransform);
  819.  
  820.  
  821. void __RPC_STUB IDXTransformFactory_CreateTransform_Stub(
  822.     IRpcStubBuffer *This,
  823.     IRpcChannelBuffer *_pRpcChannelBuffer,
  824.     PRPC_MESSAGE _pRpcMessage,
  825.     DWORD *_pdwStubPhase);
  826.  
  827.  
  828. HRESULT STDMETHODCALLTYPE IDXTransformFactory_InitializeTransform_Proxy( 
  829.     IDXTransformFactory __RPC_FAR * This,
  830.     /* [in] */ IDXTransform __RPC_FAR *pTransform,
  831.     /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkInputs,
  832.     /* [in] */ ULONG ulNumInputs,
  833.     /* [size_is][in] */ IUnknown __RPC_FAR *__RPC_FAR *punkOutputs,
  834.     /* [in] */ ULONG ulNumOutputs,
  835.     /* [in] */ IPropertyBag __RPC_FAR *pInitProps,
  836.     /* [in] */ IErrorLog __RPC_FAR *pErrLog);
  837.  
  838.  
  839. void __RPC_STUB IDXTransformFactory_InitializeTransform_Stub(
  840.     IRpcStubBuffer *This,
  841.     IRpcChannelBuffer *_pRpcChannelBuffer,
  842.     PRPC_MESSAGE _pRpcMessage,
  843.     DWORD *_pdwStubPhase);
  844.  
  845.  
  846.  
  847. #endif     /* __IDXTransformFactory_INTERFACE_DEFINED__ */
  848.  
  849.  
  850. /* interface __MIDL_itf_dxtrans_0252 */
  851. /* [local] */ 
  852.  
  853. typedef 
  854. enum DXTMISCFLAGS
  855.     {    DXTMF_BLEND_WITH_OUTPUT    = 1L << 0,
  856.     DXTMF_DITHER_OUTPUT    = 1L << 1,
  857.     DXTMF_OPTION_MASK    = 0xffff,
  858.     DXTMF_VALID_OPTIONS    = DXTMF_BLEND_WITH_OUTPUT | DXTMF_DITHER_OUTPUT,
  859.     DXTMF_BLEND_SUPPORTED    = 1L << 16,
  860.     DXTMF_DITHER_SUPPORTED    = 1L << 17,
  861.     DXTMF_INPLACE_OPERATION    = 1L << 24,
  862.     DXTMF_BOUNDS_SUPPORTED    = 1L << 25,
  863.     DXTMF_PLACEMENT_SUPPORTED    = 1L << 26,
  864.     DXTMF_QUALITY_SUPPORTED    = 1L << 27,
  865.     DXTMF_OPAQUE_RESULT    = 1L << 28
  866.     }    DXTMISCFLAGS;
  867.  
  868. typedef 
  869. enum DXINOUTINFOFLAGS
  870.     {    DXINOUTF_OPTIONAL    = 1L << 0
  871.     }    DXINOUTINFOFLAGS;
  872.  
  873.  
  874.  
  875. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0252_v0_0_c_ifspec;
  876. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0252_v0_0_s_ifspec;
  877.  
  878. #ifndef __IDXTransform_INTERFACE_DEFINED__
  879. #define __IDXTransform_INTERFACE_DEFINED__
  880.  
  881. /* interface IDXTransform */
  882. /* [object][unique][helpstring][uuid] */ 
  883.  
  884.  
  885. EXTERN_C const IID IID_IDXTransform;
  886.  
  887. #if defined(__cplusplus) && !defined(CINTERFACE)
  888.     
  889.     MIDL_INTERFACE("30A5FB78-E11F-11d1-9064-00C04FD9189D")
  890.     IDXTransform : public IDXBaseObject
  891.     {
  892.     public:
  893.         virtual HRESULT STDMETHODCALLTYPE Setup( 
  894.             /* [size_is][in] */ IUnknown __RPC_FAR *const __RPC_FAR *punkInputs,
  895.             /* [in] */ ULONG ulNumInputs,
  896.             /* [size_is][in] */ IUnknown __RPC_FAR *const __RPC_FAR *punkOutputs,
  897.             /* [in] */ ULONG ulNumOutputs,
  898.             /* [in] */ DWORD dwFlags) = 0;
  899.         
  900.         virtual HRESULT STDMETHODCALLTYPE Execute( 
  901.             /* [in] */ const GUID __RPC_FAR *pRequestID,
  902.             /* [in] */ const DXBNDS __RPC_FAR *pClipBnds,
  903.             /* [in] */ const DXVEC __RPC_FAR *pPlacement) = 0;
  904.         
  905.         virtual HRESULT STDMETHODCALLTYPE MapBoundsIn2Out( 
  906.             /* [in] */ const DXBNDS __RPC_FAR *pInBounds,
  907.             /* [in] */ ULONG ulNumInBnds,
  908.             /* [in] */ ULONG ulOutIndex,
  909.             /* [out] */ DXBNDS __RPC_FAR *pOutBounds) = 0;
  910.         
  911.         virtual HRESULT STDMETHODCALLTYPE MapBoundsOut2In( 
  912.             /* [in] */ ULONG ulOutIndex,
  913.             /* [in] */ const DXBNDS __RPC_FAR *pOutBounds,
  914.             /* [in] */ ULONG ulInIndex,
  915.             /* [out] */ DXBNDS __RPC_FAR *pInBounds) = 0;
  916.         
  917.         virtual HRESULT STDMETHODCALLTYPE SetMiscFlags( 
  918.             /* [in] */ DWORD dwMiscFlags) = 0;
  919.         
  920.         virtual HRESULT STDMETHODCALLTYPE GetMiscFlags( 
  921.             /* [out] */ DWORD __RPC_FAR *pdwMiscFlags) = 0;
  922.         
  923.         virtual HRESULT STDMETHODCALLTYPE GetInOutInfo( 
  924.             /* [in] */ BOOL bIsOutput,
  925.             /* [in] */ ULONG ulIndex,
  926.             /* [out] */ DWORD __RPC_FAR *pdwFlags,
  927.             /* [size_is][out] */ GUID __RPC_FAR *pIDs,
  928.             /* [out][in] */ ULONG __RPC_FAR *pcIDs,
  929.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnkCurrentObject) = 0;
  930.         
  931.         virtual HRESULT STDMETHODCALLTYPE SetQuality( 
  932.             /* [in] */ float fQuality) = 0;
  933.         
  934.         virtual HRESULT STDMETHODCALLTYPE GetQuality( 
  935.             /* [out] */ float __RPC_FAR *fQuality) = 0;
  936.         
  937.     };
  938.     
  939. #else     /* C style interface */
  940.  
  941.     typedef struct IDXTransformVtbl
  942.     {
  943.         BEGIN_INTERFACE
  944.         
  945.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  946.             IDXTransform __RPC_FAR * This,
  947.             /* [in] */ REFIID riid,
  948.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  949.         
  950.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  951.             IDXTransform __RPC_FAR * This);
  952.         
  953.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  954.             IDXTransform __RPC_FAR * This);
  955.         
  956.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetGenerationId )( 
  957.             IDXTransform __RPC_FAR * This,
  958.             /* [out] */ ULONG __RPC_FAR *pID);
  959.         
  960.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IncrementGenerationId )( 
  961.             IDXTransform __RPC_FAR * This,
  962.             /* [in] */ BOOL bRefresh);
  963.         
  964.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectSize )( 
  965.             IDXTransform __RPC_FAR * This,
  966.             /* [out] */ ULONG __RPC_FAR *pcbSize);
  967.         
  968.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Setup )( 
  969.             IDXTransform __RPC_FAR * This,
  970.             /* [size_is][in] */ IUnknown __RPC_FAR *const __RPC_FAR *punkInputs,
  971.             /* [in] */ ULONG ulNumInputs,
  972.             /* [size_is][in] */ IUnknown __RPC_FAR *const __RPC_FAR *punkOutputs,
  973.             /* [in] */ ULONG ulNumOutputs,
  974.             /* [in] */ DWORD dwFlags);
  975.         
  976.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Execute )( 
  977.             IDXTransform __RPC_FAR * This,
  978.             /* [in] */ const GUID __RPC_FAR *pRequestID,
  979.             /* [in] */ const DXBNDS __RPC_FAR *pClipBnds,
  980.             /* [in] */ const DXVEC __RPC_FAR *pPlacement);
  981.         
  982.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MapBoundsIn2Out )( 
  983.             IDXTransform __RPC_FAR * This,
  984.             /* [in] */ const DXBNDS __RPC_FAR *pInBounds,
  985.             /* [in] */ ULONG ulNumInBnds,
  986.             /* [in] */ ULONG ulOutIndex,
  987.             /* [out] */ DXBNDS __RPC_FAR *pOutBounds);
  988.         
  989.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MapBoundsOut2In )( 
  990.             IDXTransform __RPC_FAR * This,
  991.             /* [in] */ ULONG ulOutIndex,
  992.             /* [in] */ const DXBNDS __RPC_FAR *pOutBounds,
  993.             /* [in] */ ULONG ulInIndex,
  994.             /* [out] */ DXBNDS __RPC_FAR *pInBounds);
  995.         
  996.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMiscFlags )( 
  997.             IDXTransform __RPC_FAR * This,
  998.             /* [in] */ DWORD dwMiscFlags);
  999.         
  1000.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMiscFlags )( 
  1001.             IDXTransform __RPC_FAR * This,
  1002.             /* [out] */ DWORD __RPC_FAR *pdwMiscFlags);
  1003.         
  1004.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInOutInfo )( 
  1005.             IDXTransform __RPC_FAR * This,
  1006.             /* [in] */ BOOL bIsOutput,
  1007.             /* [in] */ ULONG ulIndex,
  1008.             /* [out] */ DWORD __RPC_FAR *pdwFlags,
  1009.             /* [size_is][out] */ GUID __RPC_FAR *pIDs,
  1010.             /* [out][in] */ ULONG __RPC_FAR *pcIDs,
  1011.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnkCurrentObject);
  1012.         
  1013.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetQuality )( 
  1014.             IDXTransform __RPC_FAR * This,
  1015.             /* [in] */ float fQuality);
  1016.         
  1017.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetQuality )( 
  1018.             IDXTransform __RPC_FAR * This,
  1019.             /* [out] */ float __RPC_FAR *fQuality);
  1020.         
  1021.         END_INTERFACE
  1022.     } IDXTransformVtbl;
  1023.  
  1024.     interface IDXTransform
  1025.     {
  1026.         CONST_VTBL struct IDXTransformVtbl __RPC_FAR *lpVtbl;
  1027.     };
  1028.  
  1029.     
  1030.  
  1031. #ifdef COBJMACROS
  1032.  
  1033.  
  1034. #define IDXTransform_QueryInterface(This,riid,ppvObject)    \
  1035.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1036.  
  1037. #define IDXTransform_AddRef(This)    \
  1038.     (This)->lpVtbl -> AddRef(This)
  1039.  
  1040. #define IDXTransform_Release(This)    \
  1041.     (This)->lpVtbl -> Release(This)
  1042.  
  1043.  
  1044. #define IDXTransform_GetGenerationId(This,pID)    \
  1045.     (This)->lpVtbl -> GetGenerationId(This,pID)
  1046.  
  1047. #define IDXTransform_IncrementGenerationId(This,bRefresh)    \
  1048.     (This)->lpVtbl -> IncrementGenerationId(This,bRefresh)
  1049.  
  1050. #define IDXTransform_GetObjectSize(This,pcbSize)    \
  1051.     (This)->lpVtbl -> GetObjectSize(This,pcbSize)
  1052.  
  1053.  
  1054. #define IDXTransform_Setup(This,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,dwFlags)    \
  1055.     (This)->lpVtbl -> Setup(This,punkInputs,ulNumInputs,punkOutputs,ulNumOutputs,dwFlags)
  1056.  
  1057. #define IDXTransform_Execute(This,pRequestID,pClipBnds,pPlacement)    \
  1058.     (This)->lpVtbl -> Execute(This,pRequestID,pClipBnds,pPlacement)
  1059.  
  1060. #define IDXTransform_MapBoundsIn2Out(This,pInBounds,ulNumInBnds,ulOutIndex,pOutBounds)    \
  1061.     (This)->lpVtbl -> MapBoundsIn2Out(This,pInBounds,ulNumInBnds,ulOutIndex,pOutBounds)
  1062.  
  1063. #define IDXTransform_MapBoundsOut2In(This,ulOutIndex,pOutBounds,ulInIndex,pInBounds)    \
  1064.     (This)->lpVtbl -> MapBoundsOut2In(This,ulOutIndex,pOutBounds,ulInIndex,pInBounds)
  1065.  
  1066. #define IDXTransform_SetMiscFlags(This,dwMiscFlags)    \
  1067.     (This)->lpVtbl -> SetMiscFlags(This,dwMiscFlags)
  1068.  
  1069. #define IDXTransform_GetMiscFlags(This,pdwMiscFlags)    \
  1070.     (This)->lpVtbl -> GetMiscFlags(This,pdwMiscFlags)
  1071.  
  1072. #define IDXTransform_GetInOutInfo(This,bIsOutput,ulIndex,pdwFlags,pIDs,pcIDs,ppUnkCurrentObject)    \
  1073.     (This)->lpVtbl -> GetInOutInfo(This,bIsOutput,ulIndex,pdwFlags,pIDs,pcIDs,ppUnkCurrentObject)
  1074.  
  1075. #define IDXTransform_SetQuality(This,fQuality)    \
  1076.     (This)->lpVtbl -> SetQuality(This,fQuality)
  1077.  
  1078. #define IDXTransform_GetQuality(This,fQuality)    \
  1079.     (This)->lpVtbl -> GetQuality(This,fQuality)
  1080.  
  1081. #endif /* COBJMACROS */
  1082.  
  1083.  
  1084. #endif     /* C style interface */
  1085.  
  1086.  
  1087.  
  1088. HRESULT STDMETHODCALLTYPE IDXTransform_Setup_Proxy( 
  1089.     IDXTransform __RPC_FAR * This,
  1090.     /* [size_is][in] */ IUnknown __RPC_FAR *const __RPC_FAR *punkInputs,
  1091.     /* [in] */ ULONG ulNumInputs,
  1092.     /* [size_is][in] */ IUnknown __RPC_FAR *const __RPC_FAR *punkOutputs,
  1093.     /* [in] */ ULONG ulNumOutputs,
  1094.     /* [in] */ DWORD dwFlags);
  1095.  
  1096.  
  1097. void __RPC_STUB IDXTransform_Setup_Stub(
  1098.     IRpcStubBuffer *This,
  1099.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1100.     PRPC_MESSAGE _pRpcMessage,
  1101.     DWORD *_pdwStubPhase);
  1102.  
  1103.  
  1104. HRESULT STDMETHODCALLTYPE IDXTransform_Execute_Proxy( 
  1105.     IDXTransform __RPC_FAR * This,
  1106.     /* [in] */ const GUID __RPC_FAR *pRequestID,
  1107.     /* [in] */ const DXBNDS __RPC_FAR *pClipBnds,
  1108.     /* [in] */ const DXVEC __RPC_FAR *pPlacement);
  1109.  
  1110.  
  1111. void __RPC_STUB IDXTransform_Execute_Stub(
  1112.     IRpcStubBuffer *This,
  1113.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1114.     PRPC_MESSAGE _pRpcMessage,
  1115.     DWORD *_pdwStubPhase);
  1116.  
  1117.  
  1118. HRESULT STDMETHODCALLTYPE IDXTransform_MapBoundsIn2Out_Proxy( 
  1119.     IDXTransform __RPC_FAR * This,
  1120.     /* [in] */ const DXBNDS __RPC_FAR *pInBounds,
  1121.     /* [in] */ ULONG ulNumInBnds,
  1122.     /* [in] */ ULONG ulOutIndex,
  1123.     /* [out] */ DXBNDS __RPC_FAR *pOutBounds);
  1124.  
  1125.  
  1126. void __RPC_STUB IDXTransform_MapBoundsIn2Out_Stub(
  1127.     IRpcStubBuffer *This,
  1128.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1129.     PRPC_MESSAGE _pRpcMessage,
  1130.     DWORD *_pdwStubPhase);
  1131.  
  1132.  
  1133. HRESULT STDMETHODCALLTYPE IDXTransform_MapBoundsOut2In_Proxy( 
  1134.     IDXTransform __RPC_FAR * This,
  1135.     /* [in] */ ULONG ulOutIndex,
  1136.     /* [in] */ const DXBNDS __RPC_FAR *pOutBounds,
  1137.     /* [in] */ ULONG ulInIndex,
  1138.     /* [out] */ DXBNDS __RPC_FAR *pInBounds);
  1139.  
  1140.  
  1141. void __RPC_STUB IDXTransform_MapBoundsOut2In_Stub(
  1142.     IRpcStubBuffer *This,
  1143.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1144.     PRPC_MESSAGE _pRpcMessage,
  1145.     DWORD *_pdwStubPhase);
  1146.  
  1147.  
  1148. HRESULT STDMETHODCALLTYPE IDXTransform_SetMiscFlags_Proxy( 
  1149.     IDXTransform __RPC_FAR * This,
  1150.     /* [in] */ DWORD dwMiscFlags);
  1151.  
  1152.  
  1153. void __RPC_STUB IDXTransform_SetMiscFlags_Stub(
  1154.     IRpcStubBuffer *This,
  1155.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1156.     PRPC_MESSAGE _pRpcMessage,
  1157.     DWORD *_pdwStubPhase);
  1158.  
  1159.  
  1160. HRESULT STDMETHODCALLTYPE IDXTransform_GetMiscFlags_Proxy( 
  1161.     IDXTransform __RPC_FAR * This,
  1162.     /* [out] */ DWORD __RPC_FAR *pdwMiscFlags);
  1163.  
  1164.  
  1165. void __RPC_STUB IDXTransform_GetMiscFlags_Stub(
  1166.     IRpcStubBuffer *This,
  1167.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1168.     PRPC_MESSAGE _pRpcMessage,
  1169.     DWORD *_pdwStubPhase);
  1170.  
  1171.  
  1172. HRESULT STDMETHODCALLTYPE IDXTransform_GetInOutInfo_Proxy( 
  1173.     IDXTransform __RPC_FAR * This,
  1174.     /* [in] */ BOOL bIsOutput,
  1175.     /* [in] */ ULONG ulIndex,
  1176.     /* [out] */ DWORD __RPC_FAR *pdwFlags,
  1177.     /* [size_is][out] */ GUID __RPC_FAR *pIDs,
  1178.     /* [out][in] */ ULONG __RPC_FAR *pcIDs,
  1179.     /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnkCurrentObject);
  1180.  
  1181.  
  1182. void __RPC_STUB IDXTransform_GetInOutInfo_Stub(
  1183.     IRpcStubBuffer *This,
  1184.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1185.     PRPC_MESSAGE _pRpcMessage,
  1186.     DWORD *_pdwStubPhase);
  1187.  
  1188.  
  1189. HRESULT STDMETHODCALLTYPE IDXTransform_SetQuality_Proxy( 
  1190.     IDXTransform __RPC_FAR * This,
  1191.     /* [in] */ float fQuality);
  1192.  
  1193.  
  1194. void __RPC_STUB IDXTransform_SetQuality_Stub(
  1195.     IRpcStubBuffer *This,
  1196.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1197.     PRPC_MESSAGE _pRpcMessage,
  1198.     DWORD *_pdwStubPhase);
  1199.  
  1200.  
  1201. HRESULT STDMETHODCALLTYPE IDXTransform_GetQuality_Proxy( 
  1202.     IDXTransform __RPC_FAR * This,
  1203.     /* [out] */ float __RPC_FAR *fQuality);
  1204.  
  1205.  
  1206. void __RPC_STUB IDXTransform_GetQuality_Stub(
  1207.     IRpcStubBuffer *This,
  1208.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1209.     PRPC_MESSAGE _pRpcMessage,
  1210.     DWORD *_pdwStubPhase);
  1211.  
  1212.  
  1213.  
  1214. #endif     /* __IDXTransform_INTERFACE_DEFINED__ */
  1215.  
  1216.  
  1217. #ifndef __IDXSurfacePick_INTERFACE_DEFINED__
  1218. #define __IDXSurfacePick_INTERFACE_DEFINED__
  1219.  
  1220. /* interface IDXSurfacePick */
  1221. /* [object][unique][helpstring][uuid] */ 
  1222.  
  1223.  
  1224. EXTERN_C const IID IID_IDXSurfacePick;
  1225.  
  1226. #if defined(__cplusplus) && !defined(CINTERFACE)
  1227.     
  1228.     MIDL_INTERFACE("30A5FB79-E11F-11d1-9064-00C04FD9189D")
  1229.     IDXSurfacePick : public IUnknown
  1230.     {
  1231.     public:
  1232.         virtual HRESULT STDMETHODCALLTYPE PointPick( 
  1233.             /* [in] */ const DXVEC __RPC_FAR *pPoint,
  1234.             /* [out] */ ULONG __RPC_FAR *pulInputSurfaceIndex,
  1235.             /* [out] */ DXVEC __RPC_FAR *pInputPoint) = 0;
  1236.         
  1237.     };
  1238.     
  1239. #else     /* C style interface */
  1240.  
  1241.     typedef struct IDXSurfacePickVtbl
  1242.     {
  1243.         BEGIN_INTERFACE
  1244.         
  1245.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1246.             IDXSurfacePick __RPC_FAR * This,
  1247.             /* [in] */ REFIID riid,
  1248.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1249.         
  1250.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1251.             IDXSurfacePick __RPC_FAR * This);
  1252.         
  1253.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1254.             IDXSurfacePick __RPC_FAR * This);
  1255.         
  1256.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PointPick )( 
  1257.             IDXSurfacePick __RPC_FAR * This,
  1258.             /* [in] */ const DXVEC __RPC_FAR *pPoint,
  1259.             /* [out] */ ULONG __RPC_FAR *pulInputSurfaceIndex,
  1260.             /* [out] */ DXVEC __RPC_FAR *pInputPoint);
  1261.         
  1262.         END_INTERFACE
  1263.     } IDXSurfacePickVtbl;
  1264.  
  1265.     interface IDXSurfacePick
  1266.     {
  1267.         CONST_VTBL struct IDXSurfacePickVtbl __RPC_FAR *lpVtbl;
  1268.     };
  1269.  
  1270.     
  1271.  
  1272. #ifdef COBJMACROS
  1273.  
  1274.  
  1275. #define IDXSurfacePick_QueryInterface(This,riid,ppvObject)    \
  1276.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1277.  
  1278. #define IDXSurfacePick_AddRef(This)    \
  1279.     (This)->lpVtbl -> AddRef(This)
  1280.  
  1281. #define IDXSurfacePick_Release(This)    \
  1282.     (This)->lpVtbl -> Release(This)
  1283.  
  1284.  
  1285. #define IDXSurfacePick_PointPick(This,pPoint,pulInputSurfaceIndex,pInputPoint)    \
  1286.     (This)->lpVtbl -> PointPick(This,pPoint,pulInputSurfaceIndex,pInputPoint)
  1287.  
  1288. #endif /* COBJMACROS */
  1289.  
  1290.  
  1291. #endif     /* C style interface */
  1292.  
  1293.  
  1294.  
  1295. HRESULT STDMETHODCALLTYPE IDXSurfacePick_PointPick_Proxy( 
  1296.     IDXSurfacePick __RPC_FAR * This,
  1297.     /* [in] */ const DXVEC __RPC_FAR *pPoint,
  1298.     /* [out] */ ULONG __RPC_FAR *pulInputSurfaceIndex,
  1299.     /* [out] */ DXVEC __RPC_FAR *pInputPoint);
  1300.  
  1301.  
  1302. void __RPC_STUB IDXSurfacePick_PointPick_Stub(
  1303.     IRpcStubBuffer *This,
  1304.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1305.     PRPC_MESSAGE _pRpcMessage,
  1306.     DWORD *_pdwStubPhase);
  1307.  
  1308.  
  1309.  
  1310. #endif     /* __IDXSurfacePick_INTERFACE_DEFINED__ */
  1311.  
  1312.  
  1313. #ifndef __IDXTBindHost_INTERFACE_DEFINED__
  1314. #define __IDXTBindHost_INTERFACE_DEFINED__
  1315.  
  1316. /* interface IDXTBindHost */
  1317. /* [object][local][unique][helpstring][uuid] */ 
  1318.  
  1319.  
  1320. EXTERN_C const IID IID_IDXTBindHost;
  1321.  
  1322. #if defined(__cplusplus) && !defined(CINTERFACE)
  1323.     
  1324.     MIDL_INTERFACE("D26BCE55-E9DC-11d1-9066-00C04FD9189D")
  1325.     IDXTBindHost : public IUnknown
  1326.     {
  1327.     public:
  1328.         virtual HRESULT STDMETHODCALLTYPE SetBindHost( 
  1329.             /* [in] */ IBindHost __RPC_FAR *pBindHost) = 0;
  1330.         
  1331.     };
  1332.     
  1333. #else     /* C style interface */
  1334.  
  1335.     typedef struct IDXTBindHostVtbl
  1336.     {
  1337.         BEGIN_INTERFACE
  1338.         
  1339.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1340.             IDXTBindHost __RPC_FAR * This,
  1341.             /* [in] */ REFIID riid,
  1342.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1343.         
  1344.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1345.             IDXTBindHost __RPC_FAR * This);
  1346.         
  1347.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1348.             IDXTBindHost __RPC_FAR * This);
  1349.         
  1350.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBindHost )( 
  1351.             IDXTBindHost __RPC_FAR * This,
  1352.             /* [in] */ IBindHost __RPC_FAR *pBindHost);
  1353.         
  1354.         END_INTERFACE
  1355.     } IDXTBindHostVtbl;
  1356.  
  1357.     interface IDXTBindHost
  1358.     {
  1359.         CONST_VTBL struct IDXTBindHostVtbl __RPC_FAR *lpVtbl;
  1360.     };
  1361.  
  1362.     
  1363.  
  1364. #ifdef COBJMACROS
  1365.  
  1366.  
  1367. #define IDXTBindHost_QueryInterface(This,riid,ppvObject)    \
  1368.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1369.  
  1370. #define IDXTBindHost_AddRef(This)    \
  1371.     (This)->lpVtbl -> AddRef(This)
  1372.  
  1373. #define IDXTBindHost_Release(This)    \
  1374.     (This)->lpVtbl -> Release(This)
  1375.  
  1376.  
  1377. #define IDXTBindHost_SetBindHost(This,pBindHost)    \
  1378.     (This)->lpVtbl -> SetBindHost(This,pBindHost)
  1379.  
  1380. #endif /* COBJMACROS */
  1381.  
  1382.  
  1383. #endif     /* C style interface */
  1384.  
  1385.  
  1386.  
  1387. HRESULT STDMETHODCALLTYPE IDXTBindHost_SetBindHost_Proxy( 
  1388.     IDXTBindHost __RPC_FAR * This,
  1389.     /* [in] */ IBindHost __RPC_FAR *pBindHost);
  1390.  
  1391.  
  1392. void __RPC_STUB IDXTBindHost_SetBindHost_Stub(
  1393.     IRpcStubBuffer *This,
  1394.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1395.     PRPC_MESSAGE _pRpcMessage,
  1396.     DWORD *_pdwStubPhase);
  1397.  
  1398.  
  1399.  
  1400. #endif     /* __IDXTBindHost_INTERFACE_DEFINED__ */
  1401.  
  1402.  
  1403. /* interface __MIDL_itf_dxtrans_0255 */
  1404. /* [local] */ 
  1405.  
  1406. typedef void __stdcall __stdcall DXTASKPROC( 
  1407.     void __RPC_FAR *pTaskData,
  1408.     BOOL __RPC_FAR *pbContinueProcessing);
  1409.  
  1410. typedef DXTASKPROC __RPC_FAR *PFNDXTASKPROC;
  1411.  
  1412. typedef void __stdcall __stdcall DXAPCPROC( 
  1413.     DWORD dwData);
  1414.  
  1415. typedef DXAPCPROC __RPC_FAR *PFNDXAPCPROC;
  1416.  
  1417. #ifdef __cplusplus
  1418. typedef struct DXTMTASKINFO
  1419. {
  1420.     PFNDXTASKPROC pfnTaskProc;       // Pointer to function to execute
  1421.     PVOID         pTaskData;         // Pointer to argument data
  1422.     PFNDXAPCPROC  pfnCompletionAPC;  // Pointer to completion APC proc
  1423.     DWORD         dwCompletionData;  // Pointer to APC proc data
  1424.     const GUID*   pRequestID;        // Used to identify groups of tasks
  1425. } DXTMTASKINFO;
  1426. #else
  1427. typedef struct DXTMTASKINFO
  1428.     {
  1429.     PVOID pfnTaskProc;
  1430.     PVOID pTaskData;
  1431.     PVOID pfnCompletionAPC;
  1432.     DWORD dwCompletionData;
  1433.     const GUID __RPC_FAR *pRequestID;
  1434.     }    DXTMTASKINFO;
  1435.  
  1436. #endif
  1437.  
  1438.  
  1439. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0255_v0_0_c_ifspec;
  1440. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0255_v0_0_s_ifspec;
  1441.  
  1442. #ifndef __IDXTaskManager_INTERFACE_DEFINED__
  1443. #define __IDXTaskManager_INTERFACE_DEFINED__
  1444.  
  1445. /* interface IDXTaskManager */
  1446. /* [object][unique][helpstring][uuid][local] */ 
  1447.  
  1448.  
  1449. EXTERN_C const IID IID_IDXTaskManager;
  1450.  
  1451. #if defined(__cplusplus) && !defined(CINTERFACE)
  1452.     
  1453.     MIDL_INTERFACE("254DBBC1-F922-11d0-883A-3C8B00C10000")
  1454.     IDXTaskManager : public IUnknown
  1455.     {
  1456.     public:
  1457.         virtual HRESULT STDMETHODCALLTYPE QueryNumProcessors( 
  1458.             /* [out] */ ULONG __RPC_FAR *pulNumProc) = 0;
  1459.         
  1460.         virtual HRESULT STDMETHODCALLTYPE SetThreadPoolSize( 
  1461.             /* [in] */ ULONG ulNumThreads) = 0;
  1462.         
  1463.         virtual HRESULT STDMETHODCALLTYPE GetThreadPoolSize( 
  1464.             /* [out] */ ULONG __RPC_FAR *pulNumThreads) = 0;
  1465.         
  1466.         virtual HRESULT STDMETHODCALLTYPE SetConcurrencyLimit( 
  1467.             /* [in] */ ULONG ulNumThreads) = 0;
  1468.         
  1469.         virtual HRESULT STDMETHODCALLTYPE GetConcurrencyLimit( 
  1470.             /* [out] */ ULONG __RPC_FAR *pulNumThreads) = 0;
  1471.         
  1472.         virtual HRESULT STDMETHODCALLTYPE ScheduleTasks( 
  1473.             /* [in] */ DXTMTASKINFO __RPC_FAR TaskInfo[  ],
  1474.             /* [in] */ HANDLE __RPC_FAR Events[  ],
  1475.             /* [out] */ DWORD __RPC_FAR TaskIDs[  ],
  1476.             /* [in] */ ULONG ulNumTasks,
  1477.             /* [in] */ ULONG ulWaitPeriod) = 0;
  1478.         
  1479.         virtual HRESULT STDMETHODCALLTYPE TerminateTasks( 
  1480.             /* [in] */ DWORD __RPC_FAR TaskIDs[  ],
  1481.             /* [in] */ ULONG ulCount,
  1482.             /* [in] */ ULONG ulTimeOut) = 0;
  1483.         
  1484.         virtual HRESULT STDMETHODCALLTYPE TerminateRequest( 
  1485.             /* [in] */ REFIID RequestID,
  1486.             /* [in] */ ULONG ulTimeOut) = 0;
  1487.         
  1488.     };
  1489.     
  1490. #else     /* C style interface */
  1491.  
  1492.     typedef struct IDXTaskManagerVtbl
  1493.     {
  1494.         BEGIN_INTERFACE
  1495.         
  1496.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1497.             IDXTaskManager __RPC_FAR * This,
  1498.             /* [in] */ REFIID riid,
  1499.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1500.         
  1501.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1502.             IDXTaskManager __RPC_FAR * This);
  1503.         
  1504.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1505.             IDXTaskManager __RPC_FAR * This);
  1506.         
  1507.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryNumProcessors )( 
  1508.             IDXTaskManager __RPC_FAR * This,
  1509.             /* [out] */ ULONG __RPC_FAR *pulNumProc);
  1510.         
  1511.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetThreadPoolSize )( 
  1512.             IDXTaskManager __RPC_FAR * This,
  1513.             /* [in] */ ULONG ulNumThreads);
  1514.         
  1515.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetThreadPoolSize )( 
  1516.             IDXTaskManager __RPC_FAR * This,
  1517.             /* [out] */ ULONG __RPC_FAR *pulNumThreads);
  1518.         
  1519.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetConcurrencyLimit )( 
  1520.             IDXTaskManager __RPC_FAR * This,
  1521.             /* [in] */ ULONG ulNumThreads);
  1522.         
  1523.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetConcurrencyLimit )( 
  1524.             IDXTaskManager __RPC_FAR * This,
  1525.             /* [out] */ ULONG __RPC_FAR *pulNumThreads);
  1526.         
  1527.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScheduleTasks )( 
  1528.             IDXTaskManager __RPC_FAR * This,
  1529.             /* [in] */ DXTMTASKINFO __RPC_FAR TaskInfo[  ],
  1530.             /* [in] */ HANDLE __RPC_FAR Events[  ],
  1531.             /* [out] */ DWORD __RPC_FAR TaskIDs[  ],
  1532.             /* [in] */ ULONG ulNumTasks,
  1533.             /* [in] */ ULONG ulWaitPeriod);
  1534.         
  1535.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TerminateTasks )( 
  1536.             IDXTaskManager __RPC_FAR * This,
  1537.             /* [in] */ DWORD __RPC_FAR TaskIDs[  ],
  1538.             /* [in] */ ULONG ulCount,
  1539.             /* [in] */ ULONG ulTimeOut);
  1540.         
  1541.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TerminateRequest )( 
  1542.             IDXTaskManager __RPC_FAR * This,
  1543.             /* [in] */ REFIID RequestID,
  1544.             /* [in] */ ULONG ulTimeOut);
  1545.         
  1546.         END_INTERFACE
  1547.     } IDXTaskManagerVtbl;
  1548.  
  1549.     interface IDXTaskManager
  1550.     {
  1551.         CONST_VTBL struct IDXTaskManagerVtbl __RPC_FAR *lpVtbl;
  1552.     };
  1553.  
  1554.     
  1555.  
  1556. #ifdef COBJMACROS
  1557.  
  1558.  
  1559. #define IDXTaskManager_QueryInterface(This,riid,ppvObject)    \
  1560.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1561.  
  1562. #define IDXTaskManager_AddRef(This)    \
  1563.     (This)->lpVtbl -> AddRef(This)
  1564.  
  1565. #define IDXTaskManager_Release(This)    \
  1566.     (This)->lpVtbl -> Release(This)
  1567.  
  1568.  
  1569. #define IDXTaskManager_QueryNumProcessors(This,pulNumProc)    \
  1570.     (This)->lpVtbl -> QueryNumProcessors(This,pulNumProc)
  1571.  
  1572. #define IDXTaskManager_SetThreadPoolSize(This,ulNumThreads)    \
  1573.     (This)->lpVtbl -> SetThreadPoolSize(This,ulNumThreads)
  1574.  
  1575. #define IDXTaskManager_GetThreadPoolSize(This,pulNumThreads)    \
  1576.     (This)->lpVtbl -> GetThreadPoolSize(This,pulNumThreads)
  1577.  
  1578. #define IDXTaskManager_SetConcurrencyLimit(This,ulNumThreads)    \
  1579.     (This)->lpVtbl -> SetConcurrencyLimit(This,ulNumThreads)
  1580.  
  1581. #define IDXTaskManager_GetConcurrencyLimit(This,pulNumThreads)    \
  1582.     (This)->lpVtbl -> GetConcurrencyLimit(This,pulNumThreads)
  1583.  
  1584. #define IDXTaskManager_ScheduleTasks(This,TaskInfo,Events,TaskIDs,ulNumTasks,ulWaitPeriod)    \
  1585.     (This)->lpVtbl -> ScheduleTasks(This,TaskInfo,Events,TaskIDs,ulNumTasks,ulWaitPeriod)
  1586.  
  1587. #define IDXTaskManager_TerminateTasks(This,TaskIDs,ulCount,ulTimeOut)    \
  1588.     (This)->lpVtbl -> TerminateTasks(This,TaskIDs,ulCount,ulTimeOut)
  1589.  
  1590. #define IDXTaskManager_TerminateRequest(This,RequestID,ulTimeOut)    \
  1591.     (This)->lpVtbl -> TerminateRequest(This,RequestID,ulTimeOut)
  1592.  
  1593. #endif /* COBJMACROS */
  1594.  
  1595.  
  1596. #endif     /* C style interface */
  1597.  
  1598.  
  1599.  
  1600. HRESULT STDMETHODCALLTYPE IDXTaskManager_QueryNumProcessors_Proxy( 
  1601.     IDXTaskManager __RPC_FAR * This,
  1602.     /* [out] */ ULONG __RPC_FAR *pulNumProc);
  1603.  
  1604.  
  1605. void __RPC_STUB IDXTaskManager_QueryNumProcessors_Stub(
  1606.     IRpcStubBuffer *This,
  1607.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1608.     PRPC_MESSAGE _pRpcMessage,
  1609.     DWORD *_pdwStubPhase);
  1610.  
  1611.  
  1612. HRESULT STDMETHODCALLTYPE IDXTaskManager_SetThreadPoolSize_Proxy( 
  1613.     IDXTaskManager __RPC_FAR * This,
  1614.     /* [in] */ ULONG ulNumThreads);
  1615.  
  1616.  
  1617. void __RPC_STUB IDXTaskManager_SetThreadPoolSize_Stub(
  1618.     IRpcStubBuffer *This,
  1619.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1620.     PRPC_MESSAGE _pRpcMessage,
  1621.     DWORD *_pdwStubPhase);
  1622.  
  1623.  
  1624. HRESULT STDMETHODCALLTYPE IDXTaskManager_GetThreadPoolSize_Proxy( 
  1625.     IDXTaskManager __RPC_FAR * This,
  1626.     /* [out] */ ULONG __RPC_FAR *pulNumThreads);
  1627.  
  1628.  
  1629. void __RPC_STUB IDXTaskManager_GetThreadPoolSize_Stub(
  1630.     IRpcStubBuffer *This,
  1631.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1632.     PRPC_MESSAGE _pRpcMessage,
  1633.     DWORD *_pdwStubPhase);
  1634.  
  1635.  
  1636. HRESULT STDMETHODCALLTYPE IDXTaskManager_SetConcurrencyLimit_Proxy( 
  1637.     IDXTaskManager __RPC_FAR * This,
  1638.     /* [in] */ ULONG ulNumThreads);
  1639.  
  1640.  
  1641. void __RPC_STUB IDXTaskManager_SetConcurrencyLimit_Stub(
  1642.     IRpcStubBuffer *This,
  1643.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1644.     PRPC_MESSAGE _pRpcMessage,
  1645.     DWORD *_pdwStubPhase);
  1646.  
  1647.  
  1648. HRESULT STDMETHODCALLTYPE IDXTaskManager_GetConcurrencyLimit_Proxy( 
  1649.     IDXTaskManager __RPC_FAR * This,
  1650.     /* [out] */ ULONG __RPC_FAR *pulNumThreads);
  1651.  
  1652.  
  1653. void __RPC_STUB IDXTaskManager_GetConcurrencyLimit_Stub(
  1654.     IRpcStubBuffer *This,
  1655.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1656.     PRPC_MESSAGE _pRpcMessage,
  1657.     DWORD *_pdwStubPhase);
  1658.  
  1659.  
  1660. HRESULT STDMETHODCALLTYPE IDXTaskManager_ScheduleTasks_Proxy( 
  1661.     IDXTaskManager __RPC_FAR * This,
  1662.     /* [in] */ DXTMTASKINFO __RPC_FAR TaskInfo[  ],
  1663.     /* [in] */ HANDLE __RPC_FAR Events[  ],
  1664.     /* [out] */ DWORD __RPC_FAR TaskIDs[  ],
  1665.     /* [in] */ ULONG ulNumTasks,
  1666.     /* [in] */ ULONG ulWaitPeriod);
  1667.  
  1668.  
  1669. void __RPC_STUB IDXTaskManager_ScheduleTasks_Stub(
  1670.     IRpcStubBuffer *This,
  1671.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1672.     PRPC_MESSAGE _pRpcMessage,
  1673.     DWORD *_pdwStubPhase);
  1674.  
  1675.  
  1676. HRESULT STDMETHODCALLTYPE IDXTaskManager_TerminateTasks_Proxy( 
  1677.     IDXTaskManager __RPC_FAR * This,
  1678.     /* [in] */ DWORD __RPC_FAR TaskIDs[  ],
  1679.     /* [in] */ ULONG ulCount,
  1680.     /* [in] */ ULONG ulTimeOut);
  1681.  
  1682.  
  1683. void __RPC_STUB IDXTaskManager_TerminateTasks_Stub(
  1684.     IRpcStubBuffer *This,
  1685.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1686.     PRPC_MESSAGE _pRpcMessage,
  1687.     DWORD *_pdwStubPhase);
  1688.  
  1689.  
  1690. HRESULT STDMETHODCALLTYPE IDXTaskManager_TerminateRequest_Proxy( 
  1691.     IDXTaskManager __RPC_FAR * This,
  1692.     /* [in] */ REFIID RequestID,
  1693.     /* [in] */ ULONG ulTimeOut);
  1694.  
  1695.  
  1696. void __RPC_STUB IDXTaskManager_TerminateRequest_Stub(
  1697.     IRpcStubBuffer *This,
  1698.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1699.     PRPC_MESSAGE _pRpcMessage,
  1700.     DWORD *_pdwStubPhase);
  1701.  
  1702.  
  1703.  
  1704. #endif     /* __IDXTaskManager_INTERFACE_DEFINED__ */
  1705.  
  1706.  
  1707. /* interface __MIDL_itf_dxtrans_0256 */
  1708. /* [local] */ 
  1709.  
  1710. #ifdef __cplusplus
  1711. /////////////////////////////////////////////////////
  1712.  
  1713. class DXBASESAMPLE;
  1714. class DXSAMPLE;
  1715. class DXPMSAMPLE;
  1716.  
  1717. /////////////////////////////////////////////////////
  1718.  
  1719. class DXBASESAMPLE
  1720. {
  1721. public:
  1722.     BYTE Blue;
  1723.     BYTE Green;
  1724.     BYTE Red;
  1725.     BYTE Alpha;
  1726.     DXBASESAMPLE() {}
  1727.     DXBASESAMPLE(const BYTE alpha, const BYTE red, const BYTE green, const BYTE blue) :
  1728.         Alpha(alpha),
  1729.         Red(red),
  1730.         Green(green),
  1731.         Blue(blue) {}
  1732.     DXBASESAMPLE(const DWORD val) { *this = (*(DXBASESAMPLE *)&val); }
  1733.     operator DWORD () const {return *((DWORD *)this); }
  1734.     DWORD operator=(const DWORD val) { return *this = *((DXBASESAMPLE *)&val); }
  1735. }; // DXBASESAMPLE
  1736.  
  1737. /////////////////////////////////////////////////////
  1738.  
  1739. class DXSAMPLE : public DXBASESAMPLE
  1740. {
  1741. public:
  1742.     DXSAMPLE() {}
  1743.     DXSAMPLE(const BYTE alpha, const BYTE red, const BYTE green, const BYTE blue) :
  1744.          DXBASESAMPLE(alpha, red, green, blue) {}
  1745.     DXSAMPLE(const DWORD val) { *this = (*(DXSAMPLE *)&val); }
  1746.     operator DWORD () const {return *((DWORD *)this); }
  1747.     DWORD operator=(const DWORD val) { return *this = *((DXSAMPLE *)&val); }
  1748.     operator DXPMSAMPLE() const;
  1749. }; // DXSAMPLE
  1750.  
  1751. /////////////////////////////////////////////////////
  1752.  
  1753. class DXPMSAMPLE : public DXBASESAMPLE
  1754. {
  1755. public:
  1756.     DXPMSAMPLE() {}
  1757.     DXPMSAMPLE(const BYTE alpha, const BYTE red, const BYTE green, const BYTE blue) :
  1758.          DXBASESAMPLE(alpha, red, green, blue) {}
  1759.     DXPMSAMPLE(const DWORD val) { *this = (*(DXPMSAMPLE *)&val); }
  1760.     operator DWORD () const {return *((DWORD *)this); }
  1761.     DWORD operator=(const DWORD val) { return *this = *((DXPMSAMPLE *)&val); }
  1762.     operator DXSAMPLE() const;
  1763. }; // DXPMSAMPLE
  1764.  
  1765. //
  1766. // The following cast operators are to prevent a direct assignment of a DXSAMPLE to a DXPMSAMPLE
  1767. //
  1768. inline DXSAMPLE::operator DXPMSAMPLE() const { return *((DXPMSAMPLE *)this); }
  1769. inline DXPMSAMPLE::operator DXSAMPLE() const { return *((DXSAMPLE *)this); }
  1770. #else // !__cplusplus
  1771. typedef struct DXBASESAMPLE
  1772.     {
  1773.     BYTE Blue;
  1774.     BYTE Green;
  1775.     BYTE Red;
  1776.     BYTE Alpha;
  1777.     }    DXBASESAMPLE;
  1778.  
  1779. typedef struct DXSAMPLE
  1780.     {
  1781.     BYTE Blue;
  1782.     BYTE Green;
  1783.     BYTE Red;
  1784.     BYTE Alpha;
  1785.     }    DXSAMPLE;
  1786.  
  1787. typedef struct DXPMSAMPLE
  1788.     {
  1789.     BYTE Blue;
  1790.     BYTE Green;
  1791.     BYTE Red;
  1792.     BYTE Alpha;
  1793.     }    DXPMSAMPLE;
  1794.  
  1795. #endif // !__cplusplus
  1796. typedef 
  1797. enum DXRUNTYPE
  1798.     {    DXRUNTYPE_CLEAR    = 0,
  1799.     DXRUNTYPE_OPAQUE    = 1,
  1800.     DXRUNTYPE_TRANS    = 2,
  1801.     DXRUNTYPE_UNKNOWN    = 3
  1802.     }    DXRUNTYPE;
  1803.  
  1804. #define    DX_MAX_RUN_INFO_COUNT    ( 128 )
  1805.  
  1806. // Ignore the definition used by MIDL for TLB generation
  1807. #if 0
  1808. typedef struct DXRUNINFO
  1809.     {
  1810.     ULONG Bitfields;
  1811.     }    DXRUNINFO;
  1812.  
  1813. #endif // 0
  1814. typedef struct DXRUNINFO
  1815. {
  1816.     ULONG   Type  : 2;   // Type
  1817.     ULONG   Count : 30;  // Number of samples in run
  1818. } DXRUNINFO;
  1819. typedef 
  1820. enum DXSFCREATE
  1821.     {    DXSF_FORMAT_IS_CLSID    = 1L << 0,
  1822.     DXSF_NO_LAZY_DDRAW_LOCK    = 1L << 1
  1823.     }    DXSFCREATE;
  1824.  
  1825. typedef 
  1826. enum DXBLTOPTIONS
  1827.     {    DXBOF_DO_OVER    = 1L << 0,
  1828.     DXBOF_DITHER    = 1L << 1
  1829.     }    DXBLTOPTIONS;
  1830.  
  1831.  
  1832.  
  1833. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0256_v0_0_c_ifspec;
  1834. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0256_v0_0_s_ifspec;
  1835.  
  1836. #ifndef __IDXSurfaceFactory_INTERFACE_DEFINED__
  1837. #define __IDXSurfaceFactory_INTERFACE_DEFINED__
  1838.  
  1839. /* interface IDXSurfaceFactory */
  1840. /* [object][unique][helpstring][uuid] */ 
  1841.  
  1842.  
  1843. EXTERN_C const IID IID_IDXSurfaceFactory;
  1844.  
  1845. #if defined(__cplusplus) && !defined(CINTERFACE)
  1846.     
  1847.     MIDL_INTERFACE("144946F5-C4D4-11d1-81D1-0000F87557DB")
  1848.     IDXSurfaceFactory : public IUnknown
  1849.     {
  1850.     public:
  1851.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateSurface( 
  1852.             /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1853.             /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1854.             /* [in] */ const GUID __RPC_FAR *pFormatID,
  1855.             /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  1856.             /* [in] */ DWORD dwFlags,
  1857.             /* [in] */ IUnknown __RPC_FAR *punkOuter,
  1858.             /* [in] */ REFIID riid,
  1859.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface) = 0;
  1860.         
  1861.         virtual HRESULT STDMETHODCALLTYPE CreateFromDDSurface( 
  1862.             /* [in] */ IUnknown __RPC_FAR *pDDrawSurface,
  1863.             /* [in] */ const GUID __RPC_FAR *pFormatID,
  1864.             /* [in] */ DWORD dwFlags,
  1865.             /* [in] */ IUnknown __RPC_FAR *punkOuter,
  1866.             /* [in] */ REFIID riid,
  1867.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface) = 0;
  1868.         
  1869.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE LoadImage( 
  1870.             /* [in] */ const LPWSTR pszFileName,
  1871.             /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1872.             /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1873.             /* [in] */ const GUID __RPC_FAR *pFormatID,
  1874.             /* [in] */ REFIID riid,
  1875.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface) = 0;
  1876.         
  1877.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE LoadImageFromStream( 
  1878.             /* [in] */ IStream __RPC_FAR *pStream,
  1879.             /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1880.             /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1881.             /* [in] */ const GUID __RPC_FAR *pFormatID,
  1882.             /* [in] */ REFIID riid,
  1883.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface) = 0;
  1884.         
  1885.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CopySurfaceToNewFormat( 
  1886.             /* [in] */ IDXSurface __RPC_FAR *pSrc,
  1887.             /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1888.             /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1889.             /* [in] */ const GUID __RPC_FAR *pDestFormatID,
  1890.             /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppNewSurface) = 0;
  1891.         
  1892.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateD3DRMTexture( 
  1893.             /* [in] */ IDXSurface __RPC_FAR *pSrc,
  1894.             /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1895.             /* [in] */ IUnknown __RPC_FAR *pD3DRM3,
  1896.             /* [in] */ REFIID riid,
  1897.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppTexture3) = 0;
  1898.         
  1899.         virtual HRESULT STDMETHODCALLTYPE BitBlt( 
  1900.             /* [in] */ IDXSurface __RPC_FAR *pDest,
  1901.             /* [in] */ const DXVEC __RPC_FAR *pPlacement,
  1902.             /* [in] */ IDXSurface __RPC_FAR *pSrc,
  1903.             /* [in] */ const DXBNDS __RPC_FAR *pClipBounds,
  1904.             /* [in] */ DWORD dwFlags) = 0;
  1905.         
  1906.     };
  1907.     
  1908. #else     /* C style interface */
  1909.  
  1910.     typedef struct IDXSurfaceFactoryVtbl
  1911.     {
  1912.         BEGIN_INTERFACE
  1913.         
  1914.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1915.             IDXSurfaceFactory __RPC_FAR * This,
  1916.             /* [in] */ REFIID riid,
  1917.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1918.         
  1919.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1920.             IDXSurfaceFactory __RPC_FAR * This);
  1921.         
  1922.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1923.             IDXSurfaceFactory __RPC_FAR * This);
  1924.         
  1925.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateSurface )( 
  1926.             IDXSurfaceFactory __RPC_FAR * This,
  1927.             /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1928.             /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1929.             /* [in] */ const GUID __RPC_FAR *pFormatID,
  1930.             /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  1931.             /* [in] */ DWORD dwFlags,
  1932.             /* [in] */ IUnknown __RPC_FAR *punkOuter,
  1933.             /* [in] */ REFIID riid,
  1934.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface);
  1935.         
  1936.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateFromDDSurface )( 
  1937.             IDXSurfaceFactory __RPC_FAR * This,
  1938.             /* [in] */ IUnknown __RPC_FAR *pDDrawSurface,
  1939.             /* [in] */ const GUID __RPC_FAR *pFormatID,
  1940.             /* [in] */ DWORD dwFlags,
  1941.             /* [in] */ IUnknown __RPC_FAR *punkOuter,
  1942.             /* [in] */ REFIID riid,
  1943.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface);
  1944.         
  1945.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadImage )( 
  1946.             IDXSurfaceFactory __RPC_FAR * This,
  1947.             /* [in] */ const LPWSTR pszFileName,
  1948.             /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1949.             /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1950.             /* [in] */ const GUID __RPC_FAR *pFormatID,
  1951.             /* [in] */ REFIID riid,
  1952.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface);
  1953.         
  1954.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadImageFromStream )( 
  1955.             IDXSurfaceFactory __RPC_FAR * This,
  1956.             /* [in] */ IStream __RPC_FAR *pStream,
  1957.             /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1958.             /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1959.             /* [in] */ const GUID __RPC_FAR *pFormatID,
  1960.             /* [in] */ REFIID riid,
  1961.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface);
  1962.         
  1963.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopySurfaceToNewFormat )( 
  1964.             IDXSurfaceFactory __RPC_FAR * This,
  1965.             /* [in] */ IDXSurface __RPC_FAR *pSrc,
  1966.             /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1967.             /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  1968.             /* [in] */ const GUID __RPC_FAR *pDestFormatID,
  1969.             /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppNewSurface);
  1970.         
  1971.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateD3DRMTexture )( 
  1972.             IDXSurfaceFactory __RPC_FAR * This,
  1973.             /* [in] */ IDXSurface __RPC_FAR *pSrc,
  1974.             /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  1975.             /* [in] */ IUnknown __RPC_FAR *pD3DRM3,
  1976.             /* [in] */ REFIID riid,
  1977.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppTexture3);
  1978.         
  1979.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BitBlt )( 
  1980.             IDXSurfaceFactory __RPC_FAR * This,
  1981.             /* [in] */ IDXSurface __RPC_FAR *pDest,
  1982.             /* [in] */ const DXVEC __RPC_FAR *pPlacement,
  1983.             /* [in] */ IDXSurface __RPC_FAR *pSrc,
  1984.             /* [in] */ const DXBNDS __RPC_FAR *pClipBounds,
  1985.             /* [in] */ DWORD dwFlags);
  1986.         
  1987.         END_INTERFACE
  1988.     } IDXSurfaceFactoryVtbl;
  1989.  
  1990.     interface IDXSurfaceFactory
  1991.     {
  1992.         CONST_VTBL struct IDXSurfaceFactoryVtbl __RPC_FAR *lpVtbl;
  1993.     };
  1994.  
  1995.     
  1996.  
  1997. #ifdef COBJMACROS
  1998.  
  1999.  
  2000. #define IDXSurfaceFactory_QueryInterface(This,riid,ppvObject)    \
  2001.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2002.  
  2003. #define IDXSurfaceFactory_AddRef(This)    \
  2004.     (This)->lpVtbl -> AddRef(This)
  2005.  
  2006. #define IDXSurfaceFactory_Release(This)    \
  2007.     (This)->lpVtbl -> Release(This)
  2008.  
  2009.  
  2010. #define IDXSurfaceFactory_CreateSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags,punkOuter,riid,ppDXSurface)    \
  2011.     (This)->lpVtbl -> CreateSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags,punkOuter,riid,ppDXSurface)
  2012.  
  2013. #define IDXSurfaceFactory_CreateFromDDSurface(This,pDDrawSurface,pFormatID,dwFlags,punkOuter,riid,ppDXSurface)    \
  2014.     (This)->lpVtbl -> CreateFromDDSurface(This,pDDrawSurface,pFormatID,dwFlags,punkOuter,riid,ppDXSurface)
  2015.  
  2016. #define IDXSurfaceFactory_LoadImage(This,pszFileName,pDirectDraw,pDDSurfaceDesc,pFormatID,riid,ppDXSurface)    \
  2017.     (This)->lpVtbl -> LoadImage(This,pszFileName,pDirectDraw,pDDSurfaceDesc,pFormatID,riid,ppDXSurface)
  2018.  
  2019. #define IDXSurfaceFactory_LoadImageFromStream(This,pStream,pDirectDraw,pDDSurfaceDesc,pFormatID,riid,ppDXSurface)    \
  2020.     (This)->lpVtbl -> LoadImageFromStream(This,pStream,pDirectDraw,pDDSurfaceDesc,pFormatID,riid,ppDXSurface)
  2021.  
  2022. #define IDXSurfaceFactory_CopySurfaceToNewFormat(This,pSrc,pDirectDraw,pDDSurfaceDesc,pDestFormatID,ppNewSurface)    \
  2023.     (This)->lpVtbl -> CopySurfaceToNewFormat(This,pSrc,pDirectDraw,pDDSurfaceDesc,pDestFormatID,ppNewSurface)
  2024.  
  2025. #define IDXSurfaceFactory_CreateD3DRMTexture(This,pSrc,pDirectDraw,pD3DRM3,riid,ppTexture3)    \
  2026.     (This)->lpVtbl -> CreateD3DRMTexture(This,pSrc,pDirectDraw,pD3DRM3,riid,ppTexture3)
  2027.  
  2028. #define IDXSurfaceFactory_BitBlt(This,pDest,pPlacement,pSrc,pClipBounds,dwFlags)    \
  2029.     (This)->lpVtbl -> BitBlt(This,pDest,pPlacement,pSrc,pClipBounds,dwFlags)
  2030.  
  2031. #endif /* COBJMACROS */
  2032.  
  2033.  
  2034. #endif     /* C style interface */
  2035.  
  2036.  
  2037.  
  2038. /* [local] */ HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CreateSurface_Proxy( 
  2039.     IDXSurfaceFactory __RPC_FAR * This,
  2040.     /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  2041.     /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  2042.     /* [in] */ const GUID __RPC_FAR *pFormatID,
  2043.     /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  2044.     /* [in] */ DWORD dwFlags,
  2045.     /* [in] */ IUnknown __RPC_FAR *punkOuter,
  2046.     /* [in] */ REFIID riid,
  2047.     /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface);
  2048.  
  2049.  
  2050. void __RPC_STUB IDXSurfaceFactory_CreateSurface_Stub(
  2051.     IRpcStubBuffer *This,
  2052.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2053.     PRPC_MESSAGE _pRpcMessage,
  2054.     DWORD *_pdwStubPhase);
  2055.  
  2056.  
  2057. HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CreateFromDDSurface_Proxy( 
  2058.     IDXSurfaceFactory __RPC_FAR * This,
  2059.     /* [in] */ IUnknown __RPC_FAR *pDDrawSurface,
  2060.     /* [in] */ const GUID __RPC_FAR *pFormatID,
  2061.     /* [in] */ DWORD dwFlags,
  2062.     /* [in] */ IUnknown __RPC_FAR *punkOuter,
  2063.     /* [in] */ REFIID riid,
  2064.     /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface);
  2065.  
  2066.  
  2067. void __RPC_STUB IDXSurfaceFactory_CreateFromDDSurface_Stub(
  2068.     IRpcStubBuffer *This,
  2069.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2070.     PRPC_MESSAGE _pRpcMessage,
  2071.     DWORD *_pdwStubPhase);
  2072.  
  2073.  
  2074. /* [local] */ HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_LoadImage_Proxy( 
  2075.     IDXSurfaceFactory __RPC_FAR * This,
  2076.     /* [in] */ const LPWSTR pszFileName,
  2077.     /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  2078.     /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  2079.     /* [in] */ const GUID __RPC_FAR *pFormatID,
  2080.     /* [in] */ REFIID riid,
  2081.     /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface);
  2082.  
  2083.  
  2084. void __RPC_STUB IDXSurfaceFactory_LoadImage_Stub(
  2085.     IRpcStubBuffer *This,
  2086.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2087.     PRPC_MESSAGE _pRpcMessage,
  2088.     DWORD *_pdwStubPhase);
  2089.  
  2090.  
  2091. /* [local] */ HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_LoadImageFromStream_Proxy( 
  2092.     IDXSurfaceFactory __RPC_FAR * This,
  2093.     /* [in] */ IStream __RPC_FAR *pStream,
  2094.     /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  2095.     /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  2096.     /* [in] */ const GUID __RPC_FAR *pFormatID,
  2097.     /* [in] */ REFIID riid,
  2098.     /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppDXSurface);
  2099.  
  2100.  
  2101. void __RPC_STUB IDXSurfaceFactory_LoadImageFromStream_Stub(
  2102.     IRpcStubBuffer *This,
  2103.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2104.     PRPC_MESSAGE _pRpcMessage,
  2105.     DWORD *_pdwStubPhase);
  2106.  
  2107.  
  2108. /* [local] */ HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CopySurfaceToNewFormat_Proxy( 
  2109.     IDXSurfaceFactory __RPC_FAR * This,
  2110.     /* [in] */ IDXSurface __RPC_FAR *pSrc,
  2111.     /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  2112.     /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  2113.     /* [in] */ const GUID __RPC_FAR *pDestFormatID,
  2114.     /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppNewSurface);
  2115.  
  2116.  
  2117. void __RPC_STUB IDXSurfaceFactory_CopySurfaceToNewFormat_Stub(
  2118.     IRpcStubBuffer *This,
  2119.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2120.     PRPC_MESSAGE _pRpcMessage,
  2121.     DWORD *_pdwStubPhase);
  2122.  
  2123.  
  2124. /* [local] */ HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_CreateD3DRMTexture_Proxy( 
  2125.     IDXSurfaceFactory __RPC_FAR * This,
  2126.     /* [in] */ IDXSurface __RPC_FAR *pSrc,
  2127.     /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  2128.     /* [in] */ IUnknown __RPC_FAR *pD3DRM3,
  2129.     /* [in] */ REFIID riid,
  2130.     /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppTexture3);
  2131.  
  2132.  
  2133. void __RPC_STUB IDXSurfaceFactory_CreateD3DRMTexture_Stub(
  2134.     IRpcStubBuffer *This,
  2135.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2136.     PRPC_MESSAGE _pRpcMessage,
  2137.     DWORD *_pdwStubPhase);
  2138.  
  2139.  
  2140. HRESULT STDMETHODCALLTYPE IDXSurfaceFactory_BitBlt_Proxy( 
  2141.     IDXSurfaceFactory __RPC_FAR * This,
  2142.     /* [in] */ IDXSurface __RPC_FAR *pDest,
  2143.     /* [in] */ const DXVEC __RPC_FAR *pPlacement,
  2144.     /* [in] */ IDXSurface __RPC_FAR *pSrc,
  2145.     /* [in] */ const DXBNDS __RPC_FAR *pClipBounds,
  2146.     /* [in] */ DWORD dwFlags);
  2147.  
  2148.  
  2149. void __RPC_STUB IDXSurfaceFactory_BitBlt_Stub(
  2150.     IRpcStubBuffer *This,
  2151.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2152.     PRPC_MESSAGE _pRpcMessage,
  2153.     DWORD *_pdwStubPhase);
  2154.  
  2155.  
  2156.  
  2157. #endif     /* __IDXSurfaceFactory_INTERFACE_DEFINED__ */
  2158.  
  2159.  
  2160. /* interface __MIDL_itf_dxtrans_0257 */
  2161. /* [local] */ 
  2162.  
  2163. typedef 
  2164. enum DXSURFMODCOMPOP
  2165.     {    DXSURFMOD_COMP_OVER    = 0,
  2166.     DXSURFMOD_COMP_ALPHA_MASK    = 1,
  2167.     DXSURFMOD_COMP_MAX_VALID    = 1
  2168.     }    DXSURFMODCOMPOP;
  2169.  
  2170.  
  2171.  
  2172. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0257_v0_0_c_ifspec;
  2173. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0257_v0_0_s_ifspec;
  2174.  
  2175. #ifndef __IDXSurfaceModifier_INTERFACE_DEFINED__
  2176. #define __IDXSurfaceModifier_INTERFACE_DEFINED__
  2177.  
  2178. /* interface IDXSurfaceModifier */
  2179. /* [object][unique][helpstring][uuid] */ 
  2180.  
  2181.  
  2182. EXTERN_C const IID IID_IDXSurfaceModifier;
  2183.  
  2184. #if defined(__cplusplus) && !defined(CINTERFACE)
  2185.     
  2186.     MIDL_INTERFACE("9EA3B637-C37D-11d1-905E-00C04FD9189D")
  2187.     IDXSurfaceModifier : public IUnknown
  2188.     {
  2189.     public:
  2190.         virtual HRESULT STDMETHODCALLTYPE SetFillColor( 
  2191.             /* [in] */ DXSAMPLE Color) = 0;
  2192.         
  2193.         virtual HRESULT STDMETHODCALLTYPE GetFillColor( 
  2194.             /* [out] */ DXSAMPLE __RPC_FAR *pColor) = 0;
  2195.         
  2196.         virtual HRESULT STDMETHODCALLTYPE SetBounds( 
  2197.             /* [in] */ const DXBNDS __RPC_FAR *pBounds) = 0;
  2198.         
  2199.         virtual HRESULT STDMETHODCALLTYPE SetBackground( 
  2200.             /* [in] */ IDXSurface __RPC_FAR *pSurface) = 0;
  2201.         
  2202.         virtual HRESULT STDMETHODCALLTYPE GetBackground( 
  2203.             /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppSurface) = 0;
  2204.         
  2205.         virtual HRESULT STDMETHODCALLTYPE SetCompositeOperation( 
  2206.             /* [in] */ DXSURFMODCOMPOP CompOp) = 0;
  2207.         
  2208.         virtual HRESULT STDMETHODCALLTYPE GetCompositeOperation( 
  2209.             /* [out] */ DXSURFMODCOMPOP __RPC_FAR *pCompOp) = 0;
  2210.         
  2211.         virtual HRESULT STDMETHODCALLTYPE SetForeground( 
  2212.             /* [in] */ IDXSurface __RPC_FAR *pSurface,
  2213.             /* [in] */ BOOL bTile,
  2214.             /* [in] */ const POINT __RPC_FAR *pOrigin) = 0;
  2215.         
  2216.         virtual HRESULT STDMETHODCALLTYPE GetForeground( 
  2217.             /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppSurface,
  2218.             /* [out] */ BOOL __RPC_FAR *pbTile,
  2219.             /* [out] */ POINT __RPC_FAR *pOrigin) = 0;
  2220.         
  2221.         virtual HRESULT STDMETHODCALLTYPE SetOpacity( 
  2222.             /* [in] */ float Opacity) = 0;
  2223.         
  2224.         virtual HRESULT STDMETHODCALLTYPE GetOpacity( 
  2225.             /* [out] */ float __RPC_FAR *pOpacity) = 0;
  2226.         
  2227.         virtual HRESULT STDMETHODCALLTYPE SetLookup( 
  2228.             /* [in] */ IDXLookupTable __RPC_FAR *pLookupTable) = 0;
  2229.         
  2230.         virtual HRESULT STDMETHODCALLTYPE GetLookup( 
  2231.             /* [out] */ IDXLookupTable __RPC_FAR *__RPC_FAR *ppLookupTable) = 0;
  2232.         
  2233.     };
  2234.     
  2235. #else     /* C style interface */
  2236.  
  2237.     typedef struct IDXSurfaceModifierVtbl
  2238.     {
  2239.         BEGIN_INTERFACE
  2240.         
  2241.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2242.             IDXSurfaceModifier __RPC_FAR * This,
  2243.             /* [in] */ REFIID riid,
  2244.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2245.         
  2246.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2247.             IDXSurfaceModifier __RPC_FAR * This);
  2248.         
  2249.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2250.             IDXSurfaceModifier __RPC_FAR * This);
  2251.         
  2252.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFillColor )( 
  2253.             IDXSurfaceModifier __RPC_FAR * This,
  2254.             /* [in] */ DXSAMPLE Color);
  2255.         
  2256.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFillColor )( 
  2257.             IDXSurfaceModifier __RPC_FAR * This,
  2258.             /* [out] */ DXSAMPLE __RPC_FAR *pColor);
  2259.         
  2260.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBounds )( 
  2261.             IDXSurfaceModifier __RPC_FAR * This,
  2262.             /* [in] */ const DXBNDS __RPC_FAR *pBounds);
  2263.         
  2264.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBackground )( 
  2265.             IDXSurfaceModifier __RPC_FAR * This,
  2266.             /* [in] */ IDXSurface __RPC_FAR *pSurface);
  2267.         
  2268.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBackground )( 
  2269.             IDXSurfaceModifier __RPC_FAR * This,
  2270.             /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppSurface);
  2271.         
  2272.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetCompositeOperation )( 
  2273.             IDXSurfaceModifier __RPC_FAR * This,
  2274.             /* [in] */ DXSURFMODCOMPOP CompOp);
  2275.         
  2276.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCompositeOperation )( 
  2277.             IDXSurfaceModifier __RPC_FAR * This,
  2278.             /* [out] */ DXSURFMODCOMPOP __RPC_FAR *pCompOp);
  2279.         
  2280.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetForeground )( 
  2281.             IDXSurfaceModifier __RPC_FAR * This,
  2282.             /* [in] */ IDXSurface __RPC_FAR *pSurface,
  2283.             /* [in] */ BOOL bTile,
  2284.             /* [in] */ const POINT __RPC_FAR *pOrigin);
  2285.         
  2286.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetForeground )( 
  2287.             IDXSurfaceModifier __RPC_FAR * This,
  2288.             /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppSurface,
  2289.             /* [out] */ BOOL __RPC_FAR *pbTile,
  2290.             /* [out] */ POINT __RPC_FAR *pOrigin);
  2291.         
  2292.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOpacity )( 
  2293.             IDXSurfaceModifier __RPC_FAR * This,
  2294.             /* [in] */ float Opacity);
  2295.         
  2296.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOpacity )( 
  2297.             IDXSurfaceModifier __RPC_FAR * This,
  2298.             /* [out] */ float __RPC_FAR *pOpacity);
  2299.         
  2300.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLookup )( 
  2301.             IDXSurfaceModifier __RPC_FAR * This,
  2302.             /* [in] */ IDXLookupTable __RPC_FAR *pLookupTable);
  2303.         
  2304.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLookup )( 
  2305.             IDXSurfaceModifier __RPC_FAR * This,
  2306.             /* [out] */ IDXLookupTable __RPC_FAR *__RPC_FAR *ppLookupTable);
  2307.         
  2308.         END_INTERFACE
  2309.     } IDXSurfaceModifierVtbl;
  2310.  
  2311.     interface IDXSurfaceModifier
  2312.     {
  2313.         CONST_VTBL struct IDXSurfaceModifierVtbl __RPC_FAR *lpVtbl;
  2314.     };
  2315.  
  2316.     
  2317.  
  2318. #ifdef COBJMACROS
  2319.  
  2320.  
  2321. #define IDXSurfaceModifier_QueryInterface(This,riid,ppvObject)    \
  2322.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2323.  
  2324. #define IDXSurfaceModifier_AddRef(This)    \
  2325.     (This)->lpVtbl -> AddRef(This)
  2326.  
  2327. #define IDXSurfaceModifier_Release(This)    \
  2328.     (This)->lpVtbl -> Release(This)
  2329.  
  2330.  
  2331. #define IDXSurfaceModifier_SetFillColor(This,Color)    \
  2332.     (This)->lpVtbl -> SetFillColor(This,Color)
  2333.  
  2334. #define IDXSurfaceModifier_GetFillColor(This,pColor)    \
  2335.     (This)->lpVtbl -> GetFillColor(This,pColor)
  2336.  
  2337. #define IDXSurfaceModifier_SetBounds(This,pBounds)    \
  2338.     (This)->lpVtbl -> SetBounds(This,pBounds)
  2339.  
  2340. #define IDXSurfaceModifier_SetBackground(This,pSurface)    \
  2341.     (This)->lpVtbl -> SetBackground(This,pSurface)
  2342.  
  2343. #define IDXSurfaceModifier_GetBackground(This,ppSurface)    \
  2344.     (This)->lpVtbl -> GetBackground(This,ppSurface)
  2345.  
  2346. #define IDXSurfaceModifier_SetCompositeOperation(This,CompOp)    \
  2347.     (This)->lpVtbl -> SetCompositeOperation(This,CompOp)
  2348.  
  2349. #define IDXSurfaceModifier_GetCompositeOperation(This,pCompOp)    \
  2350.     (This)->lpVtbl -> GetCompositeOperation(This,pCompOp)
  2351.  
  2352. #define IDXSurfaceModifier_SetForeground(This,pSurface,bTile,pOrigin)    \
  2353.     (This)->lpVtbl -> SetForeground(This,pSurface,bTile,pOrigin)
  2354.  
  2355. #define IDXSurfaceModifier_GetForeground(This,ppSurface,pbTile,pOrigin)    \
  2356.     (This)->lpVtbl -> GetForeground(This,ppSurface,pbTile,pOrigin)
  2357.  
  2358. #define IDXSurfaceModifier_SetOpacity(This,Opacity)    \
  2359.     (This)->lpVtbl -> SetOpacity(This,Opacity)
  2360.  
  2361. #define IDXSurfaceModifier_GetOpacity(This,pOpacity)    \
  2362.     (This)->lpVtbl -> GetOpacity(This,pOpacity)
  2363.  
  2364. #define IDXSurfaceModifier_SetLookup(This,pLookupTable)    \
  2365.     (This)->lpVtbl -> SetLookup(This,pLookupTable)
  2366.  
  2367. #define IDXSurfaceModifier_GetLookup(This,ppLookupTable)    \
  2368.     (This)->lpVtbl -> GetLookup(This,ppLookupTable)
  2369.  
  2370. #endif /* COBJMACROS */
  2371.  
  2372.  
  2373. #endif     /* C style interface */
  2374.  
  2375.  
  2376.  
  2377. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetFillColor_Proxy( 
  2378.     IDXSurfaceModifier __RPC_FAR * This,
  2379.     /* [in] */ DXSAMPLE Color);
  2380.  
  2381.  
  2382. void __RPC_STUB IDXSurfaceModifier_SetFillColor_Stub(
  2383.     IRpcStubBuffer *This,
  2384.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2385.     PRPC_MESSAGE _pRpcMessage,
  2386.     DWORD *_pdwStubPhase);
  2387.  
  2388.  
  2389. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetFillColor_Proxy( 
  2390.     IDXSurfaceModifier __RPC_FAR * This,
  2391.     /* [out] */ DXSAMPLE __RPC_FAR *pColor);
  2392.  
  2393.  
  2394. void __RPC_STUB IDXSurfaceModifier_GetFillColor_Stub(
  2395.     IRpcStubBuffer *This,
  2396.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2397.     PRPC_MESSAGE _pRpcMessage,
  2398.     DWORD *_pdwStubPhase);
  2399.  
  2400.  
  2401. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetBounds_Proxy( 
  2402.     IDXSurfaceModifier __RPC_FAR * This,
  2403.     /* [in] */ const DXBNDS __RPC_FAR *pBounds);
  2404.  
  2405.  
  2406. void __RPC_STUB IDXSurfaceModifier_SetBounds_Stub(
  2407.     IRpcStubBuffer *This,
  2408.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2409.     PRPC_MESSAGE _pRpcMessage,
  2410.     DWORD *_pdwStubPhase);
  2411.  
  2412.  
  2413. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetBackground_Proxy( 
  2414.     IDXSurfaceModifier __RPC_FAR * This,
  2415.     /* [in] */ IDXSurface __RPC_FAR *pSurface);
  2416.  
  2417.  
  2418. void __RPC_STUB IDXSurfaceModifier_SetBackground_Stub(
  2419.     IRpcStubBuffer *This,
  2420.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2421.     PRPC_MESSAGE _pRpcMessage,
  2422.     DWORD *_pdwStubPhase);
  2423.  
  2424.  
  2425. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetBackground_Proxy( 
  2426.     IDXSurfaceModifier __RPC_FAR * This,
  2427.     /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppSurface);
  2428.  
  2429.  
  2430. void __RPC_STUB IDXSurfaceModifier_GetBackground_Stub(
  2431.     IRpcStubBuffer *This,
  2432.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2433.     PRPC_MESSAGE _pRpcMessage,
  2434.     DWORD *_pdwStubPhase);
  2435.  
  2436.  
  2437. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetCompositeOperation_Proxy( 
  2438.     IDXSurfaceModifier __RPC_FAR * This,
  2439.     /* [in] */ DXSURFMODCOMPOP CompOp);
  2440.  
  2441.  
  2442. void __RPC_STUB IDXSurfaceModifier_SetCompositeOperation_Stub(
  2443.     IRpcStubBuffer *This,
  2444.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2445.     PRPC_MESSAGE _pRpcMessage,
  2446.     DWORD *_pdwStubPhase);
  2447.  
  2448.  
  2449. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetCompositeOperation_Proxy( 
  2450.     IDXSurfaceModifier __RPC_FAR * This,
  2451.     /* [out] */ DXSURFMODCOMPOP __RPC_FAR *pCompOp);
  2452.  
  2453.  
  2454. void __RPC_STUB IDXSurfaceModifier_GetCompositeOperation_Stub(
  2455.     IRpcStubBuffer *This,
  2456.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2457.     PRPC_MESSAGE _pRpcMessage,
  2458.     DWORD *_pdwStubPhase);
  2459.  
  2460.  
  2461. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetForeground_Proxy( 
  2462.     IDXSurfaceModifier __RPC_FAR * This,
  2463.     /* [in] */ IDXSurface __RPC_FAR *pSurface,
  2464.     /* [in] */ BOOL bTile,
  2465.     /* [in] */ const POINT __RPC_FAR *pOrigin);
  2466.  
  2467.  
  2468. void __RPC_STUB IDXSurfaceModifier_SetForeground_Stub(
  2469.     IRpcStubBuffer *This,
  2470.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2471.     PRPC_MESSAGE _pRpcMessage,
  2472.     DWORD *_pdwStubPhase);
  2473.  
  2474.  
  2475. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetForeground_Proxy( 
  2476.     IDXSurfaceModifier __RPC_FAR * This,
  2477.     /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppSurface,
  2478.     /* [out] */ BOOL __RPC_FAR *pbTile,
  2479.     /* [out] */ POINT __RPC_FAR *pOrigin);
  2480.  
  2481.  
  2482. void __RPC_STUB IDXSurfaceModifier_GetForeground_Stub(
  2483.     IRpcStubBuffer *This,
  2484.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2485.     PRPC_MESSAGE _pRpcMessage,
  2486.     DWORD *_pdwStubPhase);
  2487.  
  2488.  
  2489. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetOpacity_Proxy( 
  2490.     IDXSurfaceModifier __RPC_FAR * This,
  2491.     /* [in] */ float Opacity);
  2492.  
  2493.  
  2494. void __RPC_STUB IDXSurfaceModifier_SetOpacity_Stub(
  2495.     IRpcStubBuffer *This,
  2496.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2497.     PRPC_MESSAGE _pRpcMessage,
  2498.     DWORD *_pdwStubPhase);
  2499.  
  2500.  
  2501. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetOpacity_Proxy( 
  2502.     IDXSurfaceModifier __RPC_FAR * This,
  2503.     /* [out] */ float __RPC_FAR *pOpacity);
  2504.  
  2505.  
  2506. void __RPC_STUB IDXSurfaceModifier_GetOpacity_Stub(
  2507.     IRpcStubBuffer *This,
  2508.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2509.     PRPC_MESSAGE _pRpcMessage,
  2510.     DWORD *_pdwStubPhase);
  2511.  
  2512.  
  2513. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_SetLookup_Proxy( 
  2514.     IDXSurfaceModifier __RPC_FAR * This,
  2515.     /* [in] */ IDXLookupTable __RPC_FAR *pLookupTable);
  2516.  
  2517.  
  2518. void __RPC_STUB IDXSurfaceModifier_SetLookup_Stub(
  2519.     IRpcStubBuffer *This,
  2520.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2521.     PRPC_MESSAGE _pRpcMessage,
  2522.     DWORD *_pdwStubPhase);
  2523.  
  2524.  
  2525. HRESULT STDMETHODCALLTYPE IDXSurfaceModifier_GetLookup_Proxy( 
  2526.     IDXSurfaceModifier __RPC_FAR * This,
  2527.     /* [out] */ IDXLookupTable __RPC_FAR *__RPC_FAR *ppLookupTable);
  2528.  
  2529.  
  2530. void __RPC_STUB IDXSurfaceModifier_GetLookup_Stub(
  2531.     IRpcStubBuffer *This,
  2532.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2533.     PRPC_MESSAGE _pRpcMessage,
  2534.     DWORD *_pdwStubPhase);
  2535.  
  2536.  
  2537.  
  2538. #endif     /* __IDXSurfaceModifier_INTERFACE_DEFINED__ */
  2539.  
  2540.  
  2541. /* interface __MIDL_itf_dxtrans_0258 */
  2542. /* [local] */ 
  2543.  
  2544. typedef 
  2545. enum DXSAMPLEFORMATENUM
  2546.     {    DXPF_FLAGSMASK    = 0xffff0000,
  2547.     DXPF_NONPREMULT    = 0x10000,
  2548.     DXPF_TRANSPARENCY    = 0x20000,
  2549.     DXPF_TRANSLUCENCY    = 0x40000,
  2550.     DXPF_2BITERROR    = 0x200000,
  2551.     DXPF_3BITERROR    = 0x300000,
  2552.     DXPF_4BITERROR    = 0x400000,
  2553.     DXPF_5BITERROR    = 0x500000,
  2554.     DXPF_ERRORMASK    = 0x700000,
  2555.     DXPF_NONSTANDARD    = 0,
  2556.     DXPF_PMARGB32    = 1 | DXPF_TRANSPARENCY | DXPF_TRANSLUCENCY,
  2557.     DXPF_ARGB32    = 2 | DXPF_NONPREMULT | DXPF_TRANSPARENCY | DXPF_TRANSLUCENCY,
  2558.     DXPF_ARGB4444    = 3 | DXPF_NONPREMULT | DXPF_TRANSPARENCY | DXPF_TRANSLUCENCY | DXPF_4BITERROR,
  2559.     DXPF_A8    = 4 | DXPF_TRANSPARENCY | DXPF_TRANSLUCENCY,
  2560.     DXPF_RGB32    = 5,
  2561.     DXPF_RGB24    = 6,
  2562.     DXPF_RGB565    = 7 | DXPF_3BITERROR,
  2563.     DXPF_RGB555    = 8 | DXPF_3BITERROR,
  2564.     DXPF_RGB8    = 9 | DXPF_5BITERROR,
  2565.     DXPF_ARGB1555    = 10 | DXPF_TRANSPARENCY | DXPF_3BITERROR,
  2566.     DXPF_RGB32_CK    = DXPF_RGB32 | DXPF_TRANSPARENCY,
  2567.     DXPF_RGB24_CK    = DXPF_RGB24 | DXPF_TRANSPARENCY,
  2568.     DXPF_RGB555_CK    = DXPF_RGB555 | DXPF_TRANSPARENCY,
  2569.     DXPF_RGB565_CK    = DXPF_RGB565 | DXPF_TRANSPARENCY,
  2570.     DXPF_RGB8_CK    = DXPF_RGB8 | DXPF_TRANSPARENCY
  2571.     }    DXSAMPLEFORMATENUM;
  2572.  
  2573. typedef 
  2574. enum DXLOCKSURF
  2575.     {    DXLOCKF_READ    = 0,
  2576.     DXLOCKF_READWRITE    = 1 << 0,
  2577.     DXLOCKF_EXISTINGINFOONLY    = 1 << 1,
  2578.     DXLOCKF_WANTRUNINFO    = 1 << 2,
  2579.     DXLOCKF_NONPREMULT    = 1 << 16,
  2580.     DXLOCKF_VALIDFLAGS    = DXLOCKF_READWRITE | DXLOCKF_EXISTINGINFOONLY | DXLOCKF_WANTRUNINFO | DXLOCKF_NONPREMULT
  2581.     }    DXLOCKSURF;
  2582.  
  2583. typedef 
  2584. enum DXSURFSTATUS
  2585.     {    DXSURF_TRANSIENT    = 1 << 0,
  2586.     DXSURF_READONLY    = 1 << 1,
  2587.     DXSURF_VALIDFLAGS    = DXSURF_TRANSIENT | DXSURF_READONLY
  2588.     }    DXSURFSTATUS;
  2589.  
  2590.  
  2591.  
  2592. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0258_v0_0_c_ifspec;
  2593. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0258_v0_0_s_ifspec;
  2594.  
  2595. #ifndef __IDXSurface_INTERFACE_DEFINED__
  2596. #define __IDXSurface_INTERFACE_DEFINED__
  2597.  
  2598. /* interface IDXSurface */
  2599. /* [object][unique][helpstring][uuid] */ 
  2600.  
  2601.  
  2602. EXTERN_C const IID IID_IDXSurface;
  2603.  
  2604. #if defined(__cplusplus) && !defined(CINTERFACE)
  2605.     
  2606.     MIDL_INTERFACE("B39FD73F-E139-11d1-9065-00C04FD9189D")
  2607.     IDXSurface : public IDXBaseObject
  2608.     {
  2609.     public:
  2610.         virtual HRESULT STDMETHODCALLTYPE GetPixelFormat( 
  2611.             /* [out] */ GUID __RPC_FAR *pFormatID,
  2612.             /* [out] */ DXSAMPLEFORMATENUM __RPC_FAR *pSampleFormatEnum) = 0;
  2613.         
  2614.         virtual HRESULT STDMETHODCALLTYPE GetBounds( 
  2615.             /* [out] */ DXBNDS __RPC_FAR *pBounds) = 0;
  2616.         
  2617.         virtual HRESULT STDMETHODCALLTYPE GetStatusFlags( 
  2618.             /* [out] */ DWORD __RPC_FAR *pdwStatusFlags) = 0;
  2619.         
  2620.         virtual HRESULT STDMETHODCALLTYPE SetStatusFlags( 
  2621.             /* [in] */ DWORD dwStatusFlags) = 0;
  2622.         
  2623.         virtual HRESULT STDMETHODCALLTYPE LockSurface( 
  2624.             /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  2625.             /* [in] */ ULONG ulTimeOut,
  2626.             /* [in] */ DWORD dwFlags,
  2627.             /* [in] */ REFIID riid,
  2628.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppPointer,
  2629.             /* [out] */ ULONG __RPC_FAR *pulGenerationId) = 0;
  2630.         
  2631.         virtual HRESULT STDMETHODCALLTYPE GetDirectDrawSurface( 
  2632.             /* [in] */ REFIID riid,
  2633.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppSurface) = 0;
  2634.         
  2635.         virtual HRESULT STDMETHODCALLTYPE GetColorKey( 
  2636.             DXSAMPLE __RPC_FAR *pColorKey) = 0;
  2637.         
  2638.         virtual HRESULT STDMETHODCALLTYPE SetColorKey( 
  2639.             DXSAMPLE ColorKey) = 0;
  2640.         
  2641.         virtual HRESULT STDMETHODCALLTYPE LockSurfaceDC( 
  2642.             /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  2643.             /* [in] */ ULONG ulTimeOut,
  2644.             /* [in] */ DWORD dwFlags,
  2645.             /* [out] */ IDXDCLock __RPC_FAR *__RPC_FAR *ppDCLock) = 0;
  2646.         
  2647.         virtual HRESULT STDMETHODCALLTYPE SetAppData( 
  2648.             DWORD dwAppData) = 0;
  2649.         
  2650.         virtual HRESULT STDMETHODCALLTYPE GetAppData( 
  2651.             DWORD __RPC_FAR *pdwAppData) = 0;
  2652.         
  2653.     };
  2654.     
  2655. #else     /* C style interface */
  2656.  
  2657.     typedef struct IDXSurfaceVtbl
  2658.     {
  2659.         BEGIN_INTERFACE
  2660.         
  2661.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2662.             IDXSurface __RPC_FAR * This,
  2663.             /* [in] */ REFIID riid,
  2664.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2665.         
  2666.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2667.             IDXSurface __RPC_FAR * This);
  2668.         
  2669.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2670.             IDXSurface __RPC_FAR * This);
  2671.         
  2672.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetGenerationId )( 
  2673.             IDXSurface __RPC_FAR * This,
  2674.             /* [out] */ ULONG __RPC_FAR *pID);
  2675.         
  2676.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IncrementGenerationId )( 
  2677.             IDXSurface __RPC_FAR * This,
  2678.             /* [in] */ BOOL bRefresh);
  2679.         
  2680.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectSize )( 
  2681.             IDXSurface __RPC_FAR * This,
  2682.             /* [out] */ ULONG __RPC_FAR *pcbSize);
  2683.         
  2684.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPixelFormat )( 
  2685.             IDXSurface __RPC_FAR * This,
  2686.             /* [out] */ GUID __RPC_FAR *pFormatID,
  2687.             /* [out] */ DXSAMPLEFORMATENUM __RPC_FAR *pSampleFormatEnum);
  2688.         
  2689.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBounds )( 
  2690.             IDXSurface __RPC_FAR * This,
  2691.             /* [out] */ DXBNDS __RPC_FAR *pBounds);
  2692.         
  2693.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatusFlags )( 
  2694.             IDXSurface __RPC_FAR * This,
  2695.             /* [out] */ DWORD __RPC_FAR *pdwStatusFlags);
  2696.         
  2697.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetStatusFlags )( 
  2698.             IDXSurface __RPC_FAR * This,
  2699.             /* [in] */ DWORD dwStatusFlags);
  2700.         
  2701.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockSurface )( 
  2702.             IDXSurface __RPC_FAR * This,
  2703.             /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  2704.             /* [in] */ ULONG ulTimeOut,
  2705.             /* [in] */ DWORD dwFlags,
  2706.             /* [in] */ REFIID riid,
  2707.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppPointer,
  2708.             /* [out] */ ULONG __RPC_FAR *pulGenerationId);
  2709.         
  2710.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDirectDrawSurface )( 
  2711.             IDXSurface __RPC_FAR * This,
  2712.             /* [in] */ REFIID riid,
  2713.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppSurface);
  2714.         
  2715.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetColorKey )( 
  2716.             IDXSurface __RPC_FAR * This,
  2717.             DXSAMPLE __RPC_FAR *pColorKey);
  2718.         
  2719.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetColorKey )( 
  2720.             IDXSurface __RPC_FAR * This,
  2721.             DXSAMPLE ColorKey);
  2722.         
  2723.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockSurfaceDC )( 
  2724.             IDXSurface __RPC_FAR * This,
  2725.             /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  2726.             /* [in] */ ULONG ulTimeOut,
  2727.             /* [in] */ DWORD dwFlags,
  2728.             /* [out] */ IDXDCLock __RPC_FAR *__RPC_FAR *ppDCLock);
  2729.         
  2730.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAppData )( 
  2731.             IDXSurface __RPC_FAR * This,
  2732.             DWORD dwAppData);
  2733.         
  2734.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAppData )( 
  2735.             IDXSurface __RPC_FAR * This,
  2736.             DWORD __RPC_FAR *pdwAppData);
  2737.         
  2738.         END_INTERFACE
  2739.     } IDXSurfaceVtbl;
  2740.  
  2741.     interface IDXSurface
  2742.     {
  2743.         CONST_VTBL struct IDXSurfaceVtbl __RPC_FAR *lpVtbl;
  2744.     };
  2745.  
  2746.     
  2747.  
  2748. #ifdef COBJMACROS
  2749.  
  2750.  
  2751. #define IDXSurface_QueryInterface(This,riid,ppvObject)    \
  2752.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2753.  
  2754. #define IDXSurface_AddRef(This)    \
  2755.     (This)->lpVtbl -> AddRef(This)
  2756.  
  2757. #define IDXSurface_Release(This)    \
  2758.     (This)->lpVtbl -> Release(This)
  2759.  
  2760.  
  2761. #define IDXSurface_GetGenerationId(This,pID)    \
  2762.     (This)->lpVtbl -> GetGenerationId(This,pID)
  2763.  
  2764. #define IDXSurface_IncrementGenerationId(This,bRefresh)    \
  2765.     (This)->lpVtbl -> IncrementGenerationId(This,bRefresh)
  2766.  
  2767. #define IDXSurface_GetObjectSize(This,pcbSize)    \
  2768.     (This)->lpVtbl -> GetObjectSize(This,pcbSize)
  2769.  
  2770.  
  2771. #define IDXSurface_GetPixelFormat(This,pFormatID,pSampleFormatEnum)    \
  2772.     (This)->lpVtbl -> GetPixelFormat(This,pFormatID,pSampleFormatEnum)
  2773.  
  2774. #define IDXSurface_GetBounds(This,pBounds)    \
  2775.     (This)->lpVtbl -> GetBounds(This,pBounds)
  2776.  
  2777. #define IDXSurface_GetStatusFlags(This,pdwStatusFlags)    \
  2778.     (This)->lpVtbl -> GetStatusFlags(This,pdwStatusFlags)
  2779.  
  2780. #define IDXSurface_SetStatusFlags(This,dwStatusFlags)    \
  2781.     (This)->lpVtbl -> SetStatusFlags(This,dwStatusFlags)
  2782.  
  2783. #define IDXSurface_LockSurface(This,pBounds,ulTimeOut,dwFlags,riid,ppPointer,pulGenerationId)    \
  2784.     (This)->lpVtbl -> LockSurface(This,pBounds,ulTimeOut,dwFlags,riid,ppPointer,pulGenerationId)
  2785.  
  2786. #define IDXSurface_GetDirectDrawSurface(This,riid,ppSurface)    \
  2787.     (This)->lpVtbl -> GetDirectDrawSurface(This,riid,ppSurface)
  2788.  
  2789. #define IDXSurface_GetColorKey(This,pColorKey)    \
  2790.     (This)->lpVtbl -> GetColorKey(This,pColorKey)
  2791.  
  2792. #define IDXSurface_SetColorKey(This,ColorKey)    \
  2793.     (This)->lpVtbl -> SetColorKey(This,ColorKey)
  2794.  
  2795. #define IDXSurface_LockSurfaceDC(This,pBounds,ulTimeOut,dwFlags,ppDCLock)    \
  2796.     (This)->lpVtbl -> LockSurfaceDC(This,pBounds,ulTimeOut,dwFlags,ppDCLock)
  2797.  
  2798. #define IDXSurface_SetAppData(This,dwAppData)    \
  2799.     (This)->lpVtbl -> SetAppData(This,dwAppData)
  2800.  
  2801. #define IDXSurface_GetAppData(This,pdwAppData)    \
  2802.     (This)->lpVtbl -> GetAppData(This,pdwAppData)
  2803.  
  2804. #endif /* COBJMACROS */
  2805.  
  2806.  
  2807. #endif     /* C style interface */
  2808.  
  2809.  
  2810.  
  2811. HRESULT STDMETHODCALLTYPE IDXSurface_GetPixelFormat_Proxy( 
  2812.     IDXSurface __RPC_FAR * This,
  2813.     /* [out] */ GUID __RPC_FAR *pFormatID,
  2814.     /* [out] */ DXSAMPLEFORMATENUM __RPC_FAR *pSampleFormatEnum);
  2815.  
  2816.  
  2817. void __RPC_STUB IDXSurface_GetPixelFormat_Stub(
  2818.     IRpcStubBuffer *This,
  2819.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2820.     PRPC_MESSAGE _pRpcMessage,
  2821.     DWORD *_pdwStubPhase);
  2822.  
  2823.  
  2824. HRESULT STDMETHODCALLTYPE IDXSurface_GetBounds_Proxy( 
  2825.     IDXSurface __RPC_FAR * This,
  2826.     /* [out] */ DXBNDS __RPC_FAR *pBounds);
  2827.  
  2828.  
  2829. void __RPC_STUB IDXSurface_GetBounds_Stub(
  2830.     IRpcStubBuffer *This,
  2831.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2832.     PRPC_MESSAGE _pRpcMessage,
  2833.     DWORD *_pdwStubPhase);
  2834.  
  2835.  
  2836. HRESULT STDMETHODCALLTYPE IDXSurface_GetStatusFlags_Proxy( 
  2837.     IDXSurface __RPC_FAR * This,
  2838.     /* [out] */ DWORD __RPC_FAR *pdwStatusFlags);
  2839.  
  2840.  
  2841. void __RPC_STUB IDXSurface_GetStatusFlags_Stub(
  2842.     IRpcStubBuffer *This,
  2843.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2844.     PRPC_MESSAGE _pRpcMessage,
  2845.     DWORD *_pdwStubPhase);
  2846.  
  2847.  
  2848. HRESULT STDMETHODCALLTYPE IDXSurface_SetStatusFlags_Proxy( 
  2849.     IDXSurface __RPC_FAR * This,
  2850.     /* [in] */ DWORD dwStatusFlags);
  2851.  
  2852.  
  2853. void __RPC_STUB IDXSurface_SetStatusFlags_Stub(
  2854.     IRpcStubBuffer *This,
  2855.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2856.     PRPC_MESSAGE _pRpcMessage,
  2857.     DWORD *_pdwStubPhase);
  2858.  
  2859.  
  2860. HRESULT STDMETHODCALLTYPE IDXSurface_LockSurface_Proxy( 
  2861.     IDXSurface __RPC_FAR * This,
  2862.     /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  2863.     /* [in] */ ULONG ulTimeOut,
  2864.     /* [in] */ DWORD dwFlags,
  2865.     /* [in] */ REFIID riid,
  2866.     /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppPointer,
  2867.     /* [out] */ ULONG __RPC_FAR *pulGenerationId);
  2868.  
  2869.  
  2870. void __RPC_STUB IDXSurface_LockSurface_Stub(
  2871.     IRpcStubBuffer *This,
  2872.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2873.     PRPC_MESSAGE _pRpcMessage,
  2874.     DWORD *_pdwStubPhase);
  2875.  
  2876.  
  2877. HRESULT STDMETHODCALLTYPE IDXSurface_GetDirectDrawSurface_Proxy( 
  2878.     IDXSurface __RPC_FAR * This,
  2879.     /* [in] */ REFIID riid,
  2880.     /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppSurface);
  2881.  
  2882.  
  2883. void __RPC_STUB IDXSurface_GetDirectDrawSurface_Stub(
  2884.     IRpcStubBuffer *This,
  2885.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2886.     PRPC_MESSAGE _pRpcMessage,
  2887.     DWORD *_pdwStubPhase);
  2888.  
  2889.  
  2890. HRESULT STDMETHODCALLTYPE IDXSurface_GetColorKey_Proxy( 
  2891.     IDXSurface __RPC_FAR * This,
  2892.     DXSAMPLE __RPC_FAR *pColorKey);
  2893.  
  2894.  
  2895. void __RPC_STUB IDXSurface_GetColorKey_Stub(
  2896.     IRpcStubBuffer *This,
  2897.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2898.     PRPC_MESSAGE _pRpcMessage,
  2899.     DWORD *_pdwStubPhase);
  2900.  
  2901.  
  2902. HRESULT STDMETHODCALLTYPE IDXSurface_SetColorKey_Proxy( 
  2903.     IDXSurface __RPC_FAR * This,
  2904.     DXSAMPLE ColorKey);
  2905.  
  2906.  
  2907. void __RPC_STUB IDXSurface_SetColorKey_Stub(
  2908.     IRpcStubBuffer *This,
  2909.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2910.     PRPC_MESSAGE _pRpcMessage,
  2911.     DWORD *_pdwStubPhase);
  2912.  
  2913.  
  2914. HRESULT STDMETHODCALLTYPE IDXSurface_LockSurfaceDC_Proxy( 
  2915.     IDXSurface __RPC_FAR * This,
  2916.     /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  2917.     /* [in] */ ULONG ulTimeOut,
  2918.     /* [in] */ DWORD dwFlags,
  2919.     /* [out] */ IDXDCLock __RPC_FAR *__RPC_FAR *ppDCLock);
  2920.  
  2921.  
  2922. void __RPC_STUB IDXSurface_LockSurfaceDC_Stub(
  2923.     IRpcStubBuffer *This,
  2924.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2925.     PRPC_MESSAGE _pRpcMessage,
  2926.     DWORD *_pdwStubPhase);
  2927.  
  2928.  
  2929. HRESULT STDMETHODCALLTYPE IDXSurface_SetAppData_Proxy( 
  2930.     IDXSurface __RPC_FAR * This,
  2931.     DWORD dwAppData);
  2932.  
  2933.  
  2934. void __RPC_STUB IDXSurface_SetAppData_Stub(
  2935.     IRpcStubBuffer *This,
  2936.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2937.     PRPC_MESSAGE _pRpcMessage,
  2938.     DWORD *_pdwStubPhase);
  2939.  
  2940.  
  2941. HRESULT STDMETHODCALLTYPE IDXSurface_GetAppData_Proxy( 
  2942.     IDXSurface __RPC_FAR * This,
  2943.     DWORD __RPC_FAR *pdwAppData);
  2944.  
  2945.  
  2946. void __RPC_STUB IDXSurface_GetAppData_Stub(
  2947.     IRpcStubBuffer *This,
  2948.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2949.     PRPC_MESSAGE _pRpcMessage,
  2950.     DWORD *_pdwStubPhase);
  2951.  
  2952.  
  2953.  
  2954. #endif     /* __IDXSurface_INTERFACE_DEFINED__ */
  2955.  
  2956.  
  2957. #ifndef __IDXSurfaceInit_INTERFACE_DEFINED__
  2958. #define __IDXSurfaceInit_INTERFACE_DEFINED__
  2959.  
  2960. /* interface IDXSurfaceInit */
  2961. /* [object][local][unique][helpstring][uuid] */ 
  2962.  
  2963.  
  2964. EXTERN_C const IID IID_IDXSurfaceInit;
  2965.  
  2966. #if defined(__cplusplus) && !defined(CINTERFACE)
  2967.     
  2968.     MIDL_INTERFACE("9EA3B639-C37D-11d1-905E-00C04FD9189D")
  2969.     IDXSurfaceInit : public IUnknown
  2970.     {
  2971.     public:
  2972.         virtual HRESULT STDMETHODCALLTYPE InitSurface( 
  2973.             /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  2974.             /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  2975.             /* [in] */ const GUID __RPC_FAR *pFormatID,
  2976.             /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  2977.             /* [in] */ DWORD dwFlags) = 0;
  2978.         
  2979.     };
  2980.     
  2981. #else     /* C style interface */
  2982.  
  2983.     typedef struct IDXSurfaceInitVtbl
  2984.     {
  2985.         BEGIN_INTERFACE
  2986.         
  2987.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2988.             IDXSurfaceInit __RPC_FAR * This,
  2989.             /* [in] */ REFIID riid,
  2990.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2991.         
  2992.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2993.             IDXSurfaceInit __RPC_FAR * This);
  2994.         
  2995.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2996.             IDXSurfaceInit __RPC_FAR * This);
  2997.         
  2998.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitSurface )( 
  2999.             IDXSurfaceInit __RPC_FAR * This,
  3000.             /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  3001.             /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  3002.             /* [in] */ const GUID __RPC_FAR *pFormatID,
  3003.             /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  3004.             /* [in] */ DWORD dwFlags);
  3005.         
  3006.         END_INTERFACE
  3007.     } IDXSurfaceInitVtbl;
  3008.  
  3009.     interface IDXSurfaceInit
  3010.     {
  3011.         CONST_VTBL struct IDXSurfaceInitVtbl __RPC_FAR *lpVtbl;
  3012.     };
  3013.  
  3014.     
  3015.  
  3016. #ifdef COBJMACROS
  3017.  
  3018.  
  3019. #define IDXSurfaceInit_QueryInterface(This,riid,ppvObject)    \
  3020.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3021.  
  3022. #define IDXSurfaceInit_AddRef(This)    \
  3023.     (This)->lpVtbl -> AddRef(This)
  3024.  
  3025. #define IDXSurfaceInit_Release(This)    \
  3026.     (This)->lpVtbl -> Release(This)
  3027.  
  3028.  
  3029. #define IDXSurfaceInit_InitSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags)    \
  3030.     (This)->lpVtbl -> InitSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags)
  3031.  
  3032. #endif /* COBJMACROS */
  3033.  
  3034.  
  3035. #endif     /* C style interface */
  3036.  
  3037.  
  3038.  
  3039. HRESULT STDMETHODCALLTYPE IDXSurfaceInit_InitSurface_Proxy( 
  3040.     IDXSurfaceInit __RPC_FAR * This,
  3041.     /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  3042.     /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  3043.     /* [in] */ const GUID __RPC_FAR *pFormatID,
  3044.     /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  3045.     /* [in] */ DWORD dwFlags);
  3046.  
  3047.  
  3048. void __RPC_STUB IDXSurfaceInit_InitSurface_Stub(
  3049.     IRpcStubBuffer *This,
  3050.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3051.     PRPC_MESSAGE _pRpcMessage,
  3052.     DWORD *_pdwStubPhase);
  3053.  
  3054.  
  3055.  
  3056. #endif     /* __IDXSurfaceInit_INTERFACE_DEFINED__ */
  3057.  
  3058.  
  3059. #ifndef __IDXARGBSurfaceInit_INTERFACE_DEFINED__
  3060. #define __IDXARGBSurfaceInit_INTERFACE_DEFINED__
  3061.  
  3062. /* interface IDXARGBSurfaceInit */
  3063. /* [object][local][unique][helpstring][uuid] */ 
  3064.  
  3065.  
  3066. EXTERN_C const IID IID_IDXARGBSurfaceInit;
  3067.  
  3068. #if defined(__cplusplus) && !defined(CINTERFACE)
  3069.     
  3070.     MIDL_INTERFACE("9EA3B63A-C37D-11d1-905E-00C04FD9189D")
  3071.     IDXARGBSurfaceInit : public IDXSurfaceInit
  3072.     {
  3073.     public:
  3074.         virtual HRESULT STDMETHODCALLTYPE InitFromDDSurface( 
  3075.             /* [in] */ IUnknown __RPC_FAR *pDDrawSurface,
  3076.             /* [in] */ const GUID __RPC_FAR *pFormatID,
  3077.             /* [in] */ DWORD dwFlags) = 0;
  3078.         
  3079.         virtual HRESULT STDMETHODCALLTYPE InitFromRawSurface( 
  3080.             /* [in] */ IDXRawSurface __RPC_FAR *pRawSurface) = 0;
  3081.         
  3082.     };
  3083.     
  3084. #else     /* C style interface */
  3085.  
  3086.     typedef struct IDXARGBSurfaceInitVtbl
  3087.     {
  3088.         BEGIN_INTERFACE
  3089.         
  3090.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3091.             IDXARGBSurfaceInit __RPC_FAR * This,
  3092.             /* [in] */ REFIID riid,
  3093.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3094.         
  3095.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3096.             IDXARGBSurfaceInit __RPC_FAR * This);
  3097.         
  3098.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3099.             IDXARGBSurfaceInit __RPC_FAR * This);
  3100.         
  3101.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitSurface )( 
  3102.             IDXARGBSurfaceInit __RPC_FAR * This,
  3103.             /* [in] */ IUnknown __RPC_FAR *pDirectDraw,
  3104.             /* [in] */ const DDSURFACEDESC __RPC_FAR *pDDSurfaceDesc,
  3105.             /* [in] */ const GUID __RPC_FAR *pFormatID,
  3106.             /* [in] */ const DXBNDS __RPC_FAR *pBounds,
  3107.             /* [in] */ DWORD dwFlags);
  3108.         
  3109.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitFromDDSurface )( 
  3110.             IDXARGBSurfaceInit __RPC_FAR * This,
  3111.             /* [in] */ IUnknown __RPC_FAR *pDDrawSurface,
  3112.             /* [in] */ const GUID __RPC_FAR *pFormatID,
  3113.             /* [in] */ DWORD dwFlags);
  3114.         
  3115.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitFromRawSurface )( 
  3116.             IDXARGBSurfaceInit __RPC_FAR * This,
  3117.             /* [in] */ IDXRawSurface __RPC_FAR *pRawSurface);
  3118.         
  3119.         END_INTERFACE
  3120.     } IDXARGBSurfaceInitVtbl;
  3121.  
  3122.     interface IDXARGBSurfaceInit
  3123.     {
  3124.         CONST_VTBL struct IDXARGBSurfaceInitVtbl __RPC_FAR *lpVtbl;
  3125.     };
  3126.  
  3127.     
  3128.  
  3129. #ifdef COBJMACROS
  3130.  
  3131.  
  3132. #define IDXARGBSurfaceInit_QueryInterface(This,riid,ppvObject)    \
  3133.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3134.  
  3135. #define IDXARGBSurfaceInit_AddRef(This)    \
  3136.     (This)->lpVtbl -> AddRef(This)
  3137.  
  3138. #define IDXARGBSurfaceInit_Release(This)    \
  3139.     (This)->lpVtbl -> Release(This)
  3140.  
  3141.  
  3142. #define IDXARGBSurfaceInit_InitSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags)    \
  3143.     (This)->lpVtbl -> InitSurface(This,pDirectDraw,pDDSurfaceDesc,pFormatID,pBounds,dwFlags)
  3144.  
  3145.  
  3146. #define IDXARGBSurfaceInit_InitFromDDSurface(This,pDDrawSurface,pFormatID,dwFlags)    \
  3147.     (This)->lpVtbl -> InitFromDDSurface(This,pDDrawSurface,pFormatID,dwFlags)
  3148.  
  3149. #define IDXARGBSurfaceInit_InitFromRawSurface(This,pRawSurface)    \
  3150.     (This)->lpVtbl -> InitFromRawSurface(This,pRawSurface)
  3151.  
  3152. #endif /* COBJMACROS */
  3153.  
  3154.  
  3155. #endif     /* C style interface */
  3156.  
  3157.  
  3158.  
  3159. HRESULT STDMETHODCALLTYPE IDXARGBSurfaceInit_InitFromDDSurface_Proxy( 
  3160.     IDXARGBSurfaceInit __RPC_FAR * This,
  3161.     /* [in] */ IUnknown __RPC_FAR *pDDrawSurface,
  3162.     /* [in] */ const GUID __RPC_FAR *pFormatID,
  3163.     /* [in] */ DWORD dwFlags);
  3164.  
  3165.  
  3166. void __RPC_STUB IDXARGBSurfaceInit_InitFromDDSurface_Stub(
  3167.     IRpcStubBuffer *This,
  3168.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3169.     PRPC_MESSAGE _pRpcMessage,
  3170.     DWORD *_pdwStubPhase);
  3171.  
  3172.  
  3173. HRESULT STDMETHODCALLTYPE IDXARGBSurfaceInit_InitFromRawSurface_Proxy( 
  3174.     IDXARGBSurfaceInit __RPC_FAR * This,
  3175.     /* [in] */ IDXRawSurface __RPC_FAR *pRawSurface);
  3176.  
  3177.  
  3178. void __RPC_STUB IDXARGBSurfaceInit_InitFromRawSurface_Stub(
  3179.     IRpcStubBuffer *This,
  3180.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3181.     PRPC_MESSAGE _pRpcMessage,
  3182.     DWORD *_pdwStubPhase);
  3183.  
  3184.  
  3185.  
  3186. #endif     /* __IDXARGBSurfaceInit_INTERFACE_DEFINED__ */
  3187.  
  3188.  
  3189. /* interface __MIDL_itf_dxtrans_0261 */
  3190. /* [local] */ 
  3191.  
  3192. typedef struct tagDXNATIVETYPEINFO
  3193.     {
  3194.     BYTE __RPC_FAR *pCurrentData;
  3195.     BYTE __RPC_FAR *pFirstByte;
  3196.     long lPitch;
  3197.     DWORD dwColorKey;
  3198.     }    DXNATIVETYPEINFO;
  3199.  
  3200. typedef struct tagDXPACKEDRECTDESC
  3201.     {
  3202.     DXBASESAMPLE __RPC_FAR *pSamples;
  3203.     BOOL bPremult;
  3204.     RECT rect;
  3205.     long lRowPadding;
  3206.     }    DXPACKEDRECTDESC;
  3207.  
  3208. typedef struct tagDXOVERSAMPLEDESC
  3209.     {
  3210.     POINT p;
  3211.     DXPMSAMPLE Color;
  3212.     }    DXOVERSAMPLEDESC;
  3213.  
  3214.  
  3215.  
  3216. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0261_v0_0_c_ifspec;
  3217. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0261_v0_0_s_ifspec;
  3218.  
  3219. #ifndef __IDXARGBReadPtr_INTERFACE_DEFINED__
  3220. #define __IDXARGBReadPtr_INTERFACE_DEFINED__
  3221.  
  3222. /* interface IDXARGBReadPtr */
  3223. /* [object][local][unique][helpstring][uuid] */ 
  3224.  
  3225.  
  3226. EXTERN_C const IID IID_IDXARGBReadPtr;
  3227.  
  3228. #if defined(__cplusplus) && !defined(CINTERFACE)
  3229.     
  3230.     MIDL_INTERFACE("EAAAC2D6-C290-11d1-905D-00C04FD9189D")
  3231.     IDXARGBReadPtr : public IUnknown
  3232.     {
  3233.     public:
  3234.         virtual HRESULT STDMETHODCALLTYPE GetSurface( 
  3235.             /* [in] */ REFIID riid,
  3236.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppSurface) = 0;
  3237.         
  3238.         virtual DXSAMPLEFORMATENUM STDMETHODCALLTYPE GetNativeType( 
  3239.             /* [out] */ DXNATIVETYPEINFO __RPC_FAR *pInfo) = 0;
  3240.         
  3241.         virtual void STDMETHODCALLTYPE Move( 
  3242.             /* [in] */ long cSamples) = 0;
  3243.         
  3244.         virtual void STDMETHODCALLTYPE MoveToRow( 
  3245.             /* [in] */ ULONG y) = 0;
  3246.         
  3247.         virtual void STDMETHODCALLTYPE MoveToXY( 
  3248.             /* [in] */ ULONG x,
  3249.             /* [in] */ ULONG y) = 0;
  3250.         
  3251.         virtual ULONG STDMETHODCALLTYPE MoveAndGetRunInfo( 
  3252.             /* [in] */ ULONG Row,
  3253.             /* [out] */ const DXRUNINFO __RPC_FAR *__RPC_FAR *ppInfo) = 0;
  3254.         
  3255.         virtual DXSAMPLE __RPC_FAR *STDMETHODCALLTYPE Unpack( 
  3256.             /* [in] */ DXSAMPLE __RPC_FAR *pSamples,
  3257.             /* [in] */ ULONG cSamples,
  3258.             /* [in] */ BOOL bMove) = 0;
  3259.         
  3260.         virtual DXPMSAMPLE __RPC_FAR *STDMETHODCALLTYPE UnpackPremult( 
  3261.             /* [in] */ DXPMSAMPLE __RPC_FAR *pSamples,
  3262.             /* [in] */ ULONG cSamples,
  3263.             /* [in] */ BOOL bMove) = 0;
  3264.         
  3265.         virtual void STDMETHODCALLTYPE UnpackRect( 
  3266.             /* [in] */ const DXPACKEDRECTDESC __RPC_FAR *pRectDesc) = 0;
  3267.         
  3268.     };
  3269.     
  3270. #else     /* C style interface */
  3271.  
  3272.     typedef struct IDXARGBReadPtrVtbl
  3273.     {
  3274.         BEGIN_INTERFACE
  3275.         
  3276.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3277.             IDXARGBReadPtr __RPC_FAR * This,
  3278.             /* [in] */ REFIID riid,
  3279.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3280.         
  3281.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3282.             IDXARGBReadPtr __RPC_FAR * This);
  3283.         
  3284.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3285.             IDXARGBReadPtr __RPC_FAR * This);
  3286.         
  3287.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )( 
  3288.             IDXARGBReadPtr __RPC_FAR * This,
  3289.             /* [in] */ REFIID riid,
  3290.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppSurface);
  3291.         
  3292.         DXSAMPLEFORMATENUM ( STDMETHODCALLTYPE __RPC_FAR *GetNativeType )( 
  3293.             IDXARGBReadPtr __RPC_FAR * This,
  3294.             /* [out] */ DXNATIVETYPEINFO __RPC_FAR *pInfo);
  3295.         
  3296.         void ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
  3297.             IDXARGBReadPtr __RPC_FAR * This,
  3298.             /* [in] */ long cSamples);
  3299.         
  3300.         void ( STDMETHODCALLTYPE __RPC_FAR *MoveToRow )( 
  3301.             IDXARGBReadPtr __RPC_FAR * This,
  3302.             /* [in] */ ULONG y);
  3303.         
  3304.         void ( STDMETHODCALLTYPE __RPC_FAR *MoveToXY )( 
  3305.             IDXARGBReadPtr __RPC_FAR * This,
  3306.             /* [in] */ ULONG x,
  3307.             /* [in] */ ULONG y);
  3308.         
  3309.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *MoveAndGetRunInfo )( 
  3310.             IDXARGBReadPtr __RPC_FAR * This,
  3311.             /* [in] */ ULONG Row,
  3312.             /* [out] */ const DXRUNINFO __RPC_FAR *__RPC_FAR *ppInfo);
  3313.         
  3314.         DXSAMPLE __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *Unpack )( 
  3315.             IDXARGBReadPtr __RPC_FAR * This,
  3316.             /* [in] */ DXSAMPLE __RPC_FAR *pSamples,
  3317.             /* [in] */ ULONG cSamples,
  3318.             /* [in] */ BOOL bMove);
  3319.         
  3320.         DXPMSAMPLE __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *UnpackPremult )( 
  3321.             IDXARGBReadPtr __RPC_FAR * This,
  3322.             /* [in] */ DXPMSAMPLE __RPC_FAR *pSamples,
  3323.             /* [in] */ ULONG cSamples,
  3324.             /* [in] */ BOOL bMove);
  3325.         
  3326.         void ( STDMETHODCALLTYPE __RPC_FAR *UnpackRect )( 
  3327.             IDXARGBReadPtr __RPC_FAR * This,
  3328.             /* [in] */ const DXPACKEDRECTDESC __RPC_FAR *pRectDesc);
  3329.         
  3330.         END_INTERFACE
  3331.     } IDXARGBReadPtrVtbl;
  3332.  
  3333.     interface IDXARGBReadPtr
  3334.     {
  3335.         CONST_VTBL struct IDXARGBReadPtrVtbl __RPC_FAR *lpVtbl;
  3336.     };
  3337.  
  3338.     
  3339.  
  3340. #ifdef COBJMACROS
  3341.  
  3342.  
  3343. #define IDXARGBReadPtr_QueryInterface(This,riid,ppvObject)    \
  3344.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3345.  
  3346. #define IDXARGBReadPtr_AddRef(This)    \
  3347.     (This)->lpVtbl -> AddRef(This)
  3348.  
  3349. #define IDXARGBReadPtr_Release(This)    \
  3350.     (This)->lpVtbl -> Release(This)
  3351.  
  3352.  
  3353. #define IDXARGBReadPtr_GetSurface(This,riid,ppSurface)    \
  3354.     (This)->lpVtbl -> GetSurface(This,riid,ppSurface)
  3355.  
  3356. #define IDXARGBReadPtr_GetNativeType(This,pInfo)    \
  3357.     (This)->lpVtbl -> GetNativeType(This,pInfo)
  3358.  
  3359. #define IDXARGBReadPtr_Move(This,cSamples)    \
  3360.     (This)->lpVtbl -> Move(This,cSamples)
  3361.  
  3362. #define IDXARGBReadPtr_MoveToRow(This,y)    \
  3363.     (This)->lpVtbl -> MoveToRow(This,y)
  3364.  
  3365. #define IDXARGBReadPtr_MoveToXY(This,x,y)    \
  3366.     (This)->lpVtbl -> MoveToXY(This,x,y)
  3367.  
  3368. #define IDXARGBReadPtr_MoveAndGetRunInfo(This,Row,ppInfo)    \
  3369.     (This)->lpVtbl -> MoveAndGetRunInfo(This,Row,ppInfo)
  3370.  
  3371. #define IDXARGBReadPtr_Unpack(This,pSamples,cSamples,bMove)    \
  3372.     (This)->lpVtbl -> Unpack(This,pSamples,cSamples,bMove)
  3373.  
  3374. #define IDXARGBReadPtr_UnpackPremult(This,pSamples,cSamples,bMove)    \
  3375.     (This)->lpVtbl -> UnpackPremult(This,pSamples,cSamples,bMove)
  3376.  
  3377. #define IDXARGBReadPtr_UnpackRect(This,pRectDesc)    \
  3378.     (This)->lpVtbl -> UnpackRect(This,pRectDesc)
  3379.  
  3380. #endif /* COBJMACROS */
  3381.  
  3382.  
  3383. #endif     /* C style interface */
  3384.  
  3385.  
  3386.  
  3387. HRESULT STDMETHODCALLTYPE IDXARGBReadPtr_GetSurface_Proxy( 
  3388.     IDXARGBReadPtr __RPC_FAR * This,
  3389.     /* [in] */ REFIID riid,
  3390.     /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppSurface);
  3391.  
  3392.  
  3393. void __RPC_STUB IDXARGBReadPtr_GetSurface_Stub(
  3394.     IRpcStubBuffer *This,
  3395.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3396.     PRPC_MESSAGE _pRpcMessage,
  3397.     DWORD *_pdwStubPhase);
  3398.  
  3399.  
  3400. DXSAMPLEFORMATENUM STDMETHODCALLTYPE IDXARGBReadPtr_GetNativeType_Proxy( 
  3401.     IDXARGBReadPtr __RPC_FAR * This,
  3402.     /* [out] */ DXNATIVETYPEINFO __RPC_FAR *pInfo);
  3403.  
  3404.  
  3405. void __RPC_STUB IDXARGBReadPtr_GetNativeType_Stub(
  3406.     IRpcStubBuffer *This,
  3407.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3408.     PRPC_MESSAGE _pRpcMessage,
  3409.     DWORD *_pdwStubPhase);
  3410.  
  3411.  
  3412. void STDMETHODCALLTYPE IDXARGBReadPtr_Move_Proxy( 
  3413.     IDXARGBReadPtr __RPC_FAR * This,
  3414.     /* [in] */ long cSamples);
  3415.  
  3416.  
  3417. void __RPC_STUB IDXARGBReadPtr_Move_Stub(
  3418.     IRpcStubBuffer *This,
  3419.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3420.     PRPC_MESSAGE _pRpcMessage,
  3421.     DWORD *_pdwStubPhase);
  3422.  
  3423.  
  3424. void STDMETHODCALLTYPE IDXARGBReadPtr_MoveToRow_Proxy( 
  3425.     IDXARGBReadPtr __RPC_FAR * This,
  3426.     /* [in] */ ULONG y);
  3427.  
  3428.  
  3429. void __RPC_STUB IDXARGBReadPtr_MoveToRow_Stub(
  3430.     IRpcStubBuffer *This,
  3431.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3432.     PRPC_MESSAGE _pRpcMessage,
  3433.     DWORD *_pdwStubPhase);
  3434.  
  3435.  
  3436. void STDMETHODCALLTYPE IDXARGBReadPtr_MoveToXY_Proxy( 
  3437.     IDXARGBReadPtr __RPC_FAR * This,
  3438.     /* [in] */ ULONG x,
  3439.     /* [in] */ ULONG y);
  3440.  
  3441.  
  3442. void __RPC_STUB IDXARGBReadPtr_MoveToXY_Stub(
  3443.     IRpcStubBuffer *This,
  3444.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3445.     PRPC_MESSAGE _pRpcMessage,
  3446.     DWORD *_pdwStubPhase);
  3447.  
  3448.  
  3449. ULONG STDMETHODCALLTYPE IDXARGBReadPtr_MoveAndGetRunInfo_Proxy( 
  3450.     IDXARGBReadPtr __RPC_FAR * This,
  3451.     /* [in] */ ULONG Row,
  3452.     /* [out] */ const DXRUNINFO __RPC_FAR *__RPC_FAR *ppInfo);
  3453.  
  3454.  
  3455. void __RPC_STUB IDXARGBReadPtr_MoveAndGetRunInfo_Stub(
  3456.     IRpcStubBuffer *This,
  3457.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3458.     PRPC_MESSAGE _pRpcMessage,
  3459.     DWORD *_pdwStubPhase);
  3460.  
  3461.  
  3462. DXSAMPLE __RPC_FAR *STDMETHODCALLTYPE IDXARGBReadPtr_Unpack_Proxy( 
  3463.     IDXARGBReadPtr __RPC_FAR * This,
  3464.     /* [in] */ DXSAMPLE __RPC_FAR *pSamples,
  3465.     /* [in] */ ULONG cSamples,
  3466.     /* [in] */ BOOL bMove);
  3467.  
  3468.  
  3469. void __RPC_STUB IDXARGBReadPtr_Unpack_Stub(
  3470.     IRpcStubBuffer *This,
  3471.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3472.     PRPC_MESSAGE _pRpcMessage,
  3473.     DWORD *_pdwStubPhase);
  3474.  
  3475.  
  3476. DXPMSAMPLE __RPC_FAR *STDMETHODCALLTYPE IDXARGBReadPtr_UnpackPremult_Proxy( 
  3477.     IDXARGBReadPtr __RPC_FAR * This,
  3478.     /* [in] */ DXPMSAMPLE __RPC_FAR *pSamples,
  3479.     /* [in] */ ULONG cSamples,
  3480.     /* [in] */ BOOL bMove);
  3481.  
  3482.  
  3483. void __RPC_STUB IDXARGBReadPtr_UnpackPremult_Stub(
  3484.     IRpcStubBuffer *This,
  3485.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3486.     PRPC_MESSAGE _pRpcMessage,
  3487.     DWORD *_pdwStubPhase);
  3488.  
  3489.  
  3490. void STDMETHODCALLTYPE IDXARGBReadPtr_UnpackRect_Proxy( 
  3491.     IDXARGBReadPtr __RPC_FAR * This,
  3492.     /* [in] */ const DXPACKEDRECTDESC __RPC_FAR *pRectDesc);
  3493.  
  3494.  
  3495. void __RPC_STUB IDXARGBReadPtr_UnpackRect_Stub(
  3496.     IRpcStubBuffer *This,
  3497.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3498.     PRPC_MESSAGE _pRpcMessage,
  3499.     DWORD *_pdwStubPhase);
  3500.  
  3501.  
  3502.  
  3503. #endif     /* __IDXARGBReadPtr_INTERFACE_DEFINED__ */
  3504.  
  3505.  
  3506. #ifndef __IDXARGBReadWritePtr_INTERFACE_DEFINED__
  3507. #define __IDXARGBReadWritePtr_INTERFACE_DEFINED__
  3508.  
  3509. /* interface IDXARGBReadWritePtr */
  3510. /* [object][local][unique][helpstring][uuid] */ 
  3511.  
  3512.  
  3513. EXTERN_C const IID IID_IDXARGBReadWritePtr;
  3514.  
  3515. #if defined(__cplusplus) && !defined(CINTERFACE)
  3516.     
  3517.     MIDL_INTERFACE("EAAAC2D7-C290-11d1-905D-00C04FD9189D")
  3518.     IDXARGBReadWritePtr : public IDXARGBReadPtr
  3519.     {
  3520.     public:
  3521.         virtual void STDMETHODCALLTYPE PackAndMove( 
  3522.             /* [in] */ const DXSAMPLE __RPC_FAR *pSamples,
  3523.             /* [in] */ ULONG cSamples) = 0;
  3524.         
  3525.         virtual void STDMETHODCALLTYPE PackPremultAndMove( 
  3526.             /* [in] */ const DXPMSAMPLE __RPC_FAR *pSamples,
  3527.             /* [in] */ ULONG cSamples) = 0;
  3528.         
  3529.         virtual void STDMETHODCALLTYPE PackRect( 
  3530.             /* [in] */ const DXPACKEDRECTDESC __RPC_FAR *pRectDesc) = 0;
  3531.         
  3532.         virtual void STDMETHODCALLTYPE CopyAndMoveBoth( 
  3533.             /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  3534.             /* [in] */ IDXARGBReadPtr __RPC_FAR *pSrc,
  3535.             /* [in] */ ULONG cSamples,
  3536.             /* [in] */ BOOL bIsOpaque) = 0;
  3537.         
  3538.         virtual void STDMETHODCALLTYPE CopyRect( 
  3539.             /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  3540.             /* [in] */ const RECT __RPC_FAR *pDestRect,
  3541.             /* [in] */ IDXARGBReadPtr __RPC_FAR *pSrc,
  3542.             /* [in] */ const POINT __RPC_FAR *pSrcOrigin,
  3543.             /* [in] */ BOOL bIsOpaque) = 0;
  3544.         
  3545.         virtual void STDMETHODCALLTYPE FillAndMove( 
  3546.             /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  3547.             /* [in] */ DXPMSAMPLE SampVal,
  3548.             /* [in] */ ULONG cSamples,
  3549.             /* [in] */ BOOL bDoOver) = 0;
  3550.         
  3551.         virtual void STDMETHODCALLTYPE FillRect( 
  3552.             /* [in] */ const RECT __RPC_FAR *pRect,
  3553.             /* [in] */ DXPMSAMPLE SampVal,
  3554.             /* [in] */ BOOL bDoOver) = 0;
  3555.         
  3556.         virtual void STDMETHODCALLTYPE OverSample( 
  3557.             /* [in] */ const DXOVERSAMPLEDESC __RPC_FAR *pOverDesc) = 0;
  3558.         
  3559.         virtual void STDMETHODCALLTYPE OverArrayAndMove( 
  3560.             /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  3561.             /* [in] */ const DXPMSAMPLE __RPC_FAR *pSrc,
  3562.             /* [in] */ ULONG cSamples) = 0;
  3563.         
  3564.     };
  3565.     
  3566. #else     /* C style interface */
  3567.  
  3568.     typedef struct IDXARGBReadWritePtrVtbl
  3569.     {
  3570.         BEGIN_INTERFACE
  3571.         
  3572.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3573.             IDXARGBReadWritePtr __RPC_FAR * This,
  3574.             /* [in] */ REFIID riid,
  3575.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3576.         
  3577.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3578.             IDXARGBReadWritePtr __RPC_FAR * This);
  3579.         
  3580.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3581.             IDXARGBReadWritePtr __RPC_FAR * This);
  3582.         
  3583.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )( 
  3584.             IDXARGBReadWritePtr __RPC_FAR * This,
  3585.             /* [in] */ REFIID riid,
  3586.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppSurface);
  3587.         
  3588.         DXSAMPLEFORMATENUM ( STDMETHODCALLTYPE __RPC_FAR *GetNativeType )( 
  3589.             IDXARGBReadWritePtr __RPC_FAR * This,
  3590.             /* [out] */ DXNATIVETYPEINFO __RPC_FAR *pInfo);
  3591.         
  3592.         void ( STDMETHODCALLTYPE __RPC_FAR *Move )( 
  3593.             IDXARGBReadWritePtr __RPC_FAR * This,
  3594.             /* [in] */ long cSamples);
  3595.         
  3596.         void ( STDMETHODCALLTYPE __RPC_FAR *MoveToRow )( 
  3597.             IDXARGBReadWritePtr __RPC_FAR * This,
  3598.             /* [in] */ ULONG y);
  3599.         
  3600.         void ( STDMETHODCALLTYPE __RPC_FAR *MoveToXY )( 
  3601.             IDXARGBReadWritePtr __RPC_FAR * This,
  3602.             /* [in] */ ULONG x,
  3603.             /* [in] */ ULONG y);
  3604.         
  3605.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *MoveAndGetRunInfo )( 
  3606.             IDXARGBReadWritePtr __RPC_FAR * This,
  3607.             /* [in] */ ULONG Row,
  3608.             /* [out] */ const DXRUNINFO __RPC_FAR *__RPC_FAR *ppInfo);
  3609.         
  3610.         DXSAMPLE __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *Unpack )( 
  3611.             IDXARGBReadWritePtr __RPC_FAR * This,
  3612.             /* [in] */ DXSAMPLE __RPC_FAR *pSamples,
  3613.             /* [in] */ ULONG cSamples,
  3614.             /* [in] */ BOOL bMove);
  3615.         
  3616.         DXPMSAMPLE __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *UnpackPremult )( 
  3617.             IDXARGBReadWritePtr __RPC_FAR * This,
  3618.             /* [in] */ DXPMSAMPLE __RPC_FAR *pSamples,
  3619.             /* [in] */ ULONG cSamples,
  3620.             /* [in] */ BOOL bMove);
  3621.         
  3622.         void ( STDMETHODCALLTYPE __RPC_FAR *UnpackRect )( 
  3623.             IDXARGBReadWritePtr __RPC_FAR * This,
  3624.             /* [in] */ const DXPACKEDRECTDESC __RPC_FAR *pRectDesc);
  3625.         
  3626.         void ( STDMETHODCALLTYPE __RPC_FAR *PackAndMove )( 
  3627.             IDXARGBReadWritePtr __RPC_FAR * This,
  3628.             /* [in] */ const DXSAMPLE __RPC_FAR *pSamples,
  3629.             /* [in] */ ULONG cSamples);
  3630.         
  3631.         void ( STDMETHODCALLTYPE __RPC_FAR *PackPremultAndMove )( 
  3632.             IDXARGBReadWritePtr __RPC_FAR * This,
  3633.             /* [in] */ const DXPMSAMPLE __RPC_FAR *pSamples,
  3634.             /* [in] */ ULONG cSamples);
  3635.         
  3636.         void ( STDMETHODCALLTYPE __RPC_FAR *PackRect )( 
  3637.             IDXARGBReadWritePtr __RPC_FAR * This,
  3638.             /* [in] */ const DXPACKEDRECTDESC __RPC_FAR *pRectDesc);
  3639.         
  3640.         void ( STDMETHODCALLTYPE __RPC_FAR *CopyAndMoveBoth )( 
  3641.             IDXARGBReadWritePtr __RPC_FAR * This,
  3642.             /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  3643.             /* [in] */ IDXARGBReadPtr __RPC_FAR *pSrc,
  3644.             /* [in] */ ULONG cSamples,
  3645.             /* [in] */ BOOL bIsOpaque);
  3646.         
  3647.         void ( STDMETHODCALLTYPE __RPC_FAR *CopyRect )( 
  3648.             IDXARGBReadWritePtr __RPC_FAR * This,
  3649.             /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  3650.             /* [in] */ const RECT __RPC_FAR *pDestRect,
  3651.             /* [in] */ IDXARGBReadPtr __RPC_FAR *pSrc,
  3652.             /* [in] */ const POINT __RPC_FAR *pSrcOrigin,
  3653.             /* [in] */ BOOL bIsOpaque);
  3654.         
  3655.         void ( STDMETHODCALLTYPE __RPC_FAR *FillAndMove )( 
  3656.             IDXARGBReadWritePtr __RPC_FAR * This,
  3657.             /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  3658.             /* [in] */ DXPMSAMPLE SampVal,
  3659.             /* [in] */ ULONG cSamples,
  3660.             /* [in] */ BOOL bDoOver);
  3661.         
  3662.         void ( STDMETHODCALLTYPE __RPC_FAR *FillRect )( 
  3663.             IDXARGBReadWritePtr __RPC_FAR * This,
  3664.             /* [in] */ const RECT __RPC_FAR *pRect,
  3665.             /* [in] */ DXPMSAMPLE SampVal,
  3666.             /* [in] */ BOOL bDoOver);
  3667.         
  3668.         void ( STDMETHODCALLTYPE __RPC_FAR *OverSample )( 
  3669.             IDXARGBReadWritePtr __RPC_FAR * This,
  3670.             /* [in] */ const DXOVERSAMPLEDESC __RPC_FAR *pOverDesc);
  3671.         
  3672.         void ( STDMETHODCALLTYPE __RPC_FAR *OverArrayAndMove )( 
  3673.             IDXARGBReadWritePtr __RPC_FAR * This,
  3674.             /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  3675.             /* [in] */ const DXPMSAMPLE __RPC_FAR *pSrc,
  3676.             /* [in] */ ULONG cSamples);
  3677.         
  3678.         END_INTERFACE
  3679.     } IDXARGBReadWritePtrVtbl;
  3680.  
  3681.     interface IDXARGBReadWritePtr
  3682.     {
  3683.         CONST_VTBL struct IDXARGBReadWritePtrVtbl __RPC_FAR *lpVtbl;
  3684.     };
  3685.  
  3686.     
  3687.  
  3688. #ifdef COBJMACROS
  3689.  
  3690.  
  3691. #define IDXARGBReadWritePtr_QueryInterface(This,riid,ppvObject)    \
  3692.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3693.  
  3694. #define IDXARGBReadWritePtr_AddRef(This)    \
  3695.     (This)->lpVtbl -> AddRef(This)
  3696.  
  3697. #define IDXARGBReadWritePtr_Release(This)    \
  3698.     (This)->lpVtbl -> Release(This)
  3699.  
  3700.  
  3701. #define IDXARGBReadWritePtr_GetSurface(This,riid,ppSurface)    \
  3702.     (This)->lpVtbl -> GetSurface(This,riid,ppSurface)
  3703.  
  3704. #define IDXARGBReadWritePtr_GetNativeType(This,pInfo)    \
  3705.     (This)->lpVtbl -> GetNativeType(This,pInfo)
  3706.  
  3707. #define IDXARGBReadWritePtr_Move(This,cSamples)    \
  3708.     (This)->lpVtbl -> Move(This,cSamples)
  3709.  
  3710. #define IDXARGBReadWritePtr_MoveToRow(This,y)    \
  3711.     (This)->lpVtbl -> MoveToRow(This,y)
  3712.  
  3713. #define IDXARGBReadWritePtr_MoveToXY(This,x,y)    \
  3714.     (This)->lpVtbl -> MoveToXY(This,x,y)
  3715.  
  3716. #define IDXARGBReadWritePtr_MoveAndGetRunInfo(This,Row,ppInfo)    \
  3717.     (This)->lpVtbl -> MoveAndGetRunInfo(This,Row,ppInfo)
  3718.  
  3719. #define IDXARGBReadWritePtr_Unpack(This,pSamples,cSamples,bMove)    \
  3720.     (This)->lpVtbl -> Unpack(This,pSamples,cSamples,bMove)
  3721.  
  3722. #define IDXARGBReadWritePtr_UnpackPremult(This,pSamples,cSamples,bMove)    \
  3723.     (This)->lpVtbl -> UnpackPremult(This,pSamples,cSamples,bMove)
  3724.  
  3725. #define IDXARGBReadWritePtr_UnpackRect(This,pRectDesc)    \
  3726.     (This)->lpVtbl -> UnpackRect(This,pRectDesc)
  3727.  
  3728.  
  3729. #define IDXARGBReadWritePtr_PackAndMove(This,pSamples,cSamples)    \
  3730.     (This)->lpVtbl -> PackAndMove(This,pSamples,cSamples)
  3731.  
  3732. #define IDXARGBReadWritePtr_PackPremultAndMove(This,pSamples,cSamples)    \
  3733.     (This)->lpVtbl -> PackPremultAndMove(This,pSamples,cSamples)
  3734.  
  3735. #define IDXARGBReadWritePtr_PackRect(This,pRectDesc)    \
  3736.     (This)->lpVtbl -> PackRect(This,pRectDesc)
  3737.  
  3738. #define IDXARGBReadWritePtr_CopyAndMoveBoth(This,pScratchBuffer,pSrc,cSamples,bIsOpaque)    \
  3739.     (This)->lpVtbl -> CopyAndMoveBoth(This,pScratchBuffer,pSrc,cSamples,bIsOpaque)
  3740.  
  3741. #define IDXARGBReadWritePtr_CopyRect(This,pScratchBuffer,pDestRect,pSrc,pSrcOrigin,bIsOpaque)    \
  3742.     (This)->lpVtbl -> CopyRect(This,pScratchBuffer,pDestRect,pSrc,pSrcOrigin,bIsOpaque)
  3743.  
  3744. #define IDXARGBReadWritePtr_FillAndMove(This,pScratchBuffer,SampVal,cSamples,bDoOver)    \
  3745.     (This)->lpVtbl -> FillAndMove(This,pScratchBuffer,SampVal,cSamples,bDoOver)
  3746.  
  3747. #define IDXARGBReadWritePtr_FillRect(This,pRect,SampVal,bDoOver)    \
  3748.     (This)->lpVtbl -> FillRect(This,pRect,SampVal,bDoOver)
  3749.  
  3750. #define IDXARGBReadWritePtr_OverSample(This,pOverDesc)    \
  3751.     (This)->lpVtbl -> OverSample(This,pOverDesc)
  3752.  
  3753. #define IDXARGBReadWritePtr_OverArrayAndMove(This,pScratchBuffer,pSrc,cSamples)    \
  3754.     (This)->lpVtbl -> OverArrayAndMove(This,pScratchBuffer,pSrc,cSamples)
  3755.  
  3756. #endif /* COBJMACROS */
  3757.  
  3758.  
  3759. #endif     /* C style interface */
  3760.  
  3761.  
  3762.  
  3763. void STDMETHODCALLTYPE IDXARGBReadWritePtr_PackAndMove_Proxy( 
  3764.     IDXARGBReadWritePtr __RPC_FAR * This,
  3765.     /* [in] */ const DXSAMPLE __RPC_FAR *pSamples,
  3766.     /* [in] */ ULONG cSamples);
  3767.  
  3768.  
  3769. void __RPC_STUB IDXARGBReadWritePtr_PackAndMove_Stub(
  3770.     IRpcStubBuffer *This,
  3771.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3772.     PRPC_MESSAGE _pRpcMessage,
  3773.     DWORD *_pdwStubPhase);
  3774.  
  3775.  
  3776. void STDMETHODCALLTYPE IDXARGBReadWritePtr_PackPremultAndMove_Proxy( 
  3777.     IDXARGBReadWritePtr __RPC_FAR * This,
  3778.     /* [in] */ const DXPMSAMPLE __RPC_FAR *pSamples,
  3779.     /* [in] */ ULONG cSamples);
  3780.  
  3781.  
  3782. void __RPC_STUB IDXARGBReadWritePtr_PackPremultAndMove_Stub(
  3783.     IRpcStubBuffer *This,
  3784.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3785.     PRPC_MESSAGE _pRpcMessage,
  3786.     DWORD *_pdwStubPhase);
  3787.  
  3788.  
  3789. void STDMETHODCALLTYPE IDXARGBReadWritePtr_PackRect_Proxy( 
  3790.     IDXARGBReadWritePtr __RPC_FAR * This,
  3791.     /* [in] */ const DXPACKEDRECTDESC __RPC_FAR *pRectDesc);
  3792.  
  3793.  
  3794. void __RPC_STUB IDXARGBReadWritePtr_PackRect_Stub(
  3795.     IRpcStubBuffer *This,
  3796.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3797.     PRPC_MESSAGE _pRpcMessage,
  3798.     DWORD *_pdwStubPhase);
  3799.  
  3800.  
  3801. void STDMETHODCALLTYPE IDXARGBReadWritePtr_CopyAndMoveBoth_Proxy( 
  3802.     IDXARGBReadWritePtr __RPC_FAR * This,
  3803.     /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  3804.     /* [in] */ IDXARGBReadPtr __RPC_FAR *pSrc,
  3805.     /* [in] */ ULONG cSamples,
  3806.     /* [in] */ BOOL bIsOpaque);
  3807.  
  3808.  
  3809. void __RPC_STUB IDXARGBReadWritePtr_CopyAndMoveBoth_Stub(
  3810.     IRpcStubBuffer *This,
  3811.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3812.     PRPC_MESSAGE _pRpcMessage,
  3813.     DWORD *_pdwStubPhase);
  3814.  
  3815.  
  3816. void STDMETHODCALLTYPE IDXARGBReadWritePtr_CopyRect_Proxy( 
  3817.     IDXARGBReadWritePtr __RPC_FAR * This,
  3818.     /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  3819.     /* [in] */ const RECT __RPC_FAR *pDestRect,
  3820.     /* [in] */ IDXARGBReadPtr __RPC_FAR *pSrc,
  3821.     /* [in] */ const POINT __RPC_FAR *pSrcOrigin,
  3822.     /* [in] */ BOOL bIsOpaque);
  3823.  
  3824.  
  3825. void __RPC_STUB IDXARGBReadWritePtr_CopyRect_Stub(
  3826.     IRpcStubBuffer *This,
  3827.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3828.     PRPC_MESSAGE _pRpcMessage,
  3829.     DWORD *_pdwStubPhase);
  3830.  
  3831.  
  3832. void STDMETHODCALLTYPE IDXARGBReadWritePtr_FillAndMove_Proxy( 
  3833.     IDXARGBReadWritePtr __RPC_FAR * This,
  3834.     /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  3835.     /* [in] */ DXPMSAMPLE SampVal,
  3836.     /* [in] */ ULONG cSamples,
  3837.     /* [in] */ BOOL bDoOver);
  3838.  
  3839.  
  3840. void __RPC_STUB IDXARGBReadWritePtr_FillAndMove_Stub(
  3841.     IRpcStubBuffer *This,
  3842.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3843.     PRPC_MESSAGE _pRpcMessage,
  3844.     DWORD *_pdwStubPhase);
  3845.  
  3846.  
  3847. void STDMETHODCALLTYPE IDXARGBReadWritePtr_FillRect_Proxy( 
  3848.     IDXARGBReadWritePtr __RPC_FAR * This,
  3849.     /* [in] */ const RECT __RPC_FAR *pRect,
  3850.     /* [in] */ DXPMSAMPLE SampVal,
  3851.     /* [in] */ BOOL bDoOver);
  3852.  
  3853.  
  3854. void __RPC_STUB IDXARGBReadWritePtr_FillRect_Stub(
  3855.     IRpcStubBuffer *This,
  3856.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3857.     PRPC_MESSAGE _pRpcMessage,
  3858.     DWORD *_pdwStubPhase);
  3859.  
  3860.  
  3861. void STDMETHODCALLTYPE IDXARGBReadWritePtr_OverSample_Proxy( 
  3862.     IDXARGBReadWritePtr __RPC_FAR * This,
  3863.     /* [in] */ const DXOVERSAMPLEDESC __RPC_FAR *pOverDesc);
  3864.  
  3865.  
  3866. void __RPC_STUB IDXARGBReadWritePtr_OverSample_Stub(
  3867.     IRpcStubBuffer *This,
  3868.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3869.     PRPC_MESSAGE _pRpcMessage,
  3870.     DWORD *_pdwStubPhase);
  3871.  
  3872.  
  3873. void STDMETHODCALLTYPE IDXARGBReadWritePtr_OverArrayAndMove_Proxy( 
  3874.     IDXARGBReadWritePtr __RPC_FAR * This,
  3875.     /* [in] */ DXBASESAMPLE __RPC_FAR *pScratchBuffer,
  3876.     /* [in] */ const DXPMSAMPLE __RPC_FAR *pSrc,
  3877.     /* [in] */ ULONG cSamples);
  3878.  
  3879.  
  3880. void __RPC_STUB IDXARGBReadWritePtr_OverArrayAndMove_Stub(
  3881.     IRpcStubBuffer *This,
  3882.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3883.     PRPC_MESSAGE _pRpcMessage,
  3884.     DWORD *_pdwStubPhase);
  3885.  
  3886.  
  3887.  
  3888. #endif     /* __IDXARGBReadWritePtr_INTERFACE_DEFINED__ */
  3889.  
  3890.  
  3891. #ifndef __IDXDCLock_INTERFACE_DEFINED__
  3892. #define __IDXDCLock_INTERFACE_DEFINED__
  3893.  
  3894. /* interface IDXDCLock */
  3895. /* [object][local][unique][helpstring][uuid] */ 
  3896.  
  3897.  
  3898. EXTERN_C const IID IID_IDXDCLock;
  3899.  
  3900. #if defined(__cplusplus) && !defined(CINTERFACE)
  3901.     
  3902.     MIDL_INTERFACE("0F619456-CF39-11d1-905E-00C04FD9189D")
  3903.     IDXDCLock : public IUnknown
  3904.     {
  3905.     public:
  3906.         virtual HDC STDMETHODCALLTYPE GetDC( void) = 0;
  3907.         
  3908.     };
  3909.     
  3910. #else     /* C style interface */
  3911.  
  3912.     typedef struct IDXDCLockVtbl
  3913.     {
  3914.         BEGIN_INTERFACE
  3915.         
  3916.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3917.             IDXDCLock __RPC_FAR * This,
  3918.             /* [in] */ REFIID riid,
  3919.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3920.         
  3921.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3922.             IDXDCLock __RPC_FAR * This);
  3923.         
  3924.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3925.             IDXDCLock __RPC_FAR * This);
  3926.         
  3927.         HDC ( STDMETHODCALLTYPE __RPC_FAR *GetDC )( 
  3928.             IDXDCLock __RPC_FAR * This);
  3929.         
  3930.         END_INTERFACE
  3931.     } IDXDCLockVtbl;
  3932.  
  3933.     interface IDXDCLock
  3934.     {
  3935.         CONST_VTBL struct IDXDCLockVtbl __RPC_FAR *lpVtbl;
  3936.     };
  3937.  
  3938.     
  3939.  
  3940. #ifdef COBJMACROS
  3941.  
  3942.  
  3943. #define IDXDCLock_QueryInterface(This,riid,ppvObject)    \
  3944.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3945.  
  3946. #define IDXDCLock_AddRef(This)    \
  3947.     (This)->lpVtbl -> AddRef(This)
  3948.  
  3949. #define IDXDCLock_Release(This)    \
  3950.     (This)->lpVtbl -> Release(This)
  3951.  
  3952.  
  3953. #define IDXDCLock_GetDC(This)    \
  3954.     (This)->lpVtbl -> GetDC(This)
  3955.  
  3956. #endif /* COBJMACROS */
  3957.  
  3958.  
  3959. #endif     /* C style interface */
  3960.  
  3961.  
  3962.  
  3963. HDC STDMETHODCALLTYPE IDXDCLock_GetDC_Proxy( 
  3964.     IDXDCLock __RPC_FAR * This);
  3965.  
  3966.  
  3967. void __RPC_STUB IDXDCLock_GetDC_Stub(
  3968.     IRpcStubBuffer *This,
  3969.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3970.     PRPC_MESSAGE _pRpcMessage,
  3971.     DWORD *_pdwStubPhase);
  3972.  
  3973.  
  3974.  
  3975. #endif     /* __IDXDCLock_INTERFACE_DEFINED__ */
  3976.  
  3977.  
  3978. #ifndef __IDXTScaleOutput_INTERFACE_DEFINED__
  3979. #define __IDXTScaleOutput_INTERFACE_DEFINED__
  3980.  
  3981. /* interface IDXTScaleOutput */
  3982. /* [object][unique][helpstring][uuid] */ 
  3983.  
  3984.  
  3985. EXTERN_C const IID IID_IDXTScaleOutput;
  3986.  
  3987. #if defined(__cplusplus) && !defined(CINTERFACE)
  3988.     
  3989.     MIDL_INTERFACE("B2024B50-EE77-11d1-9066-00C04FD9189D")
  3990.     IDXTScaleOutput : public IUnknown
  3991.     {
  3992.     public:
  3993.         virtual HRESULT STDMETHODCALLTYPE SetOutputSize( 
  3994.             /* [in] */ const SIZE OutSize,
  3995.             /* [in] */ BOOL bMaintainAspect) = 0;
  3996.         
  3997.     };
  3998.     
  3999. #else     /* C style interface */
  4000.  
  4001.     typedef struct IDXTScaleOutputVtbl
  4002.     {
  4003.         BEGIN_INTERFACE
  4004.         
  4005.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4006.             IDXTScaleOutput __RPC_FAR * This,
  4007.             /* [in] */ REFIID riid,
  4008.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4009.         
  4010.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4011.             IDXTScaleOutput __RPC_FAR * This);
  4012.         
  4013.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4014.             IDXTScaleOutput __RPC_FAR * This);
  4015.         
  4016.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOutputSize )( 
  4017.             IDXTScaleOutput __RPC_FAR * This,
  4018.             /* [in] */ const SIZE OutSize,
  4019.             /* [in] */ BOOL bMaintainAspect);
  4020.         
  4021.         END_INTERFACE
  4022.     } IDXTScaleOutputVtbl;
  4023.  
  4024.     interface IDXTScaleOutput
  4025.     {
  4026.         CONST_VTBL struct IDXTScaleOutputVtbl __RPC_FAR *lpVtbl;
  4027.     };
  4028.  
  4029.     
  4030.  
  4031. #ifdef COBJMACROS
  4032.  
  4033.  
  4034. #define IDXTScaleOutput_QueryInterface(This,riid,ppvObject)    \
  4035.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4036.  
  4037. #define IDXTScaleOutput_AddRef(This)    \
  4038.     (This)->lpVtbl -> AddRef(This)
  4039.  
  4040. #define IDXTScaleOutput_Release(This)    \
  4041.     (This)->lpVtbl -> Release(This)
  4042.  
  4043.  
  4044. #define IDXTScaleOutput_SetOutputSize(This,OutSize,bMaintainAspect)    \
  4045.     (This)->lpVtbl -> SetOutputSize(This,OutSize,bMaintainAspect)
  4046.  
  4047. #endif /* COBJMACROS */
  4048.  
  4049.  
  4050. #endif     /* C style interface */
  4051.  
  4052.  
  4053.  
  4054. HRESULT STDMETHODCALLTYPE IDXTScaleOutput_SetOutputSize_Proxy( 
  4055.     IDXTScaleOutput __RPC_FAR * This,
  4056.     /* [in] */ const SIZE OutSize,
  4057.     /* [in] */ BOOL bMaintainAspect);
  4058.  
  4059.  
  4060. void __RPC_STUB IDXTScaleOutput_SetOutputSize_Stub(
  4061.     IRpcStubBuffer *This,
  4062.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4063.     PRPC_MESSAGE _pRpcMessage,
  4064.     DWORD *_pdwStubPhase);
  4065.  
  4066.  
  4067.  
  4068. #endif     /* __IDXTScaleOutput_INTERFACE_DEFINED__ */
  4069.  
  4070.  
  4071. #ifndef __IDXGradient_INTERFACE_DEFINED__
  4072. #define __IDXGradient_INTERFACE_DEFINED__
  4073.  
  4074. /* interface IDXGradient */
  4075. /* [object][unique][helpstring][uuid] */ 
  4076.  
  4077.  
  4078. EXTERN_C const IID IID_IDXGradient;
  4079.  
  4080. #if defined(__cplusplus) && !defined(CINTERFACE)
  4081.     
  4082.     MIDL_INTERFACE("B2024B51-EE77-11d1-9066-00C04FD9189D")
  4083.     IDXGradient : public IDXTScaleOutput
  4084.     {
  4085.     public:
  4086.         virtual HRESULT STDMETHODCALLTYPE SetGradient( 
  4087.             DXSAMPLE StartColor,
  4088.             DXSAMPLE EndColor,
  4089.             BOOL bHorizontal) = 0;
  4090.         
  4091.         virtual HRESULT STDMETHODCALLTYPE GetOutputSize( 
  4092.             /* [out] */ SIZE __RPC_FAR *pOutSize) = 0;
  4093.         
  4094.     };
  4095.     
  4096. #else     /* C style interface */
  4097.  
  4098.     typedef struct IDXGradientVtbl
  4099.     {
  4100.         BEGIN_INTERFACE
  4101.         
  4102.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4103.             IDXGradient __RPC_FAR * This,
  4104.             /* [in] */ REFIID riid,
  4105.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4106.         
  4107.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4108.             IDXGradient __RPC_FAR * This);
  4109.         
  4110.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4111.             IDXGradient __RPC_FAR * This);
  4112.         
  4113.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOutputSize )( 
  4114.             IDXGradient __RPC_FAR * This,
  4115.             /* [in] */ const SIZE OutSize,
  4116.             /* [in] */ BOOL bMaintainAspect);
  4117.         
  4118.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetGradient )( 
  4119.             IDXGradient __RPC_FAR * This,
  4120.             DXSAMPLE StartColor,
  4121.             DXSAMPLE EndColor,
  4122.             BOOL bHorizontal);
  4123.         
  4124.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOutputSize )( 
  4125.             IDXGradient __RPC_FAR * This,
  4126.             /* [out] */ SIZE __RPC_FAR *pOutSize);
  4127.         
  4128.         END_INTERFACE
  4129.     } IDXGradientVtbl;
  4130.  
  4131.     interface IDXGradient
  4132.     {
  4133.         CONST_VTBL struct IDXGradientVtbl __RPC_FAR *lpVtbl;
  4134.     };
  4135.  
  4136.     
  4137.  
  4138. #ifdef COBJMACROS
  4139.  
  4140.  
  4141. #define IDXGradient_QueryInterface(This,riid,ppvObject)    \
  4142.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4143.  
  4144. #define IDXGradient_AddRef(This)    \
  4145.     (This)->lpVtbl -> AddRef(This)
  4146.  
  4147. #define IDXGradient_Release(This)    \
  4148.     (This)->lpVtbl -> Release(This)
  4149.  
  4150.  
  4151. #define IDXGradient_SetOutputSize(This,OutSize,bMaintainAspect)    \
  4152.     (This)->lpVtbl -> SetOutputSize(This,OutSize,bMaintainAspect)
  4153.  
  4154.  
  4155. #define IDXGradient_SetGradient(This,StartColor,EndColor,bHorizontal)    \
  4156.     (This)->lpVtbl -> SetGradient(This,StartColor,EndColor,bHorizontal)
  4157.  
  4158. #define IDXGradient_GetOutputSize(This,pOutSize)    \
  4159.     (This)->lpVtbl -> GetOutputSize(This,pOutSize)
  4160.  
  4161. #endif /* COBJMACROS */
  4162.  
  4163.  
  4164. #endif     /* C style interface */
  4165.  
  4166.  
  4167.  
  4168. HRESULT STDMETHODCALLTYPE IDXGradient_SetGradient_Proxy( 
  4169.     IDXGradient __RPC_FAR * This,
  4170.     DXSAMPLE StartColor,
  4171.     DXSAMPLE EndColor,
  4172.     BOOL bHorizontal);
  4173.  
  4174.  
  4175. void __RPC_STUB IDXGradient_SetGradient_Stub(
  4176.     IRpcStubBuffer *This,
  4177.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4178.     PRPC_MESSAGE _pRpcMessage,
  4179.     DWORD *_pdwStubPhase);
  4180.  
  4181.  
  4182. HRESULT STDMETHODCALLTYPE IDXGradient_GetOutputSize_Proxy( 
  4183.     IDXGradient __RPC_FAR * This,
  4184.     /* [out] */ SIZE __RPC_FAR *pOutSize);
  4185.  
  4186.  
  4187. void __RPC_STUB IDXGradient_GetOutputSize_Stub(
  4188.     IRpcStubBuffer *This,
  4189.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4190.     PRPC_MESSAGE _pRpcMessage,
  4191.     DWORD *_pdwStubPhase);
  4192.  
  4193.  
  4194.  
  4195. #endif     /* __IDXGradient_INTERFACE_DEFINED__ */
  4196.  
  4197.  
  4198. #ifndef __IDXGradient2_INTERFACE_DEFINED__
  4199. #define __IDXGradient2_INTERFACE_DEFINED__
  4200.  
  4201. /* interface IDXGradient2 */
  4202. /* [object][unique][helpstring][uuid] */ 
  4203.  
  4204.  
  4205. EXTERN_C const IID IID_IDXGradient2;
  4206.  
  4207. #if defined(__cplusplus) && !defined(CINTERFACE)
  4208.     
  4209.     MIDL_INTERFACE("d0ef2a80-61dc-11d2-b2eb-00a0c936b212")
  4210.     IDXGradient2 : public IDXGradient
  4211.     {
  4212.     public:
  4213.         virtual HRESULT STDMETHODCALLTYPE SetRadialGradient( 
  4214.             /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  4215.             /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  4216.             /* [in] */ ULONG ulCount,
  4217.             /* [in] */ double dblOpacity,
  4218.             /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  4219.             /* [in] */ DWORD dwFlags) = 0;
  4220.         
  4221.         virtual HRESULT STDMETHODCALLTYPE SetLinearGradient( 
  4222.             /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  4223.             /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  4224.             /* [in] */ ULONG ulCount,
  4225.             /* [in] */ double dblOpacity,
  4226.             /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  4227.             /* [in] */ DWORD dwFlags) = 0;
  4228.         
  4229.     };
  4230.     
  4231. #else     /* C style interface */
  4232.  
  4233.     typedef struct IDXGradient2Vtbl
  4234.     {
  4235.         BEGIN_INTERFACE
  4236.         
  4237.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4238.             IDXGradient2 __RPC_FAR * This,
  4239.             /* [in] */ REFIID riid,
  4240.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4241.         
  4242.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4243.             IDXGradient2 __RPC_FAR * This);
  4244.         
  4245.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4246.             IDXGradient2 __RPC_FAR * This);
  4247.         
  4248.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOutputSize )( 
  4249.             IDXGradient2 __RPC_FAR * This,
  4250.             /* [in] */ const SIZE OutSize,
  4251.             /* [in] */ BOOL bMaintainAspect);
  4252.         
  4253.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetGradient )( 
  4254.             IDXGradient2 __RPC_FAR * This,
  4255.             DXSAMPLE StartColor,
  4256.             DXSAMPLE EndColor,
  4257.             BOOL bHorizontal);
  4258.         
  4259.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOutputSize )( 
  4260.             IDXGradient2 __RPC_FAR * This,
  4261.             /* [out] */ SIZE __RPC_FAR *pOutSize);
  4262.         
  4263.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetRadialGradient )( 
  4264.             IDXGradient2 __RPC_FAR * This,
  4265.             /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  4266.             /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  4267.             /* [in] */ ULONG ulCount,
  4268.             /* [in] */ double dblOpacity,
  4269.             /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  4270.             /* [in] */ DWORD dwFlags);
  4271.         
  4272.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLinearGradient )( 
  4273.             IDXGradient2 __RPC_FAR * This,
  4274.             /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  4275.             /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  4276.             /* [in] */ ULONG ulCount,
  4277.             /* [in] */ double dblOpacity,
  4278.             /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  4279.             /* [in] */ DWORD dwFlags);
  4280.         
  4281.         END_INTERFACE
  4282.     } IDXGradient2Vtbl;
  4283.  
  4284.     interface IDXGradient2
  4285.     {
  4286.         CONST_VTBL struct IDXGradient2Vtbl __RPC_FAR *lpVtbl;
  4287.     };
  4288.  
  4289.     
  4290.  
  4291. #ifdef COBJMACROS
  4292.  
  4293.  
  4294. #define IDXGradient2_QueryInterface(This,riid,ppvObject)    \
  4295.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4296.  
  4297. #define IDXGradient2_AddRef(This)    \
  4298.     (This)->lpVtbl -> AddRef(This)
  4299.  
  4300. #define IDXGradient2_Release(This)    \
  4301.     (This)->lpVtbl -> Release(This)
  4302.  
  4303.  
  4304. #define IDXGradient2_SetOutputSize(This,OutSize,bMaintainAspect)    \
  4305.     (This)->lpVtbl -> SetOutputSize(This,OutSize,bMaintainAspect)
  4306.  
  4307.  
  4308. #define IDXGradient2_SetGradient(This,StartColor,EndColor,bHorizontal)    \
  4309.     (This)->lpVtbl -> SetGradient(This,StartColor,EndColor,bHorizontal)
  4310.  
  4311. #define IDXGradient2_GetOutputSize(This,pOutSize)    \
  4312.     (This)->lpVtbl -> GetOutputSize(This,pOutSize)
  4313.  
  4314.  
  4315. #define IDXGradient2_SetRadialGradient(This,rgdblOffsets,rgdblColors,ulCount,dblOpacity,pXform,dwFlags)    \
  4316.     (This)->lpVtbl -> SetRadialGradient(This,rgdblOffsets,rgdblColors,ulCount,dblOpacity,pXform,dwFlags)
  4317.  
  4318. #define IDXGradient2_SetLinearGradient(This,rgdblOffsets,rgdblColors,ulCount,dblOpacity,pXform,dwFlags)    \
  4319.     (This)->lpVtbl -> SetLinearGradient(This,rgdblOffsets,rgdblColors,ulCount,dblOpacity,pXform,dwFlags)
  4320.  
  4321. #endif /* COBJMACROS */
  4322.  
  4323.  
  4324. #endif     /* C style interface */
  4325.  
  4326.  
  4327.  
  4328. HRESULT STDMETHODCALLTYPE IDXGradient2_SetRadialGradient_Proxy( 
  4329.     IDXGradient2 __RPC_FAR * This,
  4330.     /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  4331.     /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  4332.     /* [in] */ ULONG ulCount,
  4333.     /* [in] */ double dblOpacity,
  4334.     /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  4335.     /* [in] */ DWORD dwFlags);
  4336.  
  4337.  
  4338. void __RPC_STUB IDXGradient2_SetRadialGradient_Stub(
  4339.     IRpcStubBuffer *This,
  4340.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4341.     PRPC_MESSAGE _pRpcMessage,
  4342.     DWORD *_pdwStubPhase);
  4343.  
  4344.  
  4345. HRESULT STDMETHODCALLTYPE IDXGradient2_SetLinearGradient_Proxy( 
  4346.     IDXGradient2 __RPC_FAR * This,
  4347.     /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  4348.     /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  4349.     /* [in] */ ULONG ulCount,
  4350.     /* [in] */ double dblOpacity,
  4351.     /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  4352.     /* [in] */ DWORD dwFlags);
  4353.  
  4354.  
  4355. void __RPC_STUB IDXGradient2_SetLinearGradient_Stub(
  4356.     IRpcStubBuffer *This,
  4357.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4358.     PRPC_MESSAGE _pRpcMessage,
  4359.     DWORD *_pdwStubPhase);
  4360.  
  4361.  
  4362.  
  4363. #endif     /* __IDXGradient2_INTERFACE_DEFINED__ */
  4364.  
  4365.  
  4366. #ifndef __IDXTScale_INTERFACE_DEFINED__
  4367. #define __IDXTScale_INTERFACE_DEFINED__
  4368.  
  4369. /* interface IDXTScale */
  4370. /* [object][unique][helpstring][uuid] */ 
  4371.  
  4372.  
  4373. EXTERN_C const IID IID_IDXTScale;
  4374.  
  4375. #if defined(__cplusplus) && !defined(CINTERFACE)
  4376.     
  4377.     MIDL_INTERFACE("B39FD742-E139-11d1-9065-00C04FD9189D")
  4378.     IDXTScale : public IUnknown
  4379.     {
  4380.     public:
  4381.         virtual HRESULT STDMETHODCALLTYPE SetScales( 
  4382.             /* [in] */ float __RPC_FAR Scales[ 2 ]) = 0;
  4383.         
  4384.         virtual HRESULT STDMETHODCALLTYPE GetScales( 
  4385.             /* [out] */ float __RPC_FAR Scales[ 2 ]) = 0;
  4386.         
  4387.         virtual HRESULT STDMETHODCALLTYPE ScaleFitToSize( 
  4388.             /* [out][in] */ DXBNDS __RPC_FAR *pClipBounds,
  4389.             /* [in] */ SIZE FitToSize,
  4390.             /* [in] */ BOOL bMaintainAspect) = 0;
  4391.         
  4392.     };
  4393.     
  4394. #else     /* C style interface */
  4395.  
  4396.     typedef struct IDXTScaleVtbl
  4397.     {
  4398.         BEGIN_INTERFACE
  4399.         
  4400.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4401.             IDXTScale __RPC_FAR * This,
  4402.             /* [in] */ REFIID riid,
  4403.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4404.         
  4405.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4406.             IDXTScale __RPC_FAR * This);
  4407.         
  4408.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4409.             IDXTScale __RPC_FAR * This);
  4410.         
  4411.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetScales )( 
  4412.             IDXTScale __RPC_FAR * This,
  4413.             /* [in] */ float __RPC_FAR Scales[ 2 ]);
  4414.         
  4415.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetScales )( 
  4416.             IDXTScale __RPC_FAR * This,
  4417.             /* [out] */ float __RPC_FAR Scales[ 2 ]);
  4418.         
  4419.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScaleFitToSize )( 
  4420.             IDXTScale __RPC_FAR * This,
  4421.             /* [out][in] */ DXBNDS __RPC_FAR *pClipBounds,
  4422.             /* [in] */ SIZE FitToSize,
  4423.             /* [in] */ BOOL bMaintainAspect);
  4424.         
  4425.         END_INTERFACE
  4426.     } IDXTScaleVtbl;
  4427.  
  4428.     interface IDXTScale
  4429.     {
  4430.         CONST_VTBL struct IDXTScaleVtbl __RPC_FAR *lpVtbl;
  4431.     };
  4432.  
  4433.     
  4434.  
  4435. #ifdef COBJMACROS
  4436.  
  4437.  
  4438. #define IDXTScale_QueryInterface(This,riid,ppvObject)    \
  4439.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4440.  
  4441. #define IDXTScale_AddRef(This)    \
  4442.     (This)->lpVtbl -> AddRef(This)
  4443.  
  4444. #define IDXTScale_Release(This)    \
  4445.     (This)->lpVtbl -> Release(This)
  4446.  
  4447.  
  4448. #define IDXTScale_SetScales(This,Scales)    \
  4449.     (This)->lpVtbl -> SetScales(This,Scales)
  4450.  
  4451. #define IDXTScale_GetScales(This,Scales)    \
  4452.     (This)->lpVtbl -> GetScales(This,Scales)
  4453.  
  4454. #define IDXTScale_ScaleFitToSize(This,pClipBounds,FitToSize,bMaintainAspect)    \
  4455.     (This)->lpVtbl -> ScaleFitToSize(This,pClipBounds,FitToSize,bMaintainAspect)
  4456.  
  4457. #endif /* COBJMACROS */
  4458.  
  4459.  
  4460. #endif     /* C style interface */
  4461.  
  4462.  
  4463.  
  4464. HRESULT STDMETHODCALLTYPE IDXTScale_SetScales_Proxy( 
  4465.     IDXTScale __RPC_FAR * This,
  4466.     /* [in] */ float __RPC_FAR Scales[ 2 ]);
  4467.  
  4468.  
  4469. void __RPC_STUB IDXTScale_SetScales_Stub(
  4470.     IRpcStubBuffer *This,
  4471.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4472.     PRPC_MESSAGE _pRpcMessage,
  4473.     DWORD *_pdwStubPhase);
  4474.  
  4475.  
  4476. HRESULT STDMETHODCALLTYPE IDXTScale_GetScales_Proxy( 
  4477.     IDXTScale __RPC_FAR * This,
  4478.     /* [out] */ float __RPC_FAR Scales[ 2 ]);
  4479.  
  4480.  
  4481. void __RPC_STUB IDXTScale_GetScales_Stub(
  4482.     IRpcStubBuffer *This,
  4483.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4484.     PRPC_MESSAGE _pRpcMessage,
  4485.     DWORD *_pdwStubPhase);
  4486.  
  4487.  
  4488. HRESULT STDMETHODCALLTYPE IDXTScale_ScaleFitToSize_Proxy( 
  4489.     IDXTScale __RPC_FAR * This,
  4490.     /* [out][in] */ DXBNDS __RPC_FAR *pClipBounds,
  4491.     /* [in] */ SIZE FitToSize,
  4492.     /* [in] */ BOOL bMaintainAspect);
  4493.  
  4494.  
  4495. void __RPC_STUB IDXTScale_ScaleFitToSize_Stub(
  4496.     IRpcStubBuffer *This,
  4497.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4498.     PRPC_MESSAGE _pRpcMessage,
  4499.     DWORD *_pdwStubPhase);
  4500.  
  4501.  
  4502.  
  4503. #endif     /* __IDXTScale_INTERFACE_DEFINED__ */
  4504.  
  4505.  
  4506. /* interface __MIDL_itf_dxtrans_0268 */
  4507. /* [local] */ 
  4508.  
  4509. typedef 
  4510. enum DXLOGFONTENUM
  4511.     {    DXLF_HEIGHT    = 1,
  4512.     DXLF_WIDTH    = 2,
  4513.     DXLF_ESC    = 4,
  4514.     DXLF_ORIENTATION    = 8,
  4515.     DXLF_WEIGHT    = 16,
  4516.     DXLF_ITALIC    = 32,
  4517.     DXLF_UNDERLINE    = 64,
  4518.     DXLF_STRIKEOUT    = 128,
  4519.     DXLF_CHARSET    = 256,
  4520.     DXLF_OUTPREC    = 512,
  4521.     DXLF_CLIPPREC    = 1024,
  4522.     DXLF_QUALITY    = 2048,
  4523.     DXLF_PITCHANDFAM    = 4096,
  4524.     DXLF_FACENAME    = 8192,
  4525.     DXLF_ALL    = 0x3fff
  4526.     }    DXLOGFONTENUM;
  4527.  
  4528. #ifndef _WINGDI_
  4529. typedef struct tagLOGFONTA
  4530.     {
  4531.     LONG lfHeight;
  4532.     LONG lfWidth;
  4533.     LONG lfEscapement;
  4534.     LONG lfOrientation;
  4535.     LONG lfWeight;
  4536.     BYTE lfItalic;
  4537.     BYTE lfUnderline;
  4538.     BYTE lfStrikeOut;
  4539.     BYTE lfCharSet;
  4540.     BYTE lfOutPrecision;
  4541.     BYTE lfClipPrecision;
  4542.     BYTE lfQuality;
  4543.     BYTE lfPitchAndFamily;
  4544.     CHAR lfFaceName[ 32 ];
  4545.     }    LOGFONTA;
  4546.  
  4547. typedef struct tagLOGFONTW
  4548.     {
  4549.     LONG lfHeight;
  4550.     LONG lfWidth;
  4551.     LONG lfEscapement;
  4552.     LONG lfOrientation;
  4553.     LONG lfWeight;
  4554.     BYTE lfItalic;
  4555.     BYTE lfUnderline;
  4556.     BYTE lfStrikeOut;
  4557.     BYTE lfCharSet;
  4558.     BYTE lfOutPrecision;
  4559.     BYTE lfClipPrecision;
  4560.     BYTE lfQuality;
  4561.     BYTE lfPitchAndFamily;
  4562.     WCHAR lfFaceName[ 32 ];
  4563.     }    LOGFONTW;
  4564.  
  4565. typedef LOGFONTA LOGFONT;
  4566.  
  4567. #endif
  4568.  
  4569.  
  4570. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0268_v0_0_c_ifspec;
  4571. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0268_v0_0_s_ifspec;
  4572.  
  4573. #ifndef __IDXTLabel_INTERFACE_DEFINED__
  4574. #define __IDXTLabel_INTERFACE_DEFINED__
  4575.  
  4576. /* interface IDXTLabel */
  4577. /* [object][unique][helpstring][uuid] */ 
  4578.  
  4579.  
  4580. EXTERN_C const IID IID_IDXTLabel;
  4581.  
  4582. #if defined(__cplusplus) && !defined(CINTERFACE)
  4583.     
  4584.     MIDL_INTERFACE("C0C17F0E-AE41-11d1-9A3B-0000F8756A10")
  4585.     IDXTLabel : public IUnknown
  4586.     {
  4587.     public:
  4588.         virtual HRESULT STDMETHODCALLTYPE SetFontHandle( 
  4589.             /* [in] */ HFONT hFont) = 0;
  4590.         
  4591.         virtual HRESULT STDMETHODCALLTYPE GetFontHandle( 
  4592.             /* [out] */ HFONT __RPC_FAR *phFont) = 0;
  4593.         
  4594.         virtual HRESULT STDMETHODCALLTYPE SetTextString( 
  4595.             /* [in] */ LPCWSTR pString) = 0;
  4596.         
  4597.         virtual HRESULT STDMETHODCALLTYPE GetTextString( 
  4598.             /* [out] */ LPWSTR __RPC_FAR *ppString) = 0;
  4599.         
  4600.         virtual HRESULT STDMETHODCALLTYPE GetFillColor( 
  4601.             /* [out] */ DXSAMPLE __RPC_FAR *pVal) = 0;
  4602.         
  4603.         virtual HRESULT STDMETHODCALLTYPE SetFillColor( 
  4604.             /* [in] */ DXSAMPLE newVal) = 0;
  4605.         
  4606.         virtual HRESULT STDMETHODCALLTYPE GetBackgroundColor( 
  4607.             /* [out] */ DXSAMPLE __RPC_FAR *pVal) = 0;
  4608.         
  4609.         virtual HRESULT STDMETHODCALLTYPE SetBackgroundColor( 
  4610.             /* [in] */ DXSAMPLE newVal) = 0;
  4611.         
  4612.         virtual HRESULT STDMETHODCALLTYPE GetTexturePosition( 
  4613.             /* [out] */ long __RPC_FAR *px,
  4614.             /* [out] */ long __RPC_FAR *py) = 0;
  4615.         
  4616.         virtual HRESULT STDMETHODCALLTYPE SetTexturePosition( 
  4617.             /* [in] */ long x,
  4618.             /* [in] */ long y) = 0;
  4619.         
  4620.         virtual HRESULT STDMETHODCALLTYPE GetMatrix( 
  4621.             /* [out] */ PDX2DXFORM pXform) = 0;
  4622.         
  4623.         virtual HRESULT STDMETHODCALLTYPE SetMatrix( 
  4624.             /* [in] */ const PDX2DXFORM pXform) = 0;
  4625.         
  4626.         virtual HRESULT STDMETHODCALLTYPE SetLogfont( 
  4627.             /* [in] */ const LOGFONT __RPC_FAR *plf,
  4628.             /* [in] */ DWORD dwFlags) = 0;
  4629.         
  4630.         virtual HRESULT STDMETHODCALLTYPE GetLogfont( 
  4631.             /* [out] */ LOGFONT __RPC_FAR *plf,
  4632.             /* [in] */ DWORD dwFlags) = 0;
  4633.         
  4634.         virtual HRESULT STDMETHODCALLTYPE ExecuteWithRasterizer( 
  4635.             /* [in] */ IDXRasterizer __RPC_FAR *pRasterizer,
  4636.             /* [in] */ const DXBNDS __RPC_FAR *pClipBnds,
  4637.             /* [in] */ const DXVEC __RPC_FAR *pPlacement) = 0;
  4638.         
  4639.         virtual HRESULT STDMETHODCALLTYPE GetBaselineOffset( 
  4640.             /* [out] */ long __RPC_FAR *px,
  4641.             /* [out] */ long __RPC_FAR *py,
  4642.             /* [out] */ long __RPC_FAR *pdx,
  4643.             /* [out] */ long __RPC_FAR *pdy) = 0;
  4644.         
  4645.     };
  4646.     
  4647. #else     /* C style interface */
  4648.  
  4649.     typedef struct IDXTLabelVtbl
  4650.     {
  4651.         BEGIN_INTERFACE
  4652.         
  4653.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4654.             IDXTLabel __RPC_FAR * This,
  4655.             /* [in] */ REFIID riid,
  4656.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4657.         
  4658.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4659.             IDXTLabel __RPC_FAR * This);
  4660.         
  4661.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4662.             IDXTLabel __RPC_FAR * This);
  4663.         
  4664.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFontHandle )( 
  4665.             IDXTLabel __RPC_FAR * This,
  4666.             /* [in] */ HFONT hFont);
  4667.         
  4668.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFontHandle )( 
  4669.             IDXTLabel __RPC_FAR * This,
  4670.             /* [out] */ HFONT __RPC_FAR *phFont);
  4671.         
  4672.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTextString )( 
  4673.             IDXTLabel __RPC_FAR * This,
  4674.             /* [in] */ LPCWSTR pString);
  4675.         
  4676.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTextString )( 
  4677.             IDXTLabel __RPC_FAR * This,
  4678.             /* [out] */ LPWSTR __RPC_FAR *ppString);
  4679.         
  4680.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFillColor )( 
  4681.             IDXTLabel __RPC_FAR * This,
  4682.             /* [out] */ DXSAMPLE __RPC_FAR *pVal);
  4683.         
  4684.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFillColor )( 
  4685.             IDXTLabel __RPC_FAR * This,
  4686.             /* [in] */ DXSAMPLE newVal);
  4687.         
  4688.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBackgroundColor )( 
  4689.             IDXTLabel __RPC_FAR * This,
  4690.             /* [out] */ DXSAMPLE __RPC_FAR *pVal);
  4691.         
  4692.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBackgroundColor )( 
  4693.             IDXTLabel __RPC_FAR * This,
  4694.             /* [in] */ DXSAMPLE newVal);
  4695.         
  4696.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTexturePosition )( 
  4697.             IDXTLabel __RPC_FAR * This,
  4698.             /* [out] */ long __RPC_FAR *px,
  4699.             /* [out] */ long __RPC_FAR *py);
  4700.         
  4701.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTexturePosition )( 
  4702.             IDXTLabel __RPC_FAR * This,
  4703.             /* [in] */ long x,
  4704.             /* [in] */ long y);
  4705.         
  4706.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMatrix )( 
  4707.             IDXTLabel __RPC_FAR * This,
  4708.             /* [out] */ PDX2DXFORM pXform);
  4709.         
  4710.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMatrix )( 
  4711.             IDXTLabel __RPC_FAR * This,
  4712.             /* [in] */ const PDX2DXFORM pXform);
  4713.         
  4714.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLogfont )( 
  4715.             IDXTLabel __RPC_FAR * This,
  4716.             /* [in] */ const LOGFONT __RPC_FAR *plf,
  4717.             /* [in] */ DWORD dwFlags);
  4718.         
  4719.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLogfont )( 
  4720.             IDXTLabel __RPC_FAR * This,
  4721.             /* [out] */ LOGFONT __RPC_FAR *plf,
  4722.             /* [in] */ DWORD dwFlags);
  4723.         
  4724.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExecuteWithRasterizer )( 
  4725.             IDXTLabel __RPC_FAR * This,
  4726.             /* [in] */ IDXRasterizer __RPC_FAR *pRasterizer,
  4727.             /* [in] */ const DXBNDS __RPC_FAR *pClipBnds,
  4728.             /* [in] */ const DXVEC __RPC_FAR *pPlacement);
  4729.         
  4730.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBaselineOffset )( 
  4731.             IDXTLabel __RPC_FAR * This,
  4732.             /* [out] */ long __RPC_FAR *px,
  4733.             /* [out] */ long __RPC_FAR *py,
  4734.             /* [out] */ long __RPC_FAR *pdx,
  4735.             /* [out] */ long __RPC_FAR *pdy);
  4736.         
  4737.         END_INTERFACE
  4738.     } IDXTLabelVtbl;
  4739.  
  4740.     interface IDXTLabel
  4741.     {
  4742.         CONST_VTBL struct IDXTLabelVtbl __RPC_FAR *lpVtbl;
  4743.     };
  4744.  
  4745.     
  4746.  
  4747. #ifdef COBJMACROS
  4748.  
  4749.  
  4750. #define IDXTLabel_QueryInterface(This,riid,ppvObject)    \
  4751.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4752.  
  4753. #define IDXTLabel_AddRef(This)    \
  4754.     (This)->lpVtbl -> AddRef(This)
  4755.  
  4756. #define IDXTLabel_Release(This)    \
  4757.     (This)->lpVtbl -> Release(This)
  4758.  
  4759.  
  4760. #define IDXTLabel_SetFontHandle(This,hFont)    \
  4761.     (This)->lpVtbl -> SetFontHandle(This,hFont)
  4762.  
  4763. #define IDXTLabel_GetFontHandle(This,phFont)    \
  4764.     (This)->lpVtbl -> GetFontHandle(This,phFont)
  4765.  
  4766. #define IDXTLabel_SetTextString(This,pString)    \
  4767.     (This)->lpVtbl -> SetTextString(This,pString)
  4768.  
  4769. #define IDXTLabel_GetTextString(This,ppString)    \
  4770.     (This)->lpVtbl -> GetTextString(This,ppString)
  4771.  
  4772. #define IDXTLabel_GetFillColor(This,pVal)    \
  4773.     (This)->lpVtbl -> GetFillColor(This,pVal)
  4774.  
  4775. #define IDXTLabel_SetFillColor(This,newVal)    \
  4776.     (This)->lpVtbl -> SetFillColor(This,newVal)
  4777.  
  4778. #define IDXTLabel_GetBackgroundColor(This,pVal)    \
  4779.     (This)->lpVtbl -> GetBackgroundColor(This,pVal)
  4780.  
  4781. #define IDXTLabel_SetBackgroundColor(This,newVal)    \
  4782.     (This)->lpVtbl -> SetBackgroundColor(This,newVal)
  4783.  
  4784. #define IDXTLabel_GetTexturePosition(This,px,py)    \
  4785.     (This)->lpVtbl -> GetTexturePosition(This,px,py)
  4786.  
  4787. #define IDXTLabel_SetTexturePosition(This,x,y)    \
  4788.     (This)->lpVtbl -> SetTexturePosition(This,x,y)
  4789.  
  4790. #define IDXTLabel_GetMatrix(This,pXform)    \
  4791.     (This)->lpVtbl -> GetMatrix(This,pXform)
  4792.  
  4793. #define IDXTLabel_SetMatrix(This,pXform)    \
  4794.     (This)->lpVtbl -> SetMatrix(This,pXform)
  4795.  
  4796. #define IDXTLabel_SetLogfont(This,plf,dwFlags)    \
  4797.     (This)->lpVtbl -> SetLogfont(This,plf,dwFlags)
  4798.  
  4799. #define IDXTLabel_GetLogfont(This,plf,dwFlags)    \
  4800.     (This)->lpVtbl -> GetLogfont(This,plf,dwFlags)
  4801.  
  4802. #define IDXTLabel_ExecuteWithRasterizer(This,pRasterizer,pClipBnds,pPlacement)    \
  4803.     (This)->lpVtbl -> ExecuteWithRasterizer(This,pRasterizer,pClipBnds,pPlacement)
  4804.  
  4805. #define IDXTLabel_GetBaselineOffset(This,px,py,pdx,pdy)    \
  4806.     (This)->lpVtbl -> GetBaselineOffset(This,px,py,pdx,pdy)
  4807.  
  4808. #endif /* COBJMACROS */
  4809.  
  4810.  
  4811. #endif     /* C style interface */
  4812.  
  4813.  
  4814.  
  4815. HRESULT STDMETHODCALLTYPE IDXTLabel_SetFontHandle_Proxy( 
  4816.     IDXTLabel __RPC_FAR * This,
  4817.     /* [in] */ HFONT hFont);
  4818.  
  4819.  
  4820. void __RPC_STUB IDXTLabel_SetFontHandle_Stub(
  4821.     IRpcStubBuffer *This,
  4822.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4823.     PRPC_MESSAGE _pRpcMessage,
  4824.     DWORD *_pdwStubPhase);
  4825.  
  4826.  
  4827. HRESULT STDMETHODCALLTYPE IDXTLabel_GetFontHandle_Proxy( 
  4828.     IDXTLabel __RPC_FAR * This,
  4829.     /* [out] */ HFONT __RPC_FAR *phFont);
  4830.  
  4831.  
  4832. void __RPC_STUB IDXTLabel_GetFontHandle_Stub(
  4833.     IRpcStubBuffer *This,
  4834.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4835.     PRPC_MESSAGE _pRpcMessage,
  4836.     DWORD *_pdwStubPhase);
  4837.  
  4838.  
  4839. HRESULT STDMETHODCALLTYPE IDXTLabel_SetTextString_Proxy( 
  4840.     IDXTLabel __RPC_FAR * This,
  4841.     /* [in] */ LPCWSTR pString);
  4842.  
  4843.  
  4844. void __RPC_STUB IDXTLabel_SetTextString_Stub(
  4845.     IRpcStubBuffer *This,
  4846.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4847.     PRPC_MESSAGE _pRpcMessage,
  4848.     DWORD *_pdwStubPhase);
  4849.  
  4850.  
  4851. HRESULT STDMETHODCALLTYPE IDXTLabel_GetTextString_Proxy( 
  4852.     IDXTLabel __RPC_FAR * This,
  4853.     /* [out] */ LPWSTR __RPC_FAR *ppString);
  4854.  
  4855.  
  4856. void __RPC_STUB IDXTLabel_GetTextString_Stub(
  4857.     IRpcStubBuffer *This,
  4858.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4859.     PRPC_MESSAGE _pRpcMessage,
  4860.     DWORD *_pdwStubPhase);
  4861.  
  4862.  
  4863. HRESULT STDMETHODCALLTYPE IDXTLabel_GetFillColor_Proxy( 
  4864.     IDXTLabel __RPC_FAR * This,
  4865.     /* [out] */ DXSAMPLE __RPC_FAR *pVal);
  4866.  
  4867.  
  4868. void __RPC_STUB IDXTLabel_GetFillColor_Stub(
  4869.     IRpcStubBuffer *This,
  4870.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4871.     PRPC_MESSAGE _pRpcMessage,
  4872.     DWORD *_pdwStubPhase);
  4873.  
  4874.  
  4875. HRESULT STDMETHODCALLTYPE IDXTLabel_SetFillColor_Proxy( 
  4876.     IDXTLabel __RPC_FAR * This,
  4877.     /* [in] */ DXSAMPLE newVal);
  4878.  
  4879.  
  4880. void __RPC_STUB IDXTLabel_SetFillColor_Stub(
  4881.     IRpcStubBuffer *This,
  4882.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4883.     PRPC_MESSAGE _pRpcMessage,
  4884.     DWORD *_pdwStubPhase);
  4885.  
  4886.  
  4887. HRESULT STDMETHODCALLTYPE IDXTLabel_GetBackgroundColor_Proxy( 
  4888.     IDXTLabel __RPC_FAR * This,
  4889.     /* [out] */ DXSAMPLE __RPC_FAR *pVal);
  4890.  
  4891.  
  4892. void __RPC_STUB IDXTLabel_GetBackgroundColor_Stub(
  4893.     IRpcStubBuffer *This,
  4894.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4895.     PRPC_MESSAGE _pRpcMessage,
  4896.     DWORD *_pdwStubPhase);
  4897.  
  4898.  
  4899. HRESULT STDMETHODCALLTYPE IDXTLabel_SetBackgroundColor_Proxy( 
  4900.     IDXTLabel __RPC_FAR * This,
  4901.     /* [in] */ DXSAMPLE newVal);
  4902.  
  4903.  
  4904. void __RPC_STUB IDXTLabel_SetBackgroundColor_Stub(
  4905.     IRpcStubBuffer *This,
  4906.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4907.     PRPC_MESSAGE _pRpcMessage,
  4908.     DWORD *_pdwStubPhase);
  4909.  
  4910.  
  4911. HRESULT STDMETHODCALLTYPE IDXTLabel_GetTexturePosition_Proxy( 
  4912.     IDXTLabel __RPC_FAR * This,
  4913.     /* [out] */ long __RPC_FAR *px,
  4914.     /* [out] */ long __RPC_FAR *py);
  4915.  
  4916.  
  4917. void __RPC_STUB IDXTLabel_GetTexturePosition_Stub(
  4918.     IRpcStubBuffer *This,
  4919.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4920.     PRPC_MESSAGE _pRpcMessage,
  4921.     DWORD *_pdwStubPhase);
  4922.  
  4923.  
  4924. HRESULT STDMETHODCALLTYPE IDXTLabel_SetTexturePosition_Proxy( 
  4925.     IDXTLabel __RPC_FAR * This,
  4926.     /* [in] */ long x,
  4927.     /* [in] */ long y);
  4928.  
  4929.  
  4930. void __RPC_STUB IDXTLabel_SetTexturePosition_Stub(
  4931.     IRpcStubBuffer *This,
  4932.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4933.     PRPC_MESSAGE _pRpcMessage,
  4934.     DWORD *_pdwStubPhase);
  4935.  
  4936.  
  4937. HRESULT STDMETHODCALLTYPE IDXTLabel_GetMatrix_Proxy( 
  4938.     IDXTLabel __RPC_FAR * This,
  4939.     /* [out] */ PDX2DXFORM pXform);
  4940.  
  4941.  
  4942. void __RPC_STUB IDXTLabel_GetMatrix_Stub(
  4943.     IRpcStubBuffer *This,
  4944.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4945.     PRPC_MESSAGE _pRpcMessage,
  4946.     DWORD *_pdwStubPhase);
  4947.  
  4948.  
  4949. HRESULT STDMETHODCALLTYPE IDXTLabel_SetMatrix_Proxy( 
  4950.     IDXTLabel __RPC_FAR * This,
  4951.     /* [in] */ const PDX2DXFORM pXform);
  4952.  
  4953.  
  4954. void __RPC_STUB IDXTLabel_SetMatrix_Stub(
  4955.     IRpcStubBuffer *This,
  4956.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4957.     PRPC_MESSAGE _pRpcMessage,
  4958.     DWORD *_pdwStubPhase);
  4959.  
  4960.  
  4961. HRESULT STDMETHODCALLTYPE IDXTLabel_SetLogfont_Proxy( 
  4962.     IDXTLabel __RPC_FAR * This,
  4963.     /* [in] */ const LOGFONT __RPC_FAR *plf,
  4964.     /* [in] */ DWORD dwFlags);
  4965.  
  4966.  
  4967. void __RPC_STUB IDXTLabel_SetLogfont_Stub(
  4968.     IRpcStubBuffer *This,
  4969.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4970.     PRPC_MESSAGE _pRpcMessage,
  4971.     DWORD *_pdwStubPhase);
  4972.  
  4973.  
  4974. HRESULT STDMETHODCALLTYPE IDXTLabel_GetLogfont_Proxy( 
  4975.     IDXTLabel __RPC_FAR * This,
  4976.     /* [out] */ LOGFONT __RPC_FAR *plf,
  4977.     /* [in] */ DWORD dwFlags);
  4978.  
  4979.  
  4980. void __RPC_STUB IDXTLabel_GetLogfont_Stub(
  4981.     IRpcStubBuffer *This,
  4982.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4983.     PRPC_MESSAGE _pRpcMessage,
  4984.     DWORD *_pdwStubPhase);
  4985.  
  4986.  
  4987. HRESULT STDMETHODCALLTYPE IDXTLabel_ExecuteWithRasterizer_Proxy( 
  4988.     IDXTLabel __RPC_FAR * This,
  4989.     /* [in] */ IDXRasterizer __RPC_FAR *pRasterizer,
  4990.     /* [in] */ const DXBNDS __RPC_FAR *pClipBnds,
  4991.     /* [in] */ const DXVEC __RPC_FAR *pPlacement);
  4992.  
  4993.  
  4994. void __RPC_STUB IDXTLabel_ExecuteWithRasterizer_Stub(
  4995.     IRpcStubBuffer *This,
  4996.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4997.     PRPC_MESSAGE _pRpcMessage,
  4998.     DWORD *_pdwStubPhase);
  4999.  
  5000.  
  5001. HRESULT STDMETHODCALLTYPE IDXTLabel_GetBaselineOffset_Proxy( 
  5002.     IDXTLabel __RPC_FAR * This,
  5003.     /* [out] */ long __RPC_FAR *px,
  5004.     /* [out] */ long __RPC_FAR *py,
  5005.     /* [out] */ long __RPC_FAR *pdx,
  5006.     /* [out] */ long __RPC_FAR *pdy);
  5007.  
  5008.  
  5009. void __RPC_STUB IDXTLabel_GetBaselineOffset_Stub(
  5010.     IRpcStubBuffer *This,
  5011.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5012.     PRPC_MESSAGE _pRpcMessage,
  5013.     DWORD *_pdwStubPhase);
  5014.  
  5015.  
  5016.  
  5017. #endif     /* __IDXTLabel_INTERFACE_DEFINED__ */
  5018.  
  5019.  
  5020. /* interface __MIDL_itf_dxtrans_0269 */
  5021. /* [local] */ 
  5022.  
  5023. typedef 
  5024. enum DXRASTERFILL
  5025.     {    DXRASTER_PEN    = 0,
  5026.     DXRASTER_BRUSH    = 1,
  5027.     DXRASTER_BACKGROUND    = 2
  5028.     }    DXRASTERFILL;
  5029.  
  5030. typedef struct DXRASTERSCANINFO
  5031.     {
  5032.     ULONG ulIndex;
  5033.     ULONG Row;
  5034.     const BYTE __RPC_FAR *pWeights;
  5035.     const DXRUNINFO __RPC_FAR *pRunInfo;
  5036.     ULONG cRunInfo;
  5037.     }    DXRASTERSCANINFO;
  5038.  
  5039. typedef struct DXRASTERPOINTINFO
  5040.     {
  5041.     DXOVERSAMPLEDESC Pixel;
  5042.     ULONG ulIndex;
  5043.     BYTE Weight;
  5044.     }    DXRASTERPOINTINFO;
  5045.  
  5046. typedef struct DXRASTERRECTINFO
  5047.     {
  5048.     ULONG ulIndex;
  5049.     RECT Rect;
  5050.     BYTE Weight;
  5051.     }    DXRASTERRECTINFO;
  5052.  
  5053.  
  5054.  
  5055. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0269_v0_0_c_ifspec;
  5056. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0269_v0_0_s_ifspec;
  5057.  
  5058. #ifndef __IDXRasterizer_INTERFACE_DEFINED__
  5059. #define __IDXRasterizer_INTERFACE_DEFINED__
  5060.  
  5061. /* interface IDXRasterizer */
  5062. /* [object][local][unique][helpstring][uuid] */ 
  5063.  
  5064.  
  5065. EXTERN_C const IID IID_IDXRasterizer;
  5066.  
  5067. #if defined(__cplusplus) && !defined(CINTERFACE)
  5068.     
  5069.     MIDL_INTERFACE("9EA3B635-C37D-11d1-905E-00C04FD9189D")
  5070.     IDXRasterizer : public IUnknown
  5071.     {
  5072.     public:
  5073.         virtual HRESULT STDMETHODCALLTYPE SetSurface( 
  5074.             /* [in] */ IDXSurface __RPC_FAR *pDXSurface) = 0;
  5075.         
  5076.         virtual HRESULT STDMETHODCALLTYPE GetSurface( 
  5077.             /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppDXSurface) = 0;
  5078.         
  5079.         virtual HRESULT STDMETHODCALLTYPE SetFill( 
  5080.             /* [in] */ ULONG ulIndex,
  5081.             /* [in] */ IDXSurface __RPC_FAR *pSurface,
  5082.             /* [in] */ const POINT __RPC_FAR *ppt,
  5083.             /* [in] */ DXSAMPLE FillColor) = 0;
  5084.         
  5085.         virtual HRESULT STDMETHODCALLTYPE GetFill( 
  5086.             /* [in] */ ULONG ulIndex,
  5087.             /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppSurface,
  5088.             /* [out] */ POINT __RPC_FAR *ppt,
  5089.             /* [out] */ DXSAMPLE __RPC_FAR *pFillColor) = 0;
  5090.         
  5091.         virtual HRESULT STDMETHODCALLTYPE BeginRendering( 
  5092.             /* [in] */ ULONG ulTimeOut) = 0;
  5093.         
  5094.         virtual HRESULT STDMETHODCALLTYPE EndRendering( void) = 0;
  5095.         
  5096.         virtual HRESULT STDMETHODCALLTYPE RenderScan( 
  5097.             /* [in] */ const DXRASTERSCANINFO __RPC_FAR *pScanInfo) = 0;
  5098.         
  5099.         virtual HRESULT STDMETHODCALLTYPE SetPixel( 
  5100.             /* [in] */ DXRASTERPOINTINFO __RPC_FAR *pPointInfo) = 0;
  5101.         
  5102.         virtual HRESULT STDMETHODCALLTYPE FillRect( 
  5103.             /* [in] */ const DXRASTERRECTINFO __RPC_FAR *pRectInfo) = 0;
  5104.         
  5105.         virtual HRESULT STDMETHODCALLTYPE GetBounds( 
  5106.             /* [out] */ DXBNDS __RPC_FAR *pBounds) = 0;
  5107.         
  5108.     };
  5109.     
  5110. #else     /* C style interface */
  5111.  
  5112.     typedef struct IDXRasterizerVtbl
  5113.     {
  5114.         BEGIN_INTERFACE
  5115.         
  5116.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5117.             IDXRasterizer __RPC_FAR * This,
  5118.             /* [in] */ REFIID riid,
  5119.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5120.         
  5121.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5122.             IDXRasterizer __RPC_FAR * This);
  5123.         
  5124.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5125.             IDXRasterizer __RPC_FAR * This);
  5126.         
  5127.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSurface )( 
  5128.             IDXRasterizer __RPC_FAR * This,
  5129.             /* [in] */ IDXSurface __RPC_FAR *pDXSurface);
  5130.         
  5131.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )( 
  5132.             IDXRasterizer __RPC_FAR * This,
  5133.             /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppDXSurface);
  5134.         
  5135.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFill )( 
  5136.             IDXRasterizer __RPC_FAR * This,
  5137.             /* [in] */ ULONG ulIndex,
  5138.             /* [in] */ IDXSurface __RPC_FAR *pSurface,
  5139.             /* [in] */ const POINT __RPC_FAR *ppt,
  5140.             /* [in] */ DXSAMPLE FillColor);
  5141.         
  5142.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFill )( 
  5143.             IDXRasterizer __RPC_FAR * This,
  5144.             /* [in] */ ULONG ulIndex,
  5145.             /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppSurface,
  5146.             /* [out] */ POINT __RPC_FAR *ppt,
  5147.             /* [out] */ DXSAMPLE __RPC_FAR *pFillColor);
  5148.         
  5149.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BeginRendering )( 
  5150.             IDXRasterizer __RPC_FAR * This,
  5151.             /* [in] */ ULONG ulTimeOut);
  5152.         
  5153.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EndRendering )( 
  5154.             IDXRasterizer __RPC_FAR * This);
  5155.         
  5156.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RenderScan )( 
  5157.             IDXRasterizer __RPC_FAR * This,
  5158.             /* [in] */ const DXRASTERSCANINFO __RPC_FAR *pScanInfo);
  5159.         
  5160.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPixel )( 
  5161.             IDXRasterizer __RPC_FAR * This,
  5162.             /* [in] */ DXRASTERPOINTINFO __RPC_FAR *pPointInfo);
  5163.         
  5164.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FillRect )( 
  5165.             IDXRasterizer __RPC_FAR * This,
  5166.             /* [in] */ const DXRASTERRECTINFO __RPC_FAR *pRectInfo);
  5167.         
  5168.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBounds )( 
  5169.             IDXRasterizer __RPC_FAR * This,
  5170.             /* [out] */ DXBNDS __RPC_FAR *pBounds);
  5171.         
  5172.         END_INTERFACE
  5173.     } IDXRasterizerVtbl;
  5174.  
  5175.     interface IDXRasterizer
  5176.     {
  5177.         CONST_VTBL struct IDXRasterizerVtbl __RPC_FAR *lpVtbl;
  5178.     };
  5179.  
  5180.     
  5181.  
  5182. #ifdef COBJMACROS
  5183.  
  5184.  
  5185. #define IDXRasterizer_QueryInterface(This,riid,ppvObject)    \
  5186.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5187.  
  5188. #define IDXRasterizer_AddRef(This)    \
  5189.     (This)->lpVtbl -> AddRef(This)
  5190.  
  5191. #define IDXRasterizer_Release(This)    \
  5192.     (This)->lpVtbl -> Release(This)
  5193.  
  5194.  
  5195. #define IDXRasterizer_SetSurface(This,pDXSurface)    \
  5196.     (This)->lpVtbl -> SetSurface(This,pDXSurface)
  5197.  
  5198. #define IDXRasterizer_GetSurface(This,ppDXSurface)    \
  5199.     (This)->lpVtbl -> GetSurface(This,ppDXSurface)
  5200.  
  5201. #define IDXRasterizer_SetFill(This,ulIndex,pSurface,ppt,FillColor)    \
  5202.     (This)->lpVtbl -> SetFill(This,ulIndex,pSurface,ppt,FillColor)
  5203.  
  5204. #define IDXRasterizer_GetFill(This,ulIndex,ppSurface,ppt,pFillColor)    \
  5205.     (This)->lpVtbl -> GetFill(This,ulIndex,ppSurface,ppt,pFillColor)
  5206.  
  5207. #define IDXRasterizer_BeginRendering(This,ulTimeOut)    \
  5208.     (This)->lpVtbl -> BeginRendering(This,ulTimeOut)
  5209.  
  5210. #define IDXRasterizer_EndRendering(This)    \
  5211.     (This)->lpVtbl -> EndRendering(This)
  5212.  
  5213. #define IDXRasterizer_RenderScan(This,pScanInfo)    \
  5214.     (This)->lpVtbl -> RenderScan(This,pScanInfo)
  5215.  
  5216. #define IDXRasterizer_SetPixel(This,pPointInfo)    \
  5217.     (This)->lpVtbl -> SetPixel(This,pPointInfo)
  5218.  
  5219. #define IDXRasterizer_FillRect(This,pRectInfo)    \
  5220.     (This)->lpVtbl -> FillRect(This,pRectInfo)
  5221.  
  5222. #define IDXRasterizer_GetBounds(This,pBounds)    \
  5223.     (This)->lpVtbl -> GetBounds(This,pBounds)
  5224.  
  5225. #endif /* COBJMACROS */
  5226.  
  5227.  
  5228. #endif     /* C style interface */
  5229.  
  5230.  
  5231.  
  5232. HRESULT STDMETHODCALLTYPE IDXRasterizer_SetSurface_Proxy( 
  5233.     IDXRasterizer __RPC_FAR * This,
  5234.     /* [in] */ IDXSurface __RPC_FAR *pDXSurface);
  5235.  
  5236.  
  5237. void __RPC_STUB IDXRasterizer_SetSurface_Stub(
  5238.     IRpcStubBuffer *This,
  5239.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5240.     PRPC_MESSAGE _pRpcMessage,
  5241.     DWORD *_pdwStubPhase);
  5242.  
  5243.  
  5244. HRESULT STDMETHODCALLTYPE IDXRasterizer_GetSurface_Proxy( 
  5245.     IDXRasterizer __RPC_FAR * This,
  5246.     /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppDXSurface);
  5247.  
  5248.  
  5249. void __RPC_STUB IDXRasterizer_GetSurface_Stub(
  5250.     IRpcStubBuffer *This,
  5251.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5252.     PRPC_MESSAGE _pRpcMessage,
  5253.     DWORD *_pdwStubPhase);
  5254.  
  5255.  
  5256. HRESULT STDMETHODCALLTYPE IDXRasterizer_SetFill_Proxy( 
  5257.     IDXRasterizer __RPC_FAR * This,
  5258.     /* [in] */ ULONG ulIndex,
  5259.     /* [in] */ IDXSurface __RPC_FAR *pSurface,
  5260.     /* [in] */ const POINT __RPC_FAR *ppt,
  5261.     /* [in] */ DXSAMPLE FillColor);
  5262.  
  5263.  
  5264. void __RPC_STUB IDXRasterizer_SetFill_Stub(
  5265.     IRpcStubBuffer *This,
  5266.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5267.     PRPC_MESSAGE _pRpcMessage,
  5268.     DWORD *_pdwStubPhase);
  5269.  
  5270.  
  5271. HRESULT STDMETHODCALLTYPE IDXRasterizer_GetFill_Proxy( 
  5272.     IDXRasterizer __RPC_FAR * This,
  5273.     /* [in] */ ULONG ulIndex,
  5274.     /* [out] */ IDXSurface __RPC_FAR *__RPC_FAR *ppSurface,
  5275.     /* [out] */ POINT __RPC_FAR *ppt,
  5276.     /* [out] */ DXSAMPLE __RPC_FAR *pFillColor);
  5277.  
  5278.  
  5279. void __RPC_STUB IDXRasterizer_GetFill_Stub(
  5280.     IRpcStubBuffer *This,
  5281.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5282.     PRPC_MESSAGE _pRpcMessage,
  5283.     DWORD *_pdwStubPhase);
  5284.  
  5285.  
  5286. HRESULT STDMETHODCALLTYPE IDXRasterizer_BeginRendering_Proxy( 
  5287.     IDXRasterizer __RPC_FAR * This,
  5288.     /* [in] */ ULONG ulTimeOut);
  5289.  
  5290.  
  5291. void __RPC_STUB IDXRasterizer_BeginRendering_Stub(
  5292.     IRpcStubBuffer *This,
  5293.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5294.     PRPC_MESSAGE _pRpcMessage,
  5295.     DWORD *_pdwStubPhase);
  5296.  
  5297.  
  5298. HRESULT STDMETHODCALLTYPE IDXRasterizer_EndRendering_Proxy( 
  5299.     IDXRasterizer __RPC_FAR * This);
  5300.  
  5301.  
  5302. void __RPC_STUB IDXRasterizer_EndRendering_Stub(
  5303.     IRpcStubBuffer *This,
  5304.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5305.     PRPC_MESSAGE _pRpcMessage,
  5306.     DWORD *_pdwStubPhase);
  5307.  
  5308.  
  5309. HRESULT STDMETHODCALLTYPE IDXRasterizer_RenderScan_Proxy( 
  5310.     IDXRasterizer __RPC_FAR * This,
  5311.     /* [in] */ const DXRASTERSCANINFO __RPC_FAR *pScanInfo);
  5312.  
  5313.  
  5314. void __RPC_STUB IDXRasterizer_RenderScan_Stub(
  5315.     IRpcStubBuffer *This,
  5316.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5317.     PRPC_MESSAGE _pRpcMessage,
  5318.     DWORD *_pdwStubPhase);
  5319.  
  5320.  
  5321. HRESULT STDMETHODCALLTYPE IDXRasterizer_SetPixel_Proxy( 
  5322.     IDXRasterizer __RPC_FAR * This,
  5323.     /* [in] */ DXRASTERPOINTINFO __RPC_FAR *pPointInfo);
  5324.  
  5325.  
  5326. void __RPC_STUB IDXRasterizer_SetPixel_Stub(
  5327.     IRpcStubBuffer *This,
  5328.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5329.     PRPC_MESSAGE _pRpcMessage,
  5330.     DWORD *_pdwStubPhase);
  5331.  
  5332.  
  5333. HRESULT STDMETHODCALLTYPE IDXRasterizer_FillRect_Proxy( 
  5334.     IDXRasterizer __RPC_FAR * This,
  5335.     /* [in] */ const DXRASTERRECTINFO __RPC_FAR *pRectInfo);
  5336.  
  5337.  
  5338. void __RPC_STUB IDXRasterizer_FillRect_Stub(
  5339.     IRpcStubBuffer *This,
  5340.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5341.     PRPC_MESSAGE _pRpcMessage,
  5342.     DWORD *_pdwStubPhase);
  5343.  
  5344.  
  5345. HRESULT STDMETHODCALLTYPE IDXRasterizer_GetBounds_Proxy( 
  5346.     IDXRasterizer __RPC_FAR * This,
  5347.     /* [out] */ DXBNDS __RPC_FAR *pBounds);
  5348.  
  5349.  
  5350. void __RPC_STUB IDXRasterizer_GetBounds_Stub(
  5351.     IRpcStubBuffer *This,
  5352.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5353.     PRPC_MESSAGE _pRpcMessage,
  5354.     DWORD *_pdwStubPhase);
  5355.  
  5356.  
  5357.  
  5358. #endif     /* __IDXRasterizer_INTERFACE_DEFINED__ */
  5359.  
  5360.  
  5361. /* interface __MIDL_itf_dxtrans_0270 */
  5362. /* [local] */ 
  5363.  
  5364. typedef 
  5365. enum DISPIDDXEFFECT
  5366.     {    DISPID_DXECAPABILITIES    = 10000,
  5367.     DISPID_DXEPROGRESS    = DISPID_DXECAPABILITIES + 1,
  5368.     DISPID_DXESTEP    = DISPID_DXEPROGRESS + 1,
  5369.     DISPID_DXEDURATION    = DISPID_DXESTEP + 1,
  5370.     DISPID_DXE_NEXT_ID    = DISPID_DXEDURATION + 1
  5371.     }    DISPIDDXBOUNDEDEFFECT;
  5372.  
  5373. typedef 
  5374. enum DXEFFECTTYPE
  5375.     {    DXTET_PERIODIC    = 1 << 0,
  5376.     DXTET_MORPH    = 1 << 1
  5377.     }    DXEFFECTTYPE;
  5378.  
  5379.  
  5380.  
  5381. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0270_v0_0_c_ifspec;
  5382. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0270_v0_0_s_ifspec;
  5383.  
  5384. #ifndef __IDXEffect_INTERFACE_DEFINED__
  5385. #define __IDXEffect_INTERFACE_DEFINED__
  5386.  
  5387. /* interface IDXEffect */
  5388. /* [unique][helpstring][dual][uuid][object] */ 
  5389.  
  5390.  
  5391. EXTERN_C const IID IID_IDXEffect;
  5392.  
  5393. #if defined(__cplusplus) && !defined(CINTERFACE)
  5394.     
  5395.     MIDL_INTERFACE("E31FB81B-1335-11d1-8189-0000F87557DB")
  5396.     IDXEffect : public IDispatch
  5397.     {
  5398.     public:
  5399.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Capabilities( 
  5400.             /* [retval][out] */ long __RPC_FAR *pVal) = 0;
  5401.         
  5402.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Progress( 
  5403.             /* [retval][out] */ float __RPC_FAR *pVal) = 0;
  5404.         
  5405.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Progress( 
  5406.             /* [in] */ float newVal) = 0;
  5407.         
  5408.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_StepResolution( 
  5409.             /* [retval][out] */ float __RPC_FAR *pVal) = 0;
  5410.         
  5411.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Duration( 
  5412.             /* [retval][out] */ float __RPC_FAR *pVal) = 0;
  5413.         
  5414.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Duration( 
  5415.             /* [in] */ float newVal) = 0;
  5416.         
  5417.     };
  5418.     
  5419. #else     /* C style interface */
  5420.  
  5421.     typedef struct IDXEffectVtbl
  5422.     {
  5423.         BEGIN_INTERFACE
  5424.         
  5425.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5426.             IDXEffect __RPC_FAR * This,
  5427.             /* [in] */ REFIID riid,
  5428.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5429.         
  5430.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5431.             IDXEffect __RPC_FAR * This);
  5432.         
  5433.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5434.             IDXEffect __RPC_FAR * This);
  5435.         
  5436.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  5437.             IDXEffect __RPC_FAR * This,
  5438.             /* [out] */ UINT __RPC_FAR *pctinfo);
  5439.         
  5440.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  5441.             IDXEffect __RPC_FAR * This,
  5442.             /* [in] */ UINT iTInfo,
  5443.             /* [in] */ LCID lcid,
  5444.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  5445.         
  5446.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  5447.             IDXEffect __RPC_FAR * This,
  5448.             /* [in] */ REFIID riid,
  5449.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  5450.             /* [in] */ UINT cNames,
  5451.             /* [in] */ LCID lcid,
  5452.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  5453.         
  5454.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  5455.             IDXEffect __RPC_FAR * This,
  5456.             /* [in] */ DISPID dispIdMember,
  5457.             /* [in] */ REFIID riid,
  5458.             /* [in] */ LCID lcid,
  5459.             /* [in] */ WORD wFlags,
  5460.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  5461.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  5462.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  5463.             /* [out] */ UINT __RPC_FAR *puArgErr);
  5464.         
  5465.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Capabilities )( 
  5466.             IDXEffect __RPC_FAR * This,
  5467.             /* [retval][out] */ long __RPC_FAR *pVal);
  5468.         
  5469.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Progress )( 
  5470.             IDXEffect __RPC_FAR * This,
  5471.             /* [retval][out] */ float __RPC_FAR *pVal);
  5472.         
  5473.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Progress )( 
  5474.             IDXEffect __RPC_FAR * This,
  5475.             /* [in] */ float newVal);
  5476.         
  5477.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_StepResolution )( 
  5478.             IDXEffect __RPC_FAR * This,
  5479.             /* [retval][out] */ float __RPC_FAR *pVal);
  5480.         
  5481.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Duration )( 
  5482.             IDXEffect __RPC_FAR * This,
  5483.             /* [retval][out] */ float __RPC_FAR *pVal);
  5484.         
  5485.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Duration )( 
  5486.             IDXEffect __RPC_FAR * This,
  5487.             /* [in] */ float newVal);
  5488.         
  5489.         END_INTERFACE
  5490.     } IDXEffectVtbl;
  5491.  
  5492.     interface IDXEffect
  5493.     {
  5494.         CONST_VTBL struct IDXEffectVtbl __RPC_FAR *lpVtbl;
  5495.     };
  5496.  
  5497.     
  5498.  
  5499. #ifdef COBJMACROS
  5500.  
  5501.  
  5502. #define IDXEffect_QueryInterface(This,riid,ppvObject)    \
  5503.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5504.  
  5505. #define IDXEffect_AddRef(This)    \
  5506.     (This)->lpVtbl -> AddRef(This)
  5507.  
  5508. #define IDXEffect_Release(This)    \
  5509.     (This)->lpVtbl -> Release(This)
  5510.  
  5511.  
  5512. #define IDXEffect_GetTypeInfoCount(This,pctinfo)    \
  5513.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  5514.  
  5515. #define IDXEffect_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  5516.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5517.  
  5518. #define IDXEffect_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  5519.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5520.  
  5521. #define IDXEffect_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  5522.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5523.  
  5524.  
  5525. #define IDXEffect_get_Capabilities(This,pVal)    \
  5526.     (This)->lpVtbl -> get_Capabilities(This,pVal)
  5527.  
  5528. #define IDXEffect_get_Progress(This,pVal)    \
  5529.     (This)->lpVtbl -> get_Progress(This,pVal)
  5530.  
  5531. #define IDXEffect_put_Progress(This,newVal)    \
  5532.     (This)->lpVtbl -> put_Progress(This,newVal)
  5533.  
  5534. #define IDXEffect_get_StepResolution(This,pVal)    \
  5535.     (This)->lpVtbl -> get_StepResolution(This,pVal)
  5536.  
  5537. #define IDXEffect_get_Duration(This,pVal)    \
  5538.     (This)->lpVtbl -> get_Duration(This,pVal)
  5539.  
  5540. #define IDXEffect_put_Duration(This,newVal)    \
  5541.     (This)->lpVtbl -> put_Duration(This,newVal)
  5542.  
  5543. #endif /* COBJMACROS */
  5544.  
  5545.  
  5546. #endif     /* C style interface */
  5547.  
  5548.  
  5549.  
  5550. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IDXEffect_get_Capabilities_Proxy( 
  5551.     IDXEffect __RPC_FAR * This,
  5552.     /* [retval][out] */ long __RPC_FAR *pVal);
  5553.  
  5554.  
  5555. void __RPC_STUB IDXEffect_get_Capabilities_Stub(
  5556.     IRpcStubBuffer *This,
  5557.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5558.     PRPC_MESSAGE _pRpcMessage,
  5559.     DWORD *_pdwStubPhase);
  5560.  
  5561.  
  5562. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IDXEffect_get_Progress_Proxy( 
  5563.     IDXEffect __RPC_FAR * This,
  5564.     /* [retval][out] */ float __RPC_FAR *pVal);
  5565.  
  5566.  
  5567. void __RPC_STUB IDXEffect_get_Progress_Stub(
  5568.     IRpcStubBuffer *This,
  5569.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5570.     PRPC_MESSAGE _pRpcMessage,
  5571.     DWORD *_pdwStubPhase);
  5572.  
  5573.  
  5574. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IDXEffect_put_Progress_Proxy( 
  5575.     IDXEffect __RPC_FAR * This,
  5576.     /* [in] */ float newVal);
  5577.  
  5578.  
  5579. void __RPC_STUB IDXEffect_put_Progress_Stub(
  5580.     IRpcStubBuffer *This,
  5581.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5582.     PRPC_MESSAGE _pRpcMessage,
  5583.     DWORD *_pdwStubPhase);
  5584.  
  5585.  
  5586. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IDXEffect_get_StepResolution_Proxy( 
  5587.     IDXEffect __RPC_FAR * This,
  5588.     /* [retval][out] */ float __RPC_FAR *pVal);
  5589.  
  5590.  
  5591. void __RPC_STUB IDXEffect_get_StepResolution_Stub(
  5592.     IRpcStubBuffer *This,
  5593.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5594.     PRPC_MESSAGE _pRpcMessage,
  5595.     DWORD *_pdwStubPhase);
  5596.  
  5597.  
  5598. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IDXEffect_get_Duration_Proxy( 
  5599.     IDXEffect __RPC_FAR * This,
  5600.     /* [retval][out] */ float __RPC_FAR *pVal);
  5601.  
  5602.  
  5603. void __RPC_STUB IDXEffect_get_Duration_Stub(
  5604.     IRpcStubBuffer *This,
  5605.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5606.     PRPC_MESSAGE _pRpcMessage,
  5607.     DWORD *_pdwStubPhase);
  5608.  
  5609.  
  5610. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IDXEffect_put_Duration_Proxy( 
  5611.     IDXEffect __RPC_FAR * This,
  5612.     /* [in] */ float newVal);
  5613.  
  5614.  
  5615. void __RPC_STUB IDXEffect_put_Duration_Stub(
  5616.     IRpcStubBuffer *This,
  5617.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5618.     PRPC_MESSAGE _pRpcMessage,
  5619.     DWORD *_pdwStubPhase);
  5620.  
  5621.  
  5622.  
  5623. #endif     /* __IDXEffect_INTERFACE_DEFINED__ */
  5624.  
  5625.  
  5626. #ifndef __IDXLookupTable_INTERFACE_DEFINED__
  5627. #define __IDXLookupTable_INTERFACE_DEFINED__
  5628.  
  5629. /* interface IDXLookupTable */
  5630. /* [object][unique][helpstring][uuid] */ 
  5631.  
  5632.  
  5633. EXTERN_C const IID IID_IDXLookupTable;
  5634.  
  5635. #if defined(__cplusplus) && !defined(CINTERFACE)
  5636.     
  5637.     MIDL_INTERFACE("01BAFC7F-9E63-11d1-9053-00C04FD9189D")
  5638.     IDXLookupTable : public IDXBaseObject
  5639.     {
  5640.     public:
  5641.         virtual HRESULT STDMETHODCALLTYPE GetTables( 
  5642.             /* [out] */ BYTE __RPC_FAR RedLUT[ 256 ],
  5643.             /* [out] */ BYTE __RPC_FAR GreenLUT[ 256 ],
  5644.             /* [out] */ BYTE __RPC_FAR BlueLUT[ 256 ],
  5645.             /* [out] */ BYTE __RPC_FAR AlphaLUT[ 256 ]) = 0;
  5646.         
  5647.         virtual HRESULT STDMETHODCALLTYPE IsChannelIdentity( 
  5648.             /* [out] */ DXBASESAMPLE __RPC_FAR *pSampleBools) = 0;
  5649.         
  5650.         virtual HRESULT STDMETHODCALLTYPE GetIndexValues( 
  5651.             /* [in] */ ULONG Index,
  5652.             /* [out] */ DXBASESAMPLE __RPC_FAR *pSample) = 0;
  5653.         
  5654.         virtual HRESULT STDMETHODCALLTYPE ApplyTables( 
  5655.             /* [out][in] */ DXSAMPLE __RPC_FAR *pSamples,
  5656.             /* [in] */ ULONG cSamples) = 0;
  5657.         
  5658.     };
  5659.     
  5660. #else     /* C style interface */
  5661.  
  5662.     typedef struct IDXLookupTableVtbl
  5663.     {
  5664.         BEGIN_INTERFACE
  5665.         
  5666.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5667.             IDXLookupTable __RPC_FAR * This,
  5668.             /* [in] */ REFIID riid,
  5669.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5670.         
  5671.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5672.             IDXLookupTable __RPC_FAR * This);
  5673.         
  5674.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5675.             IDXLookupTable __RPC_FAR * This);
  5676.         
  5677.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetGenerationId )( 
  5678.             IDXLookupTable __RPC_FAR * This,
  5679.             /* [out] */ ULONG __RPC_FAR *pID);
  5680.         
  5681.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IncrementGenerationId )( 
  5682.             IDXLookupTable __RPC_FAR * This,
  5683.             /* [in] */ BOOL bRefresh);
  5684.         
  5685.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectSize )( 
  5686.             IDXLookupTable __RPC_FAR * This,
  5687.             /* [out] */ ULONG __RPC_FAR *pcbSize);
  5688.         
  5689.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTables )( 
  5690.             IDXLookupTable __RPC_FAR * This,
  5691.             /* [out] */ BYTE __RPC_FAR RedLUT[ 256 ],
  5692.             /* [out] */ BYTE __RPC_FAR GreenLUT[ 256 ],
  5693.             /* [out] */ BYTE __RPC_FAR BlueLUT[ 256 ],
  5694.             /* [out] */ BYTE __RPC_FAR AlphaLUT[ 256 ]);
  5695.         
  5696.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsChannelIdentity )( 
  5697.             IDXLookupTable __RPC_FAR * This,
  5698.             /* [out] */ DXBASESAMPLE __RPC_FAR *pSampleBools);
  5699.         
  5700.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIndexValues )( 
  5701.             IDXLookupTable __RPC_FAR * This,
  5702.             /* [in] */ ULONG Index,
  5703.             /* [out] */ DXBASESAMPLE __RPC_FAR *pSample);
  5704.         
  5705.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ApplyTables )( 
  5706.             IDXLookupTable __RPC_FAR * This,
  5707.             /* [out][in] */ DXSAMPLE __RPC_FAR *pSamples,
  5708.             /* [in] */ ULONG cSamples);
  5709.         
  5710.         END_INTERFACE
  5711.     } IDXLookupTableVtbl;
  5712.  
  5713.     interface IDXLookupTable
  5714.     {
  5715.         CONST_VTBL struct IDXLookupTableVtbl __RPC_FAR *lpVtbl;
  5716.     };
  5717.  
  5718.     
  5719.  
  5720. #ifdef COBJMACROS
  5721.  
  5722.  
  5723. #define IDXLookupTable_QueryInterface(This,riid,ppvObject)    \
  5724.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5725.  
  5726. #define IDXLookupTable_AddRef(This)    \
  5727.     (This)->lpVtbl -> AddRef(This)
  5728.  
  5729. #define IDXLookupTable_Release(This)    \
  5730.     (This)->lpVtbl -> Release(This)
  5731.  
  5732.  
  5733. #define IDXLookupTable_GetGenerationId(This,pID)    \
  5734.     (This)->lpVtbl -> GetGenerationId(This,pID)
  5735.  
  5736. #define IDXLookupTable_IncrementGenerationId(This,bRefresh)    \
  5737.     (This)->lpVtbl -> IncrementGenerationId(This,bRefresh)
  5738.  
  5739. #define IDXLookupTable_GetObjectSize(This,pcbSize)    \
  5740.     (This)->lpVtbl -> GetObjectSize(This,pcbSize)
  5741.  
  5742.  
  5743. #define IDXLookupTable_GetTables(This,RedLUT,GreenLUT,BlueLUT,AlphaLUT)    \
  5744.     (This)->lpVtbl -> GetTables(This,RedLUT,GreenLUT,BlueLUT,AlphaLUT)
  5745.  
  5746. #define IDXLookupTable_IsChannelIdentity(This,pSampleBools)    \
  5747.     (This)->lpVtbl -> IsChannelIdentity(This,pSampleBools)
  5748.  
  5749. #define IDXLookupTable_GetIndexValues(This,Index,pSample)    \
  5750.     (This)->lpVtbl -> GetIndexValues(This,Index,pSample)
  5751.  
  5752. #define IDXLookupTable_ApplyTables(This,pSamples,cSamples)    \
  5753.     (This)->lpVtbl -> ApplyTables(This,pSamples,cSamples)
  5754.  
  5755. #endif /* COBJMACROS */
  5756.  
  5757.  
  5758. #endif     /* C style interface */
  5759.  
  5760.  
  5761.  
  5762. HRESULT STDMETHODCALLTYPE IDXLookupTable_GetTables_Proxy( 
  5763.     IDXLookupTable __RPC_FAR * This,
  5764.     /* [out] */ BYTE __RPC_FAR RedLUT[ 256 ],
  5765.     /* [out] */ BYTE __RPC_FAR GreenLUT[ 256 ],
  5766.     /* [out] */ BYTE __RPC_FAR BlueLUT[ 256 ],
  5767.     /* [out] */ BYTE __RPC_FAR AlphaLUT[ 256 ]);
  5768.  
  5769.  
  5770. void __RPC_STUB IDXLookupTable_GetTables_Stub(
  5771.     IRpcStubBuffer *This,
  5772.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5773.     PRPC_MESSAGE _pRpcMessage,
  5774.     DWORD *_pdwStubPhase);
  5775.  
  5776.  
  5777. HRESULT STDMETHODCALLTYPE IDXLookupTable_IsChannelIdentity_Proxy( 
  5778.     IDXLookupTable __RPC_FAR * This,
  5779.     /* [out] */ DXBASESAMPLE __RPC_FAR *pSampleBools);
  5780.  
  5781.  
  5782. void __RPC_STUB IDXLookupTable_IsChannelIdentity_Stub(
  5783.     IRpcStubBuffer *This,
  5784.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5785.     PRPC_MESSAGE _pRpcMessage,
  5786.     DWORD *_pdwStubPhase);
  5787.  
  5788.  
  5789. HRESULT STDMETHODCALLTYPE IDXLookupTable_GetIndexValues_Proxy( 
  5790.     IDXLookupTable __RPC_FAR * This,
  5791.     /* [in] */ ULONG Index,
  5792.     /* [out] */ DXBASESAMPLE __RPC_FAR *pSample);
  5793.  
  5794.  
  5795. void __RPC_STUB IDXLookupTable_GetIndexValues_Stub(
  5796.     IRpcStubBuffer *This,
  5797.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5798.     PRPC_MESSAGE _pRpcMessage,
  5799.     DWORD *_pdwStubPhase);
  5800.  
  5801.  
  5802. HRESULT STDMETHODCALLTYPE IDXLookupTable_ApplyTables_Proxy( 
  5803.     IDXLookupTable __RPC_FAR * This,
  5804.     /* [out][in] */ DXSAMPLE __RPC_FAR *pSamples,
  5805.     /* [in] */ ULONG cSamples);
  5806.  
  5807.  
  5808. void __RPC_STUB IDXLookupTable_ApplyTables_Stub(
  5809.     IRpcStubBuffer *This,
  5810.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5811.     PRPC_MESSAGE _pRpcMessage,
  5812.     DWORD *_pdwStubPhase);
  5813.  
  5814.  
  5815.  
  5816. #endif     /* __IDXLookupTable_INTERFACE_DEFINED__ */
  5817.  
  5818.  
  5819. /* interface __MIDL_itf_dxtrans_0272 */
  5820. /* [local] */ 
  5821.  
  5822. typedef 
  5823. enum DX2DPOLYDRAW
  5824.     {    DX2D_WINDING_FILL    = 1L << 0,
  5825.     DX2D_NO_FLATTEN    = 1L << 1,
  5826.     DX2D_DO_GRID_FIT    = 1L << 2,
  5827.     DX2D_IS_RECT    = 1L << 3,
  5828.     DX2D_STROKE    = 1L << 4,
  5829.     DX2D_FILL    = 1L << 5,
  5830.     DX2D_UNUSED    = 0xffffffc0
  5831.     }    DX2DPOLYDRAW;
  5832.  
  5833. typedef struct DXFPOINT
  5834.     {
  5835.     FLOAT x;
  5836.     FLOAT y;
  5837.     }    DXFPOINT;
  5838.  
  5839. typedef 
  5840. enum DX2DPEN
  5841.     {    DX2D_PEN_DEFAULT    = 0,
  5842.     DX2D_PEN_WIDTH_IN_DISPLAY_COORDS    = 1L << 0,
  5843.     DX2D_PEN_UNUSED    = 0xfffffffe
  5844.     }    DX2DPEN;
  5845.  
  5846. typedef struct DXPEN
  5847.     {
  5848.     DXSAMPLE Color;
  5849.     float Width;
  5850.     DWORD Style;
  5851.     IDXSurface __RPC_FAR *pTexture;
  5852.     DXFPOINT TexturePos;
  5853.     DWORD dwFlags;
  5854.     }    DXPEN;
  5855.  
  5856. typedef struct DXBRUSH
  5857.     {
  5858.     DXSAMPLE Color;
  5859.     IDXSurface __RPC_FAR *pTexture;
  5860.     DXFPOINT TexturePos;
  5861.     }    DXBRUSH;
  5862.  
  5863. typedef 
  5864. enum DX2DGRADIENT
  5865.     {    DX2DGRAD_DEFAULT    = 0,
  5866.     DX2DGRAD_CLIPGRADIENT    = 1,
  5867.     DX2DGRAD_UNUSED    = 0xfffffffe
  5868.     }    DX2DGRADIENT;
  5869.  
  5870.  
  5871.  
  5872. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0272_v0_0_c_ifspec;
  5873. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0272_v0_0_s_ifspec;
  5874.  
  5875. #ifndef __IDX2DDebug_INTERFACE_DEFINED__
  5876. #define __IDX2DDebug_INTERFACE_DEFINED__
  5877.  
  5878. /* interface IDX2DDebug */
  5879. /* [object][unique][helpstring][uuid][local] */ 
  5880.  
  5881.  
  5882. EXTERN_C const IID IID_IDX2DDebug;
  5883.  
  5884. #if defined(__cplusplus) && !defined(CINTERFACE)
  5885.     
  5886.     MIDL_INTERFACE("03BB2457-A279-11d1-81C6-0000F87557DB")
  5887.     IDX2DDebug : public IUnknown
  5888.     {
  5889.     public:
  5890.         virtual HRESULT STDMETHODCALLTYPE SetDC( 
  5891.             HDC hDC) = 0;
  5892.         
  5893.         virtual HRESULT STDMETHODCALLTYPE GetDC( 
  5894.             HDC __RPC_FAR *phDC) = 0;
  5895.         
  5896.     };
  5897.     
  5898. #else     /* C style interface */
  5899.  
  5900.     typedef struct IDX2DDebugVtbl
  5901.     {
  5902.         BEGIN_INTERFACE
  5903.         
  5904.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5905.             IDX2DDebug __RPC_FAR * This,
  5906.             /* [in] */ REFIID riid,
  5907.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5908.         
  5909.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5910.             IDX2DDebug __RPC_FAR * This);
  5911.         
  5912.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5913.             IDX2DDebug __RPC_FAR * This);
  5914.         
  5915.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDC )( 
  5916.             IDX2DDebug __RPC_FAR * This,
  5917.             HDC hDC);
  5918.         
  5919.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDC )( 
  5920.             IDX2DDebug __RPC_FAR * This,
  5921.             HDC __RPC_FAR *phDC);
  5922.         
  5923.         END_INTERFACE
  5924.     } IDX2DDebugVtbl;
  5925.  
  5926.     interface IDX2DDebug
  5927.     {
  5928.         CONST_VTBL struct IDX2DDebugVtbl __RPC_FAR *lpVtbl;
  5929.     };
  5930.  
  5931.     
  5932.  
  5933. #ifdef COBJMACROS
  5934.  
  5935.  
  5936. #define IDX2DDebug_QueryInterface(This,riid,ppvObject)    \
  5937.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5938.  
  5939. #define IDX2DDebug_AddRef(This)    \
  5940.     (This)->lpVtbl -> AddRef(This)
  5941.  
  5942. #define IDX2DDebug_Release(This)    \
  5943.     (This)->lpVtbl -> Release(This)
  5944.  
  5945.  
  5946. #define IDX2DDebug_SetDC(This,hDC)    \
  5947.     (This)->lpVtbl -> SetDC(This,hDC)
  5948.  
  5949. #define IDX2DDebug_GetDC(This,phDC)    \
  5950.     (This)->lpVtbl -> GetDC(This,phDC)
  5951.  
  5952. #endif /* COBJMACROS */
  5953.  
  5954.  
  5955. #endif     /* C style interface */
  5956.  
  5957.  
  5958.  
  5959. HRESULT STDMETHODCALLTYPE IDX2DDebug_SetDC_Proxy( 
  5960.     IDX2DDebug __RPC_FAR * This,
  5961.     HDC hDC);
  5962.  
  5963.  
  5964. void __RPC_STUB IDX2DDebug_SetDC_Stub(
  5965.     IRpcStubBuffer *This,
  5966.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5967.     PRPC_MESSAGE _pRpcMessage,
  5968.     DWORD *_pdwStubPhase);
  5969.  
  5970.  
  5971. HRESULT STDMETHODCALLTYPE IDX2DDebug_GetDC_Proxy( 
  5972.     IDX2DDebug __RPC_FAR * This,
  5973.     HDC __RPC_FAR *phDC);
  5974.  
  5975.  
  5976. void __RPC_STUB IDX2DDebug_GetDC_Stub(
  5977.     IRpcStubBuffer *This,
  5978.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5979.     PRPC_MESSAGE _pRpcMessage,
  5980.     DWORD *_pdwStubPhase);
  5981.  
  5982.  
  5983.  
  5984. #endif     /* __IDX2DDebug_INTERFACE_DEFINED__ */
  5985.  
  5986.  
  5987. #ifndef __IDX2D_INTERFACE_DEFINED__
  5988. #define __IDX2D_INTERFACE_DEFINED__
  5989.  
  5990. /* interface IDX2D */
  5991. /* [object][unique][helpstring][uuid][local] */ 
  5992.  
  5993.  
  5994. EXTERN_C const IID IID_IDX2D;
  5995.  
  5996. #if defined(__cplusplus) && !defined(CINTERFACE)
  5997.     
  5998.     MIDL_INTERFACE("9EFD02A9-A996-11d1-81C9-0000F87557DB")
  5999.     IDX2D : public IUnknown
  6000.     {
  6001.     public:
  6002.         virtual HRESULT STDMETHODCALLTYPE SetTransformFactory( 
  6003.             IDXTransformFactory __RPC_FAR *pTransFact) = 0;
  6004.         
  6005.         virtual HRESULT STDMETHODCALLTYPE GetTransformFactory( 
  6006.             IDXTransformFactory __RPC_FAR *__RPC_FAR *ppTransFact) = 0;
  6007.         
  6008.         virtual HRESULT STDMETHODCALLTYPE SetSurface( 
  6009.             IUnknown __RPC_FAR *pSurface) = 0;
  6010.         
  6011.         virtual HRESULT STDMETHODCALLTYPE GetSurface( 
  6012.             REFIID riid,
  6013.             void __RPC_FAR *__RPC_FAR *ppSurface) = 0;
  6014.         
  6015.         virtual HRESULT STDMETHODCALLTYPE SetClipRect( 
  6016.             RECT __RPC_FAR *pClipRect) = 0;
  6017.         
  6018.         virtual HRESULT STDMETHODCALLTYPE GetClipRect( 
  6019.             RECT __RPC_FAR *pClipRect) = 0;
  6020.         
  6021.         virtual HRESULT STDMETHODCALLTYPE SetWorldTransform( 
  6022.             const DX2DXFORM __RPC_FAR *pXform) = 0;
  6023.         
  6024.         virtual HRESULT STDMETHODCALLTYPE GetWorldTransform( 
  6025.             DX2DXFORM __RPC_FAR *pXform) = 0;
  6026.         
  6027.         virtual HRESULT STDMETHODCALLTYPE SetPen( 
  6028.             const DXPEN __RPC_FAR *pPen) = 0;
  6029.         
  6030.         virtual HRESULT STDMETHODCALLTYPE GetPen( 
  6031.             DXPEN __RPC_FAR *pPen) = 0;
  6032.         
  6033.         virtual HRESULT STDMETHODCALLTYPE SetBrush( 
  6034.             const DXBRUSH __RPC_FAR *pBrush) = 0;
  6035.         
  6036.         virtual HRESULT STDMETHODCALLTYPE GetBrush( 
  6037.             DXBRUSH __RPC_FAR *pBrush) = 0;
  6038.         
  6039.         virtual HRESULT STDMETHODCALLTYPE SetBackgroundBrush( 
  6040.             const DXBRUSH __RPC_FAR *pBrush) = 0;
  6041.         
  6042.         virtual HRESULT STDMETHODCALLTYPE GetBackgroundBrush( 
  6043.             DXBRUSH __RPC_FAR *pBrush) = 0;
  6044.         
  6045.         virtual HRESULT STDMETHODCALLTYPE SetFont( 
  6046.             HFONT hFont) = 0;
  6047.         
  6048.         virtual HRESULT STDMETHODCALLTYPE GetFont( 
  6049.             HFONT __RPC_FAR *phFont) = 0;
  6050.         
  6051.         virtual HRESULT STDMETHODCALLTYPE Blt( 
  6052.             IUnknown __RPC_FAR *punkSrc,
  6053.             const RECT __RPC_FAR *pSrcRect,
  6054.             const POINT __RPC_FAR *pDest) = 0;
  6055.         
  6056.         virtual HRESULT STDMETHODCALLTYPE AAPolyDraw( 
  6057.             const DXFPOINT __RPC_FAR *pPos,
  6058.             const BYTE __RPC_FAR *pTypes,
  6059.             ULONG ulCount,
  6060.             ULONG SubSampRes,
  6061.             DWORD dwFlags) = 0;
  6062.         
  6063.         virtual HRESULT STDMETHODCALLTYPE AAText( 
  6064.             DXFPOINT Pos,
  6065.             LPWSTR pString,
  6066.             ULONG ulCount,
  6067.             DWORD dwFlags) = 0;
  6068.         
  6069.         virtual HRESULT STDMETHODCALLTYPE SetRadialGradientBrush( 
  6070.             /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  6071.             /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  6072.             /* [in] */ ULONG ulCount,
  6073.             /* [in] */ double dblOpacity,
  6074.             /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  6075.             /* [in] */ DWORD dwFlags) = 0;
  6076.         
  6077.         virtual HRESULT STDMETHODCALLTYPE SetLinearGradientBrush( 
  6078.             /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  6079.             /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  6080.             /* [in] */ ULONG ulCount,
  6081.             /* [in] */ double dblOpacity,
  6082.             /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  6083.             /* [in] */ DWORD dwFlags) = 0;
  6084.         
  6085.     };
  6086.     
  6087. #else     /* C style interface */
  6088.  
  6089.     typedef struct IDX2DVtbl
  6090.     {
  6091.         BEGIN_INTERFACE
  6092.         
  6093.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6094.             IDX2D __RPC_FAR * This,
  6095.             /* [in] */ REFIID riid,
  6096.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6097.         
  6098.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6099.             IDX2D __RPC_FAR * This);
  6100.         
  6101.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6102.             IDX2D __RPC_FAR * This);
  6103.         
  6104.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTransformFactory )( 
  6105.             IDX2D __RPC_FAR * This,
  6106.             IDXTransformFactory __RPC_FAR *pTransFact);
  6107.         
  6108.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTransformFactory )( 
  6109.             IDX2D __RPC_FAR * This,
  6110.             IDXTransformFactory __RPC_FAR *__RPC_FAR *ppTransFact);
  6111.         
  6112.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSurface )( 
  6113.             IDX2D __RPC_FAR * This,
  6114.             IUnknown __RPC_FAR *pSurface);
  6115.         
  6116.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )( 
  6117.             IDX2D __RPC_FAR * This,
  6118.             REFIID riid,
  6119.             void __RPC_FAR *__RPC_FAR *ppSurface);
  6120.         
  6121.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetClipRect )( 
  6122.             IDX2D __RPC_FAR * This,
  6123.             RECT __RPC_FAR *pClipRect);
  6124.         
  6125.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClipRect )( 
  6126.             IDX2D __RPC_FAR * This,
  6127.             RECT __RPC_FAR *pClipRect);
  6128.         
  6129.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetWorldTransform )( 
  6130.             IDX2D __RPC_FAR * This,
  6131.             const DX2DXFORM __RPC_FAR *pXform);
  6132.         
  6133.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWorldTransform )( 
  6134.             IDX2D __RPC_FAR * This,
  6135.             DX2DXFORM __RPC_FAR *pXform);
  6136.         
  6137.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPen )( 
  6138.             IDX2D __RPC_FAR * This,
  6139.             const DXPEN __RPC_FAR *pPen);
  6140.         
  6141.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPen )( 
  6142.             IDX2D __RPC_FAR * This,
  6143.             DXPEN __RPC_FAR *pPen);
  6144.         
  6145.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBrush )( 
  6146.             IDX2D __RPC_FAR * This,
  6147.             const DXBRUSH __RPC_FAR *pBrush);
  6148.         
  6149.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBrush )( 
  6150.             IDX2D __RPC_FAR * This,
  6151.             DXBRUSH __RPC_FAR *pBrush);
  6152.         
  6153.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBackgroundBrush )( 
  6154.             IDX2D __RPC_FAR * This,
  6155.             const DXBRUSH __RPC_FAR *pBrush);
  6156.         
  6157.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBackgroundBrush )( 
  6158.             IDX2D __RPC_FAR * This,
  6159.             DXBRUSH __RPC_FAR *pBrush);
  6160.         
  6161.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFont )( 
  6162.             IDX2D __RPC_FAR * This,
  6163.             HFONT hFont);
  6164.         
  6165.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFont )( 
  6166.             IDX2D __RPC_FAR * This,
  6167.             HFONT __RPC_FAR *phFont);
  6168.         
  6169.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Blt )( 
  6170.             IDX2D __RPC_FAR * This,
  6171.             IUnknown __RPC_FAR *punkSrc,
  6172.             const RECT __RPC_FAR *pSrcRect,
  6173.             const POINT __RPC_FAR *pDest);
  6174.         
  6175.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AAPolyDraw )( 
  6176.             IDX2D __RPC_FAR * This,
  6177.             const DXFPOINT __RPC_FAR *pPos,
  6178.             const BYTE __RPC_FAR *pTypes,
  6179.             ULONG ulCount,
  6180.             ULONG SubSampRes,
  6181.             DWORD dwFlags);
  6182.         
  6183.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AAText )( 
  6184.             IDX2D __RPC_FAR * This,
  6185.             DXFPOINT Pos,
  6186.             LPWSTR pString,
  6187.             ULONG ulCount,
  6188.             DWORD dwFlags);
  6189.         
  6190.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetRadialGradientBrush )( 
  6191.             IDX2D __RPC_FAR * This,
  6192.             /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  6193.             /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  6194.             /* [in] */ ULONG ulCount,
  6195.             /* [in] */ double dblOpacity,
  6196.             /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  6197.             /* [in] */ DWORD dwFlags);
  6198.         
  6199.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLinearGradientBrush )( 
  6200.             IDX2D __RPC_FAR * This,
  6201.             /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  6202.             /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  6203.             /* [in] */ ULONG ulCount,
  6204.             /* [in] */ double dblOpacity,
  6205.             /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  6206.             /* [in] */ DWORD dwFlags);
  6207.         
  6208.         END_INTERFACE
  6209.     } IDX2DVtbl;
  6210.  
  6211.     interface IDX2D
  6212.     {
  6213.         CONST_VTBL struct IDX2DVtbl __RPC_FAR *lpVtbl;
  6214.     };
  6215.  
  6216.     
  6217.  
  6218. #ifdef COBJMACROS
  6219.  
  6220.  
  6221. #define IDX2D_QueryInterface(This,riid,ppvObject)    \
  6222.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6223.  
  6224. #define IDX2D_AddRef(This)    \
  6225.     (This)->lpVtbl -> AddRef(This)
  6226.  
  6227. #define IDX2D_Release(This)    \
  6228.     (This)->lpVtbl -> Release(This)
  6229.  
  6230.  
  6231. #define IDX2D_SetTransformFactory(This,pTransFact)    \
  6232.     (This)->lpVtbl -> SetTransformFactory(This,pTransFact)
  6233.  
  6234. #define IDX2D_GetTransformFactory(This,ppTransFact)    \
  6235.     (This)->lpVtbl -> GetTransformFactory(This,ppTransFact)
  6236.  
  6237. #define IDX2D_SetSurface(This,pSurface)    \
  6238.     (This)->lpVtbl -> SetSurface(This,pSurface)
  6239.  
  6240. #define IDX2D_GetSurface(This,riid,ppSurface)    \
  6241.     (This)->lpVtbl -> GetSurface(This,riid,ppSurface)
  6242.  
  6243. #define IDX2D_SetClipRect(This,pClipRect)    \
  6244.     (This)->lpVtbl -> SetClipRect(This,pClipRect)
  6245.  
  6246. #define IDX2D_GetClipRect(This,pClipRect)    \
  6247.     (This)->lpVtbl -> GetClipRect(This,pClipRect)
  6248.  
  6249. #define IDX2D_SetWorldTransform(This,pXform)    \
  6250.     (This)->lpVtbl -> SetWorldTransform(This,pXform)
  6251.  
  6252. #define IDX2D_GetWorldTransform(This,pXform)    \
  6253.     (This)->lpVtbl -> GetWorldTransform(This,pXform)
  6254.  
  6255. #define IDX2D_SetPen(This,pPen)    \
  6256.     (This)->lpVtbl -> SetPen(This,pPen)
  6257.  
  6258. #define IDX2D_GetPen(This,pPen)    \
  6259.     (This)->lpVtbl -> GetPen(This,pPen)
  6260.  
  6261. #define IDX2D_SetBrush(This,pBrush)    \
  6262.     (This)->lpVtbl -> SetBrush(This,pBrush)
  6263.  
  6264. #define IDX2D_GetBrush(This,pBrush)    \
  6265.     (This)->lpVtbl -> GetBrush(This,pBrush)
  6266.  
  6267. #define IDX2D_SetBackgroundBrush(This,pBrush)    \
  6268.     (This)->lpVtbl -> SetBackgroundBrush(This,pBrush)
  6269.  
  6270. #define IDX2D_GetBackgroundBrush(This,pBrush)    \
  6271.     (This)->lpVtbl -> GetBackgroundBrush(This,pBrush)
  6272.  
  6273. #define IDX2D_SetFont(This,hFont)    \
  6274.     (This)->lpVtbl -> SetFont(This,hFont)
  6275.  
  6276. #define IDX2D_GetFont(This,phFont)    \
  6277.     (This)->lpVtbl -> GetFont(This,phFont)
  6278.  
  6279. #define IDX2D_Blt(This,punkSrc,pSrcRect,pDest)    \
  6280.     (This)->lpVtbl -> Blt(This,punkSrc,pSrcRect,pDest)
  6281.  
  6282. #define IDX2D_AAPolyDraw(This,pPos,pTypes,ulCount,SubSampRes,dwFlags)    \
  6283.     (This)->lpVtbl -> AAPolyDraw(This,pPos,pTypes,ulCount,SubSampRes,dwFlags)
  6284.  
  6285. #define IDX2D_AAText(This,Pos,pString,ulCount,dwFlags)    \
  6286.     (This)->lpVtbl -> AAText(This,Pos,pString,ulCount,dwFlags)
  6287.  
  6288. #define IDX2D_SetRadialGradientBrush(This,rgdblOffsets,rgdblColors,ulCount,dblOpacity,pXform,dwFlags)    \
  6289.     (This)->lpVtbl -> SetRadialGradientBrush(This,rgdblOffsets,rgdblColors,ulCount,dblOpacity,pXform,dwFlags)
  6290.  
  6291. #define IDX2D_SetLinearGradientBrush(This,rgdblOffsets,rgdblColors,ulCount,dblOpacity,pXform,dwFlags)    \
  6292.     (This)->lpVtbl -> SetLinearGradientBrush(This,rgdblOffsets,rgdblColors,ulCount,dblOpacity,pXform,dwFlags)
  6293.  
  6294. #endif /* COBJMACROS */
  6295.  
  6296.  
  6297. #endif     /* C style interface */
  6298.  
  6299.  
  6300.  
  6301. HRESULT STDMETHODCALLTYPE IDX2D_SetTransformFactory_Proxy( 
  6302.     IDX2D __RPC_FAR * This,
  6303.     IDXTransformFactory __RPC_FAR *pTransFact);
  6304.  
  6305.  
  6306. void __RPC_STUB IDX2D_SetTransformFactory_Stub(
  6307.     IRpcStubBuffer *This,
  6308.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6309.     PRPC_MESSAGE _pRpcMessage,
  6310.     DWORD *_pdwStubPhase);
  6311.  
  6312.  
  6313. HRESULT STDMETHODCALLTYPE IDX2D_GetTransformFactory_Proxy( 
  6314.     IDX2D __RPC_FAR * This,
  6315.     IDXTransformFactory __RPC_FAR *__RPC_FAR *ppTransFact);
  6316.  
  6317.  
  6318. void __RPC_STUB IDX2D_GetTransformFactory_Stub(
  6319.     IRpcStubBuffer *This,
  6320.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6321.     PRPC_MESSAGE _pRpcMessage,
  6322.     DWORD *_pdwStubPhase);
  6323.  
  6324.  
  6325. HRESULT STDMETHODCALLTYPE IDX2D_SetSurface_Proxy( 
  6326.     IDX2D __RPC_FAR * This,
  6327.     IUnknown __RPC_FAR *pSurface);
  6328.  
  6329.  
  6330. void __RPC_STUB IDX2D_SetSurface_Stub(
  6331.     IRpcStubBuffer *This,
  6332.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6333.     PRPC_MESSAGE _pRpcMessage,
  6334.     DWORD *_pdwStubPhase);
  6335.  
  6336.  
  6337. HRESULT STDMETHODCALLTYPE IDX2D_GetSurface_Proxy( 
  6338.     IDX2D __RPC_FAR * This,
  6339.     REFIID riid,
  6340.     void __RPC_FAR *__RPC_FAR *ppSurface);
  6341.  
  6342.  
  6343. void __RPC_STUB IDX2D_GetSurface_Stub(
  6344.     IRpcStubBuffer *This,
  6345.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6346.     PRPC_MESSAGE _pRpcMessage,
  6347.     DWORD *_pdwStubPhase);
  6348.  
  6349.  
  6350. HRESULT STDMETHODCALLTYPE IDX2D_SetClipRect_Proxy( 
  6351.     IDX2D __RPC_FAR * This,
  6352.     RECT __RPC_FAR *pClipRect);
  6353.  
  6354.  
  6355. void __RPC_STUB IDX2D_SetClipRect_Stub(
  6356.     IRpcStubBuffer *This,
  6357.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6358.     PRPC_MESSAGE _pRpcMessage,
  6359.     DWORD *_pdwStubPhase);
  6360.  
  6361.  
  6362. HRESULT STDMETHODCALLTYPE IDX2D_GetClipRect_Proxy( 
  6363.     IDX2D __RPC_FAR * This,
  6364.     RECT __RPC_FAR *pClipRect);
  6365.  
  6366.  
  6367. void __RPC_STUB IDX2D_GetClipRect_Stub(
  6368.     IRpcStubBuffer *This,
  6369.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6370.     PRPC_MESSAGE _pRpcMessage,
  6371.     DWORD *_pdwStubPhase);
  6372.  
  6373.  
  6374. HRESULT STDMETHODCALLTYPE IDX2D_SetWorldTransform_Proxy( 
  6375.     IDX2D __RPC_FAR * This,
  6376.     const DX2DXFORM __RPC_FAR *pXform);
  6377.  
  6378.  
  6379. void __RPC_STUB IDX2D_SetWorldTransform_Stub(
  6380.     IRpcStubBuffer *This,
  6381.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6382.     PRPC_MESSAGE _pRpcMessage,
  6383.     DWORD *_pdwStubPhase);
  6384.  
  6385.  
  6386. HRESULT STDMETHODCALLTYPE IDX2D_GetWorldTransform_Proxy( 
  6387.     IDX2D __RPC_FAR * This,
  6388.     DX2DXFORM __RPC_FAR *pXform);
  6389.  
  6390.  
  6391. void __RPC_STUB IDX2D_GetWorldTransform_Stub(
  6392.     IRpcStubBuffer *This,
  6393.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6394.     PRPC_MESSAGE _pRpcMessage,
  6395.     DWORD *_pdwStubPhase);
  6396.  
  6397.  
  6398. HRESULT STDMETHODCALLTYPE IDX2D_SetPen_Proxy( 
  6399.     IDX2D __RPC_FAR * This,
  6400.     const DXPEN __RPC_FAR *pPen);
  6401.  
  6402.  
  6403. void __RPC_STUB IDX2D_SetPen_Stub(
  6404.     IRpcStubBuffer *This,
  6405.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6406.     PRPC_MESSAGE _pRpcMessage,
  6407.     DWORD *_pdwStubPhase);
  6408.  
  6409.  
  6410. HRESULT STDMETHODCALLTYPE IDX2D_GetPen_Proxy( 
  6411.     IDX2D __RPC_FAR * This,
  6412.     DXPEN __RPC_FAR *pPen);
  6413.  
  6414.  
  6415. void __RPC_STUB IDX2D_GetPen_Stub(
  6416.     IRpcStubBuffer *This,
  6417.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6418.     PRPC_MESSAGE _pRpcMessage,
  6419.     DWORD *_pdwStubPhase);
  6420.  
  6421.  
  6422. HRESULT STDMETHODCALLTYPE IDX2D_SetBrush_Proxy( 
  6423.     IDX2D __RPC_FAR * This,
  6424.     const DXBRUSH __RPC_FAR *pBrush);
  6425.  
  6426.  
  6427. void __RPC_STUB IDX2D_SetBrush_Stub(
  6428.     IRpcStubBuffer *This,
  6429.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6430.     PRPC_MESSAGE _pRpcMessage,
  6431.     DWORD *_pdwStubPhase);
  6432.  
  6433.  
  6434. HRESULT STDMETHODCALLTYPE IDX2D_GetBrush_Proxy( 
  6435.     IDX2D __RPC_FAR * This,
  6436.     DXBRUSH __RPC_FAR *pBrush);
  6437.  
  6438.  
  6439. void __RPC_STUB IDX2D_GetBrush_Stub(
  6440.     IRpcStubBuffer *This,
  6441.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6442.     PRPC_MESSAGE _pRpcMessage,
  6443.     DWORD *_pdwStubPhase);
  6444.  
  6445.  
  6446. HRESULT STDMETHODCALLTYPE IDX2D_SetBackgroundBrush_Proxy( 
  6447.     IDX2D __RPC_FAR * This,
  6448.     const DXBRUSH __RPC_FAR *pBrush);
  6449.  
  6450.  
  6451. void __RPC_STUB IDX2D_SetBackgroundBrush_Stub(
  6452.     IRpcStubBuffer *This,
  6453.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6454.     PRPC_MESSAGE _pRpcMessage,
  6455.     DWORD *_pdwStubPhase);
  6456.  
  6457.  
  6458. HRESULT STDMETHODCALLTYPE IDX2D_GetBackgroundBrush_Proxy( 
  6459.     IDX2D __RPC_FAR * This,
  6460.     DXBRUSH __RPC_FAR *pBrush);
  6461.  
  6462.  
  6463. void __RPC_STUB IDX2D_GetBackgroundBrush_Stub(
  6464.     IRpcStubBuffer *This,
  6465.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6466.     PRPC_MESSAGE _pRpcMessage,
  6467.     DWORD *_pdwStubPhase);
  6468.  
  6469.  
  6470. HRESULT STDMETHODCALLTYPE IDX2D_SetFont_Proxy( 
  6471.     IDX2D __RPC_FAR * This,
  6472.     HFONT hFont);
  6473.  
  6474.  
  6475. void __RPC_STUB IDX2D_SetFont_Stub(
  6476.     IRpcStubBuffer *This,
  6477.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6478.     PRPC_MESSAGE _pRpcMessage,
  6479.     DWORD *_pdwStubPhase);
  6480.  
  6481.  
  6482. HRESULT STDMETHODCALLTYPE IDX2D_GetFont_Proxy( 
  6483.     IDX2D __RPC_FAR * This,
  6484.     HFONT __RPC_FAR *phFont);
  6485.  
  6486.  
  6487. void __RPC_STUB IDX2D_GetFont_Stub(
  6488.     IRpcStubBuffer *This,
  6489.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6490.     PRPC_MESSAGE _pRpcMessage,
  6491.     DWORD *_pdwStubPhase);
  6492.  
  6493.  
  6494. HRESULT STDMETHODCALLTYPE IDX2D_Blt_Proxy( 
  6495.     IDX2D __RPC_FAR * This,
  6496.     IUnknown __RPC_FAR *punkSrc,
  6497.     const RECT __RPC_FAR *pSrcRect,
  6498.     const POINT __RPC_FAR *pDest);
  6499.  
  6500.  
  6501. void __RPC_STUB IDX2D_Blt_Stub(
  6502.     IRpcStubBuffer *This,
  6503.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6504.     PRPC_MESSAGE _pRpcMessage,
  6505.     DWORD *_pdwStubPhase);
  6506.  
  6507.  
  6508. HRESULT STDMETHODCALLTYPE IDX2D_AAPolyDraw_Proxy( 
  6509.     IDX2D __RPC_FAR * This,
  6510.     const DXFPOINT __RPC_FAR *pPos,
  6511.     const BYTE __RPC_FAR *pTypes,
  6512.     ULONG ulCount,
  6513.     ULONG SubSampRes,
  6514.     DWORD dwFlags);
  6515.  
  6516.  
  6517. void __RPC_STUB IDX2D_AAPolyDraw_Stub(
  6518.     IRpcStubBuffer *This,
  6519.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6520.     PRPC_MESSAGE _pRpcMessage,
  6521.     DWORD *_pdwStubPhase);
  6522.  
  6523.  
  6524. HRESULT STDMETHODCALLTYPE IDX2D_AAText_Proxy( 
  6525.     IDX2D __RPC_FAR * This,
  6526.     DXFPOINT Pos,
  6527.     LPWSTR pString,
  6528.     ULONG ulCount,
  6529.     DWORD dwFlags);
  6530.  
  6531.  
  6532. void __RPC_STUB IDX2D_AAText_Stub(
  6533.     IRpcStubBuffer *This,
  6534.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6535.     PRPC_MESSAGE _pRpcMessage,
  6536.     DWORD *_pdwStubPhase);
  6537.  
  6538.  
  6539. HRESULT STDMETHODCALLTYPE IDX2D_SetRadialGradientBrush_Proxy( 
  6540.     IDX2D __RPC_FAR * This,
  6541.     /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  6542.     /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  6543.     /* [in] */ ULONG ulCount,
  6544.     /* [in] */ double dblOpacity,
  6545.     /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  6546.     /* [in] */ DWORD dwFlags);
  6547.  
  6548.  
  6549. void __RPC_STUB IDX2D_SetRadialGradientBrush_Stub(
  6550.     IRpcStubBuffer *This,
  6551.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6552.     PRPC_MESSAGE _pRpcMessage,
  6553.     DWORD *_pdwStubPhase);
  6554.  
  6555.  
  6556. HRESULT STDMETHODCALLTYPE IDX2D_SetLinearGradientBrush_Proxy( 
  6557.     IDX2D __RPC_FAR * This,
  6558.     /* [size_is][in] */ double __RPC_FAR *rgdblOffsets,
  6559.     /* [size_is][in] */ double __RPC_FAR *rgdblColors,
  6560.     /* [in] */ ULONG ulCount,
  6561.     /* [in] */ double dblOpacity,
  6562.     /* [in] */ DX2DXFORM __RPC_FAR *pXform,
  6563.     /* [in] */ DWORD dwFlags);
  6564.  
  6565.  
  6566. void __RPC_STUB IDX2D_SetLinearGradientBrush_Stub(
  6567.     IRpcStubBuffer *This,
  6568.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6569.     PRPC_MESSAGE _pRpcMessage,
  6570.     DWORD *_pdwStubPhase);
  6571.  
  6572.  
  6573.  
  6574. #endif     /* __IDX2D_INTERFACE_DEFINED__ */
  6575.  
  6576.  
  6577. /* interface __MIDL_itf_dxtrans_0274 */
  6578. /* [local] */ 
  6579.  
  6580. typedef struct DXRAWSURFACEINFO
  6581.     {
  6582.     BYTE __RPC_FAR *pFirstByte;
  6583.     long lPitch;
  6584.     ULONG Width;
  6585.     ULONG Height;
  6586.     const GUID __RPC_FAR *pPixelFormat;
  6587.     HDC hdc;
  6588.     DWORD dwColorKey;
  6589.     DXBASESAMPLE __RPC_FAR *pPalette;
  6590.     }    DXRAWSURFACEINFO;
  6591.  
  6592.  
  6593.  
  6594. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0274_v0_0_c_ifspec;
  6595. extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0274_v0_0_s_ifspec;
  6596.  
  6597. #ifndef __IDXRawSurface_INTERFACE_DEFINED__
  6598. #define __IDXRawSurface_INTERFACE_DEFINED__
  6599.  
  6600. /* interface IDXRawSurface */
  6601. /* [object][local][unique][helpstring][uuid] */ 
  6602.  
  6603.  
  6604. EXTERN_C const IID IID_IDXRawSurface;
  6605.  
  6606. #if defined(__cplusplus) && !defined(CINTERFACE)
  6607.     
  6608.     MIDL_INTERFACE("09756C8A-D96A-11d1-9062-00C04FD9189D")
  6609.     IDXRawSurface : public IUnknown
  6610.     {
  6611.     public:
  6612.         virtual HRESULT STDMETHODCALLTYPE GetSurfaceInfo( 
  6613.             DXRAWSURFACEINFO __RPC_FAR *pSurfaceInfo) = 0;
  6614.         
  6615.     };
  6616.     
  6617. #else     /* C style interface */
  6618.  
  6619.     typedef struct IDXRawSurfaceVtbl
  6620.     {
  6621.         BEGIN_INTERFACE
  6622.         
  6623.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6624.             IDXRawSurface __RPC_FAR * This,
  6625.             /* [in] */ REFIID riid,
  6626.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6627.         
  6628.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6629.             IDXRawSurface __RPC_FAR * This);
  6630.         
  6631.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6632.             IDXRawSurface __RPC_FAR * This);
  6633.         
  6634.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSurfaceInfo )( 
  6635.             IDXRawSurface __RPC_FAR * This,
  6636.             DXRAWSURFACEINFO __RPC_FAR *pSurfaceInfo);
  6637.         
  6638.         END_INTERFACE
  6639.     } IDXRawSurfaceVtbl;
  6640.  
  6641.     interface IDXRawSurface
  6642.     {
  6643.         CONST_VTBL struct IDXRawSurfaceVtbl __RPC_FAR *lpVtbl;
  6644.     };
  6645.  
  6646.     
  6647.  
  6648. #ifdef COBJMACROS
  6649.  
  6650.  
  6651. #define IDXRawSurface_QueryInterface(This,riid,ppvObject)    \
  6652.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6653.  
  6654. #define IDXRawSurface_AddRef(This)    \
  6655.     (This)->lpVtbl -> AddRef(This)
  6656.  
  6657. #define IDXRawSurface_Release(This)    \
  6658.     (This)->lpVtbl -> Release(This)
  6659.  
  6660.  
  6661. #define IDXRawSurface_GetSurfaceInfo(This,pSurfaceInfo)    \
  6662.     (This)->lpVtbl -> GetSurfaceInfo(This,pSurfaceInfo)
  6663.  
  6664. #endif /* COBJMACROS */
  6665.  
  6666.  
  6667. #endif     /* C style interface */
  6668.  
  6669.  
  6670.  
  6671. HRESULT STDMETHODCALLTYPE IDXRawSurface_GetSurfaceInfo_Proxy( 
  6672.     IDXRawSurface __RPC_FAR * This,
  6673.     DXRAWSURFACEINFO __RPC_FAR *pSurfaceInfo);
  6674.  
  6675.  
  6676. void __RPC_STUB IDXRawSurface_GetSurfaceInfo_Stub(
  6677.     IRpcStubBuffer *This,
  6678.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6679.     PRPC_MESSAGE _pRpcMessage,
  6680.     DWORD *_pdwStubPhase);
  6681.  
  6682.  
  6683.  
  6684. #endif     /* __IDXRawSurface_INTERFACE_DEFINED__ */
  6685.  
  6686.  
  6687.  
  6688. #ifndef __DXTRANSLib_LIBRARY_DEFINED__
  6689. #define __DXTRANSLib_LIBRARY_DEFINED__
  6690.  
  6691. /* library DXTRANSLib */
  6692. /* [helpstring][version][uuid] */ 
  6693.  
  6694.  
  6695. EXTERN_C const IID LIBID_DXTRANSLib;
  6696.  
  6697. EXTERN_C const CLSID CLSID_DXTransformFactory;
  6698.  
  6699. #ifdef __cplusplus
  6700.  
  6701. class DECLSPEC_UUID("D1FE6762-FC48-11D0-883A-3C8B00C10000")
  6702. DXTransformFactory;
  6703. #endif
  6704.  
  6705. EXTERN_C const CLSID CLSID_DXTaskManager;
  6706.  
  6707. #ifdef __cplusplus
  6708.  
  6709. class DECLSPEC_UUID("4CB26C03-FF93-11d0-817E-0000F87557DB")
  6710. DXTaskManager;
  6711. #endif
  6712.  
  6713. EXTERN_C const CLSID CLSID_DXTScale;
  6714.  
  6715. #ifdef __cplusplus
  6716.  
  6717. class DECLSPEC_UUID("555278E2-05DB-11D1-883A-3C8B00C10000")
  6718. DXTScale;
  6719. #endif
  6720.  
  6721. EXTERN_C const CLSID CLSID_DXTLabel;
  6722.  
  6723. #ifdef __cplusplus
  6724.  
  6725. class DECLSPEC_UUID("54702535-2606-11D1-999C-0000F8756A10")
  6726. DXTLabel;
  6727. #endif
  6728.  
  6729. EXTERN_C const CLSID CLSID_DX2D;
  6730.  
  6731. #ifdef __cplusplus
  6732.  
  6733. class DECLSPEC_UUID("473AA80B-4577-11D1-81A8-0000F87557DB")
  6734. DX2D;
  6735. #endif
  6736.  
  6737. EXTERN_C const CLSID CLSID_DXSurface;
  6738.  
  6739. #ifdef __cplusplus
  6740.  
  6741. class DECLSPEC_UUID("0E890F83-5F79-11D1-9043-00C04FD9189D")
  6742. DXSurface;
  6743. #endif
  6744.  
  6745. EXTERN_C const CLSID CLSID_DXSurfaceModifier;
  6746.  
  6747. #ifdef __cplusplus
  6748.  
  6749. class DECLSPEC_UUID("3E669F1D-9C23-11d1-9053-00C04FD9189D")
  6750. DXSurfaceModifier;
  6751. #endif
  6752.  
  6753. EXTERN_C const CLSID CLSID_DXRasterizer;
  6754.  
  6755. #ifdef __cplusplus
  6756.  
  6757. class DECLSPEC_UUID("8652CE55-9E80-11D1-9053-00C04FD9189D")
  6758. DXRasterizer;
  6759. #endif
  6760.  
  6761. EXTERN_C const CLSID CLSID_DXGradient;
  6762.  
  6763. #ifdef __cplusplus
  6764.  
  6765. class DECLSPEC_UUID("C6365470-F667-11d1-9067-00C04FD9189D")
  6766. DXGradient;
  6767. #endif
  6768. #endif /* __DXTRANSLib_LIBRARY_DEFINED__ */
  6769.  
  6770. /* Additional Prototypes for ALL interfaces */
  6771.  
  6772. unsigned long             __RPC_USER  HFONT_UserSize(     unsigned long __RPC_FAR *, unsigned long            , HFONT __RPC_FAR * ); 
  6773. unsigned char __RPC_FAR * __RPC_USER  HFONT_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HFONT __RPC_FAR * ); 
  6774. unsigned char __RPC_FAR * __RPC_USER  HFONT_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HFONT __RPC_FAR * ); 
  6775. void                      __RPC_USER  HFONT_UserFree(     unsigned long __RPC_FAR *, HFONT __RPC_FAR * ); 
  6776.  
  6777. /* end of Additional Prototypes */
  6778.  
  6779. #ifdef __cplusplus
  6780. }
  6781. #endif
  6782.  
  6783. #endif
  6784.  
  6785.  
  6786. #pragma option pop /*P_O_Pop*/
  6787.