| VRS - The Virtual Rendering System |
| version 3.3 |
00001 /****************************************************************************** 00002 * VRS - The Virtual Rendering System 00003 * Copyright (C) 2000-2006 Computer Graphics Systems Group at the 00004 * Hasso-Plattner-Institute (HPI), Potsdam, Germany. 00005 * 00006 * This library is free software; you can redistribute it and/or modify it 00007 * under the terms of the GNU Lesser General Public License as published by 00008 * the Free Software Foundation; either version 2.1 of the License, or (at 00009 * your option) any later version. This library is distributed in the hope 00010 * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 00011 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU Lesser General Public License for more details. You should have received 00013 * a copy of the GNU Lesser+ General Public License along with this library; if 00014 * not, write to the FreeSoftware Foundation, Inc., 59 Temple Place, Suite 330, 00015 * Boston, MA, 02111-1307, USA. 00016 ******************************************************************************/ 00017 00018 #ifndef VRS_US_IO_SAX_SHADERHANDLER_H 00019 #define VRS_US_IO_SAX_SHADERHANDLER_H 00020 00021 // 00022 // XERCESC 00023 // 00024 #include <xercesc/sax/HandlerBase.hpp> 00025 00026 // 00027 // EXTSHADER 00028 // 00029 #include <vrs/opengl/gl2/us/handlerobject.h> 00030 00031 // 00032 // Namespaces 00033 // 00034 XERCES_CPP_NAMESPACE_USE 00035 00036 00037 namespace VRS 00038 { 00039 namespace GL2 00040 { 00041 namespace EXTSHADER 00042 { 00043 class SAXShaderHandler : public HandlerBase 00044 { 00045 public: 00046 00047 SAXShaderHandler(SO<GL2::EXTSHADER::HandlerObject> handlerObject, const std::string& path); 00048 ~SAXShaderHandler(void); 00049 00050 void startElement(const XMLCh* const name, AttributeList& attributes); 00051 void endElement(const XMLCh* const name); 00052 void characters(const XMLCh* const chars, const unsigned int length); 00053 void resetDocument(void); 00054 00055 private: 00056 00057 SO<HandlerObject> handlerObject_; 00058 std::string path_; 00059 00060 bool processShaderHandlers_; 00061 bool processShaderHandler_; 00062 00063 };//endclass SAXShaderHandler 00064 00065 };//endnamespace EXTSHADER 00066 00067 };//endnamespace GL2 00068 00069 };//endnamespace VRS 00070 00071 #endif //VRS_US_IO_SAX_SHADERHANDLER_H