uno icon indicating copy to clipboard operation
uno copied to clipboard

[Mac Catalyst] `XamlRoot?.RasterizationScale` not updating

Open mcocaroUX opened this issue 1 year ago • 3 comments

Current behavior

As described on this Mapsui issue we are having some issues when moving the app window to a secondary screen with different DPI

Issue is not present in windows, I tested with a similar setup and it resizes correctly

As Paul from MapsUI recommended I tested XamlRoot?.RasterizationScale on both platforms, and its value doesn't change in Mac but it is on Windows.

Expected behavior

Map should resize correctly

How to reproduce it (as minimally and precisely as possible)

MacIssue_map.zip

  1. Run app
  2. Move it to secondary screen
  3. Notice how map didn't changed

Workaround

No workaround

Works on UWP/WinUI

Yes

Environment

No response

NuGet package version(s)

<PackageVersion Include="CommunityToolkit.WinUI.UI.Controls" Version="7.1.2" />
<PackageVersion Include="CommunityToolkit.Mvvm" Version="8.2.2" />
<PackageVersion Include="Geolocation" Version="1.2.1" />
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" />
<PackageVersion Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.2428" />
<PackageVersion Include="Microsoft.WindowsAppSDK" Version="1.4.231219000" />

<PackageVersion Include="Uno.Core.Extensions.Logging.Singleton" Version="4.0.1" />
<PackageVersion Include="Uno.Extensions.Core.WinUI" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Authentication" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Authentication.WinUI" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Configuration" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Hosting" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Hosting.WinUI" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Http" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Http.WinUI" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Http.Refit" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Localization" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Localization.WinUI" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Logging.OSLog" Version="1.7.0" />
<PackageVersion Include="Uno.Extensions.Logging.WinUI" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Navigation" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Navigation.WinUI" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Navigation.Toolkit.WinUI" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Reactive" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Reactive.WinUI" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Serialization" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Serialization.Http" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Serialization.Refit" Version="4.0.0" />
<PackageVersion Include="Uno.Extensions.Reactive.Messaging" Version="4.0.0" />

<PackageVersion Include="Uno.Material.WinUI" Version="4.1.1" />
<PackageVersion Include="Uno.Toolkit.WinUI" Version="5.1.5" />
<PackageVersion Include="Uno.Toolkit.WinUI.Material" Version="5.1.5" />
<PackageVersion Include="Uno.Resizetizer" Version="1.3.0" />
<PackageVersion Include="Uno.UI.Adapter.Microsoft.Extensions.Logging" Version="$(UnoVersion)" />
<PackageVersion Include="Uno.UniversalImageLoader" Version="1.9.36" />
<PackageVersion Include="Uno.WinUI" Version="$(UnoVersion)" />
<PackageVersion Include="Uno.WinUI.Lottie" Version="$(UnoVersion)"/>
<PackageVersion Include="Uno.WinUI.DevServer" Version="$(UnoVersion)" />
<PackageVersion Include="Xamarin.Google.Android.Material" Version="1.10.0.2" />
<PackageVersion Include="Mapsui.Uno.WinUI" Version="4.1.2" />

Affected platforms

Mac Catalyst

IDE

Visual Studio Code

IDE version

No response

Relevant plugins

No response

Anything else we need to know?

No response

mcocaroUX avatar Feb 22 '24 19:02 mcocaroUX

This one needs to be fixed for multiwindow as well, raising priority; a change also needs to trigger XamlRoot.Changed

MartinZikmund avatar Feb 26 '24 09:02 MartinZikmund

@MartinZikmund If you are going to look into multiwindow issue please also check the mouse wheel event on the second monitor. What I saw when testing the Mapsui issue is that on the second monitor the mouse wheel event only fired on the top left of the screen (about 1/16th of the total surface).

pauldendulk avatar Feb 26 '24 09:02 pauldendulk

https://github.com/unoplatform/uno/blob/c6235f1aa2443a9e2e7e7c56303c178c6cfe42ac/src/Uno.UWP/Graphics/Display/DisplayInformation.macOS.cs#L60

https://github.com/unoplatform/uno/blob/c6235f1aa2443a9e2e7e7c56303c178c6cfe42ac/src/Uno.UWP/Graphics/Display/DisplayInformation.iOS.cs#L97

It feels wrong to always use "MainScreen"

Youssef1313 avatar Apr 08 '24 09:04 Youssef1313