Leaked source code of windows server 2003
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.
 
 
 
 
 
 

118 lines
3.1 KiB

/*****************************************************************************
*
* (C) COPYRIGHT MICROSOFT CORPORATION, 2000
*
* TITLE: CWiaVideo.h
*
* VERSION: 1.0
*
* AUTHOR: OrenR
*
* DATE: 2000/10/25
*
* DESCRIPTION: Implements preview graph for capture still images
*
*****************************************************************************/
#ifndef _CWIAVIDEO_H_
#define _CWIAVIDEO_H_
#include "prvgrph.h"
#include "resource.h" // main symbols
class CWiaVideo :
public IWiaVideo,
public CComObjectRoot,
public CComCoClass<CWiaVideo,&CLSID_WiaVideo>
{
public:
BEGIN_COM_MAP(CWiaVideo)
COM_INTERFACE_ENTRY(IWiaVideo)
END_COM_MAP()
//DECLARE_NOT_AGGREGATABLE(CWiaVideo)
// Remove the comment from the line above if you don't want your object to
// support aggregation.
DECLARE_REGISTRY_RESOURCEID(IDR_WiaVideo)
CWiaVideo();
virtual ~CWiaVideo();
//
// IWiaVideo Properties and Methods.
//
// Properties
//
STDMETHOD(get_PreviewVisible)(BOOL *pPreviewVisible);
STDMETHOD(put_PreviewVisible)(BOOL bPreviewVisible);
STDMETHOD(get_ImagesDirectory)(BSTR *pbstrImageDirectory);
STDMETHOD(put_ImagesDirectory)(BSTR bstrImageDirectory);
//
// Methods
//
STDMETHOD(CreateVideoByWiaDevID)(BSTR bstrWiaDeviceID,
HWND hwndParent,
BOOL bStretchToFitParent,
BOOL bAutoBeginPlayback);
STDMETHOD(CreateVideoByDevNum)(UINT uiDeviceNumber,
HWND hwndParent,
BOOL bStretchToFitParent,
BOOL bAutoBeginPlayback);
STDMETHOD(CreateVideoByName)(BSTR bstrFriendlyName,
HWND hwndParent,
BOOL bStretchToFitParent,
BOOL bAutoBeginPlayback);
STDMETHOD(DestroyVideo)();
STDMETHOD(Play)();
STDMETHOD(Pause)();
STDMETHOD(TakePicture)(BSTR *pbstrNewImageFilename);
STDMETHOD(ResizeVideo)(BOOL bStretchToFitParent);
STDMETHOD(GetCurrentState)(WIAVIDEO_STATE *pbCurrentState);
//
// Misc Functions
//
///////////////////////////////
// ProcessAsyncImage
//
// Called by CPreviewGraph
// when user presses hardware
// button and it is delivered to
// Still Pin.
//
HRESULT ProcessAsyncImage(const CSimpleString *pNewImage);
private:
//
// Preview Graph object that does all video related activities.
//
CPreviewGraph m_PreviewGraph;
//
// WiaLink object that handles all the WIA related activities
// enabling this object to communicate with WIA
//
CWiaLink m_WiaLink;
CRITICAL_SECTION m_csLock;
BOOL m_bInited;
};
#endif // _CWIAVIDEO_H_