CEGUIFont_xmlHandler.h

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 #include "CEGUIXMLHandler.h"
00031 
00032 // Start of CEGUI namespace section
00033 namespace CEGUI
00034 {
00035 
00040 class Font_xmlHandler : public XMLHandler
00041 {
00042 public:
00043         /*************************************************************************
00044         Construction & Destruction
00045         *************************************************************************/
00053         Font_xmlHandler(Font* font) : d_font(font) {}
00054 
00059         virtual ~Font_xmlHandler(void) {}
00060 
00061         /*************************************************************************
00062         SAX2 Handler overrides
00063         *************************************************************************/
00068     virtual void elementStart(const String& element, const XMLAttributes& attributes);
00069     virtual void elementEnd(const String& element);
00070 
00071 private:
00072         /*************************************************************************
00073         Implementation Constants
00074         *************************************************************************/
00075         // XML related strings
00076         static const String FontElement;                                        
00077         static const String MappingElement;                             
00078         static const String FontTypeStatic;                             
00079         static const String FontTypeDynamic;                            
00080         static const String GlyphElement;                                       
00081         static const String GlyphRangeElement;                  
00082         static const String GlyphSetElement;                            
00083         static const char       FontNameAttribute[];                    
00084     static const char   FontFilenameAttribute[];                
00085     static const char   FontResourceGroupAttribute[];   
00086         static const char       FontTypeAttribute[];                    
00087         static const char       FontSizeAttribute[];                    
00088         static const char       FontFirstCodepointAttribute[];  
00089         static const char       FontLastCodepointAttribute[];   
00090         static const char       FontNativeHorzResAttribute[];   
00091         static const char       FontNativeVertResAttribute[];   
00092         static const char       FontAutoScaledAttribute[];              
00093         static const char       FontAntiAliasedAttribute[];             
00094         static const char       MappingCodepointAttribute[];    
00095         static const char       MappingImageAttribute[];                
00096         static const char       MappingHorzAdvanceAttribute[];  
00097         static const char       GlyphCodepointAttribute[];                              
00098         static const char       GlyphRangeStartCodepointAttribute[];    
00099         static const char       GlyphRangeEndCodepointAttribute[];              
00100         static const char       GlyphSetGlyphsAttribute[];                              
00101 
00102         // general constants
00103         static const int        AutoGenerateHorzAdvance;                
00104 
00105         /*************************************************************************
00106         Implementation Data
00107         *************************************************************************/
00108         Font*   d_font;                 
00109         String  d_glyphSet;             
00110 };
00111 
00112 } // End of  CEGUI namespace section
00113 
00114 #endif

Generated on Sat Nov 26 09:34:48 2005 for Crazy Eddies GUI System by  doxygen 1.4.5