static void findBackgrounds( lString16Collection & baseDirs, lString16Collection & files ) { int i; for ( i=0; i<baseDirs.length(); i++ ) { lString16 baseDir = baseDirs[i]; LVAppendPathDelimiter(baseDir); findImagesFromDirectory( baseDir + "backgrounds", files ); } for ( i=0; i<baseDirs.length(); i++ ) { lString16 baseDir = baseDirs[i]; LVAppendPathDelimiter(baseDir); findImagesFromDirectory( baseDir + "textures", files ); } }
bool getDirectoryFonts( lString16Collection & pathList, lString16 ext, lString16Collection & fonts, bool absPath ) { int foundCount = 0; lString16 path; for (int di=0; di<pathList.length();di++ ) { path = pathList[di]; LVContainerRef dir = LVOpenDirectory(path.c_str()); if(!dir.isNull()) { CRLog::trace("Checking directory %s", UnicodeToUtf8(path).c_str() ); for(int i=0; i < dir->GetObjectCount(); i++ ) { const LVContainerItemInfo * item = dir->GetObjectInfo(i); lString16 fileName = item->GetName(); if ( !item->IsContainer() && fileName.length()>4 && lString16(fileName, fileName.length()-4, 4)==ext ) { lString16 fn; if ( absPath ) { fn = path; if (!fn.empty() && fn[fn.length()-1]!=PATH_SEPARATOR_CHAR) fn << PATH_SEPARATOR_CHAR; } fn << fileName; foundCount++; fonts.add(fn); } } } } return foundCount > 0; }
void cr2qt( QStringList & dst, const lString16Collection & src ) { dst.clear(); for ( unsigned i=0; i<src.length(); i++ ) { dst.append( cr2qt( src[i] ) ); } }
jobjectArray CRJNIEnv::toJavaStringArray( lString16Collection & src ) { int len = src.length(); jobjectArray array = env->NewObjectArray(len, env->FindClass("java/lang/String"), env->NewStringUTF("")); for ( int i=0; i<len; i++ ) { jstring local = toJavaString(src[i]); env->SetObjectArrayElement(array, i, local); env->DeleteLocalRef(local); } return array; }
bool getDirectoryFonts( lString16Collection & pathList, lString16Collection & ext, lString16Collection & fonts, bool absPath ) { int foundCount = 0; lString16 path; for ( int di=0; di<pathList.length();di++ ) { path = pathList[di]; LVContainerRef dir = LVOpenDirectory(path.c_str()); if ( !dir.isNull() ) { CRLog::trace("Checking directory %s", UnicodeToUtf8(path).c_str() ); for ( int i=0; i < dir->GetObjectCount(); i++ ) { const LVContainerItemInfo * item = dir->GetObjectInfo(i); lString16 fileName = item->GetName(); lString8 fn = UnicodeToLocal(fileName); //printf(" test(%s) ", fn.c_str() ); if ( !item->IsContainer() ) { bool found = false; lString16 lc = fileName; lc.lowercase(); for ( int j=0; j<ext.length(); j++ ) { if ( lc.endsWith(ext[j]) ) { found = true; break; } } if ( !found ) continue; lString16 fn; if ( absPath ) { fn = path; if ( !fn.empty() && fn[fn.length()-1]!=PATH_SEPARATOR_CHAR) fn << PATH_SEPARATOR_CHAR; } fn << fileName; foundCount++; fonts.add( fn ); } } } } return foundCount > 0; }