* Reuse the same backing bitmap logic for Android
* remove the duplicate code
* fix a bug when the view is removed then re-added
* Update samples to net472
* Use the shortened Mtl in the construcion type names because that is what we have done in the past :'(
* Use the longer Metal in the views layer :')
* Use GRMtlBackendContext as that is coming soon, so might as well get ahead
* Build for the most common Emscripten versions
* Update MSBuild.Sdk.Extras for .NET 5
* Do not rely on WasmHead to detect WebAssembly (#1550)
Co-authored-by: Jerome Laban <jerome.laban@nventive.com>
* Add the GPU views for the platforms
* Add the render loop for the platforms
* Fix the samples for infinite recursion
* Added the GL views to the gallery
* Improve the Vulkan APIs
- removed the context argument as this is unused as well as an older C/C++ feature
- added a SharpVk version of the GetProc property.
* Removed the context argument (this is more an older C/C++ feature/requirement)
* Expose the WebGL APIs
* Improve the GRGlInterface and GPU delegates
- removing the object context for the GPU construction
- obsoleted GRGlGetProcDelegate in favour of the better named GRGlGetProcedureAddressDelegate
- renamed GRVkGetProcDelegate to GRVkGetProcedureAddressDelegate
- use "ProcedureAddress" instead of "Proc" to show that it is the "address" not the actual procedure
- reworked the GRGlInterface
- use the new non-context delegates
- use better naming: Create*
- adding WebGL
- created a SharpVk-specific delegate GRSharpVkGetProcedureAddressDelegate
- use actual types instead of IntPtr
* Reduce the using obsolete warnings
- still a few left, mainly the colorspace and text blob
* Switch the way GRGlInterface.Create() works
- first try OpenGL as that is actually what is expected
- don't explode on an error, return null, like the rest
* Update API usages
* Correct company name
* Fix targets file
* Hide native files from project tree
* Add benchmark project
* Add a feature to skip the object registration
- ISKSkipObjectRegistration
- objects implementing this interface will not be registered in the global dictionary
- major perf boos (2.84x) due to not having to look up in a dictionary
- use direct constructor instead of object factory
* Throw an exception in "debug" builds
Several iterations of development to come to this:
* [UWP] Fix the ARM build and add ARM64
* [Win32] GDI is optional - and we don't want it
* Update harfbuzz to v2.6.2
* Use Docker
* Use a later version of the linux tools
* Use VS 2019
* Use Xcode 11
* Go all in with MSVC 14.2
* Disable the Tizen builds for now
* Add support for manually specifying VS (This can be done in a few ways, but the common way would be: --vsinstall='C:\PF\MVS\XXX\YYY')
* Update OpenJDK and Tizen Studio
* Using C++ 17
* Also added a THROW_ON_TEST_FAILURE env var to allow previews to be put out when tests are still failing
* Support basic text alignment
* Implement breakText in native code.
* Release the skia objects when the view is unloaded
This was originally changed in 8039d0d0bb
for the AngleSwapChainPanel view. But, this was not also extended to include
the skia objects in SKSwapChainPanel.
Nothing needs to be re-created because it is all done in the first paint operation.
For some reason, some controls (such as the ScrollViewer's LeftHeader, TopHeader, TopLeftHeader) are loaded twice.
We work around this by just adding a counter.
This will also fix any other controls that are a bit weird.
* Make more members readonly (the generator now makes the equality members readonly)
* split the SKMatrix file into SKMatrix44, SKRotationScaleMatrix, SK3dView
* split the SKColorSpace structs/classes into a separate file
* reworked/renamed all the poorly designed SKMatrix (and related) members to be actually useful
* Make sure the obsolete items are invisible
* Make sure everything implements IEquatable<T>
* Update docs and changelogs
* ISKGLViewController is public
* 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>
* 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