bool ThemeParser::parserCallback_font(ParserNode *node) { if (resolutionCheck(node->values["resolution"]) == false) { node->ignore = true; return true; } TextData textDataId = parseTextDataId(node->values["id"]); if (!_theme->addFont(textDataId, node->values["file"])) return parserError("Error loading Font in theme engine."); return true; }
bool ThemeParser::parserCallback_text(ParserNode *node) { Graphics::TextAlign alignH; GUI::ThemeEngine::TextAlignVertical alignV; if ((alignH = parseTextHAlign(node->values["horizontal_align"])) == Graphics::kTextAlignInvalid) return parserError("Invalid value for text alignment."); if ((alignV = parseTextVAlign(node->values["vertical_align"])) == GUI::ThemeEngine::kTextAlignVInvalid) return parserError("Invalid value for text alignment."); Common::String id = getParentNode(node)->values["id"]; TextData textDataId = parseTextDataId(node->values["font"]); if (!_theme->addTextData(id, textDataId, alignH, alignV)) return parserError("Error adding Text Data for '%s'.", id.c_str()); return true; }
bool ThemeParser::parserCallback_font(ParserNode *node) { int red, green, blue; if (resolutionCheck(node->values["resolution"]) == false) { node->ignore = true; return true; } if (_palette.contains(node->values["color"])) getPaletteColor(node->values["color"], red, green, blue); else if (!parseIntegerKey(node->values["color"].c_str(), 3, &red, &green, &blue)) return parserError("Error parsing color value for font definition."); TextData textDataId = parseTextDataId(node->values["id"]); if (!_theme->addFont(textDataId, node->values["file"], red, green, blue)) return parserError("Error loading Font in theme engine."); return true; }