Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

CEGUIFont_xmlHandler.h

Go to the documentation of this file.
00001 /************************************************************************
00002 filename:       CEGUIFont_xmlHandler.h
00003 created:        21/2/2004
00004 author:         Paul D Turner
00005 
00006 purpose:        Defines interface for the Font class
00007 *************************************************************************/
00008 /*************************************************************************
00009 Crazy Eddie's GUI System (http://www.cegui.org.uk)
00010 Copyright (C)2004 - 2005 Paul D Turner (paul@cegui.org.uk)
00011 
00012 This library is free software; you can redistribute it and/or
00013 modify it under the terms of the GNU Lesser General Public
00014 License as published by the Free Software Foundation; either
00015 version 2.1 of the License, or (at your option) any later version.
00016 
00017 This library is distributed in the hope that it will be useful,
00018 but WITHOUT ANY WARRANTY; without even the implied warranty of
00019 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00020 Lesser General Public License for more details.
00021 
00022 You should have received a copy of the GNU Lesser General Public
00023 License along with this library; if not, write to the Free Software
00024 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00025 *************************************************************************/
00026 #ifndef _CEGUIFont_xmlHandler_h_
00027 #define _CEGUIFont_xmlHandler_h_
00028 
00029 #include "CEGUIFont.h"
00030 
00031 #include "xercesc/sax2/DefaultHandler.hpp"
00032 
00033 // Start of CEGUI namespace section
00034 namespace CEGUI
00035 {
00036 
00041 class Font_xmlHandler : public XERCES_CPP_NAMESPACE::DefaultHandler
00042 {
00043 public:
00044         /*************************************************************************
00045         Construction & Destruction
00046         *************************************************************************/
00054         Font_xmlHandler(Font* font) : d_font(font) {}
00055 
00060         virtual ~Font_xmlHandler(void) {}
00061 
00062         /*************************************************************************
00063         SAX2 Handler overrides
00064         *************************************************************************/ 
00069         virtual void    startElement(const XMLCh* const uri, const XMLCh* const localname, const XMLCh* const qname, const XERCES_CPP_NAMESPACE::Attributes& attrs);
00070         virtual void    endElement(const XMLCh* const uri, const XMLCh* const localname, const XMLCh* const qname);
00071 
00076         virtual void  warning (const XERCES_CPP_NAMESPACE::SAXParseException &exc);
00077         virtual void  error (const XERCES_CPP_NAMESPACE::SAXParseException &exc);
00078         virtual void  fatalError (const XERCES_CPP_NAMESPACE::SAXParseException &exc);
00079 
00080 private:
00081         /*************************************************************************
00082         Implementation Constants
00083         *************************************************************************/
00084         // XML related strings
00085         static const String FontElement;                                        
00086         static const String MappingElement;                             
00087         static const String FontTypeStatic;                             
00088         static const String FontTypeDynamic;                            
00089         static const String GlyphElement;                                       
00090         static const String GlyphRangeElement;                  
00091         static const String GlyphSetElement;                            
00092         static const char       FontNameAttribute[];                    
00093     static const char   FontFilenameAttribute[];                
00094     static const char   FontResourceGroupAttribute[];   
00095         static const char       FontTypeAttribute[];                    
00096         static const char       FontSizeAttribute[];                    
00097         static const char       FontFirstCodepointAttribute[];  
00098         static const char       FontLastCodepointAttribute[];   
00099         static const char       FontNativeHorzResAttribute[];   
00100         static const char       FontNativeVertResAttribute[];   
00101         static const char       FontAutoScaledAttribute[];              
00102         static const char       FontAntiAliasedAttribute[];             
00103         static const char       MappingCodepointAttribute[];    
00104         static const char       MappingImageAttribute[];                
00105         static const char       MappingHorzAdvanceAttribute[];  
00106         static const char       GlyphCodepointAttribute[];                              
00107         static const char       GlyphRangeStartCodepointAttribute[];    
00108         static const char       GlyphRangeEndCodepointAttribute[];              
00109         static const char       GlyphSetGlyphsAttribute[];                              
00110 
00111         // general constants
00112         static const int        AutoGenerateHorzAdvance;                
00113 
00114         /*************************************************************************
00115         Implementation Data
00116         *************************************************************************/
00117         Font*   d_font;                 
00118         String  d_glyphSet;             
00119 };
00120 
00121 } // End of  CEGUI namespace section
00122 
00123 #endif

Generated on Wed Feb 16 12:41:06 2005 for Crazy Eddies GUI System by  doxygen 1.3.9.1