12 times 12 new features in Delphi 12
RAD Studio 12 includes some great improvements for C++Builder and the launch webinar and other online content highlights it. However, it is also a fantastic release for Delphi developers. I compiled 12 lists with 12 improvements each for Delphi 12. So this is not a list of 12 improvements for Delphi 12. It's a list of 12 x 12=144 improvements, plus half a dozen for native Windows bringing the total to a whopping 150 -- excluding all the existing improvements for C++Builder, as here I want to underline the Delphi side (but most of the features below are in fact for both languages).
The first blog post had 3 x 12 VCL Enhancements in Delphi 12. This second one blog post is focused on FireMonkey and the Android platform support. The FireMonkey changes apply also to C++Builder 12, unless they are mobile specific, in which case they are for Delphi only. Stay tuned for two more blog posts.
Skia in FireMonkey
-
- Skia.pas unit offers direct access to the Skia library
- TSkAnimatedImage component for FireMonkey with support for Lottie, Telegram Sticker, Animated GIF and Animated WebP formats
- TSkLabel component for FireMonkey
- TSkPaintBox component for FireMonkey
- TSkAnimatedPaintBox component for FireMonkey
- TSkSvg control for FireMonkey to easily display SVG easily.
- FMX.Skia.GlobalUseSkia setting to enable app rendering using Skia
- FMX.Types.GlobalUseVulkan setting to enable using the Vulcan driver in Skia
- Effects and Filters can use Skia Shading Language (SKSL)
- Support for Printer on Windows
- Support for printing to PDF on Android and iOS
- Support for WebP image format
The SkLabel Skia control at design time
Other FMX new features
-
- FireMonkey Split Screen Support in Android and iOS
- New TEdit property AutoSelect and CharCase
- The recently added TUndoManager is shared between TEdit and TMemo. In addition, TEdit now supports Undo functionality
- Refactoring Virtual Keyboard for iOS
- New HeaderSettings property for the TColumn class
- Enabled FireMonkey to remove the TCanvas global lock
- Expanded FMX multitouch support by adding these new fields to the TTouch data type
- New TWinFormPositionerService to help FMX manage the screen(s) layout and positions
- New IFMXPlatformPropertiesService
- New universal TFontManager for Windows and macOS
- New OnFreeStyleLookup event has been added to TStyledControl
- New FireMonkey Windows 11 style
Split views screen support, in this case on Android
In Android platform
-
- Android target API level 33
- Support for the Android Scoped Storage model
- Updated the JManifest_permissionClass and JManifest_permission_groupClass classes
- IFMXExtendedClipboardService update to allow applications to prevent sensitive content from appearing in the clipboard editor overlay introduced in Android 13
- Support for the new Android Splash Screen standard
- Support for Android Adaptive Icon format
- Updated the Application - Uses Permissions options page
- Upgraded FireMonkey Android in-app purchases support to depend on the latest version of the Google Play Billing library (6.0.1)
- Implementations of the IFMXCameraService and IFMXTakenImageService platform services have been redone
- The TTakePhotoFromLibraryAction and the TTakePhotoFromCameraAction have been extended leveraging the changes above, with new OnDidFailTaking event, new PickerPresentation property and more
- Added selection Point for position cursor in TMemo and TEdit.
- Added CaretPoint display for text-input controls for Android