[DEV] update new ejson interface
This commit is contained in:
parent
f5a50d26a6
commit
06842eeafb
@ -44,19 +44,19 @@ void ewol::resource::ColorFile::reload() {
|
||||
EWOL_ERROR("Can not load file : '" << m_name << "' = " << etk::FSNode(m_name).getFileSystemName());
|
||||
return;
|
||||
}
|
||||
std::shared_ptr<ejson::Array> baseArray = doc.getArray("color");
|
||||
if (baseArray == nullptr) {
|
||||
ejson::Array baseArray = doc["color"].toArray();
|
||||
if (baseArray.exist() == false) {
|
||||
EWOL_ERROR("Can not get basic array : 'color'");
|
||||
return;
|
||||
}
|
||||
for (size_t iii = 0; iii < baseArray->size(); ++iii) {
|
||||
std::shared_ptr<ejson::Object> tmpObj = baseArray->getObject(iii);
|
||||
if (tmpObj == nullptr) {
|
||||
EWOL_DEBUG(" can not get object in 'color' id=" << iii);
|
||||
for (const auto it : baseArray) {
|
||||
ejson::Object tmpObj = it.toObject();
|
||||
if (tmpObj.exist() == false) {
|
||||
EWOL_DEBUG(" can not get object in 'color' : " << it);
|
||||
continue;
|
||||
}
|
||||
std::string name = tmpObj->getStringValue("name", "");
|
||||
std::string color = tmpObj->getStringValue("color", m_errorColor.getHexString());
|
||||
std::string name = tmpObj.getStringValue("name", "");
|
||||
std::string color = tmpObj.getStringValue("color", m_errorColor.getHexString());
|
||||
EWOL_DEBUG("find new color : '" << name << "' color='" << color << "'");
|
||||
if (name.size() == 0) {
|
||||
EWOL_ERROR("Drop an empty name");
|
||||
|
@ -36,14 +36,14 @@ void ewol::resource::ConfigFile::reload() {
|
||||
std::unique_lock<std::recursive_mutex> lock(m_mutex);
|
||||
// reset all parameters
|
||||
for (int32_t iii=0; iii<m_list.size(); iii++){
|
||||
if (nullptr != m_list[iii]) {
|
||||
m_list[iii] = nullptr;
|
||||
if (m_list[iii].exist() == true) {
|
||||
m_list[iii] = ejson::empty();
|
||||
}
|
||||
}
|
||||
m_doc.load(m_name);
|
||||
|
||||
for (auto elementName : m_list.getKeys()) {
|
||||
if (m_doc.exist(elementName) == true) {
|
||||
if (m_doc[elementName].exist() == true) {
|
||||
m_list[elementName] = m_doc[elementName];
|
||||
}
|
||||
}
|
||||
@ -54,9 +54,9 @@ int32_t ewol::resource::ConfigFile::request(const std::string& _paramName) {
|
||||
std::unique_lock<std::recursive_mutex> lock(m_mutex);
|
||||
// check if the parameters existed :
|
||||
if (m_list.exist(_paramName) == false) {
|
||||
m_list.add(_paramName, nullptr);
|
||||
m_list.add(_paramName, ejson::empty());
|
||||
}
|
||||
if (m_doc.exist(_paramName) == true) {
|
||||
if (m_doc[_paramName].exist() == true) {
|
||||
m_list[_paramName] = m_doc[_paramName];
|
||||
}
|
||||
return m_list.getId(_paramName);
|
||||
@ -66,39 +66,27 @@ int32_t ewol::resource::ConfigFile::request(const std::string& _paramName) {
|
||||
double ewol::resource::ConfigFile::getNumber(int32_t _id) {
|
||||
std::unique_lock<std::recursive_mutex> lock(m_mutex);
|
||||
if ( _id < 0
|
||||
|| m_list[_id] == nullptr) {
|
||||
|| m_list[_id].exist() == false) {
|
||||
return 0.0;
|
||||
}
|
||||
std::shared_ptr<ejson::Number> tmp = m_list[_id]->toNumber();
|
||||
if (tmp == nullptr) {
|
||||
return 0.0;
|
||||
}
|
||||
return tmp->get();
|
||||
return m_list[_id].toNumber().get();
|
||||
}
|
||||
|
||||
const std::string& ewol::resource::ConfigFile::getString(int32_t _id) {
|
||||
std::unique_lock<std::recursive_mutex> lock(m_mutex);
|
||||
static const std::string& errorString("");
|
||||
if ( _id < 0
|
||||
|| m_list[_id] == nullptr) {
|
||||
|| m_list[_id].exist() == false) {
|
||||
return errorString;
|
||||
}
|
||||
std::shared_ptr<ejson::String> tmp = m_list[_id]->toString();
|
||||
if (tmp == nullptr) {
|
||||
return errorString;
|
||||
}
|
||||
return tmp->get();
|
||||
return m_list[_id].toString().get();
|
||||
}
|
||||
|
||||
bool ewol::resource::ConfigFile::getBoolean(int32_t _id) {
|
||||
std::unique_lock<std::recursive_mutex> lock(m_mutex);
|
||||
if ( _id < 0
|
||||
|| m_list[_id] == nullptr) {
|
||||
|| m_list[_id].exist() == false) {
|
||||
return false;
|
||||
}
|
||||
std::shared_ptr<ejson::Boolean> tmp = m_list[_id]->toBoolean();
|
||||
if (tmp == nullptr) {
|
||||
return false;
|
||||
}
|
||||
return tmp->get();
|
||||
return m_list[_id].toBoolean().get();
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ namespace ewol {
|
||||
class ConfigFile : public gale::Resource {
|
||||
private:
|
||||
ejson::Document m_doc;
|
||||
etk::Hash<std::shared_ptr<ejson::Value>> m_list;
|
||||
etk::Hash<ejson::Value> m_list;
|
||||
protected:
|
||||
ConfigFile();
|
||||
void init(const std::string& _filename);
|
||||
|
@ -351,25 +351,18 @@ void ewol::resource::DistanceFieldFont::exportOnFile() {
|
||||
std::unique_lock<std::recursive_mutex> lock(m_mutex);
|
||||
EWOL_DEBUG("EXPORT: DistanceFieldFont : file : '" << m_fileName << ".json'");
|
||||
ejson::Document doc;
|
||||
std::shared_ptr<ejson::Array> tmpList = ejson::Array::create();
|
||||
if (tmpList == nullptr) {
|
||||
EWOL_ERROR("nullptr pointer");
|
||||
return;
|
||||
}
|
||||
ejson::Array tmpList;
|
||||
for (size_t iii=0; iii<m_listElement.size(); ++iii) {
|
||||
std::shared_ptr<ejson::Object> tmpObj = ejson::Object::create();
|
||||
if (tmpObj == nullptr) {
|
||||
continue;
|
||||
}
|
||||
tmpObj->addString("m_UVal", etk::to_string(m_listElement[iii].m_UVal));
|
||||
tmpObj->addNumber("m_glyphIndex", m_listElement[iii].m_glyphIndex);
|
||||
tmpObj->addString("m_sizeTexture", (std::string)m_listElement[iii].m_sizeTexture);
|
||||
tmpObj->addString("m_bearing", (std::string)m_listElement[iii].m_bearing);
|
||||
tmpObj->addString("m_advance", (std::string)m_listElement[iii].m_advance);
|
||||
tmpObj->addString("m_texturePosStart", (std::string)m_listElement[iii].m_texturePosStart);
|
||||
tmpObj->addString("m_texturePosSize", (std::string)m_listElement[iii].m_texturePosSize);
|
||||
tmpObj->addBoolean("m_exist", m_listElement[iii].m_exist);
|
||||
tmpList->add(tmpObj);
|
||||
ejson::Object tmpObj;
|
||||
tmpObj.addString("m_UVal", etk::to_string(m_listElement[iii].m_UVal));
|
||||
tmpObj.addNumber("m_glyphIndex", m_listElement[iii].m_glyphIndex);
|
||||
tmpObj.addString("m_sizeTexture", (std::string)m_listElement[iii].m_sizeTexture);
|
||||
tmpObj.addString("m_bearing", (std::string)m_listElement[iii].m_bearing);
|
||||
tmpObj.addString("m_advance", (std::string)m_listElement[iii].m_advance);
|
||||
tmpObj.addString("m_texturePosStart", (std::string)m_listElement[iii].m_texturePosStart);
|
||||
tmpObj.addString("m_texturePosSize", (std::string)m_listElement[iii].m_texturePosSize);
|
||||
tmpObj.addBoolean("m_exist", m_listElement[iii].m_exist);
|
||||
tmpList.add(tmpObj);
|
||||
}
|
||||
doc.add("m_listElement", tmpList);
|
||||
doc.addNumber("m_sizeRatio", m_sizeRatio);
|
||||
@ -401,26 +394,26 @@ bool ewol::resource::DistanceFieldFont::importFromFile() {
|
||||
m_lastRawHeigh = doc.getNumberValue("m_lastRawHeigh", 0);
|
||||
m_borderSize = doc.getNumberValue("m_borderSize", 2);
|
||||
m_textureBorderSize = doc.addString("m_textureBorderSize", "0,0");
|
||||
std::shared_ptr<ejson::Array> tmpList = doc.getArray("m_listElement");
|
||||
if (tmpList == nullptr) {
|
||||
ejson::Array tmpList = doc["m_listElement"].toArray();
|
||||
if (tmpList.exist() == false) {
|
||||
EWOL_ERROR("nullptr pointer array");
|
||||
return false;
|
||||
}
|
||||
m_listElement.clear();
|
||||
for (size_t iii=0; iii<tmpList->size(); ++iii) {
|
||||
std::shared_ptr<ejson::Object> tmpObj = tmpList->getObject(iii);
|
||||
if (tmpObj == nullptr) {
|
||||
for (const auto it : tmpList) {
|
||||
const ejson::Object tmpObj = it.toObject();
|
||||
if (tmpObj.exist() == false) {
|
||||
continue;
|
||||
}
|
||||
GlyphProperty prop;
|
||||
prop.m_UVal = etk::string_to_int32_t(tmpObj->getStringValue("m_UVal", "0"));
|
||||
prop.m_glyphIndex = tmpObj->getNumberValue("m_glyphIndex", 0);
|
||||
prop.m_sizeTexture = tmpObj->getStringValue("m_sizeTexture", "0,0");
|
||||
prop.m_bearing = tmpObj->getStringValue("m_bearing", "0,0");
|
||||
prop.m_advance = tmpObj->getStringValue("m_advance", "0,0");
|
||||
prop.m_texturePosStart = tmpObj->getStringValue("m_texturePosStart", "0,0");
|
||||
prop.m_texturePosSize = tmpObj->getStringValue("m_texturePosSize", "0,0");
|
||||
prop.m_exist = tmpObj->getBooleanValue("m_exist", false);
|
||||
prop.m_UVal = etk::string_to_int32_t(tmpObj.getStringValue("m_UVal", "0"));
|
||||
prop.m_glyphIndex = tmpObj.getNumberValue("m_glyphIndex", 0);
|
||||
prop.m_sizeTexture = tmpObj.getStringValue("m_sizeTexture", "0,0");
|
||||
prop.m_bearing = tmpObj.getStringValue("m_bearing", "0,0");
|
||||
prop.m_advance = tmpObj.getStringValue("m_advance", "0,0");
|
||||
prop.m_texturePosStart = tmpObj.getStringValue("m_texturePosStart", "0,0");
|
||||
prop.m_texturePosSize = tmpObj.getStringValue("m_texturePosSize", "0,0");
|
||||
prop.m_exist = tmpObj.getBooleanValue("m_exist", false);
|
||||
m_listElement.push_back(prop);
|
||||
}
|
||||
egami::load(m_data, m_fileName + ".bmp");
|
||||
|
Loading…
x
Reference in New Issue
Block a user