diff --git a/build/Microsoft.Reactive.Testing.props b/build/Microsoft.Reactive.Testing.props
index 777bc4bb53..a0ba2163bb 100644
--- a/build/Microsoft.Reactive.Testing.props
+++ b/build/Microsoft.Reactive.Testing.props
@@ -1,5 +1,5 @@
-
+
diff --git a/build/ReactiveUI.props b/build/ReactiveUI.props
index 1208be34b8..f827cb9a32 100644
--- a/build/ReactiveUI.props
+++ b/build/ReactiveUI.props
@@ -1,5 +1,5 @@
-
+
diff --git a/build/Rx.props b/build/Rx.props
index 359ce53a92..edff0af160 100644
--- a/build/Rx.props
+++ b/build/Rx.props
@@ -1,5 +1,5 @@
-
+
diff --git a/dirs.proj b/dirs.proj
index e56320e73f..4b3b1183f0 100644
--- a/dirs.proj
+++ b/dirs.proj
@@ -8,7 +8,8 @@
-
+
+
diff --git a/native/Avalonia.Native/inc/avalonia-native.h b/native/Avalonia.Native/inc/avalonia-native.h
index 36e16c24d1..e54f3fa6a7 100644
--- a/native/Avalonia.Native/inc/avalonia-native.h
+++ b/native/Avalonia.Native/inc/avalonia-native.h
@@ -52,6 +52,7 @@ struct AvnScreen
{
AvnRect Bounds;
AvnRect WorkingArea;
+ float PixelDensity;
bool Primary;
};
@@ -187,7 +188,6 @@ AVNCOM(IAvnWindowBase, 02) : IUnknown
virtual HRESULT Close() = 0;
virtual HRESULT Activate () = 0;
virtual HRESULT GetClientSize(AvnSize*ret) = 0;
- virtual HRESULT GetMaxClientSize(AvnSize* ret) = 0;
virtual HRESULT GetScaling(double*ret)=0;
virtual HRESULT SetMinMaxSize(AvnSize minSize, AvnSize maxSize) = 0;
virtual HRESULT Resize(double width, double height) = 0;
diff --git a/native/Avalonia.Native/src/OSX/Screens.mm b/native/Avalonia.Native/src/OSX/Screens.mm
index 9d436b98c5..e7f009787a 100644
--- a/native/Avalonia.Native/src/OSX/Screens.mm
+++ b/native/Avalonia.Native/src/OSX/Screens.mm
@@ -38,6 +38,8 @@ class Screens : public ComSingleObject
ret->WorkingArea.Height = [screen visibleFrame].size.height;
ret->WorkingArea.Width = [screen visibleFrame].size.width;
+ ret->PixelDensity = [screen backingScaleFactor];
+
ret->Primary = index == 0;
return S_OK;
diff --git a/native/Avalonia.Native/src/OSX/window.mm b/native/Avalonia.Native/src/OSX/window.mm
index bfa33eb259..3347d58004 100644
--- a/native/Avalonia.Native/src/OSX/window.mm
+++ b/native/Avalonia.Native/src/OSX/window.mm
@@ -54,7 +54,6 @@ public:
FORWARD_IUNKNOWN()
virtual ~WindowBaseImpl()
{
- NSDebugLog(@"~WindowBaseImpl()");
View = NULL;
Window = NULL;
}
@@ -161,22 +160,6 @@ public:
}
}
- virtual HRESULT GetMaxClientSize(AvnSize* ret) override
- {
- @autoreleasepool
- {
- if(ret == nullptr)
- return E_POINTER;
-
- auto size = [NSScreen.screens objectAtIndex:0].frame.size;
-
- ret->Height = size.height;
- ret->Width = size.width;
-
- return S_OK;
- }
- }
-
virtual HRESULT GetScaling (double* ret) override
{
@autoreleasepool
@@ -369,12 +352,9 @@ public:
virtual void UpdateCursor()
{
- [View resetCursorRects];
if (cursor != nil)
{
- auto rect = [Window frame];
- [View addCursorRect:rect cursor:cursor];
- [cursor set];
+ [cursor set];
}
}
@@ -416,8 +396,8 @@ private:
INHERIT_INTERFACE_MAP(WindowBaseImpl)
INTERFACE_MAP_ENTRY(IAvnWindow, IID_IAvnWindow)
END_INTERFACE_MAP()
- virtual ~WindowImpl(){
- NSDebugLog(@"~WindowImpl");
+ virtual ~WindowImpl()
+ {
}
ComPtr WindowEvents;
@@ -425,6 +405,7 @@ private:
{
WindowEvents = events;
[Window setCanBecomeKeyAndMain];
+ [Window disableCursorRects];
}
virtual HRESULT Show () override
@@ -664,10 +645,8 @@ NSArray* AllLoopModes = [NSArray arrayWithObjects: NSDefaultRunLoopMode, NSEvent
- (void)dealloc
{
- NSDebugLog(@"AvnView dealloc");
}
-
- (void)onClosed
{
_parent = NULL;
@@ -1067,7 +1046,6 @@ NSArray* AllLoopModes = [NSArray arrayWithObjects: NSDefaultRunLoopMode, NSEvent
- (void)dealloc
{
- NSDebugLog(@"AvnWindow dealloc");
}
- (void)pollModalSession:(nonnull NSModalSession)session
diff --git a/samples/BindingDemo/MainWindow.xaml b/samples/BindingDemo/MainWindow.xaml
index a232a06383..b57a9a0a9e 100644
--- a/samples/BindingDemo/MainWindow.xaml
+++ b/samples/BindingDemo/MainWindow.xaml
@@ -24,6 +24,9 @@
+
diff --git a/samples/BindingDemo/ViewModels/MainWindowViewModel.cs b/samples/BindingDemo/ViewModels/MainWindowViewModel.cs
index 858fb5159a..22d01e0765 100644
--- a/samples/BindingDemo/ViewModels/MainWindowViewModel.cs
+++ b/samples/BindingDemo/ViewModels/MainWindowViewModel.cs
@@ -1,10 +1,11 @@
using System;
using System.Collections.ObjectModel;
using System.Linq;
-using ReactiveUI;
+using System.Reactive;
using System.Reactive.Linq;
using System.Threading.Tasks;
using System.Threading;
+using ReactiveUI;
namespace BindingDemo.ViewModels
{
@@ -56,7 +57,7 @@ namespace BindingDemo.ViewModels
public ObservableCollection Items { get; }
public ObservableCollection SelectedItems { get; }
- public ReactiveCommand ShuffleItems { get; }
+ public ReactiveCommand ShuffleItems { get; }
public string BooleanString
{
@@ -89,7 +90,7 @@ namespace BindingDemo.ViewModels
}
public IObservable CurrentTimeObservable { get; }
- public ReactiveCommand StringValueCommand { get; }
+ public ReactiveCommand