XamlGouraud_Polyline.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 #if !defined XAML_GOURAUD_POLYLINE_HEADER
00020 #define XAML_GOURAUD_POLYLINE_HEADER
00021 
00025 
00026 #include "XAML/XamlCore.h"
00027 
00028 #include "whiptk/gouraud_polyline.h"
00029 #include "XAML/XamlPath.h"
00030 #include "XAML/XamlXML.h"
00031 
00032 class XamlPolylineSegment;
00033 
00038 
00039 
00042 class XAMLTK_API WT_XAML_Gouraud_Polyline 
00043     : public WT_Gouraud_Polyline
00044     , public XamlDrawableAttributes::PathAttributeProvider
00045     , public XamlDrawableAttributes::StrokeDashArray::Provider
00046     , public XamlDrawableAttributes::StrokeDashOffset::Provider
00047     , public XamlDrawableAttributes::StrokeThickness::Provider
00048 {
00049         friend class WT_XAML_Class_Factory;
00050     friend class XamlPath;
00051 
00052 protected:
00053 
00055     WT_XAML_Gouraud_Polyline ()
00056     {}
00057 
00059     WT_XAML_Gouraud_Polyline(
00060         int                         count, 
00061         WT_Logical_Point const *    points, 
00062         WT_RGBA32 const *           colors, 
00063         WT_Boolean                  copy 
00064         ) throw(WT_Result)
00065         : WT_Gouraud_Polyline(count, points, colors, copy)
00066     { }
00067 
00069         WT_XAML_Gouraud_Polyline(WT_Gouraud_Polyline const& pline) throw(WT_Result)
00070                 :WT_Gouraud_Polyline(pline)
00071         {}
00073     virtual ~WT_XAML_Gouraud_Polyline()
00074     { }
00075 
00076 public:
00077     // WT_Object virtual methods
00078     WT_Result        serialize(WT_File & file) const;
00080         WT_Result                parseAttributeList(XamlXML::tAttributeMap& rMap, WT_XAML_File& rFile);
00081     WT_Result        materializeSegment( const XamlPolylineSegment& rSegment, const WT_RGBA32& rStartColor, const WT_RGBA32& rEndColor, WT_XAML_File& rFile );
00082 
00083 protected:
00084     virtual WT_Result providePathAttributes( XamlDrawableAttributes::PathAttributeConsumer* p, WT_XAML_File& r) const;
00085     virtual WT_Result provideStrokeDashArray( XamlDrawableAttributes::StrokeDashArray*& );
00086     virtual WT_Result provideStrokeDashOffset( XamlDrawableAttributes::StrokeDashOffset*& );
00087     virtual WT_Result provideStrokeThickness( XamlDrawableAttributes::StrokeThickness*& );
00088 };
00089 
00091 
00092 #endif // XAML_GOURAUD_POLYLINE_HEADER

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