class HexaPDF::Layout::TextBox


A TextBox is used for drawing text, either inside a rectangular box or by flowing it around objects of a Frame.

This class uses TextLayouter behind the scenes to do the hard work.

Public Class Methods

new(items:, **kwargs)

Creates a new TextBox object with the given inline items (e.g. TextFragment and InlineBox objects).

Calls superclass method HexaPDF::Layout::Box::new

Public Instance Methods

fit(available_width, available_height, frame)

Fits the text box into the Frame.

Depending on the 'position' style property, the text is either fit into the rectangular area given by available_width and available_height, or fit to the outline of the frame starting from the top (when 'position' is set to :flow).

The spacing after the last line can be controlled via the style property last_line_gap.

Also see TextLayouter#style for other style properties taken into account.

split(available_width, available_height, frame)

Splits the text box into two boxes if necessary and possible.


Returns true as the 'position' style property value :flow is supported.