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

2683 Коммитов

Автор SHA1 Сообщение Дата
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
Matthew Leibowitz 792b9056f3
Release the skia objects when the view is unloaded (#1213)
* 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.
2020-04-07 01:03:49 +02:00
Matthew Leibowitz 4559061eb7
Add a test for text align (#1207) 2020-04-05 12:33:07 +02:00
Matthew Leibowitz 14813f82e0
Resolve some concurrency issues (#1200)
* Rework the assembly fixtures
* Fix concurrency issue with handle registration
* Save several ms and useless allocations
* Make sure to correctly own objects
* Native objects may be disposed at any time
* Keep the bitmap alive when just using the pixmap
* Cache the "static" font styles
2020-04-03 13:25:20 +02:00
Matthew Leibowitz 234c93a775
Fixing issue #1187 (#1206)
* Passing null to SkPathMeasure results in AccessViolationException

Co-authored-by: Ziriax <bugfact@gmail.com>
2020-04-02 15:56:31 +02:00
Michael S. Scherotter 689017845b
Added device type to touch events (touch, mouse, pen) (#1191) 2020-03-30 13:02:44 +02:00
Matthew Leibowitz aca03c2917
The lang parameter is not used, so remove it. (#1190)
Fixes #1189
2020-03-25 19:24:50 +02:00
Matthew Leibowitz 6dad08501f
Update README.md 2020-03-25 16:53:34 +02:00
Matthew Leibowitz 73bfe55954
Re-work views to avoid incorrect disposal (#1180) 2020-03-24 18:09:38 +02:00
Peter Verswyvelen bc50ace4c6
Merge filter factory overloads now accept null arguments (#1185)
- since null refers to the source graphics being drawn, passing null must be allowed
 - added unit test
2020-03-21 21:25:46 +02:00
Matthew Leibowitz 5e48f0dea2
Add the expected overload for newer versions XF.Tizen (#1117)
- Updating Xamarin.Forms to v4.4.0.991757
- Work around the portable PDB issue for UWP for now
2020-03-15 15:24:45 +02:00
Matthew Leibowitz 34b6018ad7
Update all the build tools (#1175)
- Windows builds to use the v14.2 compilers
- Android to use the r19c (min Android 19)
- OpenJDK 13.0.2
- Tizen Studio 3.6
- Build on VS 2019
- Added build args to support preview/any VS installs
2020-03-14 03:24:10 +02:00
Matthew Leibowitz d3225f0bfe
Update azure-pipelines.yml 2020-03-09 23:57:56 +02:00
Matthew Leibowitz ee0e668235
Use vcpkg to build ANGLE (#1158)
* Use vcpkg to build ANGLE
* Use a separate step to build ANGLE for now
* Use the new ANGLE constants
2020-03-03 00:09:52 +02:00
Matthew Leibowitz 842d6c7946
Update the docs and changelog 2020-02-27 17:52:54 +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 a38b665127
Change paint encoding instead of throwing #1151 (#1152)
When the paint encoding is anything but GlyphId, the underlying allocation fails. This results in not only strange behaviour, but also invalid data. The run buffer is given a size, but nothing was allocated. This does 2 things:
- if a buffer is null, override the size
- if the encoding is not glyph, then change it temporarily
2020-02-21 20:30:13 +02:00