ソースを参照

Fix for inverted VSlider

VSlider would get set at the inverted position when receiving a mouse click
Dragging the slider worked correct
Ralf Hölzemer 11 年 前
コミット
5cd174586a
1 ファイル変更4 行追加1 行削除
  1. 4 1
      scene/gui/slider.cpp

+ 4 - 1
scene/gui/slider.cpp

@@ -49,7 +49,10 @@ void Slider::_input_event(InputEvent p_event) {
 			if (mb.pressed)	{
 				grab.pos=orientation==VERTICAL?mb.y:mb.x;
 				double max = orientation==VERTICAL ? get_size().height : get_size().width ;
-				set_val( ( ( (double)grab.pos / max) * ( get_max() - get_min() ) ) + get_min() ); 
+				if (orientation==VERTICAL)
+					set_val( ( ( -(double)grab.pos / max) * ( get_max() - get_min() ) ) + get_max() );
+				else
+					set_val( ( ( (double)grab.pos / max) * ( get_max() - get_min() ) ) + get_min() );
 				grab.active=true;
 				grab.uvalue=get_unit_value();
 			} else {