summaryrefslogtreecommitdiff
path: root/indra/llui/llprogressbar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llui/llprogressbar.cpp')
-rw-r--r--indra/llui/llprogressbar.cpp135
1 files changed, 26 insertions, 109 deletions
diff --git a/indra/llui/llprogressbar.cpp b/indra/llui/llprogressbar.cpp
index 8833494af8..693c331797 100644
--- a/indra/llui/llprogressbar.cpp
+++ b/indra/llui/llprogressbar.cpp
@@ -44,26 +44,32 @@
#include "llglheaders.h"
#include "llfocusmgr.h"
+#include "lluictrlfactory.h"
static LLRegisterWidget<LLProgressBar> r("progress_bar");
-LLProgressBar::LLProgressBar(const std::string& name, const LLRect &rect)
- : LLView(name, rect, FALSE),
- mImageBar( NULL ),
- mImageShadow( NULL )
-{
- mPercentDone = 0.f;
-
- // Defaults:
-
- setImageBar("rounded_square.tga");
- setImageShadow("rounded_square_soft.tga");
-
- mColorBackground = LLColor4(0.3254f, 0.4000f, 0.5058f, 1.0f);
- mColorBar = LLColor4(0.5764f, 0.6627f, 0.8352f, 1.0f);
- mColorBar2 = LLColor4(0.5764f, 0.6627f, 0.8352f, 1.0f);
- mColorShadow = LLColor4(0.2000f, 0.2000f, 0.4000f, 1.0f);
-}
+LLProgressBar::Params::Params()
+: image_bar("image_bar"),
+ image_fill("image_fill"),
+ image_shadow("image_shadow"),
+ color_bar("color_bar"),
+ color_bar2("color_bar2"),
+ color_shadow("color_shadow"),
+ color_bg("color_bg")
+{}
+
+
+LLProgressBar::LLProgressBar(const LLProgressBar::Params& p)
+: LLView(p),
+ mImageBar(p.image_bar),
+ mImageShadow(p.image_shadow),
+ mImageFill(p.image_fill),
+ mColorBackground(p.color_bg()),
+ mColorBar(p.color_bar()),
+ mColorBar2(p.color_bar2()),
+ mColorShadow(p.color_shadow()),
+ mPercentDone(0.f)
+{}
LLProgressBar::~LLProgressBar()
{
@@ -74,108 +80,19 @@ void LLProgressBar::draw()
{
static LLTimer timer;
- LLUIImagePtr shadow_imagep = LLUI::getUIImage("rounded_square_soft.tga");
LLUIImagePtr bar_fg_imagep = LLUI::getUIImage("progressbar_fill.tga");
- LLUIImagePtr bar_bg_imagep = LLUI::getUIImage("progressbar_track.tga");
- LLUIImagePtr bar_imagep = LLUI::getUIImage("rounded_square.tga");
- LLColor4 background_color = LLUI::sColorsGroup->getColor("LoginProgressBarBgColor");
- bar_bg_imagep->draw(getLocalRect(),
- background_color);
+ mImageBar->draw(getLocalRect(), mColorBackground.get());
F32 alpha = 0.5f + 0.5f*0.5f*(1.f + (F32)sin(3.f*timer.getElapsedTimeF32()));
- LLColor4 bar_color = LLUI::sColorsGroup->getColor("LoginProgressBarFgColor");
+ LLColor4 bar_color = mColorBar.get();
bar_color.mV[3] = alpha;
LLRect progress_rect = getLocalRect();
progress_rect.mRight = llround(getRect().getWidth() * (mPercentDone / 100.f));
- bar_fg_imagep->draw(progress_rect);
+ mImageFill->draw(progress_rect);
}
void LLProgressBar::setPercent(const F32 percent)
{
mPercentDone = llclamp(percent, 0.f, 100.f);
}
-
-void LLProgressBar::setImageBar( const std::string &bar_name )
-{
- mImageBar = LLUI::sImageProvider->getUIImage(bar_name)->getImage();
-}
-
-void LLProgressBar::setImageShadow(const std::string &shadow_name)
-{
- mImageShadow = LLUI::sImageProvider->getUIImage(shadow_name)->getImage();
-}
-
-void LLProgressBar::setColorBar(const LLColor4 &c)
-{
- mColorBar = c;
-}
-void LLProgressBar::setColorBar2(const LLColor4 &c)
-{
- mColorBar2 = c;
-}
-void LLProgressBar::setColorShadow(const LLColor4 &c)
-{
- mColorShadow = c;
-}
-void LLProgressBar::setColorBackground(const LLColor4 &c)
-{
- mColorBackground = c;
-}
-
-
-// static
-LLView* LLProgressBar::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
-{
- std::string name("progress_bar");
- node->getAttributeString("name", name);
-
- LLProgressBar *progress = new LLProgressBar(name, LLRect());
-
-
- std::string image_bar;
- if (node->hasAttribute("image_bar")) node->getAttributeString("image_bar",image_bar);
- if (image_bar != LLStringUtil::null) progress->setImageBar(image_bar);
-
-
- std::string image_shadow;
- if (node->hasAttribute("image_shadow")) node->getAttributeString("image_shadow",image_shadow);
- if (image_shadow != LLStringUtil::null) progress->setImageShadow(image_shadow);
-
-
- LLColor4 color_bar;
- if (node->hasAttribute("color_bar"))
- {
- node->getAttributeColor4("color_bar",color_bar);
- progress->setColorBar(color_bar);
- }
-
-
- LLColor4 color_bar2;
- if (node->hasAttribute("color_bar2"))
- {
- node->getAttributeColor4("color_bar2",color_bar2);
- progress->setColorBar2(color_bar2);
- }
-
-
- LLColor4 color_shadow;
- if (node->hasAttribute("color_shadow"))
- {
- node->getAttributeColor4("color_shadow",color_shadow);
- progress->setColorShadow(color_shadow);
- }
-
-
- LLColor4 color_bg;
- if (node->hasAttribute("color_bg"))
- {
- node->getAttributeColor4("color_bg",color_bg);
- progress->setColorBackground(color_bg);
- }
-
-
- progress->initFromXML(node, parent);
-
- return progress;
-}