         
         rect.origin.x = CGFloat(left)
         rect.origin.y = CGFloat(top)
-        rect.size.width = CGFloat(right - left)
+        
+        let span = right - left;
+        let width = calcWidth(span: CGFloat(span))
+        
+        rect.size.width = CGFloat(width) //right - left
         rect.size.height = CGFloat(bottom - top)
         
         trans.rectValueToPixel(&rect, phaseY: animator?.phaseY ?? 1.0)

                    top *= CGFloat(phaseY)
                    bottom *= CGFloat(phaseY)
                    
                    barRect.origin.x = left
                    barRect.size.width = right - left
                    barRect.origin.y = top
                    barRect.size.height = bottom - top
                    

            {
                let left = CGFloat(x - barWidthHalf)
                let right = CGFloat(x + barWidthHalf)
                
                let span = right - left;
                let width = calcWidth(span: span)
                
                var top = isInverted
                    ? (y <= 0.0 ? CGFloat(y) : 0)
                    : (y >= 0.0 ? CGFloat(y) : 0)
