Releases: skia4delphi/skia4delphi
7.0.1
v7.0.1
FMX RenderFixed window scale on FMXLinux when Skia render is enabled #414 5b38995APIFixed render of texts on svg and lottie animations #415 a4347b4TestsFixed AV on tests that uses IModulateCanvas e0fa44dTestsImproved app startup 77dbca0TestsFixed canvas tests using Skia m132 feb2722TestsFixed 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
LibraryAdded pre-support for RAD Studio 13 Florence be9152b 17d7642FMX RenderFixed AV using Skia Metal or Vulkan as render #413 69b6725FMX RenderFixed visual artifacts with controls when Skia is enabled #404 db2c9d7 d0541dcControlsFixed exception drawing in an empty bitmap 5641909APIRemoved workarounds for interface binary compatibility a67dd05FMX RenderAdded ability to get ISkCanvas from TCanvas using Supports fc46d27 451e4ceFMX RenderImproved performance for FillRect with round corners 2565b7b b6f2257 e2c3b2f dfa2443 d137a67 78c847eFMX RenderAdded DoDrawRoundRect to improve performance 24c48a3 3b73afaControlsFixed TSkLabel color on dark style #405 1bb6f1aControlsAdded virtual function CreateWordsCollection in TSkLabel to allow customizations #370 2ee7118
From v6.4.0 Beta 1
LibraryUpgraded Skia version from m107 to m132. However, new features/APIs have not been exposed yet 52fd41d 1ff3aac a8e0a28 173b7f8ToolsAdded new pre-compiled toolsksl-minify.exefrom the official Google Skia tools ae3ccbfLibraryRemoved 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
LibraryAdded static linking support for Windows (removing sk4d.dll dependency) #130 #317 #330 #368 #66 #300 019e20a 5ec364d 7f32862LibraryUpgraded 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 173b7f8ToolsAdded new pre-compiled toolsksl-minify.exefrom the official Google Skia tools; ae3ccbfLibraryRemoved 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 RenderFix fill round rect tests for v6.3 2e89eb7ControlsFix TSkLabel color on dark style 1bb6f1a 7b3451f e9987c3
From Beta 1
FMX RenderAdded optimization for Skia render when drawing bitmaps without stretch #349 2ff08b1 d002689 434fdffFMX RenderAdded optimization when using Quality=HighPerformance af741e0FMX RenderSimplified ellipse draw 5c36837FMX RenderImproved draw image performance using default quality c131147FMX RenderImproved quality of Tile and TileOriginal wrap modes 47c215cControlsAllowed use TBitmap.Assign from graphics decoded by Skia codecs on Vcl 50c3d5aFMX RenderImproved bitmap draw when AHighSpeed=true a1a198cFMX RenderImplemented modulate color on all draw methods 638595bFMX RenderImproved opacity of solid brush decf658TestsImproved images preview of runner f8edd1cLibraryFixed macOS linking 0a62f87FMX RenderFixed oblique fonts on macOS and iOS #322 e656c2dControlsFixed oblique fonts on macOS and iOS 11d6d65APIFixed interface breakage on unit System.Skia.API.pas 1bcbc67FMX RenderFixed Metal issues when "Display Zoom" option is not default #315 ea35ad8FMX RenderFixed text render for far east countries on Android #313 8d2f6e6 9129039 7b442b1FMX RenderFixed wrong scale with HiDPI on Windows on Delphi 10.4 or older #336 e64d7c8LibraryFixed conflict with Delphi zlib on Android #344 b0eb728 a1cacc3DocumentationFixed typos on ANIMATED-IMAGES.md #345 eef6d5aFMX RenderFixed ISkCanvasWrapper.GetCanvasScale (used by Skia printer) 7902191 75fefa5ControlsReplaced 'Tahoma 8' to 'Segoe UI 9' on designtime forms 15f95c1LibraryFixed incorrect external declarations in System.Skia.API for Android #346 1b10639 7ade6fe 90211b0ControlsFixed DrawDesignBorder opacity 520b06b 47e46c8CIFixed CI build 50e72cfLibraryCleaned up projects 3bb2b3eLibraryFixed packages db7fa5cCIIncreased logs and artifacts retention to 90 days 5bfdfacFMX RenderFixed bitmap brush draws with TWrapMode.TileOriginal 4400602ControlsFixed Skia controls cache system on FMX 7004fe5TestsAdded tests for TCanvas.DrawBitmap using Skia render b160905FMX RenderFixed sampling options for bitmap draws 1c6b1ebControlsFixed 'TBitmap.SkiaDraw should compute BitmapScale on FMX' 05ac21cTestsAdded tests for bitmap: SkiaDraw, ToSkImage and CreateFromSkImage 8be53e0TestsAdded tests for FMX Canvas drawing images using IModulateColor 32732d7FMX RenderFixed ClipRects used on BeginScene 018bfe0TestsAdded tests for SaveState and FillRect solid on FMX render eb5669eFMX RenderFixed gradient when there is no point 8781058TestsFixed tests with TMatrix.CreateRotation 2aef3aeFMX RenderFixed gradient that have points out of range [0, 1] e5bab57TestsImproved gradient tests of FMX render a6cb7f1FMX RenderFixed fill with bitmap when TopLeft is not zero 063a9eaFMX RenderFixed incorrect result using modulate color efce859FMX RenderAdded test for fill round rect with bitmap 00bba84FMX RenderAdded more tests for round rect 8659c2aFMX RenderAdded tests for fill ellipse bea58d9FMX RenderAvoided draw for empty destination 6122214DocumentationRemoved know issues section from readme as they were resolved #389 a1f052fFMX RenderAdded tests for fill ellipse 39d9972FMX RenderAdded tests for fill path 3686d46FMX RenderAdded tests for fill arc and polygon f40c9cbLibraryFixed hppemit for C++Builder 1f57ae4ControlsFixed Skia based encoders for Vcl, like webp #393 f7f2b3bLibraryUpdated banners c52941cSetupFixed 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 RenderAdded optimization for Skia render when drawing bitmaps without stretch #349 2ff08b1 d002689 434fdffFMX RenderAdded optimization when using Quality=HighPerformance af741e0FMX RenderSimplified ellipse draw 5c36837FMX RenderImproved draw image performance using default quality c131147FMX RenderImproved quality of Tile and TileOriginal wrap modes 47c215cControlsAllowed use TBitmap.Assign from graphics decoded by Skia codecs on Vcl 50c3d5aFMX RenderImproved bitmap draw when AHighSpeed=true a1a198cFMX RenderImplemented modulate color on all draw methods 638595bFMX RenderImproved opacity of solid brush decf658TestsImproved images preview of runner f8edd1cLibraryFixed macOS linking 0a62f87FMX RenderFixed oblique fonts on macOS and iOS #322 e656c2dControlsFixed oblique fonts on macOS and iOS 11d6d65APIFixed interface breakage on unit System.Skia.API.pas 1bcbc67FMX RenderFixed Metal issues when "Display Zoom" option is not default #315 ea35ad8FMX RenderFixed text render for far east countries on Android #313 8d2f6e6 9129039 7b442b1FMX RenderFixed wrong scale with HiDPI on Windows on Delphi 10.4 or older #336 e64d7c8LibraryFixed conflict with Delphi zlib on Android #344 b0eb728 a1cacc3DocumentationFixed typos on ANIMATED-IMAGES.md #345 eef6d5aFMX RenderFixed ISkCanvasWrapper.GetCanvasScale (used by Skia printer) 7902191 75fefa5ControlsReplaced 'Tahoma 8' to 'Segoe UI 9' on designtime forms 15f95c1LibraryFixed incorrect external declarations in System.Skia.API for Android #346 1b10639 7ade6fe 90211b0ControlsFixed DrawDesignBorder opacity 520b06b 47e46c8CIFixed CI build 50e72cfLibraryCleaned up projects 3bb2b3eLibraryFixed packages db7fa5cCIIncreased logs and artifacts retention to 90 days 5bfdfacFMX RenderFixed bitmap brush draws with TWrapMode.TileOriginal 4400602ControlsFixed Skia controls cache system on FMX 7004fe5TestsAdded tests for TCanvas.DrawBitmap using Skia render b160905FMX RenderFixed sampling options for bitmap draws 1c6b1ebControlsFixed 'TBitmap.SkiaDraw should compute BitmapScale on FMX' 05ac21cTestsAdded tests for bitmap: SkiaDraw, ToSkImage and CreateFromSkImage 8be53e0TestsAdded tests for FMX Canvas drawing images using IModulateColor 32732d7FMX RenderFixed ClipRects used on BeginScene 018bfe0TestsAdded tests for SaveState and FillRect solid on FMX render eb5669eFMX RenderFixed gradient when there is no point 8781058TestsFixed tests with TMatrix.CreateRotation 2aef3aeFMX RenderFixed gradient that have points out of range [0, 1] e5bab57TestsImproved gradient tests of FMX render a6cb7f1FMX RenderFixed fill with bitmap when TopLeft is not zero 063a9eaFMX RenderFixed incorrect result using modulate color efce859FMX RenderAdded test for fill round rect with bitmap 00bba84FMX RenderAdded more tests for round rect 8659c2aFMX RenderAdded tests for fill ellipse bea58d9FMX RenderAvoided draw for empty destination 6122214DocumentationRemoved know issues section from readme as they were resolved #389 a1f052fFMX RenderAdded tests for fill ellipse 39d9972FMX RenderAdded tests for fill path 3686d46FMX RenderAdded tests for fill arc and polygon f40c9cbLibraryFixed hppemit for C++Builder 1f57ae4ControlsFixed Skia based encoders for Vcl, like webp #393 f7f2b3bLibraryUpdated banners c52941cSetupFixed 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 RenderControls - 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 RenderControls - 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.