From a0851a83366e186eb51d6c875723d195930dcf84 Mon Sep 17 00:00:00 2001 From: Injo Luuvish Hwang Date: Tue, 18 Dec 2012 23:04:24 +0900 Subject: [PATCH] Update kivy/uix/slider.py mis-positioning when slider sets value_pos. value_pos is fixed by padding size. --- kivy/uix/slider.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/kivy/uix/slider.py b/kivy/uix/slider.py index e40331ddc..7e9d5b57c 100644 --- a/kivy/uix/slider.py +++ b/kivy/uix/slider.py @@ -154,18 +154,19 @@ class Slider(Widget): return (x, y + padding + nval * (self.height - 2 * padding)) def set_value_pos(self, pos): - x = min(self.right, max(pos[0], self.x)) - y = min(self.top, max(pos[1], self.y)) + padding = self.padding + x = min(self.right - padding, max(pos[0], self.x + padding)) + y = min(self.top - padding, max(pos[1], self.y + padding)) if self.orientation == 'horizontal': if self.width == 0: self.value_normalized = 0 else: - self.value_normalized = (x - self.x) / float(self.width) + self.value_normalized = (x - self.x - padding) / float(self.width - 2 * padding) else: if self.height == 0: self.value_normalized = 0 else: - self.value_normalized = (y - self.y) / float(self.height) + self.value_normalized = (y - self.y - padding) / float(self.height - 2 * padding) value_pos = AliasProperty(get_value_pos, set_value_pos, bind=('x', 'y', 'width', 'height', 'min', 'max', 'value_normalized', 'orientation'))