iwstdec.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:3k
- // WST Decoder related definitions and interfaces for ActiveMovie
- #ifndef __IWSTDEC__
- #define __IWSTDEC__
- //
- // Some data types used as WST decoder parameters by the interface
- //
- typedef struct _AM_WST_PAGE {
- DWORD dwPageNr ;
- DWORD dwSubPageNr ;
- BYTE *pucPageData;
- } AM_WST_PAGE, *PAM_WST_PAGE ;
- typedef enum _AM_WST_LEVEL {
- AM_WST_LEVEL_1_5 = 0
- } AM_WST_LEVEL, *PAM_WST_LEVEL ;
- typedef enum _AM_WST_SERVICE {
- AM_WST_SERVICE_None = 0,
- AM_WST_SERVICE_Text,
- AM_WST_SERVICE_IDS,
- AM_WST_SERVICE_Invalid
- } AM_WST_SERVICE, *PAM_WST_SERVICE ;
- typedef enum _AM_WST_STATE {
- AM_WST_STATE_Off = 0,
- AM_WST_STATE_On
- } AM_WST_STATE, *PAM_WST_STATE ;
- typedef enum _AM_WST_STYLE {
- AM_WST_STYLE_None = 0,
- AM_WST_STYLE_Invers
- } AM_WST_STYLE, *PAM_WST_STYLE ;
- typedef enum _AM_WST_DRAWBGMODE {
- AM_WST_DRAWBGMODE_Opaque,
- AM_WST_DRAWBGMODE_Transparent
- } AM_WST_DRAWBGMODE, *PAM_WST_DRAWBGMODE ;
- #ifdef __cplusplus
- extern "C" {
- #endif // __cplusplus
- //
- // WST Decoder standard COM interface
- //
- DECLARE_INTERFACE_(IAMWstDecoder, IUnknown)
- {
- public:
- //
- // Decoder options to be used by apps
- //
- // What is the decoder's level
- STDMETHOD(GetDecoderLevel)(THIS_ AM_WST_LEVEL *lpLevel) PURE ;
- // STDMETHOD(SetDecoderLevel)(THIS_ AM_WST_LEVEL Level) PURE ;
- // Which of the services is being currently used
- STDMETHOD(GetCurrentService)(THIS_ AM_WST_SERVICE *lpService) PURE ;
- // STDMETHOD(SetCurrentService)(THIS_ AM_WST_SERVICE Service) PURE ;
- // Query/Set the service state (On/Off)
- // supported state values are AM_WSTState_On and AM_WSTState_Off
- STDMETHOD(GetServiceState)(THIS_ AM_WST_STATE *lpState) PURE ;
- STDMETHOD(SetServiceState)(THIS_ AM_WST_STATE State) PURE ;
- //
- // Output options to be used by downstream filters
- //
- // What size, bitdepth etc should the output video be
- STDMETHOD(GetOutputFormat)(THIS_ LPBITMAPINFOHEADER lpbmih) PURE ;
- // GetOutputFormat() method, if successful, returns
- // 1. S_FALSE if no output format has so far been defined by downstream filters
- // 2. S_OK if an output format has already been defined by downstream filters
- STDMETHOD(SetOutputFormat)(THIS_ LPBITMAPINFO lpbmi) PURE ;
- // Specify physical color to be used in colorkeying the background
- // for overlay mixing
- STDMETHOD(GetBackgroundColor)(THIS_ DWORD *pdwPhysColor) PURE ;
- STDMETHOD(SetBackgroundColor)(THIS_ DWORD dwPhysColor) PURE ;
- // Specify if whole output bitmap should be redrawn for each sample
- STDMETHOD(GetRedrawAlways)(THIS_ LPBOOL lpbOption) PURE ;
- STDMETHOD(SetRedrawAlways)(THIS_ BOOL bOption) PURE ;
- // Specify if the caption text background should be opaque/transparent
- STDMETHOD(GetDrawBackgroundMode)(THIS_ AM_WST_DRAWBGMODE *lpMode) PURE ;
- STDMETHOD(SetDrawBackgroundMode)(THIS_ AM_WST_DRAWBGMODE Mode) PURE ;
- // supported mode values are AM_WST_DrawBGMode_Opaque and
- // AM_WST_DrawBGMode_Transparent
- STDMETHOD(SetAnswerMode)(THIS_ BOOL bAnswer) PURE ;
- STDMETHOD(GetAnswerMode)(THIS_ BOOL* pbAnswer) PURE ;
- STDMETHOD(SetHoldPage)(THIS_ BOOL bHoldPage) PURE ;
- STDMETHOD(GetHoldPage)(THIS_ BOOL* pbHoldPage) PURE ;
- STDMETHOD(GetCurrentPage)(THIS_ PAM_WST_PAGE pWstPage) PURE;
- STDMETHOD(SetCurrentPage)(THIS_ AM_WST_PAGE WstPage) PURE;
- } ;
- #ifdef __cplusplus
- }
- #endif // __cplusplus
- #endif // __IWSTDEC__