vfbb 285 Posted February 17, 2022 (edited) v3.0.1 Increase default form quality of Skia4Delphi Canvas in Android and iOS; Improve documentation about Righ-To-Left text rendering with Skia4Delphi Canvas; Fixed demo in Android 11; Fixed exception in ExcludeClipRect; Fixed quality of DrawImage of Skia4Delphi Canvas; Fixed some wrong pixel format in Android and iOS (without metal) that caused wrong colors of TCameraComponet; Fixed opacity of TSkAnimatedImage, TSkLabel and TSkSVG when using Skia4Delphi Canvas; Fixed TSkSVG cache; Fixed compilation with FmxLinux; Fixed FontWeight in FmxLinux; Fixed PDF viewer of demo in FmxLinux; Fixed setup and improve the logs; Fixed build.sh script; Fixed chocolatey package; v3.0.2 Fixed pixelformat of TBitmap of Skia4Delphi Canvas; Github: github.com/skia4delphi/skia4delphi Website: skia4delphi.org Edited February 18, 2022 by vfbb 3 2 Share this post Link to post
Fritzew 51 Posted February 18, 2022 Is there a way to print a Skia Graphic to Printer on Windows? I'm evaluating Ski as a replacement for Cairo. In Cairo on Windows we can directly print to a Printer HDC Share this post Link to post
vfbb 285 Posted February 18, 2022 54 minutes ago, Fritzew said: Is there a way to print a Skia Graphic to Printer on Windows? I'm evaluating Ski as a replacement for Cairo. In Cairo on Windows we can directly print to a Printer HDC Direct printer call will work soon for Windows and MacOS 2 Share this post Link to post
vfbb 285 Posted February 18, 2022 @Fritzew It is worth mentioning that currently prints already work normally with Skia4Delphi Canvas enabled, but internally the native Canvas of FMX is used during prints. In addition, it is possible to export the document via PDF and XPS. Share this post Link to post
Fritzew 51 Posted February 18, 2022 I'm testing it at Moment with VCL, so a FMX Canvas is out Another Question: How thread save is SKIA? We prepare a lot oaf Drawing-Layers in Threads and put it together after finished. Works well with Cairo. At Moment I check first the Speed of Drawings to decide if it is worth to switch Share this post Link to post
Der schöne Günther 316 Posted February 18, 2022 Good question. The title page states Quote Canvas for UI (created from a window eg rectangles, circles, objects inherited from TControl) must draw exclusively from the main thread, while Canvas created from TBitmap are thread safe. but that's listed under FMX. Does it apply to VCL as well? Share this post Link to post
vfbb 285 Posted February 18, 2022 (edited) 1 hour ago, Fritzew said: I'm testing it at Moment with VCL, so a FMX Canvas is out Another Question: How thread save is SKIA? We prepare a lot oaf Drawing-Layers in Threads and put it together after finished. Works well with Cairo. At Moment I check first the Speed of Drawings to decide if it is worth to switch The library can be divided into 3 independent parts: Api: Console, FMX and Vcl; Controls and integration with TBitmap: FMX and Vcl; Skia4Delphi Canvas: FMX. Skia4Delphi Canvas is an option that, when enabled, the entire application will be rendered by our engine, be it a TButton, a TCircle, the form itself... The benefits of this are: speed, quality and new features. This feature was only made for the FMX because the Vcl system is too restricted for it. 1 hour ago, Der schöne Günther said: Good question. The title page states but that's listed under FMX. Does it apply to VCL as well? Its text was taken from the part of Skia4Delphi Canvas (FMX). It is just clarifying that it is not necessary to adapt any code, the operation will continue the same as an FMX application without the library. Remembering that the integration with TBitmap (using TBitmap.SkiaDraw) is not related to the Skia4Delphi Canvas feature, they are independent integrations. It will always work on both Vcl and FMX, and is also safe to use on both main and background threads (just like TBitmap). Edited February 18, 2022 by vfbb Share this post Link to post
vfbb 285 Posted February 24, 2022 v3.0.3 Fixed PixelFormat on Windows that had wrong colors when drawing in non-client area with Skia4Delphi Canvas; v3.1.0 Added BackgroundColor property to words of TSkLabel; Added GrayScale property to TSkSvgBrush; Added build informations for each pre-built binary; Added pre-built binaries for Red Hat; Fixed AV in iOS and MacOS with Metal + Effects/Filters with Skia Canvas enabled; Fixed TSkAnimatedImage and TSkAnimatedPaintBox controls when setting visible to false in Vcl; Fixed TSkSvgBrush.Render in Vcl, was ignoring the opacity parameter; Fixed AV when set the property ControlType=Platform in controls that the platform doesn't support this (like TButton and TLabel) in Android and iOS with Skia Canvas enabled; Fixed build error 'MSB5016: The name "asl.log" contains an invalid character "."' in setup; Fixed build error at installation in RAD Studio 10.3 Rio (caused by wrong rsvars.bat); Fixed build script for other Linux distributions; Fixed statusbar icons of demo in some devices with Android 11; Improved performance of TSkGraphic and TSkSvgGraphic in Vcl (they are responsible for loading new extensions in TPicture); Minor improvements and fixes; Github: github.com/skia4delphi/skia4delphi Website: skia4delphi.org 1 Share this post Link to post
b1ol 1 Posted March 8, 2022 Hi all, I'm having problem with the onClick event of a TSkSvg component: it simply does not fire :-( Same with a TSkAnimatedImage; same with the mouseDown / Up events... TSkLabel's onClick works well, on the contrary; the OnWordClick is perfect, too :-) is it me? does it work for you? This is a showStopper for me... Thanks in advance! Ciao Share this post Link to post
vfbb 285 Posted March 8, 2022 Hi @b1ol, the default HitTest of TSkSvg and TSkAnimatedImage is False. So, you need to set the property HitTest to True to use the mouse operations. 1 Share this post Link to post
b1ol 1 Posted March 8, 2022 Hi @vfbb, thanks a lot! Yes, you're right, this is a FMX thing, I' should have checked... shame on me!!! ;-) Thanks again for this help and for the great work you're doing with Skia4delphi Have a nice day 1 Share this post Link to post