Releases: errorcalc/FreeEsVclComponents
"X" Update
- Recreate Project Files
- Refactoring ES.BaseControls
- Improved focus behavior for TEsImageControl, TEsVirtualImageControl and TEsPaintBox.
Now, activate AllowFocus property makes TEsImageControl and TEsVirtualImageControl as full focus supported controls!
(See Image Demo) - Improved keyboard support for TEsPaintBox.
- Add lost published props.
Some improvements
- Improved focus behavior for TEsImageControl, TEsVirtualImageControl and TEsPaintBox
- Improved keyboard support for TEsPaintBox
- Fix version const
- Added lost props
Delphi 12 Athens Update
- Support Delphi 12 Athens.
- Added a new OverlayOpacity property to TEsNinePatchImage, TEsImageLabel, TEsImageLayout, TEsImageStaticText to be able to change the transparency of the overlay separately from the background. See NinePatchLayout example. (Thanks to Phil Dewar)
- Fix compilation "ES.BitmapPixels" issues on Delphi 10 and below. (Thanks to Oleg/Softologic)
- Support DoubleBufferedMode for Delphi 12.
Alexandria 11.3 Update
What's new?
1. Added a new component TEsControlListCheckBox (Similar to TCheckBox but can be used in TControlList).
TControlList allows you to create great responsive interfaces using the TGraphicControl components to display content.
Sometimes you need something interactive like TControlListButton. What about a CheckBox for example for "done" in a to-do list based on a TControlList?
A new interactive component TEsControlListCheckBox has been added to the library.
This component does not have a window handle and is practically "free" for the application.
This component may be used as a clickable CheckBox and as a simple bool indicator in the CheckBox style (ReadOnly property).
Component support bindings when used with TControlList.
(See Samples\TEsControlListCheckBoxDemo\TEsControlListCheckBoxDemo.dpr)
2. Added "ES.BitmapPixels.pas" with TBitmapData to easy and fast access to TBitmap pixels.
A common question among VCL developers is "how do I access TBitMap pixels?"
Usually two solutions are suggested either using Canvas.Pixels[], or using Bitmap.Scanline[].
Accessing through Canvas.Pixels[] is extremely slow and frustrating, while using Bitmap.Scanline[] with all those PixelFormat's and Pointer's can be overkill for many developers.
A new module "ES.BitmapPixels.pas" has been added to the library. This module allowing access to TBitmap pixels with the speed of Bitmap.Scanline[] and the simplicity of Canvas.Pixels[].
Access is possible in two modes: RGB and RGBA, no need to think about the pixel format, all the necessary changes will be made automatically.
Here is an example that inverts pixels:
procedure InvertColors(const Bitmap: TBitmap);
var
Data: TBitmapData;
X, Y: Integer;
Pixel: TPixelRec;
begin
Data.Map(Bitmap, TAccessMode.ReadWrite, False);// RGB access
try
for Y := 0 to Data.Height - 1 do
begin
for X := 0 to Data.Width - 1 do
begin
Pixel := Data.GetPixel(X, Y);
Pixel.R := 255 - Pixel.R;
Pixel.G := 255 - Pixel.G;
Pixel.B := 255 - Pixel.B;
Data.SetPixel(X, Y, Pixel);
end;
end;
finally
Data.Unmap();
end;
end;
(See Samples\TBitmapPixelsDemo\TBitmapPixelsDemo.dpr)
3. Improved support for Delphi 11 Alexandria.
Improved styles support.
4. Fix minor issues.
TEsControlListCheckBox demo
TBitmapData demo
Alexandria Update
What's new?
Added support for Delphi 11 Alexandria.
Support for design time styles for all controls.
Added a new component TEsShape.
Improvements in ES.BaseControls.pas
Improvements to the TEsPanel component.
Improved handling of focus in TEsSwitch.
Added Design Guidelines on text components like TEsPanel, TEsSwitch, etc.
Other minor improvements.
TEsShape
TEsShape is an analogue of TShape with advanced features such as:
- Anti-alisang support, which improves the appearance of the shape borders
- Opacity support
- New shapes like triangle, star, etc.
- Horizontal and vertical gradient support for brush
- You can set the corner radius for RoundRect
- You can turn the sides of the rectangle on and off (Top, Left, Bottom, Right)
- You can turn the corners of the rectangle on and off (TopLeft, TopRight, BottomLeft, BottomRight)
- There is also a Caption property for displaying text in the shape
- TEsShape uses the color from the current vcl style for standard colors
I suggest you to look at the Samples\Shapes\Shapes.dpr project to evaluate the new component!
(Samples\ShapesOld\ShapesOld.dpr for previous versions of delphi)
Sydney Update (libsuffix micro fix)
Previosly LIBSUFFIX equals "CompilerVersion" in config file for the packet generator. Multiple installs worked as expected, however this could cause some confusion. Now LIBSUFFIX equals "Package Version".
See: http://docwiki.embarcadero.com/RADStudio/Sydney/en/Compiler_Versions
And: https://github.com/errorcalc/PackagesGenerator
Sydney Update
New components
Two new components for Delphi 10.4 Sydney: TEsVirtualImage, TEsVirtualImageControl.
These components are similar to TEsImage and TEsImageControl but with support for TimageCollection.
TEsVirtualImage and TEsVirtualImageControl provide additional capabilities such as:
- Adjustable opacity
- Configurable pixel interpolation mode
- New stretch modes
- Ability to set a frame with style
- Ability to set background color
- Border support
- And of course - TEsVirtualImageControl doesn't flicker
Rewrited ES.BaseControls.pas
This module had a long history and support for XP and Delphi 7.
This resulted in a bit of confusing code and a lot of IFDEFs, and the module was really hard to support.
Starting with this release, the minimum supported version of Windows is Windows 7, as well as Delphi XE2.
The end of support for XP allowed for many optimizations, as well as many rendering enhancements:
- Faster DWM buffering is now used by default.
- The code has been cleaned up and some documentation has appeared.
- Improved style support.
- And more…
Full support individual control styling
In Delphi 10.4 added support for setting different styles for different controls using the StyleName property.
Full support for this feature has been added to the library, all components support individual styling.
TVirtualImageList support
All components supporting TImageList received support for the ImageName property.
Yes - you can use TEsImage to display icons from TVirtualImageList / TVirtualImageList to TСontrolList.
Improved TEsPanel
TEsPanel now supports Caption when CaptionVisible is activated.
Disabled by default, because usually no need an Caption.
Other improvements
- Work on quality
- Cleaning up the code
- Improved support for styles
- Fixes for HiDPI
- Removing multiple IFDEFs and their associated code
- TEsImage now also supports custom frameTEsImage now also supports custom frame
- Improving Samples
What's next?
I recommend watching the Sydney Update example for new features.
It is located in the examples folder, but is not part of the project group so that
users of previous Delphi versions have no problems. You can open it manually.
x64
New Big Release!
What’s new?
- Four new components: TEsPaintBox, TEsLinkLabel, TEsVersionLabel, TEsPanel
- Some code refactoring.
- HiDPI support for Delphi/C++Builder Berlin and higher versions.
- Rename BufferedChildrens to BufferedChildren, ParentBufferedChildrens to ParentBufferedChildren. (Need renaming these properties in your code, but in DFM files will converting automatically)
- Improvements
- Fixing draw selection bug on Designder
- Now BufferedChildren is True by defalut in TEsLayout/TEsPanel/TEsImageLayout
- New functions, please see further
- New record TFileVersion for to find out the version of the file or application
- Improved support for collaboration with the popular library AlphaSkins/AlphaControls
Finally release of Version 2!
What’s new?
- Improved support for collaboration with the popular library AlphaSkins/AlphaControls