Skip to content

Releases: mbaumsti/NoReflowTabBar

NoReflowTabBar 1.3.0 — Direct2D renderer and layout stabilization

Choose a tag to compare

@mbaumsti mbaumsti released this 04 Jun 19:38

NoReflowTabBar 1.3.0

This release introduces the new Direct2D rendering backend and consolidates several parts of the rendering/layout pipeline.

Added

  • Direct2D rendering backend.
  • Shared render backend interfaces.
  • Documentation page for rendering modes, palette modes and styled backgrounds.
  • Updated demo showing the new rendering backend options.

Fixed

  • Fixed several positioning issues across Top, Bottom, Left and Right bar positions.
  • Fixed unwanted ellipsis/trimming in Direct2D on natural-width tab captions.
  • Fixed Direct2D glyph rendering artifacts.
  • Fixed zone header alignment issues.
  • Fixed styled/textured background rendering in Direct2D mode.
  • Fixed Bottom-position slanted tab content alignment.

Changed

  • Moved common layout, metrics and render-item preparation code out of the GDI backend.
  • Improved separation between GDI and Direct2D rendering units.
  • Added stronger internal comments documenting that renderers must not perform layout corrections.
  • Updated README and PasDoc documentation for the 1.3 architecture.

NoReflowTabBar 1.2.0 - Minimum button length and Delphi compatibility

Choose a tag to compare

@mbaumsti mbaumsti released this 28 May 06:59

This release adds BarLayoutButtons.MinimumLength.

When BarLayoutButtons.ForcedLength is 0, button length is still computed from the item content as before, but it is raised to MinimumLength when the computed length is smaller.

When ForcedLength is greater than 0, the existing fixed-length behavior remains unchanged.

MinimumLength is a logical length constraint, not a physical X-axis width. It follows the component’s Length/Thickness model and remains compatible with horizontal and vertical bar orientations.

For vertically stacked content, where the glyph is logically above or below the text, the glyph/text block is centered in the remaining usable area when MinimumLength enlarges the button. Signals remain anchored at their normal positions.

This release also adds conditional compilation around newer VCL StyleServices(Control) calls, so older Delphi versions can fall back to global VCL style services.

Additional source comments were added around the canonical horizontal layout pipeline to avoid regressions where vertical orientations would accidentally be handled as a separate final-coordinate layout.

NoReflowTabBar 1.1.0

Choose a tag to compare

@mbaumsti mbaumsti released this 25 May 16:57

What's new

  • Added extensible inline caption editor architecture.
  • Added NoReflowTabBar_CaptionEditor.pas.
  • Added optional VclRotatedEdit adapter package under Optional_Packages/VclRotatedEdit.
  • Added support for rotated inline caption editing when VclRotatedEdit is installed.
  • Improved inline editor geometry for horizontal and vertical text.
  • Improved design-time style rendering by resolving style services from the parent context.
  • Updated README, local documentation and PasDoc-generated public API files.

Compatibility

VclRotatedEdit is optional. The main NoReflowTabBar runtime and design-time packages do not require it.

Applications that do not install the optional adapter continue to use the standard VCL TEdit inline editor.

NoreflowTabBar 1.0.0 - Initial public release of NoReflowTabBar.

Choose a tag to compare

@mbaumsti mbaumsti released this 25 May 11:21
  • VCL tab/button bar component for Delphi.
  • No-reflow layout model for tabs and buttons.
  • Multiple zones and item positioning.
  • Support for tabs, push buttons, select buttons and check buttons.
  • Custom rendering with VCL style awareness.
  • Signals/indicators support.
  • Drag and drop support.
  • Demo application and documentation.