# 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