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

2599 Коммитов

Автор SHA1 Сообщение Дата
Matthew Leibowitz 5b08f569ac
Use the correct shaders (#1323)
Instead of adding a new overload that is already gone, add the new one that was added and is staying around for a bit.
2020-06-06 22:35:06 +02:00
Matthew Leibowitz 2c0f9f7ae0
Improve the CI build label (#1322) 2020-06-06 22:25:12 +02:00
Matthew Leibowitz 667b1c4589
Move to a "preview" version 2020-06-05 15:46:06 +02:00
Matthew Leibowitz a285919b8f
Update skia submodule 2020-06-05 15:43:22 +02:00
Matthew Leibowitz 7c90b7c1e9
Re-gen the docs 2020-06-05 10:52:45 +02:00
Matthew Leibowitz 282638783f
Update Samples (#1313)
* Update samples (new things, AndroidX, updated versions)
* Update icons
* Move away from all obsolete uses
* Temporary workaround for https://developercommunity.visualstudio.com/content/problem/1057547/incorrect-file-validation-for-the-installappleprov.html
* Fix the API diff
2020-06-03 23:30:51 +02:00
Matthew Leibowitz 7242e32733
Update azure-pipelines.yml 2020-05-20 10:35:23 +02:00
Matthew Leibowitz 8392040556
Update azure-pipelines.yml 2020-05-20 09:39:06 +02:00
Matthew Leibowitz daff651a41
Improved the structs a bit 2020-05-20 01:21:33 +02:00
Matthew Leibowitz 79fa881473
Merge remote-tracking branch 'origin/master' into develop 2020-05-20 01:05:46 +02:00
Matthew Leibowitz 3af24d9d3a
Allow the path to gn and ninja to be specified (#1300) 2020-05-20 00:54:30 +02:00
Matthew Leibowitz 6b7e348f61
Make the SKFont's public API glyph-only and the others types use it under the hood (#1299)
- Make SKFont glyph-only
- hide the SKFont members that take strings/bytes
- hide the overloads that return arrays (promote the use of the "out span")
- expose string/byte members on SKPaint, and only expose the returning array (for consistency)
- use a single instance of SKFont for SKTypeface glyph members
- Add glyph-based MeasureText
2020-05-18 21:00:35 +02:00
Matthew Leibowitz fd9484a06a
Re-gen the docs 2020-05-18 12:16:55 +02:00
Matthew Leibowitz 98bfa94da7
Improve the GPU APIs (#1294)
* 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
2020-05-17 22:11:59 +02:00
Matthew Leibowitz 80ae171628
Update the version to 1.68.3 (#1292) 2020-05-17 10:54:28 +02:00
Matthew Leibowitz e30ebdec35
Build for Vulkan on all supported platforms (#1287) 2020-05-16 03:14:31 +02:00
Matthew Leibowitz 7a4d067456
Use the new icons for the NuGet packages 2020-05-15 00:30:07 +02:00
Matthew Leibowitz 16f2bc901f
Use Clang 10 (#1286) 2020-05-15 00:17:29 +02:00
Peter Verswyvelen 38f2220edb
Implemented SKCanvas.DrawTextOnPath (#1198)
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
2020-05-15 00:16:53 +02:00
Matthew Leibowitz 41be821b28
New Images / Icons (#1281) 2020-05-14 03:05:54 +02:00
Matthew Leibowitz 6baf53f3ab
Vulkan Support for Win32 (and APIs for everyone as well) (#1010)
Add support for Vulkan on Win32 (#252)
* Bindings for m80 Vulkan backend context and related types. (#1276, #897)
* Added tests for Vulkan
* Rename the SKColorType enum values (#1222)

Co-authored-by: Davide Tuccilli <davide@gritworld.com>
Co-authored-by: Davide Tuccilli <d.tuccilli@gmail.com>
Co-authored-by: Dariusz Komosiński <darek.komosinski@gmail.com>
2020-05-14 03:01:38 +02:00
Matthew Leibowitz 3fb8c0cdc5
Adding back the removed enum members (#1285) 2020-05-13 02:36:33 +02:00
Matthew Leibowitz 401cf0336f
Merge 'master' into 'develop' 2020-05-10 17:06:57 +02:00
Matthew Leibowitz 5ea66f2a4a
Performance Improvements (#1277)
* 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
2020-05-10 16:56:12 +02:00
Matthew Leibowitz 887da1d5f4
Update to the new Tizen (#1280)
- Version 3.7
- Java is included in the SDK installer
- Windows is now working again
2020-05-09 21:00:01 +02:00
Matthew Leibowitz 1c25b69b02
Merge 'master' into 'develop' 2020-05-02 14:44:32 +02:00
Matthew Leibowitz 1aee294bb0
Ensure that the assemblies are in fact signed (#1268) 2020-05-02 10:05:44 +02:00
Matthew Leibowitz ff30a59f73
Merge remote-tracking branch 'origin/master' into develop 2020-04-30 12:44:44 +02:00
Matthew Leibowitz 258682ed0e
Update docs for release (#1263)
* Update the version numbers
* Regenerate the docs
* Added better change logs
2020-04-30 00:34:12 +02:00
Matthew Leibowitz 295eea2a1b
Correct the p/invoke generation 2020-04-29 22:31:09 +02:00
Matthew Leibowitz 22fcbe7c57
Prevent the GC from collecting "this" and "pixels" (#1258)
* Prevent the GC from collection "this"
* GC.KeepAlive for cases where we only use pixels pointers
2020-04-29 03:51:45 +02:00
Matthew Leibowitz 04857a3caa
Update azure-pipelines.yml 2020-04-29 02:53:31 +02:00
Matthew Leibowitz 9ad68b65d4
Update to a much later version of skia (m80) (#986)
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.
2020-04-28 22:20:20 +02:00
Matthew Leibowitz 6c2db31891
Build the new branches 2020-04-28 21:45:19 +02:00
Matthew Leibowitz cf6d95cba1
Rename some methods to be more .NET (#1255) 2020-04-28 18:05:20 +02:00
Matthew Leibowitz 221a96b815
Null out the field when disposing. Fixes #960 (#1256)
Not sure why iOS is drawing a disposed object, but just be safe.
2020-04-28 17:44:08 +02:00
Matthew Leibowitz 6a2d2ed80c
No need to allocate on disposal (#1257) 2020-04-28 17:41:00 +02:00
Matthew Leibowitz 354d85d129
Always reference netstandard (#1250) 2020-04-26 10:29:35 +02:00
Matthew Leibowitz 290b61e17f
Expose a generic, writable span for the pixels (#1242)
* Expose a generic, writable span for the pixels
* Fixes #1240
* "Cache" the info object in size so we don' have to hop the interop.
* Raw pixels depend on the CPU endianness
2020-04-23 02:02:27 +02:00
Matthew Leibowitz 928b729ee0
Use the correct URL for OpenJDK on Linux (#1245)
* Use the correct URL
* ANGLE only runs on Windows
2020-04-22 23:36:42 +02:00
Matthew Leibowitz 0195b18746
Fixed unit tests crashes and a WGL deadlock (#1228 for master) (#1237) 2020-04-22 12:52:59 +02:00
Matthew Leibowitz 2550d14410
[Android.Views] Refresh the surface when recreated (#1234)
Fixes #1232
2020-04-16 18:07:19 +02:00
Matthew Leibowitz cef01f15e6
Remove the [Preserve] attribute (#1229)
Since #1209, we no longer use reflection and the linker can go ahead and start removing things.
2020-04-13 14:26:04 +02:00
Matthew Leibowitz 2191818177
Make sure to not dispose system fonts (#1224)
Fixes #1220
2020-04-11 19:48:05 +02:00
Matthew Leibowitz 028c7459e5
A few changes to the way ArrayPool is used 2020-04-11 14:56:37 +02:00
Benedikt Stebner 5e94a9dc8e
Remove reflection usage for SKObject creation (#1209) 2020-04-11 13:43:09 +02:00
Immo Landwerth 6a3f6cdbac
Link Code of Conduct (#1216) 2020-04-08 11:00:42 +02:00
Matthew Leibowitz 39a8c9a071
Update cake to 0.37 (#1215) 2020-04-08 00:42:57 +02:00
Matthew Leibowitz 3d29c07bd7
Update expat native library to 2.2.9 (#1214) 2020-04-07 22:37:26 +02:00
Michael S. Scherotter 58a9a7b9c2
Update SKTouchHandler.cs to fix crash bug caused by passing incorrect parameter, added pressure and eraser handling (#1212)
* Fixed crash bug where id was incorrectly passed instead pointer to evt.GetToolType().
* Added stylus pressure for Android
* Added eraser handling - to map to middle button.
2020-04-07 11:10:12 +02:00