Jump to content

1.15.5.0 English


Yaroslav Brovin

Recommended Posts

  • Administrators

Download:
The distributive is available by request only.

Release date:
22 April 2023


New

SVG Vector Images

The support of vector SVG images was added. In the new version, a new type of asset has been added - SVG image. You can upload an SVG file to the assets designer for further use in components. Adding an SVG image is available in the Assets Designer: Project -> FGX Assets Manager. When using this image in components, the TfgBitmap bitmap image is automatically generated with the required current window scaling factor and the specified icon size. At the same time, the logical size (dp, without taking into account the zoom factor) of the icon is indicated in the SVG file editing window.

We tested our SVG parser on icons from different vendors from MaterialDesign, Microsoft Visual Studio Icons and up to Icons 8. However, the SVG standard is quite large and writing a full-fledged parser in such a short time is not an easy task. Despite this, we would like you to share with us SVG files that cannot be read or displayed correctly. This will help us to expand the parser more quickly in the directions that are needed to display massive SVG images.

When loading an image in the designer, the icon will have a special error icon if it is not supported.

TfgCanvas

Transformation matrix

Now you can use transformation canvas. To get the current transformation matrix or set a new one, use the Canvas.Matrix property. With the help of transformation matrices, you can perform any Athenian transformations on the objects being drawn.

For example, to scale the shape figure, you can use the following code:

Canvas.Matrix := TMatrix.CreateScale(2) * Canvas.Matrix;

Saving states

Now, in the process of drawing on the canvas TfgCanvas, you can save and restore the state of the canvas. The brush parameters and the current transformation matrix are saved as the canvas state. A typical scenario for working with states may look like this:
 

var  
  State: IFGXCanvasState;
  
State := Canvas.SaveState;
try
  // Modify transformation matrix, brushes
  // Painting
finally
  Canvas.RestoreState(State);
end;

TfgSvgPath

Arc commands were implemented in SVG Path. Now we supports all path commands Path by SVG standard.

  • Commands T and Q were fixed in TfgSvgPath.

Nullable

We added our implementation of nullable type FGX.Types.TfgNullable. This type allows to use null value.

Improvements 🙌

Assets Desginer

Now you can search for SVG icons among the supplied Material Design icons. In addition, now you can drop any files directly into the designer's tree. Depending on the extension, the appropriate resource type will be created.

TfgGradient

The working with gradient points were improved. Now all points are stored in collection. You can get this collection via TfgGradient.Points property. Thanks to the use of the collection, it is now possible to use batch modification of points using the methods TfgGradient.Points.BeginUpdate and TfgGradient.Points.BeginUpdate.

Android API

New Android API class android.os.Environment was translated.

Bug Fixes 🐛

Link to comment
Share on other sites

  • Administrators

Hello @Multsoft.com,

If TfgEdit is not touchable and some parent has Enabled=False, so it's another issue. I believe that the input field does not completely block the possibility of editing. In particular, the operation of the context menu. The native input field on Android does not have a full readonly mode. Therefore, we will look for a separate solution to block the context menu.

Link to comment
Share on other sites

×
×
  • Create New...