summaryrefslogtreecommitdiff
path: root/src/interface/Slider.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2013-03-22 14:14:17 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2013-03-22 14:14:17 (GMT)
commit9abe51526cac2634af0541c3de69834dd30e9f78 (patch)
tree6ae4deadfe00a83094b9d288d8c11d8ce823577a /src/interface/Slider.cpp
parent2c311b9a36a88fadd96f3d39acb1ab2590835d81 (diff)
downloadpowder-9abe51526cac2634af0541c3de69834dd30e9f78.zip
powder-9abe51526cac2634af0541c3de69834dd30e9f78.tar.gz
Move all GUI source files into gui/
Diffstat (limited to 'src/interface/Slider.cpp')
-rw-r--r--src/interface/Slider.cpp141
1 files changed, 0 insertions, 141 deletions
diff --git a/src/interface/Slider.cpp b/src/interface/Slider.cpp
deleted file mode 100644
index 3ada74f..0000000
--- a/src/interface/Slider.cpp
+++ /dev/null
@@ -1,141 +0,0 @@
-#include <iostream>
-#include "Slider.h"
-#include "Colour.h"
-
-namespace ui {
-
-Slider::Slider(Point position, Point size, int steps):
- Component(position, size),
- sliderSteps(steps),
- sliderPosition(0),
- isMouseDown(false),
- bgGradient(NULL),
- col1(0, 0, 0, 0),
- col2(0, 0, 0, 0)
-{
-
-}
-
-void Slider::updatePosition(int position)
-{
- if(position < 3)
- position = 3;
- if(position > Size.X-3)
- position = Size.X-3;
-
- float fPosition = position-3;
- float fSize = Size.X-6;
- float fSteps = sliderSteps;
-
- float fSliderPosition = (fPosition/fSize)*sliderSteps;//position;//((x-3)/(Size.X-6))*sliderSteps;
-
- int newSliderPosition = fSliderPosition;
-
- if(newSliderPosition == sliderPosition)
- return;
-
- sliderPosition = newSliderPosition;
-
- if(actionCallback)
- {
- actionCallback->ValueChangedCallback(this);
- }
-}
-
-void Slider::OnMouseMoved(int x, int y, int dx, int dy)
-{
- if(isMouseDown)
- {
- updatePosition(x);
- }
-}
-
-void Slider::OnMouseClick(int x, int y, unsigned button)
-{
- isMouseDown = true;
- updatePosition(x);
-}
-
-void Slider::OnMouseUp(int x, int y, unsigned button)
-{
- if(isMouseDown)
- {
- isMouseDown = false;
- }
-}
-
-
-void Slider::SetColour(Colour col1, Colour col2)
-{
- pixel pix[2] = {PIXRGB(col1.Red, col1.Green, col1.Blue), PIXRGB(col2.Red, col2.Green, col2.Blue)};
- float fl[2] = {0.0f, 1.0f};
- if(bgGradient)
- free(bgGradient);
- this->col1 = col1;
- this->col2 = col2;
- bgGradient = (unsigned char*)Graphics::GenerateGradient(pix, fl, 2, Size.X-7);
-}
-
-int Slider::GetValue()
-{
- return sliderPosition;
-}
-
-void Slider::SetValue(int value)
-{
- if(value < 0)
- value = 0;
- if(value > sliderSteps)
- value = sliderSteps;
- sliderPosition = value;
-}
-
-int Slider::GetSteps()
-{
- return sliderSteps;
-}
-
-void Slider::SetSteps(int steps)
-{
- if(steps < 0)
- steps = 0;
- if(steps < sliderPosition)
- sliderPosition = steps;
- sliderSteps = steps;
-}
-
-void Slider::Draw(const Point& screenPos)
-{
- Graphics * g = Engine::Ref().g;
- //g->drawrect(screenPos.X, screenPos.Y, Size.X, Size.Y, 255, 255, 255, 255);
-
- if(bgGradient)
- {
-#ifndef OGLI
- for (int j = 3; j < Size.Y-7; j++)
- for (int i = 3; i < Size.X-7; i++)
- g->blendpixel(screenPos.X+i+2, screenPos.Y+j+2, bgGradient[(i-3)*3], bgGradient[(i-3)*3+1], bgGradient[(i-3)*3+2], 255);
-#else
- g->gradientrect(screenPos.X+5, screenPos.Y+5, Size.X-10, Size.Y-10, col1.Red, col1.Green, col1.Blue, col1.Alpha, col2.Red, col2.Green, col2.Blue, col2.Alpha);
-#endif
- }
-
- g->drawrect(screenPos.X+3, screenPos.Y+3, Size.X-6, Size.Y-6, 255, 255, 255, 255);
-
- float fPosition = sliderPosition;
- float fSize = Size.X-6;
- float fSteps = sliderSteps;
-
- float fSliderX = (fSize/fSteps)*fPosition;//sliderPosition;//((Size.X-6)/sliderSteps)*sliderPosition;
- int sliderX = fSliderX;
- sliderX += 3;
-
- g->fillrect(screenPos.X+sliderX-2, screenPos.Y+1, 4, Size.Y-2, 20, 20, 20, 255);
- g->drawrect(screenPos.X+sliderX-2, screenPos.Y+1, 4, Size.Y-2, 200, 200, 200, 255);
-}
-
-Slider::~Slider()
-{
-}
-
-} /* namespace ui */