XamlDashPattern.h

Go to the documentation of this file.
00001 //
00002 //  Copyright (c) 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 #if !defined XAML_DASHPAT_HEADER
00020 #define XAML_DASHPAT_HEADER
00021 
00025 
00030 
00031 
00045 #include "XAML/XamlCore.h"
00046 
00047 #include "XAML/XamlDrawableAttributes.h"
00048 #include "XAML/XamlXML.h"
00049 
00050 class XAMLTK_API WT_XAML_Dash_Pattern : public WT_Dash_Pattern
00051                                       , public XamlDrawableAttributes::PathAttributeProvider
00052                                       , public XamlDrawableAttributes::StrokeDashArray::Provider
00053                                       , public XamlDrawableAttributes::StrokeDashArray::Consumer
00054 {
00055         friend class WT_XAML_Class_Factory;
00056         friend class WT_XAML_Rendition;
00057 
00058 protected:
00060 
00061     WT_XAML_Dash_Pattern()
00062     : WT_Dash_Pattern(),
00063       _pSerializeFile(NULL)
00064     {
00065     }
00066 
00068 
00071     WT_XAML_Dash_Pattern(
00075         WT_Integer32 id_number,
00076         WT_Integer16 length, 
00077         WT_Integer16 const * pArray 
00078         ) throw(WT_Result)
00079     : WT_Dash_Pattern(id_number,length,pArray),
00080       _pSerializeFile(NULL)
00081         {
00082     }
00083 
00085     WT_XAML_Dash_Pattern(
00086         WT_Dash_Pattern const & r ) throw(WT_Result)
00087     : WT_Dash_Pattern(r),
00088       _pSerializeFile(NULL)
00089     {
00090     }
00091 
00093     virtual ~WT_XAML_Dash_Pattern()
00094     { 
00095     }
00096 
00098 
00099 private :
00100 
00101     WT_XAML_File *_pSerializeFile;                          // serialized file, !=0
00102 
00103 public:
00104 
00105         WT_XAML_Dash_Pattern const & operator= (WT_XAML_Dash_Pattern const & other) throw(WT_Result)
00106         {
00107                 WT_Dash_Pattern::operator = (other);
00108                 return *this;
00109         }
00110         
00111     //
00112     // from XamlDrawableAttributes::PathAttributeProvider
00113     //
00114     virtual WT_Result providePathAttributes(
00115         XamlDrawableAttributes::PathAttributeConsumer*,     // consumer, != 0
00116         WT_XAML_File& ) const;                      // current file
00117 
00118 public:
00120     WT_Result        serialize (WT_File & /*file*/) const;  
00122         WT_Result                parseAttributeList(XamlXML::tAttributeMap& rMap, WT_XAML_File& rFile);
00123 
00124     //
00125     // from XamlDrawableAttributes::StrokeDashArray
00126     //
00127 protected:
00128     virtual WT_Result provideStrokeDashArray( XamlDrawableAttributes::StrokeDashArray *& );    // memento, may be null
00129     virtual WT_Result consumeStrokeDashArray( XamlDrawableAttributes::StrokeDashArray::Provider * );
00130 
00131 };
00133 
00134 #endif //XAML_DASHPAT_HEADER

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