From 79a82e1ea5bf2232eb04f9a9326310ec5cec3e02 Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Mon, 24 Sep 2018 18:16:05 +0100 Subject: [PATCH] implement scaling changed callback. --- src/Avalonia.Native.OSX/window.mm | 5 +++++ src/Avalonia.Native/WindowImplBase.cs | 13 ++++++++++--- src/headers/avalonia-native.h | 2 ++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/Avalonia.Native.OSX/window.mm b/src/Avalonia.Native.OSX/window.mm index ec25dcf428..dd2df1be27 100644 --- a/src/Avalonia.Native.OSX/window.mm +++ b/src/Avalonia.Native.OSX/window.mm @@ -418,6 +418,11 @@ protected: return (AvnInputModifiers)rv; } + +- (void)viewDidChangeBackingProperties +{ + _parent->BaseEvents->ScalingChanged(); +} @end diff --git a/src/Avalonia.Native/WindowImplBase.cs b/src/Avalonia.Native/WindowImplBase.cs index e8893c0250..5a37f33cdf 100644 --- a/src/Avalonia.Native/WindowImplBase.cs +++ b/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 PositionChanged { get; set; } - public Action Deactivated { get; set; } - public Action Activated { get; set; } + public Action Input { get; set; } Action ScalingChanged { get; set; } diff --git a/src/headers/avalonia-native.h b/src/headers/avalonia-native.h index d69fb1201c..1cc4b92de8 100644 --- a/src/headers/avalonia-native.h +++ b/src/headers/avalonia-native.h @@ -109,6 +109,8 @@ AVNCOM(IAvnWindowBaseEvents, 05) : IUnknown AvnInputModifiers modifiers, AvnPoint point, AvnVector delta) = 0; + + virtual void ScalingChanged () = 0; };