From: Stephan Stahl Date: Fri, 23 Apr 2010 20:33:29 +0000 (+0000) Subject: now slider work quite nice.. dragging uses unanimated movement, all the rest does. X-Git-Tag: xonotic-v0.1.0preview~578^2~4 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=afcdc1df818a82ff5623802919520833717b9bca;p=xonotic%2Fxonotic-data.pk3dir.git now slider work quite nice.. dragging uses unanimated movement, all the rest does. (cherry picked from commit 1952fd4d4c1bd906fb71f8332c796d021bea34f3) --- diff --git a/qcsrc/menu/item/slider.c b/qcsrc/menu/item/slider.c index 65f882e38..7faca4e64 100644 --- a/qcsrc/menu/item/slider.c +++ b/qcsrc/menu/item/slider.c @@ -18,6 +18,7 @@ CLASS(Slider) EXTENDS(Label) ATTRIB(Slider, src, string, string_null) ATTRIB(Slider, focusable, float, 1) ATTRIB(Slider, value, float, 0) + ATTRIB(Slider, animated, float, 1) ATTRIB(Slider, sliderValue, float, 0) ATTRIB(Slider, valueMin, float, 0) ATTRIB(Slider, valueMax, float, 0) @@ -45,8 +46,11 @@ ENDCLASS(Slider) #ifdef IMPLEMENTATION void setValueSlider(entity me, float val) { - //me.setSliderValue(me, val); - makeHostedEasing(me, setSliderValueSlider, easingQuadInOut, 1, me.value, val); + if (me.animated) { + makeHostedEasing(me, setSliderValueSlider, easingQuadInOut, 1, me.sliderValue, val); + } else { + me.setSliderValue(me, val); + } me.value = val; } void setSliderValueSlider(entity me, float val) @@ -146,9 +150,11 @@ float keyDownSlider(entity me, float key, float ascii, float shift) float mouseDragSlider(entity me, vector pos) { float hit; - float v; + float v, anim; if(me.disabled) return 0; + anim = me.animated; + me.animated = false; if(me.pressed) { hit = 1; @@ -166,6 +172,7 @@ float mouseDragSlider(entity me, vector pos) else me.setValue(me, me.previousValue); } + me.animated = anim; return 1; } float mousePressSlider(entity me, vector pos)