Releases: skia4delphi/skia4delphi
7.0.1
v7.0.1
FMX Render
Fixed window scale on FMXLinux when Skia render is enabled #414 5b38995API
Fixed render of texts on svg and lottie animations #415 a4347b4Tests
Fixed AV on tests that uses IModulateCanvas e0fa44dTests
Improved app startup 77dbca0Tests
Fixed canvas tests using Skia m132 feb2722Tests
Fixed FMX effects tests cadaff8
Skia version: 132.0.1 What has changed from the original code? Compare.
Installation
Just download and run the Skia4Delphi_7.0.1_Setup.exe attached.
7.0.0
v7.0.0
Library
Added pre-support for RAD Studio 13 Florence be9152b 17d7642FMX Render
Fixed AV using Skia Metal or Vulkan as render #413 69b6725FMX Render
Fixed visual artifacts with controls when Skia is enabled #404 db2c9d7 d0541dcControls
Fixed exception drawing in an empty bitmap 5641909API
Removed workarounds for interface binary compatibility a67dd05FMX Render
Added ability to get ISkCanvas from TCanvas using Supports fc46d27 451e4ceFMX Render
Improved performance for FillRect with round corners 2565b7b b6f2257 e2c3b2f dfa2443 d137a67 78c847eFMX Render
Added DoDrawRoundRect to improve performance 24c48a3 3b73afaControls
Fixed TSkLabel color on dark style #405 1bb6f1aControls
Added virtual function CreateWordsCollection in TSkLabel to allow customizations #370 2ee7118
From v6.4.0 Beta 1
Library
Upgraded Skia version from m107 to m132. However, new features/APIs have not been exposed yet 52fd41d 1ff3aac a8e0a28 173b7f8Tools
Added new pre-compiled toolsksl-minify.exe
from the official Google Skia tools ae3ccbfLibrary
Removed support for Android on RAD Studio 10.3 Rio #342 33c4d10
Skia version: 132.0.0 What has changed from the original code? Compare.
Windows static linking deferred
The official release of Windows static linking has been postponed, as some optimizations present in the DLL version are currently unavailable for static linking (see #300 (comment)), and clarifications regarding specific licenses are still pending.
Installation
Just download and run the Skia4Delphi_7.0.0_Setup.exe attached.
6.4.0 Beta 1
v6.4.0 Beta 1
Library
Added static linking support for Windows (removing sk4d.dll dependency) #130 #317 #330 #368 #66 #300 019e20a 5ec364d 7f32862Library
Upgraded Skia version from m107 to m132. However, new features/APIs have not been exposed yet to ensure binary compatibility with Skia4Delphi 6.x versions. 52fd41d 1ff3aac a8e0a28 173b7f8Tools
Added new pre-compiled toolsksl-minify.exe
from the official Google Skia tools; ae3ccbfLibrary
Removed support for Android on RAD Studio 10.3 Rio #342 33c4d10
Skia version: 132.0.0 What has changed from the original code? Compare.
Installation
Just download and run the Skia4Delphi_6.4.0-beta1_Setup.exe attached.
6.3.0
v6.3.0
FMX Render
Fix fill round rect tests for v6.3 2e89eb7Controls
Fix TSkLabel color on dark style 1bb6f1a 7b3451f e9987c3
From Beta 1
FMX Render
Added optimization for Skia render when drawing bitmaps without stretch #349 2ff08b1 d002689 434fdffFMX Render
Added optimization when using Quality=HighPerformance af741e0FMX Render
Simplified ellipse draw 5c36837FMX Render
Improved draw image performance using default quality c131147FMX Render
Improved quality of Tile and TileOriginal wrap modes 47c215cControls
Allowed use TBitmap.Assign from graphics decoded by Skia codecs on Vcl 50c3d5aFMX Render
Improved bitmap draw when AHighSpeed=true a1a198cFMX Render
Implemented modulate color on all draw methods 638595bFMX Render
Improved opacity of solid brush decf658Tests
Improved images preview of runner f8edd1cLibrary
Fixed macOS linking 0a62f87FMX Render
Fixed oblique fonts on macOS and iOS #322 e656c2dControls
Fixed oblique fonts on macOS and iOS 11d6d65API
Fixed interface breakage on unit System.Skia.API.pas 1bcbc67FMX Render
Fixed Metal issues when "Display Zoom" option is not default #315 ea35ad8FMX Render
Fixed text render for far east countries on Android #313 8d2f6e6 9129039 7b442b1FMX Render
Fixed wrong scale with HiDPI on Windows on Delphi 10.4 or older #336 e64d7c8Library
Fixed conflict with Delphi zlib on Android #344 b0eb728 a1cacc3Documentation
Fixed typos on ANIMATED-IMAGES.md #345 eef6d5aFMX Render
Fixed ISkCanvasWrapper.GetCanvasScale (used by Skia printer) 7902191 75fefa5Controls
Replaced 'Tahoma 8' to 'Segoe UI 9' on designtime forms 15f95c1Library
Fixed incorrect external declarations in System.Skia.API for Android #346 1b10639 7ade6fe 90211b0Controls
Fixed DrawDesignBorder opacity 520b06b 47e46c8CI
Fixed CI build 50e72cfLibrary
Cleaned up projects 3bb2b3eLibrary
Fixed packages db7fa5cCI
Increased logs and artifacts retention to 90 days 5bfdfacFMX Render
Fixed bitmap brush draws with TWrapMode.TileOriginal 4400602Controls
Fixed Skia controls cache system on FMX 7004fe5Tests
Added tests for TCanvas.DrawBitmap using Skia render b160905FMX Render
Fixed sampling options for bitmap draws 1c6b1ebControls
Fixed 'TBitmap.SkiaDraw should compute BitmapScale on FMX' 05ac21cTests
Added tests for bitmap: SkiaDraw, ToSkImage and CreateFromSkImage 8be53e0Tests
Added tests for FMX Canvas drawing images using IModulateColor 32732d7FMX Render
Fixed ClipRects used on BeginScene 018bfe0Tests
Added tests for SaveState and FillRect solid on FMX render eb5669eFMX Render
Fixed gradient when there is no point 8781058Tests
Fixed tests with TMatrix.CreateRotation 2aef3aeFMX Render
Fixed gradient that have points out of range [0, 1] e5bab57Tests
Improved gradient tests of FMX render a6cb7f1FMX Render
Fixed fill with bitmap when TopLeft is not zero 063a9eaFMX Render
Fixed incorrect result using modulate color efce859FMX Render
Added test for fill round rect with bitmap 00bba84FMX Render
Added more tests for round rect 8659c2aFMX Render
Added tests for fill ellipse bea58d9FMX Render
Avoided draw for empty destination 6122214Documentation
Removed know issues section from readme as they were resolved #389 a1f052fFMX Render
Added tests for fill ellipse 39d9972FMX Render
Added tests for fill path 3686d46FMX Render
Added tests for fill arc and polygon f40c9cbLibrary
Fixed hppemit for C++Builder 1f57ae4Controls
Fixed Skia based encoders for Vcl, like webp #393 f7f2b3bLibrary
Updated banners c52941cSetup
Fixed Delphi Community Edition and Trial support;
Skia version: 107.4.0
Installation
Just download and run the Skia4Delphi_6.3.0_Setup.exe attached.
6.3.0 Beta 1
v6.3.0 Beta 1
FMX Render
Added optimization for Skia render when drawing bitmaps without stretch #349 2ff08b1 d002689 434fdffFMX Render
Added optimization when using Quality=HighPerformance af741e0FMX Render
Simplified ellipse draw 5c36837FMX Render
Improved draw image performance using default quality c131147FMX Render
Improved quality of Tile and TileOriginal wrap modes 47c215cControls
Allowed use TBitmap.Assign from graphics decoded by Skia codecs on Vcl 50c3d5aFMX Render
Improved bitmap draw when AHighSpeed=true a1a198cFMX Render
Implemented modulate color on all draw methods 638595bFMX Render
Improved opacity of solid brush decf658Tests
Improved images preview of runner f8edd1cLibrary
Fixed macOS linking 0a62f87FMX Render
Fixed oblique fonts on macOS and iOS #322 e656c2dControls
Fixed oblique fonts on macOS and iOS 11d6d65API
Fixed interface breakage on unit System.Skia.API.pas 1bcbc67FMX Render
Fixed Metal issues when "Display Zoom" option is not default #315 ea35ad8FMX Render
Fixed text render for far east countries on Android #313 8d2f6e6 9129039 7b442b1FMX Render
Fixed wrong scale with HiDPI on Windows on Delphi 10.4 or older #336 e64d7c8Library
Fixed conflict with Delphi zlib on Android #344 b0eb728 a1cacc3Documentation
Fixed typos on ANIMATED-IMAGES.md #345 eef6d5aFMX Render
Fixed ISkCanvasWrapper.GetCanvasScale (used by Skia printer) 7902191 75fefa5Controls
Replaced 'Tahoma 8' to 'Segoe UI 9' on designtime forms 15f95c1Library
Fixed incorrect external declarations in System.Skia.API for Android #346 1b10639 7ade6fe 90211b0Controls
Fixed DrawDesignBorder opacity 520b06b 47e46c8CI
Fixed CI build 50e72cfLibrary
Cleaned up projects 3bb2b3eLibrary
Fixed packages db7fa5cCI
Increased logs and artifacts retention to 90 days 5bfdfacFMX Render
Fixed bitmap brush draws with TWrapMode.TileOriginal 4400602Controls
Fixed Skia controls cache system on FMX 7004fe5Tests
Added tests for TCanvas.DrawBitmap using Skia render b160905FMX Render
Fixed sampling options for bitmap draws 1c6b1ebControls
Fixed 'TBitmap.SkiaDraw should compute BitmapScale on FMX' 05ac21cTests
Added tests for bitmap: SkiaDraw, ToSkImage and CreateFromSkImage 8be53e0Tests
Added tests for FMX Canvas drawing images using IModulateColor 32732d7FMX Render
Fixed ClipRects used on BeginScene 018bfe0Tests
Added tests for SaveState and FillRect solid on FMX render eb5669eFMX Render
Fixed gradient when there is no point 8781058Tests
Fixed tests with TMatrix.CreateRotation 2aef3aeFMX Render
Fixed gradient that have points out of range [0, 1] e5bab57Tests
Improved gradient tests of FMX render a6cb7f1FMX Render
Fixed fill with bitmap when TopLeft is not zero 063a9eaFMX Render
Fixed incorrect result using modulate color efce859FMX Render
Added test for fill round rect with bitmap 00bba84FMX Render
Added more tests for round rect 8659c2aFMX Render
Added tests for fill ellipse bea58d9FMX Render
Avoided draw for empty destination 6122214Documentation
Removed know issues section from readme as they were resolved #389 a1f052fFMX Render
Added tests for fill ellipse 39d9972FMX Render
Added tests for fill path 3686d46FMX Render
Added tests for fill arc and polygon f40c9cbLibrary
Fixed hppemit for C++Builder 1f57ae4Controls
Fixed Skia based encoders for Vcl, like webp #393 f7f2b3bLibrary
Updated banners c52941cSetup
Fixed Delphi Community Edition and Trial support;
Skia version: 107.4.0
Installation
Just download and run the Skia4Delphi_6.3.0-beta1_Setup.exe attached.
6.2.0
v6.2.0
- Replaced Android and macOS shared libraries by static libraries; #299
Library
- Improved overall performance of FMX render (reducing sample count to 1);
FMX Render
- Improved encoding file detection on SVG design-time dialog;
Controls
- Adjusted the animated codec for future releases;
Controls
- Added
Tests\Assets\Expected.zip
(on repository only) with images expected of all tests to help investigations of future regressions;Tests
- Fixed Skia based decoders (like webp) loaded in designtime on Vcl;
Controls
- Fixed hpp emit;
C++
- Fixed small issue on uninstaller for new versions;
Setup
Skia version: 107.4.0
Deployment adjustments
Now, it is not necessary to deploy the Skia library on Android and macOS, as it is now completely static. But there is no need to change anything manually when deploying your project, as during compilation the Skia4Delphi plugin already makes all the necessary adjustments to your project.
RAD Studio 12 Athens
Embarcadero has integrated Skia4Delphi into RAD Studio in its new release RAD Studio 12 Athens introducing the version of Skia4Delphi v6.0.0 on RAD Studio 12.0 and v6.1.0 on RAD Studio 12.1, and adding some extra units with exclusive Embarcadero features.
Installation
Just download and run the Skia4Delphi_6.2.0_Setup.exe attached.
6.1.0
v6.1.0
- Added support for RAD Studio 12.1;
Library
- Added example using IFMXFontManagerService on RAD Studio 12;
Documentation
- Added GlobalUseSkiaFilters to be able to disable optionally the Skia filters engine;
FMX Render
- Added v7-lts branch (the future major version)
CI
- Improved the TStrokeBrush lookup for resource brush;
FMX Render
- Updated banners to 2024;
Library
- Fixed wrong size of TSkLabel with AutoSize and Align=None; #273
Controls
- Fixed TSkLabel AutoSize when MaxLines=0;
Controls
- Fixed SVG load from stream on Vcl; #282
Controls
- Fixed warning introduced on 7f45095;
FMX Render
- Fixed workflow errors and warnings;
CI
Skia version: 107.3.2
RAD Studio 12 Athens
Embarcadero has integrated Skia4Delphi into RAD Studio in its new release RAD Studio 12 Athens introducing the version of Skia4Delphi v6.0.0 on RAD Studio 12.0 and v6.1.0 on RAD Studio 12.1, and adding some extra units with exclusive Embarcadero features.
Installation
Just download and run the Skia4Delphi_6.1.0_Setup.exe attached.
6.0.0
v6.0.0
- Added official support for RAD 12 Athens;
Library
From Beta 5
- Updated to latest libwebp (v1.3.2);
API
- Improved performance of FMX texts;
FMX Render
- Fixed memory leak using Skia Metal;
FMX Render
- Fixed tab character as a square on Skia render and on TSkLabel control; #270
FMX Render
Controls
- Fixed TSkSvgBrush.WrapMode=Stretch; #228
Controls
- Fixed autosize of TSkLabel and improve draw quality using default FMX render; #229
Controls
- Fixed TSkImage.MakeFromPicture; #226
API
- Fixed property editor of text/caption of TSkLabel;
Controls
- Fixed macOS warning using Skia Metal;
FMX Render
- Fixed code of documentation;
Documentation
- Replaced assets of demo with similar ones with permissive licenses;
Samples
- Replaced DisposeOf by Free to ensure compatibility with RAD 12;
Library
From Beta 4
- Added "GlobalSkiaBitmapsInParallel" as experimental for RAD Studio 12 Beta;
FMX Render
- Fixed vulnerability on libwebp (CVE-2023-4863);
Library
- Fixed startup exception with OpenGL on VirtualBox and Hyper-V;
Library
- Fixed Linux pixel format (thanks to @eugenekryukov);
FMX Render
- Fixed trailing horizontal align;
FMX Render
- Fixed TSkImage.MakeFromRaster, TSkImage.MakeFromTexture and TSkSurface.MakeRasterDirect (thanks to Dmitry Arefiev); #252
API
- Fixed TSkLabel.TCustomWordsItem.OnClick; #262
Controls
- Fixed lines performance on Windows raster;
FMX Render
- Fixed compatibility with RAD Studio 12 Beta;
Library
From Beta 3
- Added workflows on Github Actions to compile and test each commit and to build the production setup;
CI
- Added basic support for FPC (thanks to Mattias Gaertner);
Library
- Improved iOS/iOSSimulator static linkage;
API
- Fixed SkPath.IsLine;
API
- Fixed TSkSamplingOptions consts;
API
- Fixed SkUnicode.GetBreaks;
API
- Fixed TSkImageInfo.IsValid;
API
- Fixed FMX support for RAD 10 Seattle and older;
FMX Render
- Fixed unit tests on RAD 10.3 Rio and older;
Tests
- Minor fixes and improvements on API side;
API
From Beta 2
- Fixed AV at app startup with metal on iOS and macOS; #242
FMX Render
- Fixed Android crash when restored from background; #225
FMX Render
- Fixed macOS universal binary;
Library
- Added Mac App Store manual signature instructions; #233
Documentation
From Beta 1
- Renamed units (Skia.pas -> System.Skia, Skia.FMX.* -> FMX.Skia.*, Skia.Vcl.pas -> Vcl.Skia.pas);
Library
- Added skia render to FMXLinux (only raster) (thanks @eugenekryukov); #221
FMX Render
- Rewritted the SkRuntimeEffects to have the same structure as the original API, with the new classes SkRuntimeShaderBuilder and SkRuntimeBlenderBuilder;
API
- Fixed bitmap draws;
FMX Render
#217 - Fixed performance issue with bitmaps in TBrush;
FMX Render
- Fixed Linux compilation; #216 #238
Library
- Fixed crash deleting text of TEdit or TMemo; #214
FMX Render
- Fixed text decoration color using TTextAttribute;
FMX Render
- Fixed linear gradient; #224
FMX Render
- Fixed SkRuntimeEffect.GetUniformName;
API
- Fixed path tests;
Tests
- Minor improvements.
Skia version: 107.3.2
RAD Studio 12.0 Athens
Embarcadero has integrated Skia4Delphi into RAD Studio in its new release RAD Studio 12.0 Athens introducing this version of Skia4Delphi, v6.0.0, and adding some extra units with exclusive Embarcadero features.
Compatibility break
-
Units renamed
Embarcadero integrated Skia4Delphi into RAD Studio 12 Athens and to improve the integration of the opensource project with the integrated version of the RAD Studio 12 Athens, we decided to keep the new unit names adopted by Embarcadero:- Skia.pas ➜ System.Skia.pas
- Skia.API.pas ➜ System.Skia.API.pas
- Skia.FMX.pas ➜ FMX.Skia.pas
- Skia.FMX.Graphics.pas ➜ FMX.Skia.Canvas.pas
- Skia.FMX.Canvas.GL.pas ➜ FMX.Skia.Canvas.GL.pas
- Skia.FMX.Canvas.Metal.pas ➜ FMX.Skia.Canvas.Metal.pas
- Skia.Vcl.pas ➜ Vcl.Skia.pas
-
SkRuntimeEffect rewritted
The SkRuntimeEffect structure was rewritten following the same structure as the original Google Skia API, to facilitate future updates and allow better integration with other APIs (such as SkImageFilter for example). Now the SkRuntimeEffect just loads the SKSL code, then the SkRuntimeShaderBuilder must be used to allocate and change the uniforms and then create the shader. See examples of the new functionality in our demos.
Installation
Just download and run the Skia4Delphi_6.0.0_Setup.exe attached.
6.0.0 Beta 5
v6.0.0 Beta 5
- Updated to latest libwebp (v1.3.2);
API
- Improved performance of FMX texts;
FMX Render
- Fixed memory leak using Skia Metal;
FMX Render
- Fixed tab character as a square on Skia render and on TSkLabel control; #270
FMX Render
Controls
- Fixed TSkSvgBrush.WrapMode=Stretch; #228
Controls
- Fixed autosize of TSkLabel and improve draw quality using default FMX render; #229
Controls
- Fixed TSkImage.MakeFromPicture; #226
API
- Fixed property editor of text/caption of TSkLabel;
Controls
- Fixed macOS warning using Skia Metal;
FMX Render
- Fixed code of documentation;
Documentation
- Replaced assets of demo with similar ones with permissive licenses;
Samples
- Replaced DisposeOf by Free to ensure compatibility with RAD 12;
Library
Skia version: 107.3.2
Installation
Just download and run the Skia4Delphi_6.0.0-beta5_Setup.exe attached.
6.0.0 Beta 4
v6.0.0 Beta 4
- Added "GlobalSkiaBitmapsInParallel" as experimental for RAD Studio 12 Beta;
FMX Render
- Fixed vulnerability on libwebp (CVE-2023-4863);
Library
- Fixed startup exception with OpenGL on VirtualBox and Hyper-V;
Library
- Fixed Linux pixel format (thanks to @eugenekryukov);
FMX Render
- Fixed trailing horizontal align;
FMX Render
- Fixed TSkImage.MakeFromRaster, TSkImage.MakeFromTexture and TSkSurface.MakeRasterDirect (thanks to Dmitry Arefiev); #252
API
- Fixed TSkLabel.TCustomWordsItem.OnClick; #262
Controls
- Fixed lines performance on Windows raster;
FMX Render
- Fixed compatibility with RAD Studio 12 Beta;
Library
Skia version: 107.3.1
Installation
Just download and run the Skia4Delphi_6.0.0-beta4_Setup.exe attached.