XamlGlyphs.h

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_GLYPHS
00019 #define XAML_GLYPHS
00020 
00021 #include "XAML/XamlObject.h"
00022 
00023 
00024 //<Glyphs Fill="#ff000000" 
00025 //        FontUri="/Documents/1/Resources/Fonts/98595B54-4534-483C-AE20-209D88A14C32.odttf" 
00026 //        FontRenderingEmSize="10.6997" 
00027 //        StyleSimulations="None" 
00028 //        OriginX="144" 
00029 //        OriginY="58.88" 
00030 //        Indices="59,72;51,61;54,72;3,37;54,71;83,64;72,63;70,55;76,28;73,39;76,29;70,55;68,63;87,42;76,28;82,64;81,65;3,39;68,61;81,66;71,64;3,37;53,72;72,61;73,39;72,62;85,44;72,62;81,66;70,55;72,61;3,38;42,80;88,66;76,29;71,65;72,59" 
00031 //        UnicodeString="XPS Specification and Reference Guide" />
00032 
00033 class XamlGlyphs : public XamlDrawable
00034                  , public XamlDrawableAttributes::GlyphsAttributeConsumer
00035                  , public XamlDrawableAttributes::BidiLevel::Provider
00036                  , public XamlDrawableAttributes::CaretStops::Provider
00037                  , public XamlDrawableAttributes::DeviceFontName::Provider
00038                  , public XamlDrawableAttributes::Fill::Provider
00039                  , public XamlDrawableAttributes::FontRenderingEmSize::Provider
00040                  , public XamlDrawableAttributes::FontUri::Provider
00041                  , public XamlDrawableAttributes::OriginX::Provider
00042                  , public XamlDrawableAttributes::OriginY::Provider
00043                  , public XamlDrawableAttributes::Indices::Provider
00044                  , public XamlDrawableAttributes::IsSideways::Provider
00045                  , public XamlDrawableAttributes::UnicodeString::Provider
00046                  , public XamlDrawableAttributes::StyleSimulations::Provider
00047                  , public XamlDrawableAttributes::RenderTransform::Provider
00048                  , public XamlDrawableAttributes::Clip::Provider
00049                  , public XamlDrawableAttributes::Opacity::Provider
00050                  , public XamlDrawableAttributes::OpacityMask::Provider
00051                  , public XamlDrawableAttributes::Name::Provider
00052                  , public XamlDrawableAttributes::NavigateUri::Provider
00053 {
00054 public:
00055     class AttributeParser : public XamlDrawableAttributes::GlyphsAttributeProvider
00056                           , public XamlDrawableAttributes::BidiLevel::Provider
00057                           , public XamlDrawableAttributes::CaretStops::Provider
00058                           , public XamlDrawableAttributes::DeviceFontName::Provider
00059                           , public XamlDrawableAttributes::Fill::Provider
00060                           , public XamlDrawableAttributes::FontRenderingEmSize::Provider
00061                           , public XamlDrawableAttributes::FontUri::Provider
00062                           , public XamlDrawableAttributes::OriginX::Provider
00063                           , public XamlDrawableAttributes::OriginY::Provider
00064                           , public XamlDrawableAttributes::Indices::Provider
00065                           , public XamlDrawableAttributes::IsSideways::Provider
00066                           , public XamlDrawableAttributes::UnicodeString::Provider
00067                           , public XamlDrawableAttributes::StyleSimulations::Provider
00068                           , public XamlDrawableAttributes::RenderTransform::Provider
00069                           , public XamlDrawableAttributes::Clip::Provider
00070                           , public XamlDrawableAttributes::Opacity::Provider
00071                           , public XamlDrawableAttributes::OpacityMask::Provider
00072                           , public XamlDrawableAttributes::Name::Provider
00073                           , public XamlDrawableAttributes::NavigateUri::Provider
00074     {
00075     public:
00076         AttributeParser( XamlXML::tAttributeMap& rMap );
00077         WT_Result provideGlyphsAttributes(      XamlDrawableAttributes::GlyphsAttributeConsumer* p, WT_XAML_File& r) const;
00078 
00079     protected:
00080         WT_Result provideBidiLevel(             XamlDrawableAttributes::BidiLevel*& rp );
00081         WT_Result provideCaretStops(            XamlDrawableAttributes::CaretStops*& rp );
00082         WT_Result provideDeviceFontName(        XamlDrawableAttributes::DeviceFontName*& rp );
00083         WT_Result provideFill(                  XamlDrawableAttributes::Fill*& rp );
00084         WT_Result provideFontRenderingEmSize(   XamlDrawableAttributes::FontRenderingEmSize*& rp );
00085         WT_Result provideFontUri(               XamlDrawableAttributes::FontUri*& rp );
00086         WT_Result provideOriginX(               XamlDrawableAttributes::OriginX*& rp );
00087         WT_Result provideOriginY(               XamlDrawableAttributes::OriginY*& rp );
00088         WT_Result provideIndices(               XamlDrawableAttributes::Indices*& rp );
00089         WT_Result provideIsSideways(            XamlDrawableAttributes::IsSideways*& rp );
00090         WT_Result provideUnicodeString(         XamlDrawableAttributes::UnicodeString*& rp );
00091         WT_Result provideStyleSimulations(      XamlDrawableAttributes::StyleSimulations*& rp );
00092         WT_Result provideRenderTransform(       XamlDrawableAttributes::RenderTransform*& rp );
00093         WT_Result provideClip(                  XamlDrawableAttributes::Clip*& rp );
00094         WT_Result provideOpacity(               XamlDrawableAttributes::Opacity*& rp );
00095         WT_Result provideOpacityMask(           XamlDrawableAttributes::OpacityMask*& rp );
00096         WT_Result provideName(                  XamlDrawableAttributes::Name*& rp );
00097         WT_Result provideNavigateUri(           XamlDrawableAttributes::NavigateUri*& rp );
00098         
00099     private:
00100         AttributeParser& operator=( const AttributeParser& ) { return *this; }
00101         XamlXML::tAttributeMap& _rMap;
00102         WT_XAML_File * _pFile;
00103     };
00104 
00105 
00106 public:
00107     XamlGlyphs();
00108     virtual ~XamlGlyphs(void);
00109 
00110     XamlGlyphs& operator=(const XamlGlyphs& r);
00111 
00112     virtual WTX_ID      xobject_id() const { return Glyphs_ID; }
00113     virtual WT_Result   serialize(WT_File & file) const;
00114 
00115 public:
00116     const XamlDrawableAttributes::BidiLevel&            bidiLevel()             { return _oBidiLevel; }
00117     const XamlDrawableAttributes::CaretStops&           caretStops()            { return _oCaretStops; }
00118     const XamlDrawableAttributes::DeviceFontName&       deviceFontName()        { return _oDeviceFontName; }
00119     const XamlDrawableAttributes::Fill&                 fill()                  { return _oFill; }
00120     const XamlDrawableAttributes::FontRenderingEmSize&  fontRenderingEmSize()   { return _oFontRenderingEmSize; }
00121     const XamlDrawableAttributes::FontUri&              fontUri()               { return _oFontUri; }
00122     const XamlDrawableAttributes::OriginX&              originX()               { return _oOriginX; }
00123     const XamlDrawableAttributes::OriginY&              originY()               { return _oOriginY; }
00124     const XamlDrawableAttributes::IsSideways&           isSideways()            { return _oIsSideways; }
00125     const XamlDrawableAttributes::Indices&              indices()               { return _oIndices; }
00126     const XamlDrawableAttributes::UnicodeString&        unicodeString()         { return _oUnicodeString; }
00127     const XamlDrawableAttributes::StyleSimulations&     styleSimulations()      { return _oStyleSimulations; }
00128     const XamlDrawableAttributes::RenderTransform&      renderTransform()       { return _oRenderTransform; }
00129     const XamlDrawableAttributes::Clip&                 clip()                  { return _oClip; }
00130     const XamlDrawableAttributes::Opacity&              opacity()               { return _oOpacity; }
00131     const XamlDrawableAttributes::OpacityMask&          opacityMask()           { return _oOpacityMask; }
00132     const XamlDrawableAttributes::Name&                 name()                  { return _oName; }
00133     const XamlDrawableAttributes::NavigateUri&          navigateUri()           { return _oNavigateUri; }
00134 
00135 protected:
00136     virtual WT_Result consumeBidiLevel          ( XamlDrawableAttributes::BidiLevel::Provider* );
00137     virtual WT_Result consumeCaretStops         ( XamlDrawableAttributes::CaretStops::Provider* );
00138     virtual WT_Result consumeDeviceFontName     ( XamlDrawableAttributes::DeviceFontName::Provider* );
00139     virtual WT_Result consumeFill               ( XamlDrawableAttributes::Fill::Provider* );
00140     virtual WT_Result consumeFontRenderingEmSize( XamlDrawableAttributes::FontRenderingEmSize::Provider* );
00141     virtual WT_Result consumeFontUri            ( XamlDrawableAttributes::FontUri::Provider* );
00142     virtual WT_Result consumeOriginX            ( XamlDrawableAttributes::OriginX::Provider* );
00143     virtual WT_Result consumeOriginY            ( XamlDrawableAttributes::OriginY::Provider* );
00144     virtual WT_Result consumeIndices            ( XamlDrawableAttributes::Indices::Provider* );
00145     virtual WT_Result consumeIsSideways         ( XamlDrawableAttributes::IsSideways::Provider* );
00146     virtual WT_Result consumeUnicodeString      ( XamlDrawableAttributes::UnicodeString::Provider* );
00147     virtual WT_Result consumeStyleSimulations   ( XamlDrawableAttributes::StyleSimulations::Provider* );
00148     virtual WT_Result consumeRenderTransform    ( XamlDrawableAttributes::RenderTransform::Provider* );
00149     virtual WT_Result consumeClip               ( XamlDrawableAttributes::Clip::Provider* );
00150     virtual WT_Result consumeOpacity            ( XamlDrawableAttributes::Opacity::Provider* );
00151     virtual WT_Result consumeOpacityMask        ( XamlDrawableAttributes::OpacityMask::Provider* );
00152     virtual WT_Result consumeName               ( XamlDrawableAttributes::Name::Provider* );
00153     virtual WT_Result consumeNavigateUri        ( XamlDrawableAttributes::NavigateUri::Provider* );
00154 
00155     virtual WT_Result provideBidiLevel          ( XamlDrawableAttributes::BidiLevel*& rp );
00156     virtual WT_Result provideCaretStops         ( XamlDrawableAttributes::CaretStops*& rp );
00157     virtual WT_Result provideDeviceFontName     ( XamlDrawableAttributes::DeviceFontName*& rp );
00158     virtual WT_Result provideFill               ( XamlDrawableAttributes::Fill*& rp );
00159     virtual WT_Result provideFontRenderingEmSize( XamlDrawableAttributes::FontRenderingEmSize*& rp );
00160     virtual WT_Result provideFontUri            ( XamlDrawableAttributes::FontUri*& rp );
00161     virtual WT_Result provideOriginX            ( XamlDrawableAttributes::OriginX*& rp );
00162     virtual WT_Result provideOriginY            ( XamlDrawableAttributes::OriginY*& rp );
00163     virtual WT_Result provideIndices            ( XamlDrawableAttributes::Indices*& rp );
00164     virtual WT_Result provideIsSideways         ( XamlDrawableAttributes::IsSideways*& rp );
00165     virtual WT_Result provideUnicodeString      ( XamlDrawableAttributes::UnicodeString*& rp );
00166     virtual WT_Result provideStyleSimulations   ( XamlDrawableAttributes::StyleSimulations*& rp );
00167     virtual WT_Result provideRenderTransform    ( XamlDrawableAttributes::RenderTransform*& rp );
00168     virtual WT_Result provideClip               ( XamlDrawableAttributes::Clip*& rp );
00169     virtual WT_Result provideOpacity            ( XamlDrawableAttributes::Opacity*& rp );
00170     virtual WT_Result provideOpacityMask        ( XamlDrawableAttributes::OpacityMask*& rp );
00171     virtual WT_Result provideName               ( XamlDrawableAttributes::Name*& rp );
00172     virtual WT_Result provideNavigateUri        ( XamlDrawableAttributes::NavigateUri*& rp );
00173 
00174     XamlDrawableAttributes::BidiLevel           _oBidiLevel;
00175     XamlDrawableAttributes::CaretStops          _oCaretStops;
00176     XamlDrawableAttributes::DeviceFontName      _oDeviceFontName;
00177     XamlDrawableAttributes::Fill                _oFill;
00178     XamlDrawableAttributes::FontRenderingEmSize _oFontRenderingEmSize;
00179     XamlDrawableAttributes::FontUri             _oFontUri;
00180     XamlDrawableAttributes::OriginX             _oOriginX;
00181     XamlDrawableAttributes::OriginY             _oOriginY;
00182     XamlDrawableAttributes::IsSideways          _oIsSideways;
00183     XamlDrawableAttributes::Indices             _oIndices;
00184     XamlDrawableAttributes::UnicodeString       _oUnicodeString;
00185     XamlDrawableAttributes::StyleSimulations    _oStyleSimulations;
00186     XamlDrawableAttributes::RenderTransform     _oRenderTransform;
00187     XamlDrawableAttributes::Clip                _oClip;
00188     XamlDrawableAttributes::Opacity             _oOpacity;
00189     XamlDrawableAttributes::OpacityMask         _oOpacityMask;
00190     XamlDrawableAttributes::Name                _oName;
00191     XamlDrawableAttributes::NavigateUri         _oNavigateUri;
00192 };
00193 
00194 #endif //XAML_GLYPHS

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