From bac4ce93cb575d523f5f646e97fdc4fad2c490dc Mon Sep 17 00:00:00 2001 From: Niels van Hoorn Date: Mon, 9 Oct 2017 10:44:22 +0200 Subject: [PATCH] Fixing SliderComponent calculations when device is shown --- framer/Components/RangeSliderComponent.coffee | 8 ++++++-- framer/Components/SliderComponent.coffee | 6 ++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/framer/Components/RangeSliderComponent.coffee b/framer/Components/RangeSliderComponent.coffee index a563a7638..06df4294e 100644 --- a/framer/Components/RangeSliderComponent.coffee +++ b/framer/Components/RangeSliderComponent.coffee @@ -104,7 +104,9 @@ class exports.RangeSliderComponent extends Layer event.preventDefault() if @width > @height - clickedValue = @valueForPoint((Events.touchEvent(event).clientX / @canvasScaleX()) - @screenScaledFrame().x) + touchX = Events.touchEvent(event).clientX - Screen.canvasFrame.x + scaleX = @canvasScaleX() + clickedValue = @valueForPoint(touchX / scaleX - @x) if clickedValue > @maxValue @maxValue = clickedValue @@ -117,7 +119,9 @@ class exports.RangeSliderComponent extends Layer @emit(Events.SliderMinValueChange, @minValue) else - clickedValue = @valueForPoint((Events.touchEvent(event).clientY / @canvasScaleY()) - @screenScaledFrame().y) + touchY = Events.touchEvent(event).clientY - Screen.canvasFrame.y + scaleY = @canvasScaleY() + clickedValue = @valueForPoint(touchY / scaleY - @y) if clickedValue > @maxValue @maxValue = clickedValue diff --git a/framer/Components/SliderComponent.coffee b/framer/Components/SliderComponent.coffee index 13afd7cc4..9f35a9685 100644 --- a/framer/Components/SliderComponent.coffee +++ b/framer/Components/SliderComponent.coffee @@ -94,11 +94,13 @@ class exports.SliderComponent extends Layer event.preventDefault() if @width > @height + touchX = Events.touchEvent(event).clientX - Screen.canvasFrame.x scaleX = @canvasScaleX() - @value = @valueForPoint((Events.touchEvent(event).clientX / scaleX) - @screenScaledFrame().x) + @value = @valueForPoint(touchX / scaleX - @x) else + touchY = Events.touchEvent(event).clientY - Screen.canvasFrame.y scaleY = @canvasScaleY() - @value = @valueForPoint((Events.touchEvent(event).clientY / scaleY) - @screenScaledFrame().y) + @value = @valueForPoint(touchY / scaleY - @y) @knob.draggable._touchStart(event) @_updateValue()