1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-07-03 00:46:55 +02:00

code review

This commit is contained in:
Laserlicht
2023-09-30 22:49:22 +02:00
committed by GitHub
parent 2eb4413978
commit 61aae7bccc
5 changed files with 77 additions and 77 deletions

View File

@ -56,6 +56,8 @@ InterfaceObjectConfigurable::InterfaceObjectConfigurable(int used, Point offset)
REGISTER_BUILDER("layout", &InterfaceObjectConfigurable::buildLayout);
REGISTER_BUILDER("comboBox", &InterfaceObjectConfigurable::buildComboBox);
REGISTER_BUILDER("textInput", &InterfaceObjectConfigurable::buildTextInput);
REGISTER_BUILDER("transparentFilledRectangle", &InterfaceObjectConfigurable::buildTransparentFilledRectangle);
REGISTER_BUILDER("textBox", &InterfaceObjectConfigurable::buildTextBox);
}
void InterfaceObjectConfigurable::registerBuilder(const std::string & type, BuilderFunction f)
@ -684,6 +686,33 @@ std::shared_ptr<CShowableAnim> InterfaceObjectConfigurable::buildAnimation(const
return anim;
}
std::shared_ptr<TransparentFilledRectangle> InterfaceObjectConfigurable::buildTransparentFilledRectangle(const JsonNode & config) const
{
logGlobal->debug("Building widget TransparentFilledRectangle");
auto rect = readRect(config["rect"]);
auto color = readColor(config["color"]);
if(!config["colorLine"].isNull())
{
auto colorLine = readColor(config["colorLine"]);
return std::make_shared<TransparentFilledRectangle>(rect, color, colorLine);
}
return std::make_shared<TransparentFilledRectangle>(rect, color);
}
std::shared_ptr<CTextBox> InterfaceObjectConfigurable::buildTextBox(const JsonNode & config) const
{
logGlobal->debug("Building widget CTextBox");
auto rect = readRect(config["rect"]);
auto font = readFont(config["font"]);
auto alignment = readTextAlignment(config["alignment"]);
auto color = readColor(config["color"]);
auto text = readText(config["text"]);
return std::make_shared<CTextBox>(text, rect, 0, font, alignment, color);
}
std::shared_ptr<CIntObject> InterfaceObjectConfigurable::buildWidget(JsonNode config) const
{
assert(!config.isNull());