aboutsummaryrefslogtreecommitdiff
path: root/gui/ThemeEval.cpp
diff options
context:
space:
mode:
authorVicent Marti2008-08-10 18:26:14 +0000
committerVicent Marti2008-08-10 18:26:14 +0000
commit559c19e9f4aa22ab37cbc4af29ea1dae28dd42a4 (patch)
tree48c74a15d00c034b38377358d1a6b5e872881d47 /gui/ThemeEval.cpp
parent8a31616f46d64a1972692f8d7cd8559231a53424 (diff)
downloadscummvm-rg350-559c19e9f4aa22ab37cbc4af29ea1dae28dd42a4.tar.gz
scummvm-rg350-559c19e9f4aa22ab37cbc4af29ea1dae28dd42a4.tar.bz2
scummvm-rg350-559c19e9f4aa22ab37cbc4af29ea1dae28dd42a4.zip
Bugfix: Inverse layout reflowing.
Bugfix: Glitches with several layouts when using Aspect Ratio Correction. svn-id: r33764
Diffstat (limited to 'gui/ThemeEval.cpp')
-rw-r--r--gui/ThemeEval.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/gui/ThemeEval.cpp b/gui/ThemeEval.cpp
index ec866cc626..ab9e726b75 100644
--- a/gui/ThemeEval.cpp
+++ b/gui/ThemeEval.cpp
@@ -124,8 +124,11 @@ void ThemeLayoutVertical::reflowLayout() {
if (autoWidget != -1 && autoWidget != (int)i) {
_children[autoWidget]->setHeight(_children[autoWidget]->getHeight() - (_children[i]->getHeight() + _spacing));
- for (int j = autoWidget - 1; j >= 0; --j)
+
+ if (_reverse) for (int j = autoWidget - 1; j >= 0; --j)
_children[j]->setY(-(_children[i]->getHeight() + _spacing));
+ else
+ _children[i]->setY(-2 * (_children[i]->getHeight() + _spacing));
} else {
_h += _children[i]->getHeight() + _spacing;
}
@@ -172,8 +175,11 @@ void ThemeLayoutHorizontal::reflowLayout() {
if (autoWidget != -1 && autoWidget != (int)i) {
_children[autoWidget]->setWidth(_children[autoWidget]->getWidth() - (_children[i]->getWidth() + _spacing));
- for (int j = autoWidget - 1; j >= 0; --j)
+
+ if (_reverse) for (int j = autoWidget - 1; j >= 0; --j)
_children[j]->setX(-(_children[i]->getWidth() + _spacing));
+ else
+ _children[i]->setX(-2 * (_children[i]->getWidth() + _spacing));
} else {
_w += _children[i]->getWidth() + _spacing;
}