Skip to content

Official 4.3.0 version

Choose a tag to compare

@carloBarazzetta carloBarazzetta released this 29 Sep 15:50
· 8 commits to main since this release
  • New: automated DUnitX test suite in the Test folder (73 tests and performance benchmarks, Win32/Win64, run_tests.cmd), included in the installer
  • Performance: the double-buffer bitmap of styled buttons is kept between paints instead of being created and freed on every WM_PAINT (21 to 7 heap allocations per paint)
  • Performance: BitBtn Kind glyphs and command-link icons are decoded from the resources once per name and size instead of on every paint (bkOK paint from ~950 to ~230 us); custom BitBtn glyphs keep one image per state in a per-button cache (from ~560 to ~150 us)
  • Performance: Classic buttons under a VCL style re-resolve their attributes only when the active style name changes, not on every paint
  • Performance: ButtonGroup/CategoryButtons items with their own style keep their resolved attributes (27 to 9 allocations per item paint) instead of swapping and restoring the container attributes on every paint; this also stops the swap from overwriting custom container attributes
  • Performance: SVG-Colors resolves unknown class names without raising EConvertError (~40 to ~4 us); AutoClick timer interval clamped to 15 ms
  • Fixed StyledPanel of the Classic family taking the button colours of the VCL style instead of the panel ones (Coral was orange instead of light grey); AsVCLComponent panels are always square like a TPanel
  • Fixed StyledPanel per-control StyleName (10.4+) not re-resolving the style when the class name was unchanged (the panel kept the global style colours)
  • Fixed btRounded buttons drawn as round-rects instead of pills (regression of 4.2.3) and notification badge drawn as a round-rect on buttons with wide borders
  • Fixed Outline appearance not assigning ButtonColor in Bootstrap, Basic-Colors, SVG-Colors and Template families (black StyledPanel with ParentBackground=False, black AutoClick bar)
  • Fixed Angular Stroked border colour (Material grey instead of black, visible also in Angular-Dark)
  • Fixed Classic family Selected/Pressed/Disabled derivation: now based on the button colour luminance instead of ThemeType (Obsidian, Onyx Blue, Vapor had Disabled identical to Normal)
  • Fixed a VCL style registered with RegisterThemeAttributes after the first use not being listed/selectable
  • Fixed TStyledButton/TStyledGraphicButton Assign between styled buttons (raised EConvertError)
  • Fixed StyleFamily change keeping the colours of the previous family when Class/Appearance fell back to the family defaults
  • Fixed Enter/Esc handled twice (double click) on styled buttons in forms with KeyPreview
  • Fixed StyledPanel ParentBackground: no longer reset while loading the DFM; transparent panels now show the parent as painted by the active VCL style (also on double-buffered parents)
  • Fixed StyledPanel AsVCLComponent using the active VCL style colours and the selected appearance
  • Fixed StyledToolbar button sizes set inside BeginUpdate/EndUpdate being lost
  • Fixed StyledButtonGroup/StyledCategoryButtons items losing the container shape while loading
  • Fixed StyledTaskDialog.RadioButton nil after Execute when OnRadioButtonClicked is not assigned
  • TStyledToolbar.ScaleForPPI made public (removes hint H2269)
  • Improved installer (InnoSetupScripts 1.2.5) to fix some reported installation problems: the packages are now built with the IDE Library Path read from the registry, so packages requiring third-party .dcp (StyledAnimatedComponents with Skia4Delphi) no longer fail with "Required package not found" when the IDE EnvOptions.proj is stale, and library path entries ending with a backslash no longer break the build (MSB6001)