diff options
Diffstat (limited to 'src/interface/ProgressBar.cpp')
| -rw-r--r-- | src/interface/ProgressBar.cpp | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/src/interface/ProgressBar.cpp b/src/interface/ProgressBar.cpp deleted file mode 100644 index eda88f6..0000000 --- a/src/interface/ProgressBar.cpp +++ /dev/null @@ -1,81 +0,0 @@ -#include "ProgressBar.h" -#include "Style.h" - -using namespace ui; - -ProgressBar::ProgressBar(Point position, Point size, int startProgress, std::string startStatus): - Component(position, size), - intermediatePos(0.0f), - progressStatus(""), - progress(0) -{ - SetStatus(startStatus); - SetProgress(startProgress); -} - -void ProgressBar::SetProgress(int progress) -{ - this->progress = progress; - if(this->progress > 100) - this->progress = 100; -} - -int ProgressBar::GetProgress() -{ - return progress; -} - -void ProgressBar::SetStatus(std::string status) -{ - progressStatus = status; -} - -std::string ProgressBar::GetStatus() -{ - return progressStatus; -} - -void ProgressBar::Draw(const Point & screenPos) -{ - Graphics * g = ui::Engine::Ref().g; - - ui::Colour progressBarColour = style::Colour::WarningTitle; - - g->drawrect(screenPos.X, screenPos.Y, Size.X, Size.Y, 255, 255, 255, 255); - - if(progress!=-1) - { - if(progress > 0) - { - if(progress > 100) - progress = 100; - float size = float(Size.X-4)*(float(progress)/100.0f); // TIL... - size = std::min(std::max(size, 0.0f), float(Size.X-4)); - g->fillrect(screenPos.X + 2, screenPos.Y + 2, size, Size.Y-4, progressBarColour.Red, progressBarColour.Green, progressBarColour.Blue, 255); - } - } else { - int size = 40, rsize = 0; - float position = float(Size.X-4)*(intermediatePos/100.0f); - if(position + size - 1 > Size.X-4) - { - size = (Size.X-4)-position+1; - rsize = 40-size; - } - g->fillrect(screenPos.X + 2 + position, screenPos.Y + 2, size, Size.Y-4, progressBarColour.Red, progressBarColour.Green, progressBarColour.Blue, 255); - if(rsize) - { - g->fillrect(screenPos.X + 2, screenPos.Y + 2, rsize, Size.Y-4, progressBarColour.Red, progressBarColour.Green, progressBarColour.Blue, 255); - } - } - if(progress<50) - g->drawtext(screenPos.X + ((Size.X-Graphics::textwidth(progressStatus.c_str()))/2), screenPos.Y + (Size.Y-8)/2, progressStatus, 255, 255, 255, 255); - else - g->drawtext(screenPos.X + ((Size.X-Graphics::textwidth(progressStatus.c_str()))/2), screenPos.Y + (Size.Y-8)/2, progressStatus, 0, 0, 0, 255); -} - -void ProgressBar::Tick(float dt) -{ - intermediatePos += 1.0f*dt; - if(intermediatePos>100.0f) - intermediatePos = 0.0f; -}
\ No newline at end of file |
