Граф коммитов

33 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge 1350683690
[src/generator] Stop implying Mac Catalyst availability attributes from the iOS attributes. (#17375)
Stop implying Mac Catalyst attributes from the iOS attributes, and instead
treat Mac Catalyst like all the other platforms (not implying anything from
any other platform).

This makes our attribute logic much easier to reason about and understand.

It also required adding numerous Mac Catalyst attributes that were previously
implied. This task was way too big to do manually, so I made some changes to
Chris' mellite tool, and managed to do it quite easily with Roslyn with the
changes in this branch: https://github.com/rolfbjarne/mellite/tree/explicit-maccatalyst-attributes
2023-01-31 14:51:53 +01:00
Rolf Bjarne Kvinge aa5444ff2b
[autoformat] Add all of src/. (#16958) 2022-12-06 11:07:43 +01:00
Manuel de la Pena 7a3729f94b
[VideoSubscriptionAccount] Add support for Xcode 14 beta 1,2 & 3 (#15541) 2022-07-26 11:41:06 -04:00
Manuel de la Pena b978393303
[Vision] Add support for Xcode 14 beta 1,2 & 3 (#15538)
Co-authored-by: Alex Soto <alex@alexsoto.me>
2022-07-19 14:44:11 -04:00
Stephane Delcroix f36606e654
[C] Clear OpenTK namespace (#13767)
fixes #13160

- remove unused types
- use System.Numerics when possible
- move own created types from OpenTK namespace to CoreGraphics
- create missing types in CoreGraphics namespace

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2022-02-14 18:50:23 +01:00
Rolf Bjarne Kvinge 96526b6ea1
[Vision] Adopt XAMCORE_4_0 changes in .NET. (#13775) 2022-01-19 08:59:50 +01:00
Rolf Bjarne Kvinge 765059cb5b [src] Update the constructors in the api definitions to return NativeHandle instead of IntPtr 2021-11-26 14:25:19 +01:00
Rachel Kang b879223cb0
Remove misplaced static 2021-08-23 14:48:01 -04:00
Rachel Kang 82eb5013ad
Fix selector typo swap 2021-08-23 10:59:52 -04:00
Rachel Kang cd3178c112
Update based on feedback 2021-08-19 12:13:25 -04:00
Rachel Kang cb1bfd64f3
[Vision] Update bindings for Xcode 13.0 beta 1 2021-08-17 10:04:29 -04:00
Sebastien Pouliot 51f0651976
Remove extra (managed) setters on readonly (native) properties (#11907)
When used they can cause rejection from the app store (but in most
case the managed linker will remove them from the app code)
2021-06-14 09:27:16 -04:00
Rolf Bjarne Kvinge 9a0cd6182b
[introspection] Add/fix/remove availability attributes for Mac Catalyst to make introspection's Introduced test pass. (#10587)
Co-authored-by: Sebastien Pouliot <sebastien.pouliot@microsoft.com>
2021-04-13 15:48:20 -04:00
Sebastien Pouliot 11aafadd86
[intro] check for duplicate or inconsistent availability attributes (#9825)
This can easily happen when existing type(s) or framework are added to a platform. E.g.

```csharp
[Watch (6,0)][iOS (9,0)]
interface AVFoo {
   [Watch (6,0)][iOS (13,0)]
   void NewMember ();
}
```

Here we have duplicate attributes and, while not confusing, it does mean extra (and non required) metadata into the platform assemblies.

```csharp
[Watch (6,0)][iOS (9,0)]
interface AVFoo {
   [Watch (5,0)][iOS (13,0)]
   void NewMember ();
}
```

Here we declare a member as available when the type is not. I'm not sure how the IDE will react - but this should be audited since one of them is wrong (whatever the IDE behaviour is).

Fix https://github.com/xamarin/xamarin-macios/issues/6856
2020-10-13 14:16:33 -04:00
Alex Soto 4129224408
[Vision] Update bindings to Xcode 12 Beta 1 - 6 (#9523)
* [Vision] Update bidnings to Xcode 12 Beta 1 - 6

* Add feedback

* fix assert messages

* Fix error message

* Apply feedback and stop all the 🤦
2020-08-28 10:57:22 -04:00
monojenkins 07a7b9cbb6
[d16-7] [src] Remove Classic code from the OpenGL, PassKit, PdfKit, Photos, QTKit, ReplayKit, SearchKit, Security, Social, SpriteKit, SystemConfiguration, Twitter, UserNotification, VideoToolbox, Vision, WebKit and WKWebKit frameworks. (#8816) 2020-06-10 15:38:58 +02:00
Sebastien Pouliot 15938de198
[generator] Add C#8 nullability into generated code (#7570) (#8333)
Goals
* Reflect Apple nullability annotations in our bindings using C#8
* No warnings when building bindings

Non-Goals
* Update (add or fix) `[NullAllowed]` to match Apple headers (next phase)
* Make the generator or internal code fully nullable aware (`nowarn` is used)

Notes
* Apple's own annotations are not 100% accurate :(
* Where known issue exists we have _fixed_ our attributes to match reality :)
* We also do additional null-checks internally that might seems not required (better safe than sorry).
2020-04-10 12:38:14 -04:00
Alex Soto 515f6640cc
[Vision] Update bindings to Xcode 11 Beta 1 - 6 (#6837)
Fixes #6830

* [Vision] Update bindings to Xcode 11 Beta 1 - 6

* Fix feedback

* More feedback
2019-08-23 20:08:49 -04:00
Rolf Bjarne Kvinge c1e6ac029f [src] Remove/obsolete 'onlyOn64: true' in attributes. (#6595)
* [src] Obsolete 'onlyOn64' parameter to the availability attributes.

* [src] Remove 'onlyOn64: true' from attributes.

* [src] Adjust availability attributes.
2019-07-16 12:13:11 -04:00
Rolf Bjarne Kvinge 5208d1d11e Fix NS[Secure]Coding and NSCopying interfaces. 2019-06-26 14:15:32 +02:00
Sebastien Pouliot d988124684
Remove private API (#5915)
* [pdfkit] Remove private API

* [vision] Remove VNRequest preferredMetalContext API and add API compatibility stub

Looks like it was removed between iOS 11 beta 4 and 5
http://codeworkshop.net/objc-diff/sdkdiffs/ios/11.0b5/Vision.html

* [gameplaykit] Do not expose selector for 'RemoveData'

* [cloudkit] Remove selector from deprecated 'UsesBackgroundSession' API

* [metalperformanceshaders] Remove private API

* [gamekit] Remove private API

* [avfoundation] Replace AVAssetResourceLoadingRequest 'finished' by 'isFinished'

Apple now reject the original (iOS 6) `finished` selector - even if its
replacement `isFinished` is not available until iOS 7.

* [corebluetooth] 'Primary' and 'UUID' are not mutable

This was not documented (or mis-documented in earlier macOS docs) and
the API are now replaced with empty stubs to maintain binary
compatibility with existing code.

* [coreanimation] Remove CAEmitterBehavior 'initWithType:' and 'behaviorWithType:' API

Corresponding headers were removed in Xcode 9 without any explanation
rdar #33590997 was filled - no news
'initWithType:' and 'behaviorWithType:' API now cause rejection
Tracked in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals

* [uikit] Remove (macOS only) API from NSLayoutManager (on other platforms)
2019-04-25 10:16:22 -04:00
Alex Soto b808213465 [Vision] Update bindings to Xcode 10 beta 1, nothing in beta 2 (#4321) 2018-08-01 10:50:13 -04:00
Chris Hamons c0202e0e2b
PMCS Removal (#3197)
You were the preprocessor we wished C# had natively

Removing PMCS requires these changes:
* Remove XamCore from src/
* Remove XamCore from tools/
* Remove XamCore from runtime/
* nint/nuint enum conversion
* _compat_ enum conversion
* NSAction conversion
* Hand fix single API incorrectly converted by PMCS to unbreak compatibility
   - Due to a bug in PMCS, the nuint was incorrectly converted in this API.
   - However, as that ship as sailed, we must "fix" it until XAMCORE_4_0
* Update readme
* Bump macios-binaries
2018-02-05 10:26:29 -05:00
Alex Soto 30669abe5c
[Vision] Removes incorrect [Abstract] from VNDetectBarcodesRequest (#3155)
Fixes xamarin/xamarin-macios#3140

According to headers and documentation this should not be abstract.
This was incorrectly added by me in 89071bc19d
I could not find why this was added by checking headers nor I can
recall why I added it so I'll just say it was a honest mistake :) Oops... 🙈
2018-01-03 19:33:45 -06:00
Rolf Bjarne Kvinge 7a674ec490 Tweak the Simd-compatible matrices and vectors (#2668)
* Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#).
* Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version).
* Update the API to match their OpenTK counterparts better:
    * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields.
    * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change).
2017-09-13 11:08:39 -04:00
Rolf Bjarne Kvinge 182c95e6bc Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622)
* Implement Simd vector types (VectorFloat2/3/4/VectorInt4).

* [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions.

* [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2).

This way we won't have to create a MDLVoxelIndexExtent3 in the future.

* [SpriteKit] Use the new simd vectors in new API.
2017-09-08 15:00:46 +02:00
Rolf Bjarne Kvinge f6a01bbc27 [Vision] Use the new Simd matrix types. 2017-08-31 14:03:11 +02:00
Sebastien Pouliot ce6ae3ebb9 [vision] Minor fix wrt xtro (#2551)
including some things we need to ignore manually

!missing-field! VNVisionVersionNumber not bound
!missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound
!missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound
2017-08-28 10:24:06 -04:00
Sebastien Pouliot d9ba052fa9 [vision] Update to beta 6 (#2532)
Removal of some deprecated (during beta) `init*` selectors.

Also sync the versions that were inlined in subclasses - the old
ones were not removed and the new ones were not added.
2017-08-23 12:08:03 -04:00
Alex Soto b66ec4d759 [Vision] Update to Xcode 9 Beta 5 (#2458) 2017-08-09 11:12:33 -04:00
Sebastien Pouliot cc7536d159 [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411)
https://bugzilla.xamarin.com/show_bug.cgi?id=58197
2017-08-02 20:05:19 -04:00
Alex Soto 463f83eb33 [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397)
* [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512

https://bugzilla.xamarin.com/show_bug.cgi?id=58512

Created strong API (VNBarcodeSymbology) on the following properties

* VNDetectBarcodesRequest.SupportedSymbologies
* VNDetectBarcodesRequest.Symbologies
* VNBarcodeObservation.Symbology

* Remove modern C# because classic can't do it 😡
2017-08-01 15:25:32 -05:00
Alex Soto 89071bc19d [Vision] Add bindings for Xcode 9 Beta 1, 2 & 3 (#2301)
* [Vision] Add bindings for Xcode 9 Beta 1 & 2

This commit also adds two convenience overloads to GetAttachments
that allows you to get a more strongly typed version of the
returned dictionary, this is needed because there is no easy way
to downcast from NSDictionary to NSDictionary<TKey, TValue>
and it is used in the sample that excecises the Vision API found here

https://github.com/dalexsoto/FaceDetector

* [Vision] Implement feedback

* Add commas to enums to avoid diff spam
* Throw a managed exception when we fail to dinamically call Vision framework

* [Vision] Update to xcode 9 Beta 3

* [vision] fix VNImageCropAndScaleOption enum

Also removed public modifier from enums in order to have interfaces
and enums in sync

* [Vision] Add missing comma to enum

* [Vision] More API enhancements

* Removed default .ctor from types that are not user created
* Added Strong Dictionary to VNImageRequestHandler ctors
* Turned VNImageOption into a StrongDictionary
* Added bug report[1] for BarcodeDescriptor so we do not forget
* Removed duped metadata from manual bindings
* VNDetectedObjectObservation subclasses now have the factory
  method FromBoundingBox inherited from its parent class
  (VNDetectedObjectObservation).

[1]: https://bugzilla.xamarin.com/show_bug.cgi?id=58197

* [Vision] Merge extern API with wrappers, fixed intro!

* [Vision] Add one missing public accessor to VNUtils
2017-07-18 11:12:10 -05:00