#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(); } } }