Google deleted `DrawTextOnPath` so this PR adds it back along with other text-related APIs.
- Added an overload for `SKCanvas.DrawTextOnPath` that disables glyph warping
- Wrapped the `ArrayPool<T>.Shared` logic into a disposable util method
- Renamed `SKFont.GetPath` to `SKFont.GetTextPath` so that it makes more sense
- Added `SKFont.GetTextPathOnPath` to get the text path, but following another path instance (warps glyphs)
- Removed/obsoleted the non-glyph overloads for `SKTextBlobBuilder.Add*Run`
- Added a set of `SKTextBlob.Create` overloads that are used to make "string" runs
- A few other small changes to make the API better
- Fixes#1183
* Adding GTK extension methods
* Add initial implementation for Xamarin.Forms GTK
* Better exceptions
* GTK v2 does not build on Windows CI
This is because of mono not being installed. I could install it, but typically
this is not available on normal dev boxes. So, to make things easier, just
build on mac and linux.
* Upgraded a good few things
- multitargeting for netstandard1.3, netstandard2.0, netcoreapp3.0 and net45
- iOS, tvOS, macOS, watchOS now builds on non-macOS (not embedded binaries)
- removed empty assembly infos
- using Directory.Build.* to clean up a few things
- improved the msbuild tasks to properly skip
* Add the targets file to the nuget
* Let all the tests run before failing the build
* Pack and validate in one go
* Update the samples to use the new projects
* Use VS 2017 for native builds for now
* Update Dockerfiles
* removed references from Views.WPF to OpenTK #1029 (#1078)
* Install the type redirector
* Update depot_tools
* Don't do any signing for macOS
Co-authored-by: Tyson Williams <34664007+bender2k14@users.noreply.github.com>
* Some of the colorspaces created are just references
- SRGB and SRGB Linear colorspaces are static and should never be disposed
* Fix concurrent disposal and creation
- In some cases, a new native object is created with the same memory location while the
managed instances is still being disposed. In this case, we cannot remove the managed
instance from the dictionary, since it is not the current object being disposed anymore.
- SKColorSpace has some members that should not be disposed, since they are static on the
native side. Just, there is no docs for this, so calling dispose will crash everything.
- Added the logic to make sure that all static objects are created before anything, so we can
get a handle on them and make sure they are static managed instances.
* Make sure the objects are not collected when using spans
Add a new NuGet
- add a targets file to the nuget to warn if the platform packages were not installed
Update the pipeline:
- use build artifacts everywhere
- just disable tizen for Windows
* Removed v2.3.1 and renamed Flags to BufferFlags
* Updated some API and Doc
* Add Gtk3 views
* Reworked the samples logic
- handle the more varied project structure
- build the generated zip to test it
- always use the local nuget cache
* macOS is always Any CPU
* Rename SKWidget to SKDrawingArea for GTK#3
- this allows us to have a single moniker for docs
- it indicates that it is not quite the same as the widget in GTK#2
- is is more specific so we can have more GTK# controls
* merge all the views (except forms) into a single moniker so it is better for browsing in the docs portal
* SK3dView is not actually obsolete :)
* Add readmes to the samples
- there was not that much code duplication
- far more control per platform
- surface needs to query the context for the sampls permitted - Fixes#727
- renamed SKDrawable in preparateion of the incomming PR and because it was not descriptive anymore
- Use the latest version of MSBuild.Sdk.Extras
- No longer use MSBuild.Sdk.Extras for the net and netstandard monikers as the new .NET Core already supports these nicely
- Update all the Android projects to be 4.4+ as below is no longer realistically supported - both by Xamarin and Google
- Using the Sdk attribute to specify the new project SDK
* Prepare the bits to build the linux platforms
* Adding just the required native packages
* Update mdoc and add the --quiet flag to reduce output noise
* Moved the linux native assets into a separate nuget
* Updated the UWP signing key
* Remove the old index8 members