Releases: mbaumsti/NoReflowTabBar
Release list
NoReflowTabBar 1.3.0 — Direct2D renderer and layout stabilization
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
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
What's new
- Added extensible inline caption editor architecture.
- Added
NoReflowTabBar_CaptionEditor.pas. - Added optional
VclRotatedEditadapter package underOptional_Packages/VclRotatedEdit. - Added support for rotated inline caption editing when
VclRotatedEditis 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.
- 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.