EPlotSectionDescriptorReader.h

Go to the documentation of this file.
00001 //
00002 //  Copyright (c) 1996-2006 by Autodesk, Inc.
00003 //
00004 //  By using this code, you are agreeing to the terms and conditions of
00005 //  the License Agreement included in the documentation for this code.
00006 //
00007 //  AUTODESK MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE CORRECTNESS
00008 //  OF THIS CODE OR ANY DERIVATIVE WORKS WHICH INCORPORATE IT. AUTODESK
00009 //  PROVIDES THE CODE ON AN "AS-IS" BASIS AND EXPLICITLY DISCLAIMS ANY
00010 //  LIABILITY, INCLUDING CONSEQUENTIAL AND INCIDENTAL DAMAGES FOR ERRORS,
00011 //  OMISSIONS, AND OTHER PROBLEMS IN THE CODE.
00012 //
00013 //  Use, duplication, or disclosure by the U.S. Government is subject to
00014 //  restrictions set forth in FAR 52.227-19 (Commercial Computer Software
00015 //  Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) (Rights in Technical
00016 //  Data and Computer Software), as applicable.
00017 //
00018 
00019 
00020 #ifndef _DWFTK_EPLOT_SECTION_DESCRIPTOR_READER_H
00021 #define _DWFTK_EPLOT_SECTION_DESCRIPTOR_READER_H
00022 
00027 
00028 
00029 #include "dwfcore/Core.h"
00030 using namespace DWFCore;
00031 
00032 #include "dwf/package/Paper.h"
00033 #include "dwf/package/Property.h"
00034 #include "dwf/package/FontResource.h"
00035 #include "dwf/package/GraphicResource.h"
00036 #include "dwf/presentation/ContentPresentationResource.h"
00037 #include "dwf/package/reader/SectionDescriptorReader.h"
00038 
00039 
00040 namespace DWFToolkit
00041 {
00042 
00072 class DWFEPlotSectionDescriptorReader : public DWFSectionDescriptorReader
00073                                         _DWFTK_EXPORT_API_MEMORY_CONTROL_BASE_MEMBER
00074 {
00075 
00076 public:
00077 
00085     typedef enum
00086     {
00090         eProvideNone                        =   0x0000,
00091 
00095         eProvideName                        =   0x0001,
00099         eProvideVersion                     =   0x0002,
00103         eProvidePlotOrder                   =   0x0004,
00107         eProvideColor                       =   0x0008,
00111         eProvideObjectID                    =   0x0010,
00112 
00116         eProvidePaper                       =   0x0020,
00120         eProvideProperties                  =   0x0040,
00121 
00125         eProvideResources                   =   0x0080,
00126 
00130         eProvideUntypedResource             =   0x0100,
00134         eProvideFontResource                =   0x0200,
00138         eProvideGraphicResource             =   0x0400,
00142         eProvideImageResource               =   0x0800,
00145         eProvideContentPresentationResource =   0x1000,
00146 
00150         eProvideAttributes                  =   0x001F,
00151 
00155         eProvideElements                    =   0x1F60,
00156 
00160         eProvideAll                         =   0xFFFF
00161 
00162     } teProviderType;
00163 
00164 public:
00165 
00173     _DWFTK_API
00174     DWFEPlotSectionDescriptorReader( DWFPackageReader*  pPackageReader = NULL,
00175                                      unsigned int       nProviderFlags = eProvideAll )
00176         throw();
00177 
00183     _DWFTK_API
00184     virtual ~DWFEPlotSectionDescriptorReader()
00185         throw();
00186 
00190     _DWFTK_API
00191     DWFEPlotSectionDescriptorReader* filter() const
00192         throw();
00193 
00197     _DWFTK_API
00198     void setFilter( DWFEPlotSectionDescriptorReader* pFilter )
00199         throw();
00200 
00208     _DWFTK_API
00209     virtual const char* provideName( const char* zName )
00210         throw();
00211 
00219     _DWFTK_API
00220     virtual const char* provideObjectID( const char* zObjectID )
00221         throw();
00222 
00230     _DWFTK_API
00231     virtual double provideVersion( double nVersion )
00232         throw();
00233 
00241     _DWFTK_API
00242     virtual double providePlotOrder( double nPlotOrder )
00243         throw();
00244 
00252     _DWFTK_API
00253     virtual unsigned int provideColor( unsigned int nColorARGB )
00254         throw();
00255 
00264     _DWFTK_API
00265     virtual DWFPaper* providePaper( DWFPaper* pPaper )
00266         throw();
00267 
00276     _DWFTK_API
00277     virtual DWFProperty* provideProperty( DWFProperty* pProperty )
00278         throw();
00279 
00288     _DWFTK_API
00289     virtual DWFResource* provideResource( DWFResource* pResource )
00290         throw();
00291 
00300     _DWFTK_API
00301     virtual DWFFontResource* provideFontResource( DWFFontResource* pResource )
00302         throw();
00303 
00312     _DWFTK_API
00313     virtual DWFGraphicResource* provideGraphicResource( DWFGraphicResource* pResource )
00314         throw();
00315 
00324     _DWFTK_API
00325     virtual DWFImageResource* provideImageResource( DWFImageResource* pResource )
00326         throw();
00327 
00336     _DWFTK_API
00337     virtual DWFContentPresentationResource* provideContentPresentationResource( DWFContentPresentationResource* pResource )
00338         throw();    
00339 
00343     _DWFTK_API
00344     void notifyStartElement( const char*   zName,
00345                              const char**  ppAttributeList )
00346         throw();
00347 
00351     _DWFTK_API
00352     void notifyEndElement( const char*     zName )
00353         throw();
00354 
00358     _DWFTK_API
00359     void notifyStartNamespace( const char* zPrefix,
00360                                const char* zURI )
00361         throw();
00362 
00366     _DWFTK_API
00367     void notifyEndNamespace( const char*   zPrefix )
00368         throw();
00369 
00370 protected:
00371 
00375     void _provideAttributes( const char**   ppAttributeList )
00376         throw();
00377 
00378 private:
00379 
00380     void _provideName( const char* zName )
00381         throw();
00382 
00383     void _provideObjectID( const char* zObjectID )
00384         throw();
00385 
00386     void _provideVersion( double nVersion )
00387         throw();
00388 
00389     void _providePlotOrder( double nPlotOrder )
00390         throw();
00391 
00392     void _provideColor( unsigned int nColorARGB )
00393         throw();
00394 
00395     void _providePaper( DWFPaper* pPaper )
00396         throw();
00397 
00398     void _provideProperty( DWFProperty* pProperty )
00399         throw();
00400 
00401     void _provideResource( DWFResource* pResource )
00402         throw();
00403 
00404     void _provideFontResource( DWFFontResource* pResource )
00405         throw();
00406 
00407     void _provideGraphicResource( DWFGraphicResource* pResource )
00408         throw();
00409 
00410     void _provideImageResource( DWFImageResource* pResource )
00411         throw();
00412 
00413     void _provideContentPresentationResource( DWFContentPresentationResource* pResource )
00414         throw();
00415 
00416 private:
00417 
00418     unsigned int                        _nProviderFlags;
00419     unsigned int                        _nCurrentCollectionProvider;
00420 
00421     DWFResource*                        _pCurrentResource;
00422     DWFCoordinateSystem*                _pCoordinateSystem;
00423     DWFEPlotSectionDescriptorReader*    _pFilter;
00424 
00425 private:
00426 
00427     //
00428     // Not implemented
00429     //
00430 
00431     DWFEPlotSectionDescriptorReader( const DWFEPlotSectionDescriptorReader& );
00432     DWFEPlotSectionDescriptorReader& operator=( const DWFEPlotSectionDescriptorReader& );
00433 };
00434 
00435 }
00436 
00437 #endif

Generated on Tue Jan 6 22:40:03 2009 for Autodesk DWF Toolkit by  doxygen 1.4.5