Source code of Windows XP (NT5)
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

/*******************************************************************************
*
* (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