Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Additional PointerGestureRecognizer Platform Arguments #16426

Merged
merged 14 commits into from
Aug 9, 2023

Conversation

tj-devel709
Copy link
Member

@tj-devel709 tj-devel709 commented Jul 29, 2023

Description of Change

This PR allows users to access the platform-specific properties in the PointerGestureRecognizer EventArgs. This implementation is open for discussion! After we agree on the design of the PointerGestureRecognizer, I'll make similar changes to the other supported GestureRecognizers for Maui.

Code Sample

void PointerGestureRecognizer_PointerEntered(System.Object sender, Microsoft.Maui.Controls.PointerEventArgs e)
{
    var t = PointerEventArgsExtensions.ToPlatform(e);
}

The ToPlatform() call returns a PointerPlatformEventArgs object containing the platform-specific sender and properties of the platform event args. Using a class allows us to bring in multiple important properties rather than just one additional property for each platform which will be helpful for future keyboard events that have multiple useful properties.

** UPDATE **

void PointerGestureRecognizer_PointerEntered(System.Object sender, Microsoft.Maui.Controls.PointerEventArgs e)
{
    var t = e.PlatformArgs;
}

Now the PR adds a PlatformArgs public property that users can access from the PointerEventArgs class that will contain platform specific properties for the events.

Issues Fixed

Fixes #16216

Copy link
Member

@mattleibow mattleibow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this PR, feels like a simple way to access the platform things. Besides the nit, I am wondering if we may have over engineered this. The public property is probably enough? No need for the extension method for a double abstraction.

Or, we could make the property internal and then use the extension method?

But if the property is public and the type is mostly a basic one that takes event args since platform v1, it won't change. If it does, we can add things because it is a class and we won't break anyone. But, not sure MotionEvent will ever change on Android. If they do, it will have to be a derived type - if I am wrong and we get MotionEventNew then I will cry.

src/Controls/src/Core/PointerEventArgs.cs Outdated Show resolved Hide resolved
src/Controls/src/Core/PointerPlatformEventArgs.cs Outdated Show resolved Hide resolved
src/Controls/src/Core/PlatformPointerEventArgs.cs Outdated Show resolved Hide resolved
src/Controls/src/Core/PlatformPointerEventArgs.cs Outdated Show resolved Hide resolved
src/Controls/src/Core/PointerEventArgs.cs Outdated Show resolved Hide resolved
@tj-devel709
Copy link
Member Author

Short demo of the UITest

PointerGestureUITest2.mov

@jsuarezruiz
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 3 pipeline(s).

Copy link
Contributor

@jknaudt21 jknaudt21 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great stuff overall! Just a couple of comments to get the docs polished and shiny.

  • I recommend you check out the dotnet guide on writing docs to follow the conventions. Its small wording changes but help keep everything consistent. Properties were the main areas that could use polishing
  • Always put a tag when referencing other types. This helps syntax highlighting in the docs and also creates links in the MSLearn sites once published
  • Every clause or tag has to end with a period. I made the same mistake on a PR and Dave Britch left 50+ comments for every place where I missed it. I won't leave you 50 comments but please make sure you make everything end with a period :)

src/Controls/src/Core/PointerEventArgs.cs Outdated Show resolved Hide resolved
src/Controls/src/Core/PointerEventArgs.cs Outdated Show resolved Hide resolved
src/Controls/src/Core/PointerEventArgs.cs Outdated Show resolved Hide resolved
src/Controls/src/Core/PointerEventArgs.cs Outdated Show resolved Hide resolved
src/Controls/src/Core/PlatformPointerEventArgs.cs Outdated Show resolved Hide resolved
src/Controls/src/Core/PlatformPointerEventArgs.cs Outdated Show resolved Hide resolved
src/Controls/src/Core/PlatformPointerEventArgs.cs Outdated Show resolved Hide resolved
{
#if IOS || MACCATALYST
/// <summary>
/// UIView that has the attached PointerGestureRecognizer
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing cref and sentence should start with "gets"
https://github.com/dotnet/dotnet-api-docs/wiki/Summary%3A-Property

Copy link
Member Author

@tj-devel709 tj-devel709 Aug 5, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think maybe intellisense was having some issues on VSMac with the platform specific classes in the crefs?
image

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was having issues identifying 'UIKit' on that line too so not sure if this is okay

Copy link
Contributor

@jknaudt21 jknaudt21 Aug 8, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to double check this with @davidbritch . Intellisense resolves this on VS Windows if the platform changes to iOS. Otherwise it fails.
Switching frameworks
(ignore the fact that I just plopped those docs into Brush - I just wanted to see what happens on Windows)

Perhaps the best way to approach this would be to change the docs to be something like

/// <summary>
/// Gets the native view attached to the event.
/// </summary>
/// <remarks>
/// On iOS, this is a <see href="https://learn.microsoft.com/dotnet/api/uikit.uiview"/> UIKit.UIView </see>
/// </remarks>
Sender

/// <summary>
/// Gets the native event or handler attached to the view.
/// </summary>
/// <remarks>
/// On iOS, this is a <see href="https://learn.microsoft.com/dotnet/api/uikit.uigesturerecognizer"/>UIKit.UIGestureRecognizer </see>
/// </remarks>
MotionEventArgs

And do someting similar for each platform

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Keep in mind that if you choose to to add the <remarks> linking to each native view, the links thatou have to add have to be generic otherwise the docs-tooling blows up. In other words, the link has to be https://learn.microsoft.com/dotnet/api/uikit.uigesturerecognizer and NOT https://learn.microsoft.com/en-us/dotnet/api/uikit.uigesturerecognizer?view=xamarin-ios-sdk-12.

If you want to play it safe feel free to simply not include the remarks 👍

namespace Microsoft.Maui.Controls;

/// <summary>
/// Platform-specific arguments associated with the PointerEventArgs
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// Platform-specific arguments associated with the PointerEventArgs
/// Platform-specific arguments associated with the PointerEventArgs.

Copy link
Member

@PureWeen PureWeen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

Along with the docs changes, can you change this to an Ignore and move the statement checking the platforms to an extension method?

Something like,

UIContext.IgnoreIfPlatform("Android", "iOS")

@tj-devel709
Copy link
Member Author

@jknaudt21 Thanks for taking the time to review my xml documentations! I updated the comments and hope I followed the guides enough but please let me know if there are other improvements to make!

@MartyIX
Copy link
Contributor

MartyIX commented Aug 5, 2023

@jknaudt21

  • Every clause or tag has to end with a period. I made the same mistake on a PR and Dave Britch left 50+ comments for every place where I missed it. I won't leave you 50 comments but please make sure you make everything end with a period :)

What about turning on https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1629.md? It sounds like it might do the job and consistency would be achieved.

@samhouts samhouts added this to the .NET 8 GA milestone Aug 9, 2023
@PureWeen PureWeen enabled auto-merge (squash) August 9, 2023 22:07
@PureWeen PureWeen merged commit 3faf8a0 into dotnet:main Aug 9, 2023
39 checks passed
jonathanpeppers added a commit that referenced this pull request Aug 15, 2023
* Add swipe for uitests

* Bump the androidx group with 1 update (#16474)

Bumps the androidx group with 1 update: [Xamarin.AndroidX.RecyclerView](https://github.com/xamarin/AndroidX).

- [Commits](https://github.com/xamarin/AndroidX/commits)

---
updated-dependencies:
- dependency-name: Xamarin.AndroidX.RecyclerView
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: androidx
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Document Element (#16299)

* Begin doc progress

* Document element

* More explicit interface implementations

* Address PR feedback

* Document interfaces + delete xml

* whitespace

* Prevent compile issues

* Document IElementController (and mark as obsolete)

* Remove Obsolete attribute from IElementController

This would break the build in various places - and would go out of scope of the PR

* Document IVusalElementController

Apparently is only for internal use. We can't make it private so the only choice is to mark everything as for internal use only

* Prevent mdoc from breaking

You can't really cref a namespace

* Fixed other crefs

* Address Dave's feedback

* Move powershell pack script into cake (#16588)

* 'pwsh' is broken on net8

PowerShell/PowerShell#19679

* Remove the script

* oops

* Fix Graphics Font comparison method (#15985)

* Fix the issue

* Added more tests

* Updated Impl

* [WinUI] Implement PointerPressed and PointerReleased (#16213)

* Implement on Windows and add unit tests

* Update src/Controls/src/Core/PointerGestureRecognizer.cs

Co-authored-by: Samantha Houts <samhouts@users.noreply.github.com>

---------

Co-authored-by: Samantha Houts <samhouts@users.noreply.github.com>

* [X] Optimize OnPlatform element syntax (#5611)

* [X] Optimize OnPlatform element syntax

- fixes #5583

* Auto-format source code

* don't generate x:Name for removed OnPlatforms

* Update src/Controls/src/SourceGen/Controls.SourceGen.csproj

Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>

* fix string comparison

---------


Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>

* [Housekeeping] Add 8.0 preview 7 (#16613)

also adds a checkbox to make it clear if this is a regression or not

* [X] Support DynResources as AppThemeBinding values (#16597)

Because, you know, why not ? It could be useful

- fixes #13619

* [main] Update dependencies from dotnet/xharness (#16600)

* Update dependencies from https://github.com/dotnet/xharness build 20230807.2

Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 8.0.0-prerelease.23403.1 -> To Version 8.0.0-prerelease.23407.2

* Run device tests on 16.4

* Force to 16.4

* Skip test that fails on iOS

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Rui Marinho <me@ruimarinho.net>

* Adds prompts when creating a new page. (#16331)

* Adds prompts when creating a new page.

* Updates description as per suggested PR comments

* [ios] fix memory leak in GraphicsView (#16605)

Context: #16346

This addresses the memory leak discovered by:

    src/Core/src/Platform/iOS/PlatformTouchGraphicsView.cs(12,29): error MA0002: Member '_hoverGesture' could cause memory leaks in an NSObject subclass. Remove the member, store the value as a WeakReference, or add the [UnconditionalSuppressMessage("Memory", "MA0002")] attribute with a justification as to why the member will not leak.

I could reproduce a leak in `MemoryTests.cs`:

    ++[InlineData(typeof(GraphicsView))]
    public async Task HandlerDoesNotLeak(Type type)

Solved the problem by fixing two places:

* `PlatformTouchGraphicsView` now stores the `IGraphicsView` as a
  `WeakReference`.

* A `UIHoverGestureRecognizerProxy` is used for callbacks to the
  `UIHoverGestureRecognizer`.

* [create-pull-request] automated change (#16592)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Setting binding on Label doesn't set text to incoming binding (#16410)

* Test demonstrating binding issue

* [C] SetBinding overrides SetValue, but only when the value is set

* - reenable tests

---------

Co-authored-by: Stephane Delcroix (HE/HIM) (from Dev Box) <stdelc@microsoft.com>

* Added DeviceTest to validate CharacterSpacing on iOS Button (#16603)

* Use runtime check for setting WKWebView inspectable flag (#16631)

* Use runtime check

* Remove private

* Add back line

* Line endings?

* Use System.OperatingSystem

* Update src/BlazorWebView/src/Maui/iOS/BlazorWebViewHandler.iOS.cs

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>

---------

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>

* [Housekeeping] Fix broken bug template (#16643)

* [Housekeeping] Fix broken bug template

checkbox <> checkboxes

* Update bug-report.yml

* Update bug-report.yml

* Implement Additional PointerGestureRecognizer Platform Arguments (#16426)

* Pointer Platform Event Args

* remove extension and use property instead

* make ctor internal

* nullable consistency, spelling, and private setter

* Public API changes and remove nullable windows routedargs

* uitests part 1

* only run ui tests on windows and mac

* move device conditional to test

* Change the tests to Pointer Tests for more reusability

* Add documentation

* Add extension method for ignoring platforms

* Update the documentation

* Change platform specific docs

* [C] fix Specificity for VSM (#16404)

* [C] fix Specificity for VSM

- fixes #11204

* remove skipped test

* Prevent Android timer from adding multiple callbacks; (#16078)

Fixes #10257

* [Housekeeping] Remove checkboxes from bug template (#16650)

I did not realize that they would be editable tasks on the issue. Replaced with a dropdown. Also reordered the versions to be the most likely default options to speed up the reporting process.

* [Android] Fix SwipeView not swiping using Label as direct content (#14824)

* Fix Android SwipeView not swiping using Label as Content

* Refactoring code

* Added sample to validate 6154

---------

Co-authored-by: Javier Suárez <6755973+jsuarezruiz@users.noreply.github.com>

* Locate MAUI View for PlatformView (#16463)

* Locate xplat view from platformview

* - dispatcher

* - fix layout comparison on xunit

* - PR review comments

* - tizen fix

* Bump the aspnetcore group with 7 updates (#16634)

Bumps the aspnetcore group with 7 updates:

| Package | Update |
| --- | --- |
| [Microsoft.AspNetCore.Authorization](https://github.com/dotnet/aspnetcore) | 7.0.9 to 7.0.10 |
| [Microsoft.AspNetCore.Components.WebView](https://github.com/dotnet/aspnetcore) | 7.0.9 to 7.0.10 |
| [Microsoft.JSInterop](https://github.com/dotnet/aspnetcore) | 7.0.9 to 7.0.10 |
| [Microsoft.AspNetCore.Components.Web](https://github.com/dotnet/aspnetcore) | 7.0.9 to 7.0.10 |
| [Microsoft.AspNetCore.Authentication.Facebook](https://github.com/dotnet/aspnetcore) | 7.0.9 to 7.0.10 |
| [Microsoft.AspNetCore.Authentication.Google](https://github.com/dotnet/aspnetcore) | 7.0.9 to 7.0.10 |
| [Microsoft.AspNetCore.Authentication.MicrosoftAccount](https://github.com/dotnet/aspnetcore) | 7.0.9 to 7.0.10 |


Updates `Microsoft.AspNetCore.Authorization` from 7.0.9 to 7.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](dotnet/aspnetcore@v7.0.9...v7.0.10)

Updates `Microsoft.AspNetCore.Components.WebView` from 7.0.9 to 7.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](dotnet/aspnetcore@v7.0.9...v7.0.10)

Updates `Microsoft.JSInterop` from 7.0.9 to 7.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](dotnet/aspnetcore@v7.0.9...v7.0.10)

Updates `Microsoft.AspNetCore.Components.Web` from 7.0.9 to 7.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](dotnet/aspnetcore@v7.0.9...v7.0.10)

Updates `Microsoft.AspNetCore.Authentication.Facebook` from 7.0.9 to 7.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](dotnet/aspnetcore@v7.0.9...v7.0.10)

Updates `Microsoft.AspNetCore.Authentication.Google` from 7.0.9 to 7.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](dotnet/aspnetcore@v7.0.9...v7.0.10)

Updates `Microsoft.AspNetCore.Authentication.MicrosoftAccount` from 7.0.9 to 7.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](dotnet/aspnetcore@v7.0.9...v7.0.10)

---
updated-dependencies:
- dependency-name: Microsoft.AspNetCore.Authorization
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: aspnetcore
- dependency-name: Microsoft.AspNetCore.Components.WebView
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: aspnetcore
- dependency-name: Microsoft.JSInterop
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: aspnetcore
- dependency-name: Microsoft.AspNetCore.Components.Web
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: aspnetcore
- dependency-name: Microsoft.AspNetCore.Authentication.Facebook
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: aspnetcore
- dependency-name: Microsoft.AspNetCore.Authentication.Google
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: aspnetcore
- dependency-name: Microsoft.AspNetCore.Authentication.MicrosoftAccount
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: aspnetcore
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [create-pull-request] automated change (#16655)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* [ios] fix memory leak in SwipeItem (#16614)

Context: #16346

This addresses the memory leak discovered by:

    src/Core/src/Handlers/SwipeItemMenuItem/SwipeItemMenuItemHandler.iOS.cs(10,30): error MA0001: Event 'FrameChanged' could cause memory leaks in an NSObject subclass. Remove the event or add the [UnconditionalSuppressMessage("Memory", "MA0001")] attribute with a justification as to why the event will not leak.

I could reproduce the leak with a custom test in `SwipeViewTests`.

Solved the problem by introducing `SwipeItemButtonProxy` with the same
pattern from other PRs.

* [ios/catalyst] fix memory leak in DatePicker (#16589)

Context: #16346

This addresses the memory leak discovered by:

    src/Core/src/Platform/iOS/MauiDatePicker.cs(37,27): error MA0003: Subscribing to events with instance method 'OnValueChanged' could cause memory leaks in an NSObject subclass. Remove the subscription or convert the method to a static method.

I could reproduce a leak in `MemoryTests.cs`:

    ++[InlineData(typeof(DatePicker))]
    public async Task HandlerDoesNotLeak(Type type)

Solved the problem by fixing two places:

* `MauiDatePicker` now uses a `UIDatePickerProxy` type, for iOS

* `DatePickerHandler.MacCatalyst.cs` now uses a `UIDatePickerProxy` type,
  for MacCatalyst.

Other changes:

* Skip test on Android API 23

This is working for me locally on an API 23 emulator -- so I don't think
it is really leaking.

We skipped API 23 in another place:

https://github.com/dotnet/maui/blob/9fcccd57b5a3d664e4788b3c7fc3edc10010beaf/src/Controls/tests/DeviceTests/Elements/NavigationPage/NavigationPageTests.cs#L302-L303

We are more interested in iOS on this PR anyway.

* [build] Bump XCode to 14.31 (#16374)

* Add doc comments for common types used in templates, maps, webview (#16552)

* Add doc comments for common types used in templates, maps, webview
* Enable WarnigsAsErrors for inline docs on Maps

I went through every type/method/etc. used in the default MAUI app template and ensured there are doc for all of them.

I also added a few miscellaneous docs for WebView types and Map (many were copied from Xamarin.Forms docs).
---------
Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com>

* Update CODEOWNERS (#16682)

* Fix the case where silent was requested (#16676)

* Use the correct WASDK property (#16683)

* Re-land "[Windows] fixing window glitches while moving or resizing"  (#16637)

Initially merged in #14861 but there was a few test failures due to 83398c3 so it was reverted in #16541

* Update dependencies from https://github.com/xamarin/xamarin-macios build 20230815.5

Microsoft.tvOS.Sdk
 From Version 16.4.8694-net8-p7 -> To Version 16.4.8751-net8-rc1

* Update dependencies from https://github.com/xamarin/xamarin-macios build 20230815.5

Microsoft.MacCatalyst.Sdk
 From Version 16.4.8694-net8-p7 -> To Version 16.4.8751-net8-rc1

* Update dependencies from https://github.com/xamarin/xamarin-macios build 20230815.5

Microsoft.macOS.Sdk
 From Version 13.3.8694-net8-p7 -> To Version 13.3.8751-net8-rc1

* Update dependencies from https://github.com/xamarin/xamarin-macios build 20230815.5

Microsoft.iOS.Sdk
 From Version 16.4.8694-net8-p7 -> To Version 16.4.8751-net8-rc1

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Scott Banning <scoban@microsoft.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Juan Diego Herrera <juherrera@microsoft.com>
Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com>
Co-authored-by: Rachel Kang <rachelkang@microsoft.com>
Co-authored-by: Samantha Houts <samhouts@users.noreply.github.com>
Co-authored-by: Stephane Delcroix <stephane@delcroix.org>
Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>
Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Rui Marinho <me@ruimarinho.net>
Co-authored-by: Mausam Shrestha <46900712+mausam-shrestha@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Shane Neuville <shneuvil@microsoft.com>
Co-authored-by: Stephane Delcroix (HE/HIM) (from Dev Box) <stdelc@microsoft.com>
Co-authored-by: Tim Miller <drasticactions@users.noreply.github.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Co-authored-by: TJ Lambert <50846373+tj-devel709@users.noreply.github.com>
Co-authored-by: E.Z. Hart <hartez@users.noreply.github.com>
Co-authored-by: Javier Suárez <6755973+jsuarezruiz@users.noreply.github.com>
Co-authored-by: scoban <sbanni@users.noreply.github.com>
Co-authored-by: Eilon Lipton <Eilon@users.noreply.github.com>
@github-actions github-actions bot locked and limited conversation to collaborators Dec 7, 2023
@samhouts samhouts added the fixed-in-8.0.0-rc.1.9171 Look for this fix in 8.0.0-rc.1.9171 label Aug 2, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add ToPlatform extension methods for PointerEventArgs to retrieve platform events
7 participants