diff options
author | Bertram <bertram@cegetel.net> | 2009-07-20 22:41:04 +0200 |
---|---|---|
committer | Bertram <bertram@cegetel.net> | 2009-07-20 22:41:04 +0200 |
commit | 89dafda9453e178f90fbcc6ddab4ae9367cbfff1 (patch) | |
tree | 5e15c81ea14686c7110f959b881aa5b34ada343d /src/gui | |
parent | ddf75478b48173d82f455c99af3894bd0f9018ff (diff) | |
download | mana-89dafda9453e178f90fbcc6ddab4ae9367cbfff1.tar.gz mana-89dafda9453e178f90fbcc6ddab4ae9367cbfff1.tar.bz2 mana-89dafda9453e178f90fbcc6ddab4ae9367cbfff1.tar.xz mana-89dafda9453e178f90fbcc6ddab4ae9367cbfff1.zip |
Committed: 0000768: Progress bars smoothly scroll when the values have changed from last window open. The progress bars don't smoothly update the progress when the value is set at load time now. Only the ministatus and the status window are affected by this patch, as they are the onjly ones reported as flooding the gui.
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/ministatus.cpp | 12 | ||||
-rw-r--r-- | src/gui/statuswindow.cpp | 12 | ||||
-rw-r--r-- | src/gui/widgets/progressbar.cpp | 5 |
3 files changed, 20 insertions, 9 deletions
diff --git a/src/gui/ministatus.cpp b/src/gui/ministatus.cpp index 8aaeb580..6d541474 100644 --- a/src/gui/ministatus.cpp +++ b/src/gui/ministatus.cpp @@ -36,10 +36,16 @@ MiniStatusWindow::MiniStatusWindow(): Popup("MiniStatus") { - mHpBar = new ProgressBar(0.0f, 100, 20, gcn::Color(0, 171, 34)); + mHpBar = new ProgressBar((float) player_node->getHp() + / (float) player_node->getMaxHp(), + 100, 20, gcn::Color(0, 171, 34)); #ifdef EATHENA_SUPPORT - mMpBar = new ProgressBar(0.0f, 100, 20, gcn::Color(26, 102, 230)); - mXpBar = new ProgressBar(0.0f, 100, 20, gcn::Color(143, 192, 211)); + mMpBar = new ProgressBar((float) player_node->getMaxMP() + / (float) player_node->getMaxMP(), + 100, 20, gcn::Color(26, 102, 230)); + mXpBar = new ProgressBar((float) player_node->getExp() + / player_node->getExpNeeded(), + 100, 20, gcn::Color(143, 192, 211)); #endif mHpBar->setPosition(0, 3); diff --git a/src/gui/statuswindow.cpp b/src/gui/statuswindow.cpp index 9e5bb3cd..76828e22 100644 --- a/src/gui/statuswindow.cpp +++ b/src/gui/statuswindow.cpp @@ -97,13 +97,19 @@ StatusWindow::StatusWindow(): mMoneyLabel = new Label("Money:"); mHpLabel = new Label("HP:"); - mHpBar = new ProgressBar(0.0f, 80, 15, gcn::Color(0, 171, 34)); + mHpBar = new ProgressBar((float) player_node->getHp() + / (float) player_node->getMaxHp(), + 80, 15, gcn::Color(0, 171, 34)); mXpLabel = new Label(_("Exp:")); - mXpBar = new ProgressBar(0.0f, 80, 15, gcn::Color(143, 192, 211)); + mXpBar = new ProgressBar((float) player_node->getExp() + / player_node->getExpNeeded(), + 80, 15, gcn::Color(143, 192, 211)); mMpLabel = new Label(_("MP:")); - mMpBar = new ProgressBar(0.0f, 80, 15, gcn::Color(26, 102, 230)); + mMpBar = new ProgressBar((float) player_node->getMaxMP() + / (float) player_node->getMaxMP(), + 80, 15, gcn::Color(26, 102, 230)); place(0, 0, mLvlLabel, 3); // 5, 0 Job Level diff --git a/src/gui/widgets/progressbar.cpp b/src/gui/widgets/progressbar.cpp index 134d071f..359cbf49 100644 --- a/src/gui/widgets/progressbar.cpp +++ b/src/gui/widgets/progressbar.cpp @@ -43,14 +43,13 @@ ProgressBar::ProgressBar(float progress, int width, int height, const gcn::Color &color): gcn::Widget(), - mProgress(0.0f), - mProgressToGo(0.0f), + mProgress(progress), + mProgressToGo(progress), mSmoothProgress(true), mColor(color), mColorToGo(color), mSmoothColorChange(true) { - setProgress(progress); setSize(width, height); if (mInstances == 0) |