12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #include "Slider.h"
- #include "Bild.h"
- #include "Globals.h"
- using namespace Framework;
- Slider::Slider()
- : ZeichnungHintergrund()
- {
- value = 50;
- }
- Slider::~Slider() {}
- void Slider::setValue(float value)
- {
- this->value = value;
- rend |= 1;
- }
- float Slider::getValue() const
- {
- return value;
- }
- // Verarbeitet ein Maus Ereignis. Wird vom Framework automatisch aufgerufen.
- // me: Das Ereignis
- void Slider::doMausEreignis(MausEreignis& me, bool userRet)
- {
- if (gr.x
- && (me.id == ME_PLinks
- || (me.id == ME_Bewegung && getMausStand(M_Links))))
- {
- value = (1 - ((gr.x - 10) - me.mx) / (gr.x - 20.0f)) * 100;
- if (value < 0) value = 0;
- if (value > 100) value = 100;
- rend |= 1;
- }
- ZeichnungHintergrund::doMausEreignis(me, userRet);
- }
- // Zeichnet die Zeihnung in ein bestimmtes Bild
- // zRObj: Das Bild, in das gezeichnet werden soll
- void Slider::render(Bild& zRObj)
- {
- if (hatStyle(Style::Sichtbar))
- {
- ZeichnungHintergrund::render(zRObj);
- if (zRObj.setDrawOptions(pos, gr))
- {
- zRObj.drawLinieH(10, gr.y / 2, gr.x - 20, 0xFFFFFFFF);
- zRObj.fillRegion(
- (int)(gr.x / 100 * value - 10), 0, 20, gr.y, 0xFFFFFFFF);
- zRObj.releaseDrawOptions();
- }
- }
- }
|