home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / lzwsrc.zip / IMGVIEW.H < prev    next >
C/C++ Source or Header  |  1996-09-05  |  2KB  |  83 lines

  1. //***************************************************************************
  2. //
  3. // ImgView.h
  4. //
  5. //***************************************************************************
  6.  
  7. DEFINE_GUID (CLSID_FileViewer, 0x8e74e20a, 0x0f1a, 0x11aa, 0xbc, 0xb0,
  8.     0x11, 0xfd, 0x0e, 0xab, 0xcd, 0x6c);
  9.  
  10. /////////////////////////////////////////////////////////////////////////////
  11. // Nonmember function prototypes
  12.  
  13. STDAPI DllGetClassObject (REFCLSID, REFIID, LPVOID*);
  14. STDAPI DllCanUnloadNow ();
  15.  
  16. LRESULT CALLBACK MainWndProc (HWND, UINT, WPARAM, LPARAM);
  17. LRESULT CALLBACK ViewWndProc (HWND, UINT, WPARAM, LPARAM);
  18. BOOL CALLBACK AboutDlgProc (HWND, UINT, WPARAM, LPARAM);
  19.  
  20. void SizeWindowToImage (HWND, BITMAPHANDLE*);
  21. void ResizeView (HWND, HWND, int, int);
  22. void RecordStatusBarPreference (BOOL);
  23. BOOL PreferStatusBarHidden ();
  24.  
  25. /////////////////////////////////////////////////////////////////////////////
  26. // Class factory class
  27.  
  28. class CClassFactory : public IClassFactory
  29. {
  30. private:
  31.     ULONG m_cRef;
  32.     
  33. public:
  34.     CClassFactory ();
  35.     ~CClassFactory ();
  36.         
  37.     // IUnknown methods
  38.     STDMETHODIMP            QueryInterface (REFIID, LPVOID*);
  39.     STDMETHODIMP_(ULONG)    AddRef ();
  40.     STDMETHODIMP_(ULONG)    Release ();
  41.     
  42.     // IClassFactory methods
  43.     STDMETHODIMP CreateInstance (LPUNKNOWN, REFIID, LPVOID*);
  44.     STDMETHODIMP LockServer (BOOL);
  45. };
  46.  
  47. /////////////////////////////////////////////////////////////////////////////
  48. // File viewer class
  49.  
  50. class CFileViewer : public IFileViewer, IPersistFile
  51. {
  52. private:
  53.     ULONG   m_cRef;
  54.     char    m_szFile[MAX_PATH];
  55.     BOOL    m_bShowInitializeCalled;
  56.     HWND    m_hWnd;
  57.  
  58. public:
  59.     CFileViewer ();
  60.     ~CFileViewer ();
  61.  
  62.     // IUnknown methods
  63.     STDMETHODIMP            QueryInterface (REFIID, LPVOID*);
  64.     STDMETHODIMP_(ULONG)    AddRef ();
  65.     STDMETHODIMP_(ULONG)    Release ();
  66.     
  67.     // IFileViewer methods
  68.     STDMETHODIMP PrintTo (LPSTR, BOOL);
  69.     STDMETHODIMP ShowInitialize (LPFILEVIEWERSITE);
  70.     STDMETHODIMP Show (LPFVSHOWINFO);
  71.  
  72.     // IPersistFile methods
  73.     STDMETHODIMP IsDirty ();
  74.     STDMETHODIMP Load (LPCOLESTR, DWORD);
  75.     STDMETHODIMP Save (LPCOLESTR, BOOL);
  76.     STDMETHODIMP SaveCompleted (LPCOLESTR);
  77.     STDMETHODIMP GetCurFile (LPOLESTR*);
  78.     STDMETHODIMP GetClassID (LPCLSID);
  79.  
  80.     // Other functions    
  81.     BOOL LoadImage (LPSTR);
  82. };
  83.