|
|
// wiatestView.h : interface of the CWiatestView class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_WIATESTVIEW_H__B547F708_A160_4238_9D68_CC9C7B8511D4__INCLUDED_)
#define AFX_WIATESTVIEW_H__B547F708_A160_4238_9D68_CC9C7B8511D4__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "wiaitemlistctrl.h"
#include "wiaacquiredlg.h"
#include "wiaeventcallback.h"
#define MIN_BUFFER_FACTOR 4
#define BMPFILE_HEADER_MARKER ((WORD) ('M' << 8) | 'B')
#define WIDTHBYTES(bits) (((bits) + 31) / 32 * 4)
#define NUMSYSTEMTIME_COLONS 7
#define MIN_CLIENT_WINDOW_WIDTH 580
////////////////////////////////////////////////////////////
// from sti.h
#define GET_STIDEVICE_TYPE(dwDevType) HIWORD(dwDevType)
#define GET_STIDEVICE_SUBTYPE(dwDevType) LOWORD(dwDevType)
#define StiDeviceTypeDefault 0
#define StiDeviceTypeScanner 1
#define StiDeviceTypeDigitalCamera 2
#define StiDeviceTypeStreamingVideo 3
//
////////////////////////////////////////////////////////////
class CWiatestView : public CFormView { protected: // create from serialization only
CWiatestView(); DECLARE_DYNCREATE(CWiatestView)
public: //{{AFX_DATA(CWiatestView)
enum { IDD = IDD_WIATEST_FORM }; CListBox m_SupportedTymedAndFormatsListBox; CStatic m_ThumbnailPreviewWindow; CWiaitemListCtrl m_ItemPropertiesListCtrl; CTreeCtrl m_ItemTreeCtrl; //}}AFX_DATA
// Attributes
public: CWiatestDoc* GetDocument();
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CWiatestView)
public: virtual BOOL PreCreateWindow(CREATESTRUCT& cs); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual void OnInitialUpdate(); // called first time after construct
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo); virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo); virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo); virtual void OnPrint(CDC* pDC, CPrintInfo* pInfo); virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam); //}}AFX_VIRTUAL
// Implementation
public: BOOL m_bHasDocumentFeeder; LONG m_lDeviceType; // Event helpers
void RegisterForEvents(); CWiaEventCallback m_WiaEventCallback;
// Thumbnailing helpers
HBITMAP m_hThumbNailBitmap; void DisplayThumbnail(IWiaItem *pIWiaItem); void DisplayMissingThumbnail();
// User interface
void AdjustViewForDeviceType(); void SetCurrentSelectionForTYMEDAndFormat(); void AddSupportedTYMEDAndFormatsToListBox(IWiaItem *pIWiaItem); void AddWiaItemPropertiesToListControl(IWiaItem *pIWiaItem); void AddWiaItemsToTreeControl(HTREEITEM hParent, IWiaItem *pIWiaItem); // converison helpers
void FORMAT2TSTR(GUID guidFormat, TCHAR* pszFormat); void VT2TSTR(TCHAR *pszText,ULONG VarType); void AccessFlags2TSTR(TCHAR *pszText,ULONG AccessFlags); void PROPVAR2TSTR(PROPVARIANT *pPropVar,TCHAR *szValue); void TSTR2PROPVAR(TCHAR *szValue, PROPVARIANT *pPropVar);
// data acquisition helpers
void RenameTempDataTransferFilesAndLaunchViewer(TCHAR *szFileName, GUID guidFormat, LONG lTymed); void RenameTempDataTransferFilesAndLaunchViewer(GUID guidFormat, LONG lTymed); void DeleteTempDataTransferFiles(); ULONG ReadMinBufferSizeProperty(IWiaItem *pIWiaItem); HRESULT TransferToMemory(TCHAR *szFileName, IWiaItem *pIWiaItem); HRESULT TransferToFile(TCHAR *szFileName, IWiaItem *pIWiaItem); LONG CalculateWidthBytes(LONG lWidthPixels, LONG lbpp);
// debugging helpers
BOOL m_bOutputToDebuggerON; virtual ~CWiatestView(); #ifdef _DEBUG
virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif
protected:
// Generated message map functions
protected: //{{AFX_MSG(CWiatestView)
afx_msg void OnSelchangedItemTreectrl(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnDblclkItempropertiesListctrl(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnAcquireimage(); afx_msg void OnLoadWiapropertystream(); afx_msg void OnSaveWiapropertystream(); afx_msg void OnRclickItempropertiesListctrl(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnPropertyeditpopupmenuEditpropertyvalue(); afx_msg void OnViewCapabilities(); afx_msg void OnRclickItemTreectrl(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnDeleteItem(); afx_msg void OnAcquireimageCommonui(); afx_msg void OnEditDebugout(); afx_msg void OnUpdateEditDebugout(CCmdUI* pCmdUI); afx_msg void OnShowWindow(BOOL bShow, UINT nStatus); afx_msg void OnDocumentAcquisitionSettings(); afx_msg void OnUpdateDocumentAcquisitionSettings(CCmdUI* pCmdUI); afx_msg void OnSelchangeSupportedTymedAndFormatListbox(); afx_msg void OnThumbnailPreview(); //}}AFX_MSG
DECLARE_MESSAGE_MAP() };
#ifndef _DEBUG // debug version in wiatestView.cpp
inline CWiatestDoc* CWiatestView::GetDocument() { return (CWiatestDoc*)m_pDocument; } #endif
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_WIATESTVIEW_H__B547F708_A160_4238_9D68_CC9C7B8511D4__INCLUDED_)
|