You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
3.5 KiB
117 lines
3.5 KiB
//------------------------------------------------------------------------------ |
|
// File: iwstdec.h |
|
// |
|
// Desc: WST Decoder related definitions and interfaces for ActiveMovie |
|
// |
|
// Copyright (c) 1999 - 2001, Microsoft Corporation. All rights reserved. |
|
//------------------------------------------------------------------------------ |
|
// |
|
|
|
#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__
|
|
|