Skip to content

Releases: errorcalc/FreeEsVclComponents

"X" Update

31 Mar 18:19
Compare
Choose a tag to compare
  • 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

29 Dec 21:01
Compare
Choose a tag to compare
  • Improved focus behavior for TEsImageControl, TEsVirtualImageControl and TEsPaintBox
  • Improved keyboard support for TEsPaintBox
  • Fix version const
  • Added lost props

Delphi 12 Athens Update

29 Nov 03:27
Compare
Choose a tag to compare
  • 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

04 Apr 22:25
Compare
Choose a tag to compare

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

Preview1

TBitmapData demo

Preview2

Alexandria Update

14 Sep 04:33
57f192b
Compare
Choose a tag to compare

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)

23 Jun 21:26
Compare
Choose a tag to compare

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

21 Jun 11:47
Compare
Choose a tag to compare

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

15 Dec 20:02
Compare
Choose a tag to compare
x64
  1. Added lost x64 support
  2. Added packages for any versions rad studio by default

New Big Release!

22 Nov 12:58
Compare
Choose a tag to compare

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!

22 Nov 10:40
Compare
Choose a tag to compare

What’s new?

  • Improved support for collaboration with the popular library AlphaSkins/AlphaControls