Implemented msvcrt._mbspbrk.
[wine/wine-kai.git] / include / amvideo.h
blob20fd693ba8399980f06423816d5b3a0b16206d2a
1 #ifndef __WINE_AMVIDEO_H_
2 #define __WINE_AMVIDEO_H_
4 #include "ole2.h"
5 #include "ddraw.h"
7 typedef struct IBaseVideoMixer IBaseVideoMixer;
8 typedef struct IDirectDrawVideo IDirectDrawVideo;
9 typedef struct IFullScreenVideo IFullScreenVideo;
10 typedef struct IFullScreenVideoEx IFullScreenVideoEx;
11 typedef struct IQualProp IQualProp;
13 /**************************************************************************
15 * IBaseVideoMixer interface
19 #define ICOM_INTERFACE IBaseVideoMixer
20 #define IBaseVideoMixer_METHODS \
21 ICOM_METHOD1(HRESULT,SetLeadPin,int,a1) \
22 ICOM_METHOD1(HRESULT,GetLeadPin,int*,a1) \
23 ICOM_METHOD1(HRESULT,GetInputPinCount,int*,a1) \
24 ICOM_METHOD1(HRESULT,IsUsingClock,int*,a1) \
25 ICOM_METHOD1(HRESULT,SetUsingClock,int,a1) \
26 ICOM_METHOD1(HRESULT,GetClockPeriod,int*,a1) \
27 ICOM_METHOD1(HRESULT,SetClockPeriod,int,a1)
29 #define IBaseVideoMixer_IMETHODS \
30 IUnknown_IMETHODS \
31 IBaseVideoMixer_METHODS
33 ICOM_DEFINE(IBaseVideoMixer,IUnknown)
34 #undef ICOM_INTERFACE
36 /*** IUnknown methods ***/
37 #define IBaseVideoMixer_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
38 #define IBaseVideoMixer_AddRef(p) ICOM_CALL (AddRef,p)
39 #define IBaseVideoMixer_Release(p) ICOM_CALL (Release,p)
40 /*** IBaseVideoMixer methods ***/
41 #define IBaseVideoMixer_SetLeadPin(p,a1) ICOM_CALL1(SetLeadPin,p,a1)
42 #define IBaseVideoMixer_GetLeadPin(p,a1) ICOM_CALL1(GetLeadPin,p,a1)
43 #define IBaseVideoMixer_GetInputPinCount(p,a1) ICOM_CALL1(GetInputPinCount,p,a1)
44 #define IBaseVideoMixer_IsUsingClock(p,a1) ICOM_CALL1(IsUsingClock,p,a1)
45 #define IBaseVideoMixer_SetUsingClock(p,a1) ICOM_CALL1(SetUsingClock,p,a1)
46 #define IBaseVideoMixer_GetClockPeriod(p,a1) ICOM_CALL1(GetClockPeriod,p,a1)
47 #define IBaseVideoMixer_SetClockPeriod(p,a1) ICOM_CALL1(SetClockPeriod,p,a1)
49 /**************************************************************************
51 * IDirectDrawVideo interface
55 #define ICOM_INTERFACE IDirectDrawVideo
56 #define IDirectDrawVideo_METHODS \
57 ICOM_METHOD1(HRESULT,GetSwitches,DWORD*,a1) \
58 ICOM_METHOD1(HRESULT,SetSwitches,DWORD,a1) \
59 ICOM_METHOD1(HRESULT,GetCaps,DDCAPS*,a1) \
60 ICOM_METHOD1(HRESULT,GetEmulatedCaps,DDCAPS*,a1) \
61 ICOM_METHOD1(HRESULT,GetSurfaceDesc,DDSURFACEDESC*,a1) \
62 ICOM_METHOD2(HRESULT,GetFourCCCodes,DWORD*,a1,DWORD*,a2) \
63 ICOM_METHOD1(HRESULT,SetDirectDraw,LPDIRECTDRAW,a1) \
64 ICOM_METHOD1(HRESULT,GetDirectDraw,LPDIRECTDRAW*,a1) \
65 ICOM_METHOD1(HRESULT,GetSurfaceType,DWORD*,a1) \
66 ICOM_METHOD(HRESULT,SetDefault) \
67 ICOM_METHOD1(HRESULT,UseScanLine,long,a1) \
68 ICOM_METHOD1(HRESULT,CanUseScanLine,long*,a1) \
69 ICOM_METHOD1(HRESULT,UseOverlayStretch,long,a1) \
70 ICOM_METHOD1(HRESULT,CanUseOverlayStretch,long*,a1) \
71 ICOM_METHOD1(HRESULT,UseWhenFullScreen,long,a1) \
72 ICOM_METHOD1(HRESULT,WillUseFullScreen,long*,a1)
74 #define IDirectDrawVideo_IMETHODS \
75 IUnknown_IMETHODS \
76 IDirectDrawVideo_METHODS
78 ICOM_DEFINE(IDirectDrawVideo,IUnknown)
79 #undef ICOM_INTERFACE
81 /*** IUnknown methods ***/
82 #define IDirectDrawVideo_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
83 #define IDirectDrawVideo_AddRef(p) ICOM_CALL (AddRef,p)
84 #define IDirectDrawVideo_Release(p) ICOM_CALL (Release,p)
85 /*** IDirectDrawVideo methods ***/
86 #define IDirectDrawVideo_GetSwitches(p,a1) ICOM_CALL1(GetSwitches,p,a1)
87 #define IDirectDrawVideo_SetSwitches(p,a1) ICOM_CALL1(SetSwitches,p,a1)
88 #define IDirectDrawVideo_GetCaps(p,a1) ICOM_CALL1(GetCaps,p,a1)
89 #define IDirectDrawVideo_GetEmulatedCaps(p,a1) ICOM_CALL1(GetEmulatedCaps,p,a1)
90 #define IDirectDrawVideo_GetSurfaceDesc(p,a1) ICOM_CALL1(GetSurfaceDesc,p,a1)
91 #define IDirectDrawVideo_GetFourCCCodes(p,a1,a2) ICOM_CALL2(GetFourCCCodes,p,a1,a2)
92 #define IDirectDrawVideo_SetDirectDraw(p,a1) ICOM_CALL1(SetDirectDraw,p,a1)
93 #define IDirectDrawVideo_GetDirectDraw(p,a1) ICOM_CALL1(GetDirectDraw,p,a1)
94 #define IDirectDrawVideo_GetSurfaceType(p,a1) ICOM_CALL1(GetSurfaceType,p,a1)
95 #define IDirectDrawVideo_SetDefault(p) ICOM_CALL (SetDefault,p)
96 #define IDirectDrawVideo_UseScanLine(p,a1) ICOM_CALL1(UseScanLine,p,a1)
97 #define IDirectDrawVideo_CanUseScanLine(p,a1) ICOM_CALL1(CanUseScanLine,p,a1)
98 #define IDirectDrawVideo_UseOverlayStretch(p,a1) ICOM_CALL1(UseOverlayStretch,p,a1)
99 #define IDirectDrawVideo_CanUseOverlayStretch(p,a1) ICOM_CALL1(CanUseOverlayStretch,p,a1)
100 #define IDirectDrawVideo_UseWhenFullScreen(p,a1) ICOM_CALL1(UseWhenFullScreen,p,a1)
101 #define IDirectDrawVideo_WillUseFullScreen(p,a1) ICOM_CALL1(WillUseFullScreen,p,a1)
103 /**************************************************************************
105 * IFullScreenVideo interface
109 #define ICOM_INTERFACE IFullScreenVideo
110 #define IFullScreenVideo_METHODS \
111 ICOM_METHOD1(HRESULT,CountModes,long*,a1) \
112 ICOM_METHOD4(HRESULT,GetModeInfo,long,a1,long*,a2,long*,a3,long*,a4) \
113 ICOM_METHOD1(HRESULT,GetCurrentMode,long*,a1) \
114 ICOM_METHOD1(HRESULT,IsModeAvailable,long,a1) \
115 ICOM_METHOD1(HRESULT,IsModeEnabled,long,a1) \
116 ICOM_METHOD2(HRESULT,SetEnabled,long,a1,long,a2) \
117 ICOM_METHOD1(HRESULT,GetClipFactor,long*,a1) \
118 ICOM_METHOD1(HRESULT,SetClipFactor,long,a1) \
119 ICOM_METHOD1(HRESULT,SetMessageDrain,HWND,a1) \
120 ICOM_METHOD1(HRESULT,GetMessageDrain,HWND*,a1) \
121 ICOM_METHOD1(HRESULT,SetMonitor,long,a1) \
122 ICOM_METHOD1(HRESULT,GetMonitor,long*,a1) \
123 ICOM_METHOD1(HRESULT,HideOnDeactivate,long,a1) \
124 ICOM_METHOD(HRESULT,IsHideOnDeactivate) \
125 ICOM_METHOD1(HRESULT,SetCaption,BSTR,a1) \
126 ICOM_METHOD1(HRESULT,GetCaption,BSTR*,a1) \
127 ICOM_METHOD(HRESULT,SetDefault)
129 #define IFullScreenVideo_IMETHODS \
130 IUnknown_IMETHODS \
131 IFullScreenVideo_METHODS
133 ICOM_DEFINE(IFullScreenVideo,IUnknown)
134 #undef ICOM_INTERFACE
136 /*** IUnknown methods ***/
137 #define IFullScreenVideo_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
138 #define IFullScreenVideo_AddRef(p) ICOM_CALL (AddRef,p)
139 #define IFullScreenVideo_Release(p) ICOM_CALL (Release,p)
140 /*** IFullScreenVideo methods ***/
141 #define IFullScreenVideo_CountModes(p,a1) ICOM_CALL1(CountModes,p,a1)
142 #define IFullScreenVideo_GetModeInfo(p,a1,a2,a3,a4) ICOM_CALL4(GetModeInfo,p,a1,a2,a3,a4)
143 #define IFullScreenVideo_GetCurrentMode(p,a1) ICOM_CALL1(GetCurrentMode,p,a1)
144 #define IFullScreenVideo_IsModeAvailable(p,a1) ICOM_CALL1(IsModeAvailable,p,a1)
145 #define IFullScreenVideo_IsModeEnabled(p,a1) ICOM_CALL1(IsModeEnabled,p,a1)
146 #define IFullScreenVideo_SetEnabled(p,a1,a2) ICOM_CALL2(SetEnabled,p,a1,a2)
147 #define IFullScreenVideo_GetClipFactor(p,a1) ICOM_CALL1(GetClipFactor,p,a1)
148 #define IFullScreenVideo_SetClipFactor(p,a1) ICOM_CALL1(SetClipFactor,p,a1)
149 #define IFullScreenVideo_SetMessageDrain(p,a1) ICOM_CALL1(SetMessageDrain,p,a1)
150 #define IFullScreenVideo_GetMessageDrain(p,a1) ICOM_CALL1(GetMessageDrain,p,a1)
151 #define IFullScreenVideo_SetMonitor(p,a1) ICOM_CALL1(SetMonitor,p,a1)
152 #define IFullScreenVideo_GetMonitor(p,a1) ICOM_CALL1(GetMonitor,p,a1)
153 #define IFullScreenVideo_HideOnDeactivate(p,a1) ICOM_CALL1(HideOnDeactivate,p,a1)
154 #define IFullScreenVideo_IsHideOnDeactivate(p) ICOM_CALL (IsHideOnDeactivate,p)
155 #define IFullScreenVideo_SetCaption(p,a1) ICOM_CALL1(SetCaption,p,a1)
156 #define IFullScreenVideo_GetCaption(p,a1) ICOM_CALL1(GetCaption,p,a1)
157 #define IFullScreenVideo_SetDefault(p) ICOM_CALL (SetDefault,p)
159 /**************************************************************************
161 * IFullScreenVideoEx interface
165 #define ICOM_INTERFACE IFullScreenVideoEx
166 #define IFullScreenVideoEx_METHODS \
167 ICOM_METHOD2(HRESULT,SetAcceleratorTable,HWND,a1,HACCEL,a2) \
168 ICOM_METHOD2(HRESULT,GetAcceleratorTable,HWND*,a1,HACCEL*,a2) \
169 ICOM_METHOD1(HRESULT,KeepPixelAspectRatio,long,a1) \
170 ICOM_METHOD1(HRESULT,IsKeepPixelAspectRatio,long*,a1)
172 #define IFullScreenVideoEx_IMETHODS \
173 IFullScreenVideo_IMETHODS \
174 IFullScreenVideoEx_METHODS
176 ICOM_DEFINE(IFullScreenVideoEx,IFullScreenVideo)
177 #undef ICOM_INTERFACE
179 /*** IUnknown methods ***/
180 #define IFullScreenVideoEx_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
181 #define IFullScreenVideoEx_AddRef(p) ICOM_CALL (AddRef,p)
182 #define IFullScreenVideoEx_Release(p) ICOM_CALL (Release,p)
183 /*** IFullScreenVideo methods ***/
184 #define IFullScreenVideoEx_CountModes(p,a1) ICOM_CALL1(CountModes,p,a1)
185 #define IFullScreenVideoEx_GetModeInfo(p,a1,a2,a3,a4) ICOM_CALL4(GetModeInfo,p,a1,a2,a3,a4)
186 #define IFullScreenVideoEx_GetCurrentMode(p,a1) ICOM_CALL1(GetCurrentMode,p,a1)
187 #define IFullScreenVideoEx_IsModeAvailable(p,a1) ICOM_CALL1(IsModeAvailable,p,a1)
188 #define IFullScreenVideoEx_IsModeEnabled(p,a1) ICOM_CALL1(IsModeEnabled,p,a1)
189 #define IFullScreenVideoEx_SetEnabled(p,a1,a2) ICOM_CALL2(SetEnabled,p,a1,a2)
190 #define IFullScreenVideoEx_GetClipFactor(p,a1) ICOM_CALL1(GetClipFactor,p,a1)
191 #define IFullScreenVideoEx_SetClipFactor(p,a1) ICOM_CALL1(SetClipFactor,p,a1)
192 #define IFullScreenVideoEx_SetMessageDrain(p,a1) ICOM_CALL1(SetMessageDrain,p,a1)
193 #define IFullScreenVideoEx_GetMessageDrain(p,a1) ICOM_CALL1(GetMessageDrain,p,a1)
194 #define IFullScreenVideoEx_SetMonitor(p,a1) ICOM_CALL1(SetMonitor,p,a1)
195 #define IFullScreenVideoEx_GetMonitor(p,a1) ICOM_CALL1(GetMonitor,p,a1)
196 #define IFullScreenVideoEx_HideOnDeactivate(p,a1) ICOM_CALL1(HideOnDeactivate,p,a1)
197 #define IFullScreenVideoEx_IsHideOnDeactivate(p) ICOM_CALL (IsHideOnDeactivate,p)
198 #define IFullScreenVideoEx_SetCaption(p,a1) ICOM_CALL1(SetCaption,p,a1)
199 #define IFullScreenVideoEx_GetCaption(p,a1) ICOM_CALL1(GetCaption,p,a1)
200 #define IFullScreenVideoEx_SetDefault(p) ICOM_CALL (SetDefault,p)
201 /*** IFullScreenVideoEx methods ***/
202 #define IFullScreenVideoEx_SetAcceleratorTable(p,a1,a2) ICOM_CALL2(SetAcceleratorTable,p,a1,a2)
203 #define IFullScreenVideoEx_GetAcceleratorTable(p,a1,a2) ICOM_CALL2(GetAcceleratorTable,p,a1,a2)
204 #define IFullScreenVideoEx_KeepPixelAspectRatio(p,a1) ICOM_CALL1(KeepPixelAspectRatio,p,a1)
205 #define IFullScreenVideoEx_IsKeepPixelAspectRatio(p,a1) ICOM_CALL1(IsKeepPixelAspectRatio,p,a1)
207 /**************************************************************************
209 * IQualProp interface
213 #define ICOM_INTERFACE IQualProp
214 #define IQualProp_METHODS \
215 ICOM_METHOD1(HRESULT,get_FramesDroppedInRenderer,int*,a1) \
216 ICOM_METHOD1(HRESULT,get_FramesDrawn,int*,a1) \
217 ICOM_METHOD1(HRESULT,get_AvgFrameRate,int*,a1) \
218 ICOM_METHOD1(HRESULT,get_Jitter,int*,a1) \
219 ICOM_METHOD1(HRESULT,get_AvgSyncOffset,int*,a1) \
220 ICOM_METHOD1(HRESULT,get_DevSyncOffset,int*,a1)
222 #define IQualProp_IMETHODS \
223 IUnknown_IMETHODS \
224 IQualProp_METHODS
226 ICOM_DEFINE(IQualProp,IUnknown)
227 #undef ICOM_INTERFACE
229 /*** IUnknown methods ***/
230 #define IQualProp_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
231 #define IQualProp_AddRef(p) ICOM_CALL (AddRef,p)
232 #define IQualProp_Release(p) ICOM_CALL (Release,p)
233 /*** IQualProp methods ***/
234 #define IQualProp_get_FramesDroppedInRenderer(p,a1) ICOM_CALL1(get_FramesDroppedInRenderer,p,a1)
235 #define IQualProp_get_FramesDrawn(p,a1) ICOM_CALL1(get_FramesDrawn,p,a1)
236 #define IQualProp_get_AvgFrameRate(p,a1) ICOM_CALL1(get_AvgFrameRate,p,a1)
237 #define IQualProp_get_Jitter(p,a1) ICOM_CALL1(get_Jitter,p,a1)
238 #define IQualProp_get_AvgSyncOffset(p,a1) ICOM_CALL1(get_AvgSyncOffset,p,a1)
239 #define IQualProp_get_DevSyncOffset(p,a1) ICOM_CALL1(get_DevSyncOffset,p,a1)
242 #endif /* __WINE_AMVIDEO_H_ */