Browse Source
Merge branch 'master' into feature/fluent-datagrid
pull/4534/head
danwalmsley
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
36 additions and
24 deletions
-
src/Avalonia.Controls/Presenters/ScrollContentPresenter.cs
-
src/Avalonia.Native/ScreenImpl.cs
-
src/Avalonia.Native/WindowImplBase.cs
|
|
|
@ -257,15 +257,7 @@ namespace Avalonia.Controls.Presenters |
|
|
|
return base.ArrangeOverride(finalSize); |
|
|
|
} |
|
|
|
|
|
|
|
try |
|
|
|
{ |
|
|
|
_arranging = true; |
|
|
|
return ArrangeWithAnchoring(finalSize); |
|
|
|
} |
|
|
|
finally |
|
|
|
{ |
|
|
|
_arranging = false; |
|
|
|
} |
|
|
|
return ArrangeWithAnchoring(finalSize); |
|
|
|
} |
|
|
|
|
|
|
|
private Size ArrangeWithAnchoring(Size finalSize) |
|
|
|
@ -316,7 +308,17 @@ namespace Avalonia.Controls.Presenters |
|
|
|
} |
|
|
|
|
|
|
|
Extent = newExtent; |
|
|
|
Offset = newOffset; |
|
|
|
|
|
|
|
try |
|
|
|
{ |
|
|
|
_arranging = true; |
|
|
|
Offset = newOffset; |
|
|
|
} |
|
|
|
finally |
|
|
|
{ |
|
|
|
_arranging = false; |
|
|
|
} |
|
|
|
|
|
|
|
ArrangeOverrideImpl(size, -Offset); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -20,21 +20,26 @@ namespace Avalonia.Native |
|
|
|
{ |
|
|
|
get |
|
|
|
{ |
|
|
|
var count = ScreenCount; |
|
|
|
var result = new Screen[count]; |
|
|
|
|
|
|
|
for(int i = 0; i < count; i++) |
|
|
|
if (_native != null) |
|
|
|
{ |
|
|
|
var screen = _native.GetScreen(i); |
|
|
|
var count = ScreenCount; |
|
|
|
var result = new Screen[count]; |
|
|
|
|
|
|
|
for (int i = 0; i < count; i++) |
|
|
|
{ |
|
|
|
var screen = _native.GetScreen(i); |
|
|
|
|
|
|
|
result[i] = new Screen( |
|
|
|
screen.PixelDensity, |
|
|
|
screen.Bounds.ToAvaloniaPixelRect(), |
|
|
|
screen.WorkingArea.ToAvaloniaPixelRect(), |
|
|
|
screen.Primary); |
|
|
|
} |
|
|
|
|
|
|
|
result[i] = new Screen( |
|
|
|
screen.PixelDensity, |
|
|
|
screen.Bounds.ToAvaloniaPixelRect(), |
|
|
|
screen.WorkingArea.ToAvaloniaPixelRect(), |
|
|
|
screen.Primary); |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
return result; |
|
|
|
return Array.Empty<Screen>(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -94,8 +94,13 @@ namespace Avalonia.Native |
|
|
|
{ |
|
|
|
get |
|
|
|
{ |
|
|
|
var s = _native.GetClientSize(); |
|
|
|
return new Size(s.Width, s.Height); |
|
|
|
if (_native != null) |
|
|
|
{ |
|
|
|
var s = _native.GetClientSize(); |
|
|
|
return new Size(s.Width, s.Height); |
|
|
|
} |
|
|
|
|
|
|
|
return default; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -144,7 +149,6 @@ namespace Avalonia.Native |
|
|
|
void IAvnWindowBaseEvents.Closed() |
|
|
|
{ |
|
|
|
var n = _parent._native; |
|
|
|
_parent._native = null; |
|
|
|
try |
|
|
|
{ |
|
|
|
_parent?.Closed?.Invoke(); |
|
|
|
@ -153,6 +157,7 @@ namespace Avalonia.Native |
|
|
|
{ |
|
|
|
n?.Dispose(); |
|
|
|
} |
|
|
|
|
|
|
|
_parent._mouse.Dispose(); |
|
|
|
} |
|
|
|
|
|
|
|
|