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

272 Коммитов

Автор SHA1 Сообщение Дата
Matthew Leibowitz 9390e6705a
Removing the skip as the bug has been fixed. 2018-12-27 10:16:41 +02:00
Matthew Leibowitz ae6350966e
Merging development into SkDrawable
- added some basic tests
 - added the xamarin files to the mac projects
 - merged the native skia branches
2018-12-26 23:54:48 +02:00
Matthew Leibowitz edba9a6607
Fixed and enhanced the SKColorSpace API 2018-12-18 08:44:49 +02:00
Matthew Leibowitz 22032a69ab
Support the case of measuring empty strings. Fixes #734
- previous logic: did not check for nulls, the update did
 - new logic: still check for nulls, but now only if we have indicated that there _should_ be text (there is a length)
 - added overloads for text pointers that accept an int as opposed to just an IntPtr
2018-12-17 23:50:29 +02:00
Matthew Leibowitz 121ab0496c
Fixed the matrix interop 2018-12-02 03:54:36 +02:00
Matthew Leibowitz 0cf1c6d293
Fixing the bitmap resize/scale methods
- consistency
    - `Resize` is for methods that create new objects
    - `ScalePixels` is for mthods that COPY pixels INTO a provided object
 - uniformity
    - all 3 imageing types have pixel scaling capabilities
 - improved obsolete desriptions
 - added new methods instead of just obsoleting
 - added more tests
2018-11-29 19:26:57 +02:00
Matthew Leibowitz 6c7f018724
More improvements for image decoding:
- SKCodec can now decode more imputs (bytes, streams)
 - SKImage no longer unnecessarily copies image data all over when decoding
 - SKBitmap no longer copies data unnecessarily
2018-11-27 23:46:12 +02:00
Matthew Leibowitz 51adc3c1b2
Non-ASCII Paths Fixes
- A bunch of changes to no longer wrpa a managed stream for non-ASCII paths on Windows
 - All paths are now converted to a UTF-8 path before been shipped over to native code
 - Fixes #697
2018-11-25 01:57:16 +02:00
Matthew Leibowitz d814a432ee
Handle the case where the file does not exist
- return null instead of just crashing in native code
 - fixes #618
 - fixes #677
2018-11-23 20:36:46 +02:00
Matthew Leibowitz a2f2d35609
Enhanced the PDF/XPS implementation and features 2018-11-17 00:55:17 +02:00
Matthew Leibowitz 98948aedc0
Make sure not to lock the files 2018-11-16 19:33:38 +02:00
Matthew Leibowitz 5268ffbded
The text bounds have a small padding, but the text path does not. 2018-11-16 04:54:17 +02:00
Matthew Leibowitz 6fb447c202
Removed the use of the debug SaveBitmap 2018-11-15 06:28:27 +02:00
Matthew Leibowitz 6a6e94af40
Add bindings for SKTextBlob, SKTextBlobBuilder and other text APIs 2018-11-15 04:27:17 +02:00
Matthew Leibowitz 53fbd5509f
Making the C layer dumber
- no "clever" mapping from types, just cast
 - removing variables, just use a direct call
 - sk_imageinfo_t still requires mapping because of the sk_sp<T> must be mapped to a T*
 - sksurfaceprops_t is now a class
2018-11-10 22:39:32 +02:00
Matthew Leibowitz 80ba9ffa14
Number of glyphs differs from chars in the string 2018-11-09 19:29:52 +02:00
Matthew Leibowitz fc7c60f559
The size of the glyph array may differ from the number of characters in the .NET string 2018-11-09 17:37:26 +02:00
Matthew Leibowitz b30b0ab56f
Some improvements to the code
- use "real" types instead of just IntPtr in the interop layer to make things easier to read
 - using some new C# features
 - corrected the use of the "fixed" keyword to no longer require arrays to have elements
2018-11-09 01:26:10 +02:00
Matthew Leibowitz 1f929695f6
Added a "trim" path effect 2018-11-06 19:37:10 +02:00
Matthew Leibowitz 66bd030f70
Added some utility methods to SKPath. Closes #669 2018-11-02 04:00:41 +02:00
Matthew Leibowitz 8f9975a722
Added a few overloads to SKImage
- FromEncodedData now can decode streams, buffers and files
 - FromPixelCopy now can copy from streams and buffers
2018-11-02 01:52:08 +02:00
Matthew Leibowitz 83e0941cb0
Added the rest of the sweep gradient shader arguments
- Closes #656
2018-10-29 22:19:44 +02:00
Matthew Leibowitz efc709437f
SKPixelSerializer is actually removed, but we go obsolete 2018-10-12 03:22:53 +02:00
Matthew Leibowitz 102d6477f6
Renamed the extension method to be both more specific and more accurate 2018-10-04 02:49:03 +02:00
Matthew Leibowitz 66b8b479db
Made things nicer still 2018-10-03 02:16:51 +02:00
Matthew Leibowitz 929945ef40
Improved the API a bit 2018-10-03 00:15:49 +02:00
Matthew Leibowitz 35d3f00f55
Exposed SKTypeface.CreateDefault() and SKTypeface.Default to C# 2018-09-28 20:57:43 +02:00
Matthew Leibowitz 30c119ae9e
marking everything with color tables as obsolete
- this is now a private api
 - may be removed at any time
2018-07-21 22:51:30 +02:00
Matthew Leibowitz 04883d0fb6
Added bindings for SkOverdrawCanvas
- also set flags to reduce file sizes
2018-07-21 22:35:05 +02:00
Matthew Leibowitz 462d3a126d
Improve the tests to properly load platform values 2018-07-21 03:18:19 +02:00
Matthew Leibowitz bc85b16f22
Linux does not support matching typefaces from streams
- see https://bugs.chromium.org/p/skia/issues/detail?id=8160
2018-07-20 11:22:33 +02:00
Matthew Leibowitz e576dde971
macOS does not support matching typefaces. 2018-07-17 21:00:31 +02:00
Matthew Leibowitz b7eed6a312
make sure the encoding is correct 2018-07-12 16:59:13 +02:00
Matthew Leibowitz 5486cefa55
Added back some members that we can still support 2018-07-12 16:58:02 +02:00
Matthew Leibowitz 4d2b85f3c1
Updated the tests to match the new API 2018-07-12 13:32:02 +02:00
Matthew Leibowitz ff838ceccb
Added bindings for SKRoundRect 2018-05-29 03:43:29 +02:00
Matthew Leibowitz 7a4b1e6054
Merge pull request #529 from mono/dev/nway-canvas
Bindings for SKNWayCanvas and SKNoDrawCanvas
2018-05-25 21:42:18 +02:00
Matthew Leibowitz a87713b422
Add more encoding options to SKPixmap 2018-05-25 01:42:59 +02:00
Matthew Leibowitz b0ddea825a
Revert "Add more encoding options to SKPixmap"
This reverts commit 1cd83d58e5.
2018-05-25 01:42:19 +02:00
Matthew Leibowitz 1cd83d58e5
Add more encoding options to SKPixmap 2018-05-25 01:41:33 +02:00
Matthew Leibowitz faa4095802
Adding bindings for SKNWayCanvas and SKNoDrawCanvas
Fixes #457
2018-05-24 19:12:09 +02:00
Matthew Leibowitz b30af2b0dc
Skipping the test that makes life hard
- should be OK, we have another one that tests the same thing without the web request
2018-05-09 04:43:26 +02:00
Matthew Leibowitz d570cbe0d7
Trying to fix the test that always fails... 2018-05-09 01:18:28 +02:00
Matthew Leibowitz 82cafbece2
Properly copy bitmaps. Fixes #497 2018-05-06 02:57:13 +02:00
Matthew Leibowitz 0b38873fee
Fixed a case where exceptions were thrown in the constructors. Fixes #482
- only dispose the list if the list was actually created
 - sign the tests so we can use InternalsVisibleTo
 - added a test to identify #482
2018-04-12 19:35:36 +02:00
Matthew Leibowitz 18e75b8522
Add a test for SKSwizzle
NOTE: SwapRedBlue swaps the whole pixel, not the bytes, so count == w*h
2018-03-24 22:42:29 +02:00
Matthew Leibowitz d3a54285a8
Some platforms require COM to be initialized Fixes #463
- create a helper class
 - used primarily for XPS
2018-03-24 00:13:34 +02:00
Matthew Leibowitz 3d8124fdd2 The Windows GPU tests don't work so well when registering and de-registering the window, so do it once. 2018-02-22 00:55:37 +02:00
Matthew Leibowitz eb629db98b Added SKImage.IsLazyGenerated to help with cases like #445 2018-02-08 15:04:59 +02:00
Matthew Leibowitz 88aa6ab08d Return null if the file does not exist when opening a stream 2018-02-05 17:31:09 +02:00
Matthew Leibowitz 9a0bff839b Make sure that we do dispose the streams. #422 2018-02-02 17:46:25 +02:00
Matthew Leibowitz 12cfd60f1a Avoid passing unicode paths to native code as it doesn't support non-ASCII characters on Windows. Fixes #390 2018-02-02 01:12:07 +02:00
Matthew Leibowitz 265a6015fe Added a test to confirm #422 2018-02-02 00:24:54 +02:00
Matthew Leibowitz 3bb4808501 Maybe CI was having temporary issues 2018-01-26 02:30:13 +02:00
Matthew Leibowitz 3103ee9662 Make sure to copy linux native files around 2018-01-24 21:04:35 +02:00
Matthew Leibowitz c408cd9eb7 Trying to see if skipping the GPU tests for CI gets a build complete 2018-01-23 16:41:07 +02:00
Matthew Leibowitz 77d6b11cff Attempting to fix a test... 2018-01-23 00:42:12 +02:00
Matthew Leibowitz cdeb6b67ec Improved the means for creating surfaces around textures. #413 2018-01-13 17:19:18 +02:00
Matthew Leibowitz 9d2c14bc9d Fixing the tests for Xunit 2017-12-20 01:28:12 +02:00
Matthew Leibowitz 2f86d008f6 Corrected the implementation of SKPaint.BreakText
- Fixes #381
 - Breaking change:
    - BreakText(string) returns the number of characters
    - BreakText(byte[]) returns the number of bytes
2017-12-19 23:57:49 +02:00
Matthew Leibowitz e0dafd42cd Added another test 2017-12-19 05:24:20 +02:00
Matthew Leibowitz 9e2b1cf50f Added some more tests 2017-12-18 01:33:26 +02:00
Matthew Leibowitz 64f96d3b3e Fixing the tests after switching to the pre-release Xunit 2017-12-17 22:20:26 +02:00
Matthew Leibowitz a58f62bfc9 Using a better front buffered stream 2017-12-17 22:19:42 +02:00
Matthew Leibowitz f03118d336 Some tests need to be skipped on CI without a GL 2017-12-14 03:19:59 +02:00
Matthew Leibowitz 8c4087a226 Switch to Xunit as NUnit does not handle native exceptions well 2017-12-14 01:51:18 +02:00
Matthew Leibowitz 8ddb0f6668 Added a member to swizzle the R and B 2017-11-03 00:11:32 +02:00
Matthew Leibowitz 59128dd87e Merge branch 'master' into dev/v1.60.0 2017-10-27 12:38:38 +02:00
Matthew Leibowitz 4106505ab0 SKManagedStream Memory Fixes (#386)
Fixed the memory management of a `SKManagedStream` - especially when used with a `SKTypeface`.
2017-10-25 16:29:51 +02:00
Matthew Leibowitz 6920c9390d Make sure we can create a typeface from non-seekable streams 2017-10-03 22:29:18 +02:00
Matthew Leibowitz d02cd89a68 Revert "Revert back to 1.59.1 so we can patch"
This reverts commit 96fa157f03.
2017-09-05 17:29:58 +02:00
Matthew Leibowitz 96fa157f03 Revert back to 1.59.1 so we can patch 2017-09-05 17:28:56 +02:00
Matthew Leibowitz c2112d5fc1 Added some color table tests 2017-08-23 01:00:13 +02:00
Matthew Leibowitz d33ad19f99 Added bindings for SkManagedPixelSerializer 2017-08-21 21:58:39 +02:00
Matthew Leibowitz 210ca364b6 Update the managed API for the m60 update 2017-08-16 01:06:01 +02:00
Matthew Leibowitz 7bfebaa59d more api tests 2017-07-17 15:47:57 +02:00
Matthew Leibowitz 8280bd533c Added tests for the marshaling api
- private bool is now byte
 - structs are blittable
 - all bools are marshaled as I1
 - all strings are LPStr
2017-07-17 14:48:34 +02:00
Matthew Leibowitz f900f3215c Corrected the marshalling. Fixes #333 2017-07-17 01:46:12 +02:00
Matthew Leibowitz 3cda52c2e1 Merge pull request #318 from mono/rect-adds
add overloads to have more control over the ceiling/floor operations
2017-06-23 08:48:29 +02:00
Matthew Leibowitz 5ab9817553 Make adjustments to the SKRectI.Ceiling/Floor logic 2017-06-22 09:56:30 +02:00
Matthew Leibowitz a56d09cd3b Fixed the logic for SKRegion.SetPath. Closes #316 2017-06-20 16:05:02 -05:00
Matthew Leibowitz 230d4f973a Moved non-SkiaSharp libraries to another repository:
- Moved SkiaSharp.Extended
 - Moved SkiaSharp.Svg
 - New repository: https://github.com/mono/SkiaSharp.Extended
2017-06-05 15:48:04 -05:00
Matthew Leibowitz 592a56fae5 Updated the test to not fail the build if a GPU is not available 2017-05-15 20:37:41 +02:00
Matthew Leibowitz 98e0823119 Update the tests as the issue has been resolved 2017-05-15 20:11:31 +04:00
Matthew Leibowitz ef317db4af More tests 2017-05-13 20:15:05 +02:00
Matthew Leibowitz 42a1a4abe8 For backwards compatibility, we are not going to use a colorspace when decoding with SKBitmap.Decode(...) 2017-05-13 02:54:24 +02:00
Matthew Leibowitz 59139457ae Added bindings for SKPath.ComputeTightBounds() 2017-05-12 23:56:55 +02:00
Matthew Leibowitz d873e9d6ab Update the build with the latest native 2017-05-11 21:15:58 -05:00
Matthew Leibowitz 478a8665ec Added some extra types:
- SKColorSpace
 - SKImageInfo is now just a managed container since it contains pointers to unmanaged types
 - Fixed the GRContextOptions structure
2017-05-11 20:07:52 -05:00
Matthew Leibowitz 2afe32d7c8 Added a test for issue #282 2017-05-11 13:42:18 -05:00
Matthew Leibowitz b23e3373a7 Using a font file that can be controlled across platforms 2017-05-01 21:18:07 -04:00
Matthew Leibowitz 1e83d00a23 The shaper must return the raw uint 2017-05-01 21:07:25 -04:00
Matthew Leibowitz 30bbda8a04 Fixed the source 2017-04-28 16:11:19 -04:00
Matthew Leibowitz bb231e3849 Added the initial work for HarfBuzz
WIP for #272
2017-04-27 21:35:54 +02:00
Matthew Leibowitz 282d705aba A few more tweaks 2017-04-23 06:51:10 -04:00
Matthew Leibowitz 0aa845e001 Changing the test to make it more stable 2017-04-23 06:26:08 -04:00
Matthew Leibowitz ca771d4333 This test is failing sometimes on one of the CI 2017-04-21 23:14:58 +02:00
Matthew Leibowitz 20c715da2d Pull in a fix from google and added a test. Closes #276 2017-04-21 10:16:01 +02:00
Matthew Leibowitz fee8fe9b5e Split the big test file into smaller tests 2017-03-20 22:07:49 +02:00
Matthew Leibowitz 56b4763376 Updated test for the new skia API 2017-03-13 23:29:34 -03:00
Matthew Leibowitz e94666f64e Added test for known breaking change before native update 2017-03-12 10:24:21 -04:00
Matthew Leibowitz b7949ebb51 X Window also uses ARGB colors 2017-03-12 14:54:43 +04:00
Matthew Leibowitz eaa2a6f675 Fixed the SKPMColor bit shifts - they differ per platform 2017-03-07 07:34:23 -03:00
Matthew Leibowitz cce5bd6b9b Added a buffered stream for decoding images with non-seekable streams
Added .NET Stream overloads for SKBitmap and SKTypeface
2017-03-02 17:07:56 +02:00
Matthew Leibowitz 1080f7cd67 Testing the bitmap with the color table 2017-03-02 06:52:35 +02:00
Matthew Leibowitz e4aa5b8d4a "fixed" the test be using Unpremul as the alpha type 2017-03-02 06:41:39 +02:00
Matthew Leibowitz bc2ce9cc78 Added a WIP test for Index8 bitmaps and color tables 2017-03-02 06:09:07 +02:00
Matthew Leibowitz d889a93ef1 Things changed, so update the test 2017-03-02 06:08:29 +02:00
Matthew Leibowitz f8736cedfa Make sure we use premultiplied and unpremultiplied colors when the skia API does 2017-03-02 06:06:15 +02:00
Matthew Leibowitz 234ab5d174 Added a test that checks for issue #209 2017-03-01 01:17:04 +02:00
Matthew Leibowitz 979c1e0c22 Fix for when skia returns a counted reference to the same object 2017-02-26 00:48:05 +02:00
Matthew Leibowitz e42f329b81 Added a few useful overloads 2017-02-25 09:44:50 +02:00
Matthew Leibowitz 5e3d84604f Cleaning up the SKData API 2017-02-24 11:08:15 +02:00
Matthew Leibowitz 5905fac6d9 Added C# binding for SKData.Create without copy 2017-02-24 11:05:54 +02:00
Matthew Leibowitz d6f08816f5 Initial (win) support for skipping OpenGL tests when the version is too low 2017-02-21 05:50:54 +02:00
Matthew Leibowitz 507afdde01 Get the GL version 2017-02-21 05:48:11 +02:00
Matthew Leibowitz b9dfed6fa5 Windows 7 has a different font 2017-02-21 05:47:34 +02:00
Matthew Leibowitz 1168904c1c Tweak the wgl test context 2017-02-21 04:20:12 +02:00
Matthew Leibowitz 1e1850dc5a Create* is more .NET than Make* 2017-02-17 05:43:58 +02:00
Matthew Leibowitz c4edddb40d Merge branch 'master' into development
Fixed bug with SKObject.SizeOf <T> checking the size of IntPtr instead of T
2017-02-17 05:36:20 +02:00
Matthew Leibowitz a9f97d405b linux just queries libGL directly 2017-02-17 05:59:07 +04:00
Matthew Leibowitz 79c2d2041e throw on unknown platforms 2017-02-17 05:51:26 +04:00
Matthew Leibowitz 8a1149a140 Added a test for assembling the GL interface 2017-02-17 03:46:45 +02:00
Matthew Leibowitz 70eec54cd0 Switched back to NUnit because xUnit had issues with the WGL tests 2017-02-16 16:15:35 +02:00
Matthew Leibowitz 1dbb79b2af Added WGL test context
Organized GL test contexts
2017-02-16 16:07:34 +02:00
Matthew Leibowitz 8444644b8e Added a macOS test GL context 2017-02-14 22:32:10 +02:00
Matthew Leibowitz ed95c9aeca Added some GL interface/context tests 2017-02-14 16:43:26 +04:00
Matthew Leibowitz 6fdc5cd326 Updated the test to have the correct symbol font name
May need adjustments for other linux systems. May need to change this to be a non-null, non-empty test.
2017-02-13 22:02:54 +04:00
Matthew Leibowitz 322baee72a Added the initial bits for a set of utils for SkiaSharp 2017-02-11 19:19:48 +04:00
Matthew Leibowitz c290ebf73d Added bindings for SKMatrix44 2017-02-11 18:56:40 +04:00
Matthew Leibowitz 599b0674a8 Added some more path members 2017-02-07 06:38:47 -06:00
Matthew Leibowitz bc064d5109 Added API for SKBitmap.ExtractAlpha 2017-02-06 13:56:44 -06:00
Matthew Leibowitz 368ef9bbd5 Added bindings for scanline decoding 2017-02-06 05:17:57 -06:00
Matthew Leibowitz 33883435bd Added a test for SKFontManager.MatchCharacter 2017-02-04 17:41:10 +04:00
Matthew Leibowitz 076bcc9ff6 Fix the mac/unix/linux detection logic 2017-01-30 17:48:05 -05:00
Matthew Leibowitz db3a3029ef Fixed the tests for linux. related to #225 2017-01-29 16:58:38 +02:00
Matthew Leibowitz ef480400a4 Use the native platform color type 2017-01-25 00:11:41 +02:00
Matthew Leibowitz 1b3414af80 Fix the disposing of the mask too soon 2017-01-25 00:11:21 +02:00
Matthew Leibowitz c29c395049 Added a .NET Core test app 2017-01-22 00:27:08 +02:00
Matthew Leibowitz 76429b6cad Switched to xUnit for better cross platform testing 2017-01-21 02:38:48 +02:00
Matthew Leibowitz 4baca2e518 SKMask no longer automatically allocates memory for the image 2017-01-20 04:49:15 +02:00
Matthew Leibowitz 0d1911df6c Tweaked the mask api a bit 2017-01-19 05:01:57 +02:00
Tyler Hoeflicker c7b7b496a1 expose SKMask 2017-01-18 14:02:33 -08:00
Matthew Leibowitz 1b4902a6b1 Added a SVG canvas test 2017-01-16 19:30:53 +02:00
Matthew Leibowitz ec6a87480e Added the C# API for SkBitmapScaler::Resize 2017-01-07 03:35:52 +02:00
Matthew Leibowitz 0e9b000090 Added C# bindings for SKPixmap 2017-01-07 01:40:41 +02:00
Matthew Leibowitz 38413b6377 Added members to decode a particular frame
- binding
 - tests
2016-11-26 08:24:25 +02:00
Matthew Leibowitz 0ef9633267 Added SKCodec.EncodedInfo tests 2016-11-25 10:55:59 +02:00
Matthew Leibowitz 7449894c16 Added some SVG tests 2016-11-19 08:10:05 +02:00
Matthew Leibowitz 3f406ee9ab This test is unreliable (can't guarantee memory will change after freeing) 2016-11-18 18:55:49 +02:00