|
@@ -0,0 +1,57 @@
|
|
|
+#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();
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|