summaryrefslogtreecommitdiff
path: root/src/interface/ProgressBar.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2013-03-24 12:24:17 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2013-03-24 12:24:17 (GMT)
commit9b5b85f9b01cbda7ef9a7ec2a15b2a35630a5b9d (patch)
treeac7d040253b459ce102e476cb19ab59e3cfa90d7 /src/interface/ProgressBar.cpp
parent6bf98ccdca39936a3c51367862eed7c49f8786ec (diff)
parentbdc69f31c0be94191015838886bdcc2bc67f1acb (diff)
downloadpowder-9b5b85f9b01cbda7ef9a7ec2a15b2a35630a5b9d.zip
powder-9b5b85f9b01cbda7ef9a7ec2a15b2a35630a5b9d.tar.gz
Merge branch 'reorganisation' of github.com:FacialTurd/The-Powder-Toy
Diffstat (limited to 'src/interface/ProgressBar.cpp')
-rw-r--r--src/interface/ProgressBar.cpp81
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