aboutsummaryrefslogtreecommitdiff
path: root/gui/ThemeParser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gui/ThemeParser.cpp')
-rw-r--r--gui/ThemeParser.cpp23
1 files changed, 15 insertions, 8 deletions
diff --git a/gui/ThemeParser.cpp b/gui/ThemeParser.cpp
index eae131af50..7f02c1eb57 100644
--- a/gui/ThemeParser.cpp
+++ b/gui/ThemeParser.cpp
@@ -146,17 +146,24 @@ bool ThemeParser::parserCallback_text() {
Graphics::TextStep step;
- if (tNode->values.contains("align") == false)
- return parserError("Text inside widgets requires an alignement key.");
+ if (tNode->values.contains("horizontal_align") == false || tNode->values.contains("vertical_align") == false)
+ return parserError("Text inside widgets requires proper alignment keys.");
- if (tNode->values["align"] == "left")
- step.align = GUI::Theme::kTextAlignLeft;
- else if (tNode->values["align"] == "right")
- step.align = GUI::Theme::kTextAlignRight;
- else if (tNode->values["align"] == "center")
- step.align = GUI::Theme::kTextAlignCenter;
+ if (tNode->values["horizontal_align"] == "left")
+ step.alignHorizontal = GUI::Theme::kTextAlignLeft;
+ else if (tNode->values["horizontal_align"] == "right")
+ step.alignHorizontal = GUI::Theme::kTextAlignRight;
+ else if (tNode->values["horizontal_align"] == "center")
+ step.alignHorizontal = GUI::Theme::kTextAlignCenter;
else return parserError("Invalid value for text alignment.");
+ if (tNode->values["vertical_align"] == "top")
+ step.alignVertical = GUI::Theme::kTextAlignVTop;
+ else if (tNode->values["vertical_align"] == "center")
+ step.alignVertical = GUI::Theme::kTextAlignVCenter;
+ else if (tNode->values["vertical_align"] == "bottom")
+ step.alignVertical = GUI::Theme::kTextAlignVBottom;
+ else return parserError("Invalid value for text alignment.");
if (tNode->values.contains("color")) {
int red, green, blue;