Browse Source

Merge branch 'master' into feature/ui-automation

ui-automation-test
Jumar Macato 5 years ago
committed by GitHub
parent
commit
26eaa8d5f2
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      native/Avalonia.Native/src/OSX/window.mm
  2. 17
      src/Avalonia.Controls/Slider.cs

2
native/Avalonia.Native/src/OSX/window.mm

@ -1508,7 +1508,7 @@ NSArray* AllLoopModes = [NSArray arrayWithObjects: NSDefaultRunLoopMode, NSEvent
NSRect rect = NSZeroRect; NSRect rect = NSZeroRect;
rect.size = newSize; rect.size = newSize;
NSTrackingAreaOptions options = NSTrackingActiveAlways | NSTrackingMouseMoved | NSTrackingEnabledDuringMouseDrag; NSTrackingAreaOptions options = NSTrackingActiveAlways | NSTrackingMouseMoved | NSTrackingMouseEnteredAndExited | NSTrackingEnabledDuringMouseDrag;
_area = [[NSTrackingArea alloc] initWithRect:rect options:options owner:self userInfo:nullptr]; _area = [[NSTrackingArea alloc] initWithRect:rect options:options owner:self userInfo:nullptr];
[self addTrackingArea:_area]; [self addTrackingArea:_area];

17
src/Avalonia.Controls/Slider.cs

@ -334,16 +334,17 @@ namespace Avalonia.Controls
} }
} }
private void MoveToPoint(PointerPoint x) private void MoveToPoint(PointerPoint posOnTrack)
{ {
var orient = Orientation == Orientation.Horizontal; var orient = Orientation == Orientation.Horizontal;
var thumbLength = (orient
var pointDen = orient ? _track.Bounds.Width : _track.Bounds.Height; ? _track.Thumb.Bounds.Width
// Just add epsilon to avoid NaN in case 0/0 : _track.Thumb.Bounds.Height) + double.Epsilon;
pointDen += double.Epsilon; var trackLength = (orient
? _track.Bounds.Width
var pointNum = orient ? x.Position.X : x.Position.Y; : _track.Bounds.Height) - thumbLength;
var logicalPos = MathUtilities.Clamp(pointNum / pointDen, 0.0d, 1.0d); var trackPos = orient ? posOnTrack.Position.X : posOnTrack.Position.Y;
var logicalPos = MathUtilities.Clamp((trackPos - thumbLength * 0.5) / trackLength, 0.0d, 1.0d);
var invert = orient ? var invert = orient ?
IsDirectionReversed ? 1 : 0 : IsDirectionReversed ? 1 : 0 :
IsDirectionReversed ? 0 : 1; IsDirectionReversed ? 0 : 1;

Loading…
Cancel
Save