diff options
author | Vicent Marti | 2008-08-10 18:26:14 +0000 |
---|---|---|
committer | Vicent Marti | 2008-08-10 18:26:14 +0000 |
commit | 559c19e9f4aa22ab37cbc4af29ea1dae28dd42a4 (patch) | |
tree | 48c74a15d00c034b38377358d1a6b5e872881d47 /gui/ThemeEval.cpp | |
parent | 8a31616f46d64a1972692f8d7cd8559231a53424 (diff) | |
download | scummvm-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.cpp | 10 |
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; } |