[DEV] Add API to create list ob search path for ewol font
This commit is contained in:
parent
ce986790d0
commit
f23c54e1a4
@ -68,7 +68,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
#define DEFAULT_LOG_LEVEL etk::log::logLevelDebug
|
#define DEFAULT_LOG_LEVEL etk::log::logLevelInfo
|
||||||
#define DEFAULT_LOG_COLOR true
|
#define DEFAULT_LOG_COLOR true
|
||||||
#define DEFAULT_LOG_LINE true
|
#define DEFAULT_LOG_LINE true
|
||||||
#define DEFAULT_LOG_THREAD_ID true
|
#define DEFAULT_LOG_THREAD_ID true
|
||||||
|
@ -2328,4 +2328,35 @@ std::string etk::FSNodeGetRealName(const std::string& _path) {
|
|||||||
return node.getFileSystemName();
|
return node.getFileSystemName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::vector<std::string> etk::FSNodeExplodeMultiplePath(const std::string& _path) {
|
||||||
|
std::vector<std::string> out;
|
||||||
|
|
||||||
|
std::string libSearch = "";
|
||||||
|
std::string newName = _path;
|
||||||
|
if ( _path.size() > 0
|
||||||
|
&& _path[0] == '{') {
|
||||||
|
// special case: Reference of searching in subLib folder ==> library use-case
|
||||||
|
size_t firstPos = _path.find('}');
|
||||||
|
if (firstPos != std::string::npos) {
|
||||||
|
// we find a theme name : We extracted it :
|
||||||
|
libSearch = std::string(_path, 1, firstPos-1);
|
||||||
|
newName = std::string(_path, firstPos+1);
|
||||||
|
} else {
|
||||||
|
TK_ERROR("start a path name with '{' without '}' : " << _path);
|
||||||
|
// remove in case the {
|
||||||
|
newName = std::string(_path, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (libSearch.size() != 0) {
|
||||||
|
if (libSearch[0] != '@') {
|
||||||
|
out.push_back(newName);
|
||||||
|
out.push_back(std::string("{@") + libSearch + "}" + newName);
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
out.push_back(std::string("{") + libSearch + "}" + newName);
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
out.push_back(newName);
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -875,6 +875,21 @@ namespace etk {
|
|||||||
* @return return real file name "/aaa/bbb/ccc/xxx"
|
* @return return real file name "/aaa/bbb/ccc/xxx"
|
||||||
*/
|
*/
|
||||||
std::string FSNodeGetRealName(const std::string& _path);
|
std::string FSNodeGetRealName(const std::string& _path);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get all the Path contain in the specidy path:
|
||||||
|
* @param[in] _path Generic path to parse ...
|
||||||
|
* @return The list of path found
|
||||||
|
* @example[start]
|
||||||
|
* auto out = etk::FSNodeExplodeMultiplePath("{ewol}DATA:font");
|
||||||
|
* // out contain: {"DATA:font", "{@ewol}DATA:font"}
|
||||||
|
* @example[stop]
|
||||||
|
* @example[start]
|
||||||
|
* auto out = etk::FSNodeExplodeMultiplePath("{@ewol}DATA:font");
|
||||||
|
* // out contain: {"{@ewol}DATA:font"}
|
||||||
|
* @example[stop]
|
||||||
|
*/
|
||||||
|
std::vector<std::string> FSNodeExplodeMultiplePath(const std::string& _path);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user