00001 /************************************************************************ 00002 filename: CEGUIImageset_xmlHandler.h 00003 created: 21/2/2004 00004 author: Paul D Turner 00005 00006 purpose: Defines the interface for the Imageset 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 _CEGUIImageset_xmlHandler_h_ 00027 #define _CEGUIImageset_xmlHandler_h_ 00028 00029 #include "CEGUIImageset.h" 00030 00031 #include "xercesc/sax2/DefaultHandler.hpp" 00032 00033 // Start of CEGUI namespace section 00034 namespace CEGUI 00035 { 00036 00037 /************************************************************************* 00038 Implementation Classes 00039 *************************************************************************/ 00044 class Imageset_xmlHandler : public XERCES_CPP_NAMESPACE::DefaultHandler 00045 { 00046 public: 00047 /************************************************************************* 00048 Construction & Destruction 00049 *************************************************************************/ 00057 Imageset_xmlHandler(Imageset* imageset) : d_imageset(imageset) {} 00058 00063 virtual ~Imageset_xmlHandler(void) {} 00064 00065 /************************************************************************* 00066 SAX2 Handler overrides 00067 *************************************************************************/ 00072 virtual void startElement(const XMLCh* const uri, const XMLCh* const localname, const XMLCh* const qname, const XERCES_CPP_NAMESPACE::Attributes& attrs); 00073 virtual void endElement(const XMLCh* const uri, const XMLCh* const localname, const XMLCh* const qname); 00074 00079 virtual void warning (const XERCES_CPP_NAMESPACE::SAXParseException &exc); 00080 virtual void error (const XERCES_CPP_NAMESPACE::SAXParseException &exc); 00081 virtual void fatalError (const XERCES_CPP_NAMESPACE::SAXParseException &exc); 00082 00083 /************************************************************************* 00084 Functions used by our implementation 00085 *************************************************************************/ 00086 Imageset* getImageset(void) const {return d_imageset;} 00087 00088 private: 00089 /************************************************************************* 00090 Implementation Constants 00091 *************************************************************************/ 00092 static const String ImagesetElement; 00093 static const String ImageElement; 00094 static const char ImagesetNameAttribute[]; 00095 static const char ImagesetImageFileAttribute[]; 00096 static const char ImagesetResourceGroupAttribute[]; 00097 static const char ImagesetNativeHorzResAttribute[]; 00098 static const char ImagesetNativeVertResAttribute[]; 00099 static const char ImagesetAutoScaledAttribute[]; 00100 static const char ImageNameAttribute[]; 00101 static const char ImageXPosAttribute[]; 00102 static const char ImageYPosAttribute[]; 00103 static const char ImageWidthAttribute[]; 00104 static const char ImageHeightAttribute[]; 00105 static const char ImageXOffsetAttribute[]; 00106 static const char ImageYOffsetAttribute[]; 00107 00108 /************************************************************************* 00109 Implementation Data 00110 *************************************************************************/ 00111 Imageset* d_imageset; 00112 }; 00113 00114 } // End of CEGUI namespace section 00115 00116 #endif // end of guard _CEGUIImageset_xmlHandler_h_