mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-22 04:25:08 +00:00
1194 lines
42 KiB
C
1194 lines
42 KiB
C
/*** Autogenerated by WIDL 3.1 from direct-x/include/amvideo.idl - Do not edit ***/
|
|
|
|
#ifndef __REQUIRED_RPCNDR_H_VERSION__
|
|
#define __REQUIRED_RPCNDR_H_VERSION__ 475
|
|
#endif
|
|
|
|
#include <rpc.h>
|
|
#include <rpcndr.h>
|
|
|
|
#ifndef COM_NO_WINDOWS_H
|
|
#include <windows.h>
|
|
#include <ole2.h>
|
|
#endif
|
|
|
|
#ifndef __amvideo_h__
|
|
#define __amvideo_h__
|
|
|
|
/* Forward declarations */
|
|
|
|
#ifndef __IDirectDrawVideo_FWD_DEFINED__
|
|
#define __IDirectDrawVideo_FWD_DEFINED__
|
|
typedef interface IDirectDrawVideo IDirectDrawVideo;
|
|
#ifdef __cplusplus
|
|
interface IDirectDrawVideo;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IQualProp_FWD_DEFINED__
|
|
#define __IQualProp_FWD_DEFINED__
|
|
typedef interface IQualProp IQualProp;
|
|
#ifdef __cplusplus
|
|
interface IQualProp;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IFullScreenVideo_FWD_DEFINED__
|
|
#define __IFullScreenVideo_FWD_DEFINED__
|
|
typedef interface IFullScreenVideo IFullScreenVideo;
|
|
#ifdef __cplusplus
|
|
interface IFullScreenVideo;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IFullScreenVideoEx_FWD_DEFINED__
|
|
#define __IFullScreenVideoEx_FWD_DEFINED__
|
|
typedef interface IFullScreenVideoEx IFullScreenVideoEx;
|
|
#ifdef __cplusplus
|
|
interface IFullScreenVideoEx;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IBaseVideoMixer_FWD_DEFINED__
|
|
#define __IBaseVideoMixer_FWD_DEFINED__
|
|
typedef interface IBaseVideoMixer IBaseVideoMixer;
|
|
#ifdef __cplusplus
|
|
interface IBaseVideoMixer;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
/* Headers for imported files */
|
|
|
|
#include <objidl.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#if 0
|
|
#ifndef __IDirectDraw_FWD_DEFINED__
|
|
#define __IDirectDraw_FWD_DEFINED__
|
|
typedef interface IDirectDraw IDirectDraw;
|
|
#ifdef __cplusplus
|
|
interface IDirectDraw;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
typedef void DDSURFACEDESC;
|
|
typedef void DDCAPS;
|
|
typedef DWORD RGBQUAD;
|
|
typedef LONGLONG REFERENCE_TIME;
|
|
typedef struct __WIDL_amvideo_generated_name_00000002 {
|
|
DWORD biSize;
|
|
LONG biWidth;
|
|
LONG biHeight;
|
|
WORD biPlanes;
|
|
WORD biBitCount;
|
|
DWORD biCompression;
|
|
DWORD biSizeImage;
|
|
LONG biXPelsPerMeter;
|
|
LONG biYPelsPerMeter;
|
|
DWORD biClrUsed;
|
|
DWORD biClrImportant;
|
|
} BITMAPINFOHEADER;
|
|
typedef struct __WIDL_amvideo_generated_name_00000002 *PBITMAPINFOHEADER;
|
|
typedef struct __WIDL_amvideo_generated_name_00000002 *LPBITMAPINFOHEADER;
|
|
#endif
|
|
#include <ddraw.h>
|
|
#define AMDDS_NONE 0x00
|
|
#define AMDDS_DCIPS 0x01
|
|
#define AMDDS_PS 0x02
|
|
#define AMDDS_RGBOVR 0x04
|
|
#define AMDDS_YUVOVR 0x08
|
|
#define AMDDS_RGBOFF 0x10
|
|
#define AMDDS_YUVOFF 0x20
|
|
#define AMDDS_RGBFLP 0x40
|
|
#define AMDDS_YUVFLP 0x80
|
|
#define AMDDS_ALL 0xFF
|
|
#define AMDDS_DEFAULT AMDDS_ALL
|
|
#define AMDDS_YUV (AMDDS_YUVOFF | AMDDS_YUVOVR | AMDDS_YUVFLP)
|
|
#define AMDDS_RGB (AMDDS_RGBOFF | AMDDS_RGBOVR | AMDDS_RGBFLP)
|
|
#define AMDSS_PRIMARY (AMDDS_DCIPS | AMDDS_PS)
|
|
/*****************************************************************************
|
|
* IDirectDrawVideo interface
|
|
*/
|
|
#ifndef __IDirectDrawVideo_INTERFACE_DEFINED__
|
|
#define __IDirectDrawVideo_INTERFACE_DEFINED__
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
interface IDirectDrawVideo : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetSwitches(
|
|
DWORD *pSwitches) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetSwitches(
|
|
DWORD Switches) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetCaps(
|
|
DDCAPS *pCaps) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetEmulatedCaps(
|
|
DDCAPS *pCaps) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSurfaceDesc(
|
|
DDSURFACEDESC *pSurfaceDesc) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetFourCCCodes(
|
|
DWORD *pCount,
|
|
DWORD *pCodes) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetDirectDraw(
|
|
IDirectDraw *ddraw) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDirectDraw(
|
|
IDirectDraw **ddraw) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSurfaceType(
|
|
DWORD *pSurfaceType) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetDefault(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE UseScanLine(
|
|
LONG UseScanLine) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CanUseScanLine(
|
|
LONG *UseScanLine) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE UseOverlayStretch(
|
|
LONG UseOverlayStretch) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CanUseOverlayStretch(
|
|
LONG *UseOverlayStretch) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE UseWhenFullScreen(
|
|
LONG UseWhenFullScreen) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE WillUseFullScreen(
|
|
LONG *UseWhenFullScreen) = 0;
|
|
|
|
};
|
|
#else
|
|
typedef struct IDirectDrawVideoVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IDirectDrawVideo *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IDirectDrawVideo *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IDirectDrawVideo *This);
|
|
|
|
/*** IDirectDrawVideo methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetSwitches)(
|
|
IDirectDrawVideo *This,
|
|
DWORD *pSwitches);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetSwitches)(
|
|
IDirectDrawVideo *This,
|
|
DWORD Switches);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetCaps)(
|
|
IDirectDrawVideo *This,
|
|
DDCAPS *pCaps);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetEmulatedCaps)(
|
|
IDirectDrawVideo *This,
|
|
DDCAPS *pCaps);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetSurfaceDesc)(
|
|
IDirectDrawVideo *This,
|
|
DDSURFACEDESC *pSurfaceDesc);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetFourCCCodes)(
|
|
IDirectDrawVideo *This,
|
|
DWORD *pCount,
|
|
DWORD *pCodes);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetDirectDraw)(
|
|
IDirectDrawVideo *This,
|
|
IDirectDraw *ddraw);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDirectDraw)(
|
|
IDirectDrawVideo *This,
|
|
IDirectDraw **ddraw);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetSurfaceType)(
|
|
IDirectDrawVideo *This,
|
|
DWORD *pSurfaceType);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetDefault)(
|
|
IDirectDrawVideo *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *UseScanLine)(
|
|
IDirectDrawVideo *This,
|
|
LONG UseScanLine);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CanUseScanLine)(
|
|
IDirectDrawVideo *This,
|
|
LONG *UseScanLine);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *UseOverlayStretch)(
|
|
IDirectDrawVideo *This,
|
|
LONG UseOverlayStretch);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CanUseOverlayStretch)(
|
|
IDirectDrawVideo *This,
|
|
LONG *UseOverlayStretch);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *UseWhenFullScreen)(
|
|
IDirectDrawVideo *This,
|
|
LONG UseWhenFullScreen);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *WillUseFullScreen)(
|
|
IDirectDrawVideo *This,
|
|
LONG *UseWhenFullScreen);
|
|
|
|
END_INTERFACE
|
|
} IDirectDrawVideoVtbl;
|
|
|
|
interface IDirectDrawVideo {
|
|
CONST_VTBL IDirectDrawVideoVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IDirectDrawVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IDirectDrawVideo_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IDirectDrawVideo_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IDirectDrawVideo methods ***/
|
|
#define IDirectDrawVideo_GetSwitches(This,pSwitches) (This)->lpVtbl->GetSwitches(This,pSwitches)
|
|
#define IDirectDrawVideo_SetSwitches(This,Switches) (This)->lpVtbl->SetSwitches(This,Switches)
|
|
#define IDirectDrawVideo_GetCaps(This,pCaps) (This)->lpVtbl->GetCaps(This,pCaps)
|
|
#define IDirectDrawVideo_GetEmulatedCaps(This,pCaps) (This)->lpVtbl->GetEmulatedCaps(This,pCaps)
|
|
#define IDirectDrawVideo_GetSurfaceDesc(This,pSurfaceDesc) (This)->lpVtbl->GetSurfaceDesc(This,pSurfaceDesc)
|
|
#define IDirectDrawVideo_GetFourCCCodes(This,pCount,pCodes) (This)->lpVtbl->GetFourCCCodes(This,pCount,pCodes)
|
|
#define IDirectDrawVideo_SetDirectDraw(This,ddraw) (This)->lpVtbl->SetDirectDraw(This,ddraw)
|
|
#define IDirectDrawVideo_GetDirectDraw(This,ddraw) (This)->lpVtbl->GetDirectDraw(This,ddraw)
|
|
#define IDirectDrawVideo_GetSurfaceType(This,pSurfaceType) (This)->lpVtbl->GetSurfaceType(This,pSurfaceType)
|
|
#define IDirectDrawVideo_SetDefault(This) (This)->lpVtbl->SetDefault(This)
|
|
#define IDirectDrawVideo_UseScanLine(This,UseScanLine) (This)->lpVtbl->UseScanLine(This,UseScanLine)
|
|
#define IDirectDrawVideo_CanUseScanLine(This,UseScanLine) (This)->lpVtbl->CanUseScanLine(This,UseScanLine)
|
|
#define IDirectDrawVideo_UseOverlayStretch(This,UseOverlayStretch) (This)->lpVtbl->UseOverlayStretch(This,UseOverlayStretch)
|
|
#define IDirectDrawVideo_CanUseOverlayStretch(This,UseOverlayStretch) (This)->lpVtbl->CanUseOverlayStretch(This,UseOverlayStretch)
|
|
#define IDirectDrawVideo_UseWhenFullScreen(This,UseWhenFullScreen) (This)->lpVtbl->UseWhenFullScreen(This,UseWhenFullScreen)
|
|
#define IDirectDrawVideo_WillUseFullScreen(This,UseWhenFullScreen) (This)->lpVtbl->WillUseFullScreen(This,UseWhenFullScreen)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IDirectDrawVideo_QueryInterface(IDirectDrawVideo* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IDirectDrawVideo_AddRef(IDirectDrawVideo* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IDirectDrawVideo_Release(IDirectDrawVideo* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IDirectDrawVideo methods ***/
|
|
static FORCEINLINE HRESULT IDirectDrawVideo_GetSwitches(IDirectDrawVideo* This,DWORD *pSwitches) {
|
|
return This->lpVtbl->GetSwitches(This,pSwitches);
|
|
}
|
|
static FORCEINLINE HRESULT IDirectDrawVideo_SetSwitches(IDirectDrawVideo* This,DWORD Switches) {
|
|
return This->lpVtbl->SetSwitches(This,Switches);
|
|
}
|
|
static FORCEINLINE HRESULT IDirectDrawVideo_GetCaps(IDirectDrawVideo* This,DDCAPS *pCaps) {
|
|
return This->lpVtbl->GetCaps(This,pCaps);
|
|
}
|
|
static FORCEINLINE HRESULT IDirectDrawVideo_GetEmulatedCaps(IDirectDrawVideo* This,DDCAPS *pCaps) {
|
|
return This->lpVtbl->GetEmulatedCaps(This,pCaps);
|
|
}
|
|
static FORCEINLINE HRESULT IDirectDrawVideo_GetSurfaceDesc(IDirectDrawVideo* This,DDSURFACEDESC *pSurfaceDesc) {
|
|
return This->lpVtbl->GetSurfaceDesc(This,pSurfaceDesc);
|
|
}
|
|
static FORCEINLINE HRESULT IDirectDrawVideo_GetFourCCCodes(IDirectDrawVideo* This,DWORD *pCount,DWORD *pCodes) {
|
|
return This->lpVtbl->GetFourCCCodes(This,pCount,pCodes);
|
|
}
|
|
static FORCEINLINE HRESULT IDirectDrawVideo_SetDirectDraw(IDirectDrawVideo* This,IDirectDraw *ddraw) {
|
|
return This->lpVtbl->SetDirectDraw(This,ddraw);
|
|
}
|
|
static FORCEINLINE HRESULT IDirectDrawVideo_GetDirectDraw(IDirectDrawVideo* This,IDirectDraw **ddraw) {
|
|
return This->lpVtbl->GetDirectDraw(This,ddraw);
|
|
}
|
|
static FORCEINLINE HRESULT IDirectDrawVideo_GetSurfaceType(IDirectDrawVideo* This,DWORD *pSurfaceType) {
|
|
return This->lpVtbl->GetSurfaceType(This,pSurfaceType);
|
|
}
|
|
static FORCEINLINE HRESULT IDirectDrawVideo_SetDefault(IDirectDrawVideo* This) {
|
|
return This->lpVtbl->SetDefault(This);
|
|
}
|
|
static FORCEINLINE HRESULT IDirectDrawVideo_UseScanLine(IDirectDrawVideo* This,LONG UseScanLine) {
|
|
return This->lpVtbl->UseScanLine(This,UseScanLine);
|
|
}
|
|
static FORCEINLINE HRESULT IDirectDrawVideo_CanUseScanLine(IDirectDrawVideo* This,LONG *UseScanLine) {
|
|
return This->lpVtbl->CanUseScanLine(This,UseScanLine);
|
|
}
|
|
static FORCEINLINE HRESULT IDirectDrawVideo_UseOverlayStretch(IDirectDrawVideo* This,LONG UseOverlayStretch) {
|
|
return This->lpVtbl->UseOverlayStretch(This,UseOverlayStretch);
|
|
}
|
|
static FORCEINLINE HRESULT IDirectDrawVideo_CanUseOverlayStretch(IDirectDrawVideo* This,LONG *UseOverlayStretch) {
|
|
return This->lpVtbl->CanUseOverlayStretch(This,UseOverlayStretch);
|
|
}
|
|
static FORCEINLINE HRESULT IDirectDrawVideo_UseWhenFullScreen(IDirectDrawVideo* This,LONG UseWhenFullScreen) {
|
|
return This->lpVtbl->UseWhenFullScreen(This,UseWhenFullScreen);
|
|
}
|
|
static FORCEINLINE HRESULT IDirectDrawVideo_WillUseFullScreen(IDirectDrawVideo* This,LONG *UseWhenFullScreen) {
|
|
return This->lpVtbl->WillUseFullScreen(This,UseWhenFullScreen);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IDirectDrawVideo_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IQualProp interface
|
|
*/
|
|
#ifndef __IQualProp_INTERFACE_DEFINED__
|
|
#define __IQualProp_INTERFACE_DEFINED__
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
interface IQualProp : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE get_FramesDroppedInRenderer(
|
|
int *pcFrames) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE get_FramesDrawn(
|
|
int *pcFramesDrawn) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE get_AvgFrameRate(
|
|
int *piAvgFrameRate) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE get_Jitter(
|
|
int *iJitter) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE get_AvgSyncOffset(
|
|
int *piAvg) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE get_DevSyncOffset(
|
|
int *piDev) = 0;
|
|
|
|
};
|
|
#else
|
|
typedef struct IQualPropVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IQualProp *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IQualProp *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IQualProp *This);
|
|
|
|
/*** IQualProp methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *get_FramesDroppedInRenderer)(
|
|
IQualProp *This,
|
|
int *pcFrames);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *get_FramesDrawn)(
|
|
IQualProp *This,
|
|
int *pcFramesDrawn);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *get_AvgFrameRate)(
|
|
IQualProp *This,
|
|
int *piAvgFrameRate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *get_Jitter)(
|
|
IQualProp *This,
|
|
int *iJitter);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *get_AvgSyncOffset)(
|
|
IQualProp *This,
|
|
int *piAvg);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *get_DevSyncOffset)(
|
|
IQualProp *This,
|
|
int *piDev);
|
|
|
|
END_INTERFACE
|
|
} IQualPropVtbl;
|
|
|
|
interface IQualProp {
|
|
CONST_VTBL IQualPropVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IQualProp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IQualProp_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IQualProp_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IQualProp methods ***/
|
|
#define IQualProp_get_FramesDroppedInRenderer(This,pcFrames) (This)->lpVtbl->get_FramesDroppedInRenderer(This,pcFrames)
|
|
#define IQualProp_get_FramesDrawn(This,pcFramesDrawn) (This)->lpVtbl->get_FramesDrawn(This,pcFramesDrawn)
|
|
#define IQualProp_get_AvgFrameRate(This,piAvgFrameRate) (This)->lpVtbl->get_AvgFrameRate(This,piAvgFrameRate)
|
|
#define IQualProp_get_Jitter(This,iJitter) (This)->lpVtbl->get_Jitter(This,iJitter)
|
|
#define IQualProp_get_AvgSyncOffset(This,piAvg) (This)->lpVtbl->get_AvgSyncOffset(This,piAvg)
|
|
#define IQualProp_get_DevSyncOffset(This,piDev) (This)->lpVtbl->get_DevSyncOffset(This,piDev)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IQualProp_QueryInterface(IQualProp* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IQualProp_AddRef(IQualProp* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IQualProp_Release(IQualProp* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IQualProp methods ***/
|
|
static FORCEINLINE HRESULT IQualProp_get_FramesDroppedInRenderer(IQualProp* This,int *pcFrames) {
|
|
return This->lpVtbl->get_FramesDroppedInRenderer(This,pcFrames);
|
|
}
|
|
static FORCEINLINE HRESULT IQualProp_get_FramesDrawn(IQualProp* This,int *pcFramesDrawn) {
|
|
return This->lpVtbl->get_FramesDrawn(This,pcFramesDrawn);
|
|
}
|
|
static FORCEINLINE HRESULT IQualProp_get_AvgFrameRate(IQualProp* This,int *piAvgFrameRate) {
|
|
return This->lpVtbl->get_AvgFrameRate(This,piAvgFrameRate);
|
|
}
|
|
static FORCEINLINE HRESULT IQualProp_get_Jitter(IQualProp* This,int *iJitter) {
|
|
return This->lpVtbl->get_Jitter(This,iJitter);
|
|
}
|
|
static FORCEINLINE HRESULT IQualProp_get_AvgSyncOffset(IQualProp* This,int *piAvg) {
|
|
return This->lpVtbl->get_AvgSyncOffset(This,piAvg);
|
|
}
|
|
static FORCEINLINE HRESULT IQualProp_get_DevSyncOffset(IQualProp* This,int *piDev) {
|
|
return This->lpVtbl->get_DevSyncOffset(This,piDev);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IQualProp_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IFullScreenVideo interface
|
|
*/
|
|
#ifndef __IFullScreenVideo_INTERFACE_DEFINED__
|
|
#define __IFullScreenVideo_INTERFACE_DEFINED__
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
interface IFullScreenVideo : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE CountModes(
|
|
LONG *pModes) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetModeInfo(
|
|
LONG Mode,
|
|
LONG *pWidth,
|
|
LONG *pHeight,
|
|
LONG *pDepth) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetCurrentMode(
|
|
LONG *pMode) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE IsModeAvailable(
|
|
LONG Mode) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE IsModeEnabled(
|
|
LONG Mode) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetEnabled(
|
|
LONG Mode,
|
|
LONG bEnabled) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetClipFactor(
|
|
LONG *pClipFactor) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetClipFactor(
|
|
LONG ClipFactor) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetMessageDrain(
|
|
HWND hwnd) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetMessageDrain(
|
|
HWND *hwnd) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetMonitor(
|
|
LONG Monitor) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetMonitor(
|
|
LONG *Monitor) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE HideOnDeactivate(
|
|
LONG Hide) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE IsHideOnDeactivate(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetCaption(
|
|
BSTR strCaption) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetCaption(
|
|
BSTR *pstrCaption) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetDefault(
|
|
) = 0;
|
|
|
|
};
|
|
#else
|
|
typedef struct IFullScreenVideoVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IFullScreenVideo *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IFullScreenVideo *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IFullScreenVideo *This);
|
|
|
|
/*** IFullScreenVideo methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *CountModes)(
|
|
IFullScreenVideo *This,
|
|
LONG *pModes);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetModeInfo)(
|
|
IFullScreenVideo *This,
|
|
LONG Mode,
|
|
LONG *pWidth,
|
|
LONG *pHeight,
|
|
LONG *pDepth);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetCurrentMode)(
|
|
IFullScreenVideo *This,
|
|
LONG *pMode);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IsModeAvailable)(
|
|
IFullScreenVideo *This,
|
|
LONG Mode);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IsModeEnabled)(
|
|
IFullScreenVideo *This,
|
|
LONG Mode);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetEnabled)(
|
|
IFullScreenVideo *This,
|
|
LONG Mode,
|
|
LONG bEnabled);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetClipFactor)(
|
|
IFullScreenVideo *This,
|
|
LONG *pClipFactor);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetClipFactor)(
|
|
IFullScreenVideo *This,
|
|
LONG ClipFactor);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetMessageDrain)(
|
|
IFullScreenVideo *This,
|
|
HWND hwnd);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMessageDrain)(
|
|
IFullScreenVideo *This,
|
|
HWND *hwnd);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetMonitor)(
|
|
IFullScreenVideo *This,
|
|
LONG Monitor);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMonitor)(
|
|
IFullScreenVideo *This,
|
|
LONG *Monitor);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *HideOnDeactivate)(
|
|
IFullScreenVideo *This,
|
|
LONG Hide);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IsHideOnDeactivate)(
|
|
IFullScreenVideo *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetCaption)(
|
|
IFullScreenVideo *This,
|
|
BSTR strCaption);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetCaption)(
|
|
IFullScreenVideo *This,
|
|
BSTR *pstrCaption);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetDefault)(
|
|
IFullScreenVideo *This);
|
|
|
|
END_INTERFACE
|
|
} IFullScreenVideoVtbl;
|
|
|
|
interface IFullScreenVideo {
|
|
CONST_VTBL IFullScreenVideoVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IFullScreenVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IFullScreenVideo_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IFullScreenVideo_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IFullScreenVideo methods ***/
|
|
#define IFullScreenVideo_CountModes(This,pModes) (This)->lpVtbl->CountModes(This,pModes)
|
|
#define IFullScreenVideo_GetModeInfo(This,Mode,pWidth,pHeight,pDepth) (This)->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth)
|
|
#define IFullScreenVideo_GetCurrentMode(This,pMode) (This)->lpVtbl->GetCurrentMode(This,pMode)
|
|
#define IFullScreenVideo_IsModeAvailable(This,Mode) (This)->lpVtbl->IsModeAvailable(This,Mode)
|
|
#define IFullScreenVideo_IsModeEnabled(This,Mode) (This)->lpVtbl->IsModeEnabled(This,Mode)
|
|
#define IFullScreenVideo_SetEnabled(This,Mode,bEnabled) (This)->lpVtbl->SetEnabled(This,Mode,bEnabled)
|
|
#define IFullScreenVideo_GetClipFactor(This,pClipFactor) (This)->lpVtbl->GetClipFactor(This,pClipFactor)
|
|
#define IFullScreenVideo_SetClipFactor(This,ClipFactor) (This)->lpVtbl->SetClipFactor(This,ClipFactor)
|
|
#define IFullScreenVideo_SetMessageDrain(This,hwnd) (This)->lpVtbl->SetMessageDrain(This,hwnd)
|
|
#define IFullScreenVideo_GetMessageDrain(This,hwnd) (This)->lpVtbl->GetMessageDrain(This,hwnd)
|
|
#define IFullScreenVideo_SetMonitor(This,Monitor) (This)->lpVtbl->SetMonitor(This,Monitor)
|
|
#define IFullScreenVideo_GetMonitor(This,Monitor) (This)->lpVtbl->GetMonitor(This,Monitor)
|
|
#define IFullScreenVideo_HideOnDeactivate(This,Hide) (This)->lpVtbl->HideOnDeactivate(This,Hide)
|
|
#define IFullScreenVideo_IsHideOnDeactivate(This) (This)->lpVtbl->IsHideOnDeactivate(This)
|
|
#define IFullScreenVideo_SetCaption(This,strCaption) (This)->lpVtbl->SetCaption(This,strCaption)
|
|
#define IFullScreenVideo_GetCaption(This,pstrCaption) (This)->lpVtbl->GetCaption(This,pstrCaption)
|
|
#define IFullScreenVideo_SetDefault(This) (This)->lpVtbl->SetDefault(This)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IFullScreenVideo_QueryInterface(IFullScreenVideo* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IFullScreenVideo_AddRef(IFullScreenVideo* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IFullScreenVideo_Release(IFullScreenVideo* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IFullScreenVideo methods ***/
|
|
static FORCEINLINE HRESULT IFullScreenVideo_CountModes(IFullScreenVideo* This,LONG *pModes) {
|
|
return This->lpVtbl->CountModes(This,pModes);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideo_GetModeInfo(IFullScreenVideo* This,LONG Mode,LONG *pWidth,LONG *pHeight,LONG *pDepth) {
|
|
return This->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideo_GetCurrentMode(IFullScreenVideo* This,LONG *pMode) {
|
|
return This->lpVtbl->GetCurrentMode(This,pMode);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideo_IsModeAvailable(IFullScreenVideo* This,LONG Mode) {
|
|
return This->lpVtbl->IsModeAvailable(This,Mode);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideo_IsModeEnabled(IFullScreenVideo* This,LONG Mode) {
|
|
return This->lpVtbl->IsModeEnabled(This,Mode);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideo_SetEnabled(IFullScreenVideo* This,LONG Mode,LONG bEnabled) {
|
|
return This->lpVtbl->SetEnabled(This,Mode,bEnabled);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideo_GetClipFactor(IFullScreenVideo* This,LONG *pClipFactor) {
|
|
return This->lpVtbl->GetClipFactor(This,pClipFactor);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideo_SetClipFactor(IFullScreenVideo* This,LONG ClipFactor) {
|
|
return This->lpVtbl->SetClipFactor(This,ClipFactor);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideo_SetMessageDrain(IFullScreenVideo* This,HWND hwnd) {
|
|
return This->lpVtbl->SetMessageDrain(This,hwnd);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideo_GetMessageDrain(IFullScreenVideo* This,HWND *hwnd) {
|
|
return This->lpVtbl->GetMessageDrain(This,hwnd);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideo_SetMonitor(IFullScreenVideo* This,LONG Monitor) {
|
|
return This->lpVtbl->SetMonitor(This,Monitor);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideo_GetMonitor(IFullScreenVideo* This,LONG *Monitor) {
|
|
return This->lpVtbl->GetMonitor(This,Monitor);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideo_HideOnDeactivate(IFullScreenVideo* This,LONG Hide) {
|
|
return This->lpVtbl->HideOnDeactivate(This,Hide);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideo_IsHideOnDeactivate(IFullScreenVideo* This) {
|
|
return This->lpVtbl->IsHideOnDeactivate(This);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideo_SetCaption(IFullScreenVideo* This,BSTR strCaption) {
|
|
return This->lpVtbl->SetCaption(This,strCaption);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideo_GetCaption(IFullScreenVideo* This,BSTR *pstrCaption) {
|
|
return This->lpVtbl->GetCaption(This,pstrCaption);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideo_SetDefault(IFullScreenVideo* This) {
|
|
return This->lpVtbl->SetDefault(This);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IFullScreenVideo_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IFullScreenVideoEx interface
|
|
*/
|
|
#ifndef __IFullScreenVideoEx_INTERFACE_DEFINED__
|
|
#define __IFullScreenVideoEx_INTERFACE_DEFINED__
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
interface IFullScreenVideoEx : public IFullScreenVideo
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE SetAcceleratorTable(
|
|
HWND hwnd,
|
|
HACCEL hAccel) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetAcceleratorTable(
|
|
HWND *phwnd,
|
|
HACCEL *phAccel) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE KeepPixelAspectRatio(
|
|
LONG KeepAspect) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE IsKeepPixelAspectRatio(
|
|
LONG *pKeepAspect) = 0;
|
|
|
|
};
|
|
#else
|
|
typedef struct IFullScreenVideoExVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IFullScreenVideoEx *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IFullScreenVideoEx *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IFullScreenVideoEx *This);
|
|
|
|
/*** IFullScreenVideo methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *CountModes)(
|
|
IFullScreenVideoEx *This,
|
|
LONG *pModes);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetModeInfo)(
|
|
IFullScreenVideoEx *This,
|
|
LONG Mode,
|
|
LONG *pWidth,
|
|
LONG *pHeight,
|
|
LONG *pDepth);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetCurrentMode)(
|
|
IFullScreenVideoEx *This,
|
|
LONG *pMode);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IsModeAvailable)(
|
|
IFullScreenVideoEx *This,
|
|
LONG Mode);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IsModeEnabled)(
|
|
IFullScreenVideoEx *This,
|
|
LONG Mode);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetEnabled)(
|
|
IFullScreenVideoEx *This,
|
|
LONG Mode,
|
|
LONG bEnabled);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetClipFactor)(
|
|
IFullScreenVideoEx *This,
|
|
LONG *pClipFactor);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetClipFactor)(
|
|
IFullScreenVideoEx *This,
|
|
LONG ClipFactor);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetMessageDrain)(
|
|
IFullScreenVideoEx *This,
|
|
HWND hwnd);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMessageDrain)(
|
|
IFullScreenVideoEx *This,
|
|
HWND *hwnd);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetMonitor)(
|
|
IFullScreenVideoEx *This,
|
|
LONG Monitor);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMonitor)(
|
|
IFullScreenVideoEx *This,
|
|
LONG *Monitor);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *HideOnDeactivate)(
|
|
IFullScreenVideoEx *This,
|
|
LONG Hide);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IsHideOnDeactivate)(
|
|
IFullScreenVideoEx *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetCaption)(
|
|
IFullScreenVideoEx *This,
|
|
BSTR strCaption);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetCaption)(
|
|
IFullScreenVideoEx *This,
|
|
BSTR *pstrCaption);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetDefault)(
|
|
IFullScreenVideoEx *This);
|
|
|
|
/*** IFullScreenVideoEx methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetAcceleratorTable)(
|
|
IFullScreenVideoEx *This,
|
|
HWND hwnd,
|
|
HACCEL hAccel);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAcceleratorTable)(
|
|
IFullScreenVideoEx *This,
|
|
HWND *phwnd,
|
|
HACCEL *phAccel);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *KeepPixelAspectRatio)(
|
|
IFullScreenVideoEx *This,
|
|
LONG KeepAspect);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IsKeepPixelAspectRatio)(
|
|
IFullScreenVideoEx *This,
|
|
LONG *pKeepAspect);
|
|
|
|
END_INTERFACE
|
|
} IFullScreenVideoExVtbl;
|
|
|
|
interface IFullScreenVideoEx {
|
|
CONST_VTBL IFullScreenVideoExVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IFullScreenVideoEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IFullScreenVideoEx_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IFullScreenVideoEx_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IFullScreenVideo methods ***/
|
|
#define IFullScreenVideoEx_CountModes(This,pModes) (This)->lpVtbl->CountModes(This,pModes)
|
|
#define IFullScreenVideoEx_GetModeInfo(This,Mode,pWidth,pHeight,pDepth) (This)->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth)
|
|
#define IFullScreenVideoEx_GetCurrentMode(This,pMode) (This)->lpVtbl->GetCurrentMode(This,pMode)
|
|
#define IFullScreenVideoEx_IsModeAvailable(This,Mode) (This)->lpVtbl->IsModeAvailable(This,Mode)
|
|
#define IFullScreenVideoEx_IsModeEnabled(This,Mode) (This)->lpVtbl->IsModeEnabled(This,Mode)
|
|
#define IFullScreenVideoEx_SetEnabled(This,Mode,bEnabled) (This)->lpVtbl->SetEnabled(This,Mode,bEnabled)
|
|
#define IFullScreenVideoEx_GetClipFactor(This,pClipFactor) (This)->lpVtbl->GetClipFactor(This,pClipFactor)
|
|
#define IFullScreenVideoEx_SetClipFactor(This,ClipFactor) (This)->lpVtbl->SetClipFactor(This,ClipFactor)
|
|
#define IFullScreenVideoEx_SetMessageDrain(This,hwnd) (This)->lpVtbl->SetMessageDrain(This,hwnd)
|
|
#define IFullScreenVideoEx_GetMessageDrain(This,hwnd) (This)->lpVtbl->GetMessageDrain(This,hwnd)
|
|
#define IFullScreenVideoEx_SetMonitor(This,Monitor) (This)->lpVtbl->SetMonitor(This,Monitor)
|
|
#define IFullScreenVideoEx_GetMonitor(This,Monitor) (This)->lpVtbl->GetMonitor(This,Monitor)
|
|
#define IFullScreenVideoEx_HideOnDeactivate(This,Hide) (This)->lpVtbl->HideOnDeactivate(This,Hide)
|
|
#define IFullScreenVideoEx_IsHideOnDeactivate(This) (This)->lpVtbl->IsHideOnDeactivate(This)
|
|
#define IFullScreenVideoEx_SetCaption(This,strCaption) (This)->lpVtbl->SetCaption(This,strCaption)
|
|
#define IFullScreenVideoEx_GetCaption(This,pstrCaption) (This)->lpVtbl->GetCaption(This,pstrCaption)
|
|
#define IFullScreenVideoEx_SetDefault(This) (This)->lpVtbl->SetDefault(This)
|
|
/*** IFullScreenVideoEx methods ***/
|
|
#define IFullScreenVideoEx_SetAcceleratorTable(This,hwnd,hAccel) (This)->lpVtbl->SetAcceleratorTable(This,hwnd,hAccel)
|
|
#define IFullScreenVideoEx_GetAcceleratorTable(This,phwnd,phAccel) (This)->lpVtbl->GetAcceleratorTable(This,phwnd,phAccel)
|
|
#define IFullScreenVideoEx_KeepPixelAspectRatio(This,KeepAspect) (This)->lpVtbl->KeepPixelAspectRatio(This,KeepAspect)
|
|
#define IFullScreenVideoEx_IsKeepPixelAspectRatio(This,pKeepAspect) (This)->lpVtbl->IsKeepPixelAspectRatio(This,pKeepAspect)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_QueryInterface(IFullScreenVideoEx* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IFullScreenVideoEx_AddRef(IFullScreenVideoEx* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IFullScreenVideoEx_Release(IFullScreenVideoEx* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IFullScreenVideo methods ***/
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_CountModes(IFullScreenVideoEx* This,LONG *pModes) {
|
|
return This->lpVtbl->CountModes(This,pModes);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_GetModeInfo(IFullScreenVideoEx* This,LONG Mode,LONG *pWidth,LONG *pHeight,LONG *pDepth) {
|
|
return This->lpVtbl->GetModeInfo(This,Mode,pWidth,pHeight,pDepth);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_GetCurrentMode(IFullScreenVideoEx* This,LONG *pMode) {
|
|
return This->lpVtbl->GetCurrentMode(This,pMode);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_IsModeAvailable(IFullScreenVideoEx* This,LONG Mode) {
|
|
return This->lpVtbl->IsModeAvailable(This,Mode);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_IsModeEnabled(IFullScreenVideoEx* This,LONG Mode) {
|
|
return This->lpVtbl->IsModeEnabled(This,Mode);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_SetEnabled(IFullScreenVideoEx* This,LONG Mode,LONG bEnabled) {
|
|
return This->lpVtbl->SetEnabled(This,Mode,bEnabled);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_GetClipFactor(IFullScreenVideoEx* This,LONG *pClipFactor) {
|
|
return This->lpVtbl->GetClipFactor(This,pClipFactor);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_SetClipFactor(IFullScreenVideoEx* This,LONG ClipFactor) {
|
|
return This->lpVtbl->SetClipFactor(This,ClipFactor);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_SetMessageDrain(IFullScreenVideoEx* This,HWND hwnd) {
|
|
return This->lpVtbl->SetMessageDrain(This,hwnd);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_GetMessageDrain(IFullScreenVideoEx* This,HWND *hwnd) {
|
|
return This->lpVtbl->GetMessageDrain(This,hwnd);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_SetMonitor(IFullScreenVideoEx* This,LONG Monitor) {
|
|
return This->lpVtbl->SetMonitor(This,Monitor);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_GetMonitor(IFullScreenVideoEx* This,LONG *Monitor) {
|
|
return This->lpVtbl->GetMonitor(This,Monitor);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_HideOnDeactivate(IFullScreenVideoEx* This,LONG Hide) {
|
|
return This->lpVtbl->HideOnDeactivate(This,Hide);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_IsHideOnDeactivate(IFullScreenVideoEx* This) {
|
|
return This->lpVtbl->IsHideOnDeactivate(This);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_SetCaption(IFullScreenVideoEx* This,BSTR strCaption) {
|
|
return This->lpVtbl->SetCaption(This,strCaption);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_GetCaption(IFullScreenVideoEx* This,BSTR *pstrCaption) {
|
|
return This->lpVtbl->GetCaption(This,pstrCaption);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_SetDefault(IFullScreenVideoEx* This) {
|
|
return This->lpVtbl->SetDefault(This);
|
|
}
|
|
/*** IFullScreenVideoEx methods ***/
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_SetAcceleratorTable(IFullScreenVideoEx* This,HWND hwnd,HACCEL hAccel) {
|
|
return This->lpVtbl->SetAcceleratorTable(This,hwnd,hAccel);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_GetAcceleratorTable(IFullScreenVideoEx* This,HWND *phwnd,HACCEL *phAccel) {
|
|
return This->lpVtbl->GetAcceleratorTable(This,phwnd,phAccel);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_KeepPixelAspectRatio(IFullScreenVideoEx* This,LONG KeepAspect) {
|
|
return This->lpVtbl->KeepPixelAspectRatio(This,KeepAspect);
|
|
}
|
|
static FORCEINLINE HRESULT IFullScreenVideoEx_IsKeepPixelAspectRatio(IFullScreenVideoEx* This,LONG *pKeepAspect) {
|
|
return This->lpVtbl->IsKeepPixelAspectRatio(This,pKeepAspect);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IFullScreenVideoEx_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IBaseVideoMixer interface
|
|
*/
|
|
#ifndef __IBaseVideoMixer_INTERFACE_DEFINED__
|
|
#define __IBaseVideoMixer_INTERFACE_DEFINED__
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
interface IBaseVideoMixer : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE SetLeadPin(
|
|
int iPin) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetLeadPin(
|
|
int *piPin) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetInputPinCount(
|
|
int *piPinCount) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE IsUsingClock(
|
|
int *pbValue) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetUsingClock(
|
|
int bValue) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetClockPeriod(
|
|
int *pbValue) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetClockPeriod(
|
|
int bValue) = 0;
|
|
|
|
};
|
|
#else
|
|
typedef struct IBaseVideoMixerVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IBaseVideoMixer *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IBaseVideoMixer *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IBaseVideoMixer *This);
|
|
|
|
/*** IBaseVideoMixer methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetLeadPin)(
|
|
IBaseVideoMixer *This,
|
|
int iPin);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetLeadPin)(
|
|
IBaseVideoMixer *This,
|
|
int *piPin);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetInputPinCount)(
|
|
IBaseVideoMixer *This,
|
|
int *piPinCount);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IsUsingClock)(
|
|
IBaseVideoMixer *This,
|
|
int *pbValue);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetUsingClock)(
|
|
IBaseVideoMixer *This,
|
|
int bValue);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetClockPeriod)(
|
|
IBaseVideoMixer *This,
|
|
int *pbValue);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetClockPeriod)(
|
|
IBaseVideoMixer *This,
|
|
int bValue);
|
|
|
|
END_INTERFACE
|
|
} IBaseVideoMixerVtbl;
|
|
|
|
interface IBaseVideoMixer {
|
|
CONST_VTBL IBaseVideoMixerVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IBaseVideoMixer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IBaseVideoMixer_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IBaseVideoMixer_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IBaseVideoMixer methods ***/
|
|
#define IBaseVideoMixer_SetLeadPin(This,iPin) (This)->lpVtbl->SetLeadPin(This,iPin)
|
|
#define IBaseVideoMixer_GetLeadPin(This,piPin) (This)->lpVtbl->GetLeadPin(This,piPin)
|
|
#define IBaseVideoMixer_GetInputPinCount(This,piPinCount) (This)->lpVtbl->GetInputPinCount(This,piPinCount)
|
|
#define IBaseVideoMixer_IsUsingClock(This,pbValue) (This)->lpVtbl->IsUsingClock(This,pbValue)
|
|
#define IBaseVideoMixer_SetUsingClock(This,bValue) (This)->lpVtbl->SetUsingClock(This,bValue)
|
|
#define IBaseVideoMixer_GetClockPeriod(This,pbValue) (This)->lpVtbl->GetClockPeriod(This,pbValue)
|
|
#define IBaseVideoMixer_SetClockPeriod(This,bValue) (This)->lpVtbl->SetClockPeriod(This,bValue)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IBaseVideoMixer_QueryInterface(IBaseVideoMixer* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IBaseVideoMixer_AddRef(IBaseVideoMixer* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IBaseVideoMixer_Release(IBaseVideoMixer* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IBaseVideoMixer methods ***/
|
|
static FORCEINLINE HRESULT IBaseVideoMixer_SetLeadPin(IBaseVideoMixer* This,int iPin) {
|
|
return This->lpVtbl->SetLeadPin(This,iPin);
|
|
}
|
|
static FORCEINLINE HRESULT IBaseVideoMixer_GetLeadPin(IBaseVideoMixer* This,int *piPin) {
|
|
return This->lpVtbl->GetLeadPin(This,piPin);
|
|
}
|
|
static FORCEINLINE HRESULT IBaseVideoMixer_GetInputPinCount(IBaseVideoMixer* This,int *piPinCount) {
|
|
return This->lpVtbl->GetInputPinCount(This,piPinCount);
|
|
}
|
|
static FORCEINLINE HRESULT IBaseVideoMixer_IsUsingClock(IBaseVideoMixer* This,int *pbValue) {
|
|
return This->lpVtbl->IsUsingClock(This,pbValue);
|
|
}
|
|
static FORCEINLINE HRESULT IBaseVideoMixer_SetUsingClock(IBaseVideoMixer* This,int bValue) {
|
|
return This->lpVtbl->SetUsingClock(This,bValue);
|
|
}
|
|
static FORCEINLINE HRESULT IBaseVideoMixer_GetClockPeriod(IBaseVideoMixer* This,int *pbValue) {
|
|
return This->lpVtbl->GetClockPeriod(This,pbValue);
|
|
}
|
|
static FORCEINLINE HRESULT IBaseVideoMixer_SetClockPeriod(IBaseVideoMixer* This,int bValue) {
|
|
return This->lpVtbl->SetClockPeriod(This,bValue);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IBaseVideoMixer_INTERFACE_DEFINED__ */
|
|
|
|
#define iPALETTE_COLORS 256
|
|
#define iEGA_COLORS 16
|
|
#define iMASK_COLORS 3
|
|
#define iTRUECOLOR 16
|
|
#define iRED 0
|
|
#define iGREEN 1
|
|
#define iBLUE 2
|
|
#define iPALETTE 8
|
|
#define iMAXBITS 8
|
|
typedef struct tag_TRUECOLORINFO {
|
|
DWORD dwBitMasks[3];
|
|
RGBQUAD bmiColors[256];
|
|
} TRUECOLORINFO;
|
|
typedef struct tagVIDEOINFOHEADER {
|
|
RECT rcSource;
|
|
RECT rcTarget;
|
|
DWORD dwBitRate;
|
|
DWORD dwBitErrorRate;
|
|
REFERENCE_TIME AvgTimePerFrame;
|
|
BITMAPINFOHEADER bmiHeader;
|
|
} VIDEOINFOHEADER;
|
|
typedef struct tagVIDEOINFO {
|
|
RECT rcSource;
|
|
RECT rcTarget;
|
|
DWORD dwBitRate;
|
|
DWORD dwBitErrorRate;
|
|
REFERENCE_TIME AvgTimePerFrame;
|
|
BITMAPINFOHEADER bmiHeader;
|
|
__C89_NAMELESS union {
|
|
RGBQUAD bmiColors[256];
|
|
DWORD dwBitMasks[3];
|
|
TRUECOLORINFO TrueColorInfo;
|
|
} __C89_NAMELESSUNIONNAME;
|
|
} VIDEOINFO;
|
|
typedef struct tagMPEG1VIDEOINFO {
|
|
VIDEOINFOHEADER hdr;
|
|
DWORD dwStartTimeCode;
|
|
DWORD cbSequenceHeader;
|
|
BYTE bSequenceHeader[1];
|
|
} MPEG1VIDEOINFO;
|
|
#define MAX_SIZE_MPEG1_SEQUENCE_INFO 140
|
|
#define MPEG1_SEQUENCE_INFO(pv) ((const BYTE *)(pv)->bSequenceHeader)
|
|
typedef struct tagAnalogVideoInfo {
|
|
RECT rcSource;
|
|
RECT rcTarget;
|
|
DWORD dwActiveWidth;
|
|
DWORD dwActiveHeight;
|
|
REFERENCE_TIME AvgTimePerFrame;
|
|
} ANALOGVIDEOINFO;
|
|
typedef enum __WIDL_amvideo_generated_name_00000003 {
|
|
AM_PROPERTY_FRAMESTEP_STEP = 0x1,
|
|
AM_PROPERTY_FRAMESTEP_CANCEL = 0x2,
|
|
AM_PROPERTY_FRAMESTEP_CANSTEP = 0x3,
|
|
AM_PROPERTY_FRAMESTEP_CANSTEPMULTIPLE = 0x4
|
|
} AM_PROPERTY_FRAMESTEP;
|
|
typedef struct _AM_FRAMESTEP_STEP {
|
|
DWORD dwFramesToStep;
|
|
} AM_FRAMESTEP_STEP;
|
|
/* Begin additional prototypes for all interfaces */
|
|
|
|
ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *);
|
|
unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *);
|
|
unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
|
|
void __RPC_USER HWND_UserFree (ULONG *, HWND *);
|
|
ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
|
|
unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
|
|
unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
|
|
void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
|
|
|
|
/* End additional prototypes */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __amvideo_h__ */
|