OSG_BEGIN_NAMESPACE /***************************************************************************\ * Description * \***************************************************************************/ /*! \class osg::TextFileType A TextFileType. */ /***************************************************************************\ * Class variables * \***************************************************************************/ /***************************************************************************\ * Class methods * \***************************************************************************/ /***************************************************************************\ * Instance methods * \***************************************************************************/ DocumentTransitPtr TextFileType::read(std::istream &is, const std::string& fileNameOrExtension) { FWARNING (("STREAM INTERFACE NOT IMPLEMENTED!\n")); return DocumentTransitPtr(NULL); }
DocumentTransitPtr StyledTextFileType::read(std::istream &InputStream, const std::string& FileNameOrExtension) { //PlainDocumentRefPtr Result = PlainDocument::create(); //std::string sentence=""; //std::map<std::string,UInt32> props; //char chara; //while(InputStream.get(chara)) //{ // // if(chara == '\n') // { // sentence +="\\n"; // } // else if(chara == '\r') // { // } // else // { // sentence += chara ; // } //} //Result->insertString(UInt32(-1),sentence,props); StyledDocumentRefPtr Result = StyledDocument::create(); rtfreader(InputStream,Result); for(Int32 i=_DocumentElementAttribute.size()-1;i>=0;i--) { _DocumentElementAttribute[i].processed = true; Result->insertString(0,_DocumentElementAttribute[i].text,_DocumentElementAttribute[i]); } return DocumentTransitPtr(Result); }
DocumentTransitPtr PlainTextFileType::read(std::istream &InputStream, const std::string& FileNameOrExtension) { PlainDocumentRefPtr Result = PlainDocument::create(); DocumentElementAttribute Props; std::string Word; bool FirstTime = true; //GetSystemTime(&now); //unsigned int t1 = now.wSecond * 1000 + now.wMilliseconds; while(std::getline(InputStream,Word)) { removeSlashRandSlashN(Word); Result->addTextAsNewElementToDocument(Word+"\r\n",Props,FirstTime); if(FirstTime)FirstTime=!FirstTime; } //GetSystemTime(&now); //unsigned int t2 = now.wSecond * 1000 + now.wMilliseconds; return DocumentTransitPtr(Result); }