mirror of https://github.com/tongzx/nt5src
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.
78 lines
2.3 KiB
78 lines
2.3 KiB
/*******************************************************************************
|
|
*
|
|
* (C) COPYRIGHT MICROSOFT CORPORATION, 1998
|
|
*
|
|
* TITLE: SCANITEM.H
|
|
*
|
|
* VERSION: 1.0
|
|
*
|
|
* AUTHOR: ShaunIv
|
|
*
|
|
* DATE: 10/7/1999
|
|
*
|
|
* DESCRIPTION: WIA Item wrapper for scanner items
|
|
*
|
|
*******************************************************************************/
|
|
#ifndef __SCANITEM_H_INCLUDED
|
|
#define __SCANITEM_H_INCLUDED
|
|
|
|
#include "simevent.h"
|
|
#include "propstrm.h"
|
|
|
|
class CScannerItem
|
|
{
|
|
private:
|
|
CComPtr<IWiaItem> m_pIWiaItem; // Item COM pointer
|
|
SIZE m_AspectRatio;
|
|
DWORD m_dwIWiaItemCookie; // Global interface table entry
|
|
CSimpleEvent m_CancelEvent;
|
|
CPropertyStream m_SavedPropertyStream;
|
|
CPropertyStream m_CustomPropertyStream;
|
|
|
|
public:
|
|
CScannerItem( IWiaItem *pIWiaItem );
|
|
CScannerItem( void );
|
|
CScannerItem(const CScannerItem &other);
|
|
~CScannerItem(void);
|
|
CComPtr<IWiaItem> Item(void) const;
|
|
SIZE AspectRatio(void) const;
|
|
DWORD Cookie(void) const;
|
|
CScannerItem &Assign( const CScannerItem &other );
|
|
bool operator==( const CScannerItem & );
|
|
CScannerItem &operator=( const CScannerItem &other );
|
|
HRESULT Destroy(void);
|
|
HRESULT Initialize( IWiaItem *pIWiaItem );
|
|
bool GetInitialBedSize( SIZE &sizeBed );
|
|
bool GetAspectRatio( SIZE &sizeAspectRatio );
|
|
bool ApplyCurrentPreviewWindowSettings( HWND hWndPreview );
|
|
bool GetFullResolution( const SIZE &sizeResultionPerInch, SIZE &sizeRes );
|
|
void Cancel(void);
|
|
bool CalculatePreviewResolution( SIZE &sizeResolution );
|
|
HANDLE Scan( HWND hWndNotify, HWND hWndPreview );
|
|
HANDLE Scan( HWND hWndNotify, GUID guidFormat, const CSimpleStringWide &strFilename );
|
|
bool SetIntent( int nIntent );
|
|
CSimpleEvent CancelEvent(void) const;
|
|
|
|
CPropertyStream &SavedPropertyStream(void)
|
|
{
|
|
return m_SavedPropertyStream;
|
|
}
|
|
const CPropertyStream &SavedPropertyStream(void) const
|
|
{
|
|
return m_SavedPropertyStream;
|
|
}
|
|
|
|
CPropertyStream &CustomPropertyStream(void)
|
|
{
|
|
return m_CustomPropertyStream;
|
|
}
|
|
const CPropertyStream &CustomPropertyStream(void) const
|
|
{
|
|
return m_CustomPropertyStream;
|
|
}
|
|
|
|
|
|
};
|
|
|
|
#endif
|
|
|