wxImage SpringUnitSync::GetImage( const wxString& modname, const wxString& image_path, bool useWhiteAsTransparent ) const { wxLogDebugFunc( _T("") ); wxImage cache; susynclib().SetCurrentMod( modname ); int ini = susynclib().OpenFileVFS ( image_path ); ASSERT_EXCEPTION( ini, _T("cannot find side image") ); int FileSize = susynclib().FileSizeVFS(ini); if (FileSize == 0) { susynclib().CloseFileVFS(ini); ASSERT_EXCEPTION( FileSize, _T("image has size 0") ); } uninitialized_array<char> FileContent(FileSize); susynclib().ReadFileVFS(ini, FileContent, FileSize); wxMemoryInputStream FileContentStream( FileContent, FileSize ); cache.LoadFile( FileContentStream, wxBITMAP_TYPE_ANY, -1); cache.InitAlpha(); if ( useWhiteAsTransparent ) { for ( int x = 0; x < cache.GetWidth(); x++ ) for ( int y = 0; y < cache.GetHeight(); y++ ) if ( cache.GetBlue( x, y ) == 255 && cache.GetGreen( x, y ) == 255 && cache.GetRed( x, y ) == 255 ) cache.SetAlpha( x, y, 0 ); // set pixel to be transparent } return cache; }
bool ColumnTextParser::loadFromFile(const std::string& Filename) { std::string StrLine; if (m_Contents.size()> 0 ) m_Contents.clear(); m_LinesCount = 0; m_ColsCount = 0; // check if file exists if (!openfluid::tools::Filesystem::isFile(Filename)) return false; std::ifstream FileContent(Filename.c_str()); // check if file is "openable" if (!FileContent) return false; // parse and loads file contents while(std::getline(FileContent,StrLine)) { if (!isCommentLineStr(StrLine) && !isEmptyLineStr(StrLine)) m_Contents.push_back(ColumnTextParser::tokenizeLine(StrLine)); } return checkContents(); }
wxString SpringUnitSync::GetTextfileAsString( const wxString& modname, const wxString& file_path ) { susynclib().SetCurrentMod( modname ); int ini = susynclib().OpenFileVFS ( file_path ); if ( !ini ) return wxEmptyString; int FileSize = susynclib().FileSizeVFS(ini); if (FileSize == 0) { susynclib().CloseFileVFS(ini); return wxEmptyString; } uninitialized_array<char> FileContent(FileSize); susynclib().ReadFileVFS(ini, FileContent, FileSize); return wxString( FileContent, wxConvAuto(), size_t( FileSize ) ); }