Browse Source

Merge pull request #10 from AvaloniaUI/features/scaling-changed-event

implement scaling changed callback.
pull/1977/head
danwalmsley 8 years ago
committed by GitHub
parent
commit
48909c19d2
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      src/Avalonia.Native.OSX/window.mm
  2. 13
      src/Avalonia.Native/WindowImplBase.cs
  3. 2
      src/headers/avalonia-native.h

5
src/Avalonia.Native.OSX/window.mm

@ -418,6 +418,11 @@ protected:
return (AvnInputModifiers)rv;
}
- (void)viewDidChangeBackingProperties
{
_parent->BaseEvents->ScalingChanged();
}
@end

13
src/Avalonia.Native/WindowImplBase.cs

@ -99,10 +99,15 @@ namespace Avalonia.Native
void IAvnWindowBaseEvents.Resized(AvnSize size) => _parent.Resized?.Invoke(new Size(size.Width, size.Height));
public void RawMouseEvent(AvnRawMouseEventType type, uint timeStamp, AvnInputModifiers modifiers, AvnPoint point, AvnVector delta)
void IAvnWindowBaseEvents.RawMouseEvent(AvnRawMouseEventType type, uint timeStamp, AvnInputModifiers modifiers, AvnPoint point, AvnVector delta)
{
_parent.RawMouseEvent(type, timeStamp, modifiers, point, delta);
}
void IAvnWindowBaseEvents.ScalingChanged()
{
_parent.ScalingChanged?.Invoke(_parent.Scaling);
}
}
@ -199,11 +204,13 @@ namespace Avalonia.Native
public double Scaling => _native.GetScaling();
public Action Deactivated { get; set; }
public Action Activated { get; set; }
#region Stubs
public Action<Point> PositionChanged { get; set; }
public Action Deactivated { get; set; }
public Action Activated { get; set; }
public Action<RawInputEventArgs> Input { get; set; }
Action<double> ScalingChanged { get; set; }

2
src/headers/avalonia-native.h

@ -109,6 +109,8 @@ AVNCOM(IAvnWindowBaseEvents, 05) : IUnknown
AvnInputModifiers modifiers,
AvnPoint point,
AvnVector delta) = 0;
virtual void ScalingChanged () = 0;
};

Loading…
Cancel
Save