/[cvs]/api/include/dxtrans.h
ViewVC logotype

Annotation of /api/include/dxtrans.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1.1.1 - (hide annotations) (vendor branch)
Sun Jul 1 20:47:59 2001 UTC (22 years, 10 months ago) by bearsoft
Branch: lazy, MAIN
CVS Tags: start, HEAD
Changes since 1.1: +0 -0 lines
File MIME type: text/plain
First import

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

root@recompile.se
ViewVC Help
Powered by ViewVC 1.1.26