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

44 Коммитов

Автор SHA1 Сообщение Дата
Max Katz 9cbf9c80b7
Function pointers and LibraryImport (#2917)
* Update generator to emit function pointers

* Regenerate interop files

* Enable USE_LIBRARY_IMPORT in HarfBuzzSharp

* Enable USE_LIBRARY_IMPORT on SkiaSharp

* Set DisableRuntimeMarshalling on HarfBuzzSharp

* Replace remaining DllImports with LibraryImport on SkiaSharp

* Set DisableRuntimeMarshalling on SkiaSharp as well

* Fix missed proxy definition

* Regenerate skia api with a correct submodule version

* Collections literals are not supported on the CI .NET SDK

* An attempt to fix Tizen build

* Forgot about partial

* Set UnmanagedType.LPStr on evas_gl_proc_address_get instead

* Set USE_LIBRARY_IMPORT on remaining projects too

* Update generator tool to generate DelegateProxy as well

* Regenerate HarfBuzz and SkiaSharp with new DelegateProxy source gen

* Regenerate other projects as well

* Add `protected internal` to test classes too, since this project has InternalsVisibleTo configured

* Disable DelegateTypesAreValid and DelegateTypesHaveAttributes tests on .NET 7+ build, see comments

* Reduce warnings noise

* Update binding/SkiaSharp/GRGlInterface.cs

Co-authored-by: Filip Navara <filip.navara@gmail.com>

* Add missing USE_LIBRARY_IMPORT defines

* Update binding/SkiaSharp/GRGlInterface.cs

* Also needs USE_LIBRARY_IMPORT

---------

Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
Co-authored-by: Filip Navara <filip.navara@gmail.com>
2024-08-21 23:16:05 +08:00
Matthew Leibowitz 171e086a89
Update .NET to 8.0 (#2927)
* Update the Dockerfiles
* Use newer Xcode
* Update Blazor WASM Sample
* Update Uno Samples
2024-07-26 00:28:28 +08:00
Matthew Leibowitz 0a5739a528
Validate the generated interop files (#2831) 2024-04-13 08:49:41 +02:00
Matthew Leibowitz 42fc0181e0
Bind Skottie's Animation Builder (#2630) 2024-02-18 17:33:24 +02:00
Matthew Leibowitz 7fd9718034 Update skia and regenerated the C# pinvokes
This was a large set of changes, both to the code as well as to new
requirements. The changes included:
- Updated skia
- Updated depot_tools (and this also needed changes
- Added/chnaged/removed C++ types
- Re-generated C# pinvokes
- Minimum OS versions changed:
   - Android: 21 (v5.0)
   - macOS: 10.13 (High Sierra)
   - Tizen: 6.0
   - tvOS: 11.0
   - Debiam: 10 (Buster)
- Updated macOS build agent to macOS 13 with Xcode 14.3.1
- Updated the Android NDK to r25c
- Updated Tizen Studio to 5.1
- Ninja is now a required dependency and not included in depot_tools
- Python is now used to run ninja instead of ninja run directly
2023-08-17 17:24:04 +02:00
Matthew Leibowitz bc5020b9ee
Modernize the repository and prepare SkiaSharp 3.0 (#2505)
* Merge and modernize the binding projects
* Remove UWP and watchOS
* Add the native assets projects
* Rename bootstrapper.ps1 to build.ps1
* Add new device tests
* Rework the test skipping feature

---------

Co-authored-by: Jerome Laban <jerome.laban@nventive.com>
2023-07-30 23:49:57 +08:00
Matthew Leibowitz 634d3977de
Update a few dependencies (#2487) 2023-06-14 17:03:33 +02:00
Matthew Leibowitz 4683ac719e
Move Skottie and SceneGraph out of the core SkiaSharp.dll (#2091) 2022-06-03 17:53:57 +02:00
Matthew Leibowitz 00d34ed665
Add support for excluding "namespaces" (#2093) 2022-06-01 21:38:46 +02:00
Matthew Leibowitz 7e5b555976
Update Generator (#2087) 2022-05-30 22:30:40 +02:00
Matthew Leibowitz 9eec9652fc
Update maui to Preview 12 (#1932) 2022-01-27 01:44:17 +02:00
Matthew Leibowitz ce7778c0c4
Support ASP.NET Blazor Web Assembly Components (#1811) 2021-10-11 11:08:38 +02:00
Matthew Leibowitz d2bdc0b3ed
Add net6.0-* for the binding projects (#1707) 2021-06-16 08:23:56 +02:00
Matthew Leibowitz 1916562ba5
Update Uno (#1708) 2021-05-23 04:40:52 +02:00
Matthew Leibowitz 4e9a505aef
Update to .NET 5.0 (#1697) 2021-05-08 01:49:57 +02:00
Matthew Leibowitz d8515272c4
Attempt to use the local ChromeDriver first (#1653) 2021-03-13 06:01:15 +02:00
Matthew Leibowitz 7d087c922c
Remove the externals/harfbuzz submodule (#1599)
Use the gn targets in skia to do all the work.
2021-02-01 23:13:44 +02:00
Matthew Leibowitz 3aa8f9644d
Improve the local builds (#1593) 2021-01-27 21:49:08 +02:00
Matthew Leibowitz 66ed32a5a0
Build and include all the emscripten version for WASM (#1590)
* 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>
2021-01-27 06:07:39 +02:00
Matthew Leibowitz 2e5c9c4f62
Add a picture test to the WASM tests (#1592)
* Add a picture test to the WASM tests
* Update Chrome web driver
* Include deserialization in WASM builds
2021-01-26 02:07:50 +02:00
Matthew Leibowitz 3238c8e33a
Update the ChromeDriver (#1540) 2020-10-28 10:28:50 +02:00
Matthew Leibowitz fef54f6e37
Generate the interop with harfbuzz (#1447)
* Improve the generator
* Fix up for WASM
* Some fixes for the cookies
* Add support for HarfBuzzSharp on WASM
* New Xcode
* Add a basic HarfBuzz test
2020-10-07 15:34:05 +02:00
Matthew Leibowitz 74a31ace5c
Update Uno Platform to v3.0 (#1489)
Co-authored-by: Jerome Laban <jerome.laban@nventive.com>
Co-authored-by: Jérôme Laban <jlaban@gmail.com>
2020-10-01 17:56:09 +02:00
Matthew Leibowitz 0ab468b377
Update Chromium Web Driver (#1488) 2020-09-02 22:19:08 +02:00
Matthew Leibowitz d0562fc3d7
Add a few more GPU debugging members (#1478) 2020-08-25 14:34:58 +02:00
Matthew Leibowitz 1fa3daddcc
Update the Uno package versions (#1426) 2020-07-24 03:57:30 +02:00
Matthew Leibowitz b84f667eae
Add WASM Support for Uno Platform (#1333)
Co-authored-by: Jérôme Laban <jerome.laban@nventive.com>
Co-authored-by: Geoffrey Huntley <ghuntley@ghuntley.com>
Co-authored-by: Martin Zikmund <martin@zikmund.dev>
2020-07-21 03:22:38 +02:00
Matthew Leibowitz 99356f9b7e
Add more Uno things (#1420) 2020-07-20 12:21:44 +02:00
Matthew Leibowitz a3472b0627
Build for Linux ARM32 (armhf) and ARM64 (aarch64) (#1382)
Co-authored-by: jp2masa <jp2masa@users.noreply.github.com>
2020-07-07 02:23:42 +02:00
Matthew Leibowitz b647079f7b
Add & Run WASM Unit Tests (#1361) 2020-06-29 19:28:12 +02:00
Matthew Leibowitz c701294fbc
Build libSkiaSharp for WASM (only) (#1359) 2020-06-28 08:11:11 +02:00
Matthew Leibowitz a4754b6284
Merge pull request #1332 from mono/dev/reduce-m44 2020-06-25 03:07:42 +02:00
Matthew Leibowitz 65c472b71a
Merge branch 'master' into dev/reduce-m44 2020-06-24 23:33:50 +02:00
Matthew Leibowitz a26d11b7fa
Fix some ws 2020-06-24 02:34:37 +02:00
Matthew Leibowitz 7cda786b8a
Load specific native libraries on desktop/netfx
This fixes 2 issues:
- loading multiple versions of libSkiaSharp (#1252)
- resolving the issue with 32/64 bit dll (#713)
2020-06-19 01:49:29 +02:00
Matthew Leibowitz c23eab0bf9
Add Alpine Native Libraries (#1339)
Building using Alpine 3.9. Tested on Alpine 3.7.
This is both the full libSkiaSharp and the "no dependencies" build.
2020-06-17 19:15:50 +02:00
Matthew Leibowitz 2a2452a065
Reduce the usage of SKMatrix44 2020-06-11 21:58:31 +02:00
Matthew Leibowitz fc9f030a08
A few changes and improvements (#1153)
A few changes and improvements:
- add some helper members
- improved the SKBitmap.CopyTo and related members
- added Encode(...) to SKBitmap
- added Encode(...) with a .NET Stream to SKBitmap, SKImage and SKPixmap
- start the move from SKEncoding to SKTextEncoding
- added more tests
- generator now has a validator for ensuring all declarations have implementations
- added equality members to all structs

Bugs Fixed
- Bitmaps copied with SKBitmap.Copy sometimes have incorrect colors
- The GC would sometimes collect a stream that was being used by a PDF document
2020-02-27 15:12:00 +02:00
Matthew Leibowitz c5fa9aa04e
More Improvements (#1123)
* 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
2020-02-04 19:00:41 +02:00
Matthew Leibowitz 7a2965a672
Improve Generator & Structs (#1122)
* Generator
- getters readonly 
- implement IEquatable

* Improve a few parts of the managed API
- mark obsolete members as invisible to the editor
- make struct getters readonly
- implement struct equality/hashcodes
- SKColor calculations use the SKColorF implementations
- some whitespace fixes to conform to styles
- split SKPMColor out into a new file
2020-02-03 12:58:54 +02:00
Matthew Leibowitz a358366921
Adding the SKColorF (with SKColorSpace) overloads (#1116)
* Adding SKColorF
* Improve the generator's sort
* Add SKColorF for SKPixmap
* Add the SKShader overloads and add some ToShader members
* Add some test for the SKColorF shaders
2020-02-01 20:58:44 +02:00
Matthew Leibowitz e84ba47396
Upgrade to VS2019 and .NET Core 3.0 (#1030)
* 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>
2019-12-22 18:50:47 +02:00
Matthew Leibowitz 34093ecb6e
Pulling in some changes from other places (#1054) 2019-12-07 23:09:32 +02:00
Matthew Leibowitz d16fd524b0
Created a P/Invoke Generator (#992)
* Added the new generator
* split some of the native builds into archs
* Update the native skia
* Generate the interop layer and use it
2019-11-05 19:38:03 +02:00