Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members

PictureDecoder.h

00001 /*
00002 /--------------------------------------------------------------------
00003 |
00004 |      $Id: PictureDecoder.h,v 1.8 2003/03/18 22:44:32 mskinner Exp $
00005 |
00006 |      Copyright (c) 1996-2002 Ulrich von Zadow
00007 |
00008 \--------------------------------------------------------------------
00009 */
00010 
00011 #ifndef __PICTUREDECODER_H_
00012 #define __PICTUREDECODER_H_
00013 
00014 #include "resource.h"       // main symbols
00015 #include "planydec.h"
00016 #include "plbitmap.h"
00017 #include "plexcept.h"
00018 #include "plstreamsink.h"
00019 
00020 extern CComModule _Module;
00021 
00022 /////////////////////////////////////////////////////////////////////////////
00023 // CPictureDecoder
00024 class ATL_NO_VTABLE CPictureDecoder : 
00025         public CComObjectRootEx<CComSingleThreadModel>,
00026         public CComCoClass<CPictureDecoder, &CLSID_PictureDecoder>,
00027         public ISupportErrorInfo,
00028         public IDispatchImpl<IPictureDecoder2, &IID_IPictureDecoder2, &LIBID_PaintX>
00029 {
00030 public:
00031         CPictureDecoder()
00032         {
00033         }
00034 
00035 DECLARE_REGISTRY_RESOURCEID(IDR_PICTUREDECODER)
00036 
00037 BEGIN_COM_MAP(CPictureDecoder)
00038         COM_INTERFACE_ENTRY(IPictureDecoder)
00039         COM_INTERFACE_ENTRY(IPictureDecoder2)
00040         COM_INTERFACE_ENTRY(IDispatch)
00041         COM_INTERFACE_ENTRY(ISupportErrorInfo)
00042 END_COM_MAP()
00043 
00044 // ISupportsErrorInfo
00045         STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
00046 
00047 // PictureDecoder
00048 public:
00049         STDMETHOD(LoadMemPicture)(/*[in]*/ VARIANT* vByteArray, /*[out, retval]*/ IUnknown ** ppUnk);
00050         STDMETHOD(LoadResPicture)(/*[in]*/ int ResourceID, /*[out, retval]*/ IUnknown ** ppUnk);
00051         STDMETHOD(LoadPicture)(/*[in]*/ BSTR Filename, /*[out, retval]*/ IUnknown ** ppUnk);
00052 protected:
00053     IPictureDisp * BitmapToPicture(PLBmp* pBmp);
00054         HRESULT SignalPictureChanged(IUnknown * pUnknown);
00055         HRESULT CreateErrorInfo(PLTextException  TextException,REFIID riidSource);
00056         PLAnyPicDecoder m_AnyPicDecoder;
00057 };
00058 
00059 #endif //__PICTUREDECODER_H_
00060 /*
00061 /--------------------------------------------------------------------
00062 |
00063 |      $Log: PictureDecoder.h,v $
00064 |      Revision 1.8  2003/03/18 22:44:32  mskinner
00065 |      added LoadMemPicture\nadded IPictureDecoder2
00066 |
00067 |      Revision 1.7  2002/03/31 13:36:42  uzadow
00068 |      Updated copyright.
00069 |
00070 |      Revision 1.6  2001/09/16 19:03:23  uzadow
00071 |      Added global name prefix PL, changed most filenames.
00072 |
00073 |
00074 --------------------------------------------------------------------
00075 */

Generated on Sun Jun 6 13:42:21 2004 for paintlib by doxygen 1.3.2