XamlLinePattern.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 #if !defined XAML_LINEPAT_HEADER
00019 #define XAML_LINEPAT_HEADER
00020 
00024 
00029 #include "XAML/XamlCore.h"
00030 
00031 #include "whiptk/linepat.h"
00032 #include "XAML/XamlDrawableAttributes.h"
00033 #include "XAML/XamlXML.h"
00034 
00035 class XAMLTK_API WT_XAML_Line_Pattern :
00036     public WT_Line_Pattern,
00037     public XamlDrawableAttributes::PathAttributeProvider,
00038     public XamlDrawableAttributes::StrokeDashArray::Provider,
00039     public XamlDrawableAttributes::StrokeDashOffset::Provider
00040 {
00041         friend class WT_XAML_Class_Factory;
00042         friend class WT_XAML_Rendition;
00043 
00044 protected:
00046 
00047     WT_XAML_Line_Pattern()
00048     : WT_Line_Pattern()
00049     , _pSerializeFile(NULL)
00050     {}
00051 
00053     WT_XAML_Line_Pattern( WT_Pattern_ID id )
00054     : WT_Line_Pattern(id)
00055     , _pSerializeFile(NULL)
00056     {}
00057 
00058     virtual ~WT_XAML_Line_Pattern()
00059         {}
00061 
00062 private :
00063 
00064     WT_XAML_File *_pSerializeFile;                  // serialized file, !=0
00065     
00066     static unsigned int *_kpDwfPatterns [];           // DWF patterns
00067     static unsigned int *_kpIsoPatterns [];           // ISO patterns
00068 
00069 public:
00070 
00071     //
00072     // from XamlDrawableAttributes::PathAttributeProvider
00073     //
00074     virtual WT_Result providePathAttributes(
00075         XamlDrawableAttributes::PathAttributeConsumer*,     // consumer, != 0
00076         WT_XAML_File& ) const;                      // current file
00077 
00078     //
00079     // from XamlDrawableAttributes::StrokeDashArray::Provider
00080     //
00081     virtual WT_Result provideStrokeDashArray(
00082         XamlDrawableAttributes::StrokeDashArray *&);    // memento, may be null
00083 
00084     //
00085     // from XamlDrawableAttributes::StrokeDashOffset::Provider
00086     //
00087     virtual WT_Result provideStrokeDashOffset(
00088         XamlDrawableAttributes::StrokeDashOffset *&);    // memento, may be null
00089 
00091     WT_Result        serialize (WT_File & /*file*/) const;
00092         WT_Result                parseAttributeList(XamlXML::tAttributeMap& rMap, WT_XAML_File& rFile);
00093 }; 
00095 
00096 #endif //XAML_LINEPAT_HEADER

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