XamlVisible.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_VISIBLE_HEADER
00020 #define XAML_VISIBLE_HEADER
00021 
00025 
00026 #include "XAML/XamlCore.h"
00027 
00028 #include "whiptk/visible.h"
00029 
00034 
00035 
00038 class XAMLTK_API WT_XAML_Visibility : public WT_Visibility
00039                                     , public XamlDrawableAttributes::PathAttributeProvider
00040                                     , public XamlDrawableAttributes::GlyphsAttributeProvider
00041                                     , public XamlDrawableAttributes::Opacity::Provider
00042                                     , public XamlDrawableAttributes::Opacity::Consumer
00043 {
00044         friend class WT_XAML_Class_Factory;
00045         friend class WT_XAML_Rendition;
00046 
00047 protected:
00048 
00050 
00051     WT_XAML_Visibility()
00052         : WT_Visibility()
00053     { }
00055     WT_XAML_Visibility(WT_Boolean visible)
00056         : WT_Visibility(visible)
00057     { }
00058 
00060         WT_XAML_Visibility(WT_Visibility const& visibility)
00061                 :WT_Visibility(visibility)
00062         {}
00063         virtual ~WT_XAML_Visibility()
00064         {}
00066 
00067 public:
00068 
00069         WT_XAML_Visibility &   operator=(WT_XAML_Visibility const & visibility)
00070     {
00071                 WT_Visibility::operator = (visibility);
00072         return *this;
00073 
00074     }
00075     
00076     //
00077     // from XamlDrawableAttributes::PathAttributeProvider
00078     //
00079     virtual WT_Result providePathAttributes(
00080         XamlDrawableAttributes::PathAttributeConsumer*, // consumer, != 0
00081         WT_XAML_File& ) const;                          // current file
00082 
00083     //
00084     // from XamlDrawableAttributes::GlyphsAttributeProvider
00085     //
00086     virtual WT_Result provideGlyphsAttributes(
00087         XamlDrawableAttributes::GlyphsAttributeConsumer *pConsumer,
00088         WT_XAML_File &) const;
00089 
00090     //
00091     // from XamlDrawableAttributes::Opacity::Provider
00092     //
00093     virtual WT_Result provideOpacity(
00094         XamlDrawableAttributes::Opacity *&);            // memento, may be null
00095 
00096     //
00097     // from XamlDrawableAttributes::Opacity::Consumer
00098     //
00099     virtual WT_Result consumeOpacity( XamlDrawableAttributes::Opacity::Provider * );
00100     
00102     WT_Result        serialize (WT_File & /*file*/) const;
00103    
00104     virtual WT_XAML_Visibility &   operator=(WT_Visibility const & visibility)
00105     {
00106                 WT_Visibility::operator= (visibility);
00107         return *this;
00108     }
00110 
00111 };
00113 
00114 #endif //XAML_VISIBLE_HEADER
00115 

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