/** @file * @author Edouard DUPIN * @copyright 2010, Edouard DUPIN, all right reserved * @license GPL v3 (see license file) */ #include #include #include #include #include #include appl::GlyphPainting::GlyphPainting() { addResourceType("appl::GlyphPainting"); } void appl::GlyphPainting::init(const etk::String& _filename) { gale::Resource::init(_filename); APPL_DEBUG("SFP : load \"" << _filename << "\""); reload(); } appl::GlyphPainting::~GlyphPainting() { } void appl::GlyphPainting::reload() { ejson::Document doc; if (doc.load(m_name) == false) { APPL_ERROR("Can not load file : '" << m_name << "' = " << etk::FSNode(m_name).getFileSystemName()); return; } // for debug only : /* APPL_WARNING("Load file : '" << m_name << "' = " << etk::FSNode(m_name).getFileSystemName()); etk::String tmppppp; doc.generate(tmppppp); APPL_DEBUG(tmppppp); */ ejson::Array baseArray = doc["ednColor"].toArray(); if (baseArray.exist() == false) { APPL_ERROR("Can not get basic array : 'ednColor'"); return; } for (const auto it : baseArray) { ejson::Object tmpObj = it.toObject(); if (tmpObj.exist() == false) { APPL_DEBUG(" can not get object in 'ednColor' it=" << it); continue; } etk::String name = tmpObj["name"].toString().get(); etk::String background = tmpObj["background"].toString().get("#FFF0"); etk::String foreground = tmpObj["foreground"].toString().get("#000F"); bool italic = tmpObj["italic"].toBoolean().get(false); bool bold = tmpObj["bold"].toBoolean().get(false); APPL_VERBOSE("find new color : '" << name << "' fg='" << foreground << "' bg='" << background << "' italic='" << italic << "' bold='" << bold << "'"); bool findElement = false; for (size_t jjj=0; jjj