123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- #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.0) ) * 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();
- }
- }
- }
|