A text render group that represents a range of existing text. Contains all
neccessary information to position that piece of text.
For characters that override width, the text range should have a length of 1
and will not be merged with other text render groups, else, it is a hint
containing the pre-measured size, for optimisation reasons, and may be merged
with other text render groups. Width-overidding groups where the text range
length is greater than 1 will have the length of each individual character as
an interpolation of the total length, where each character has equal width,
which is cheap, but innacurate; this is the reason why it is preferred to
have length 1 text range for width-overriding groups although you may still
want this for specific reasons (such as trailing space removal).
Width-overriding groups are also only meant to be used for whitespaces and
will therefore not be painted.
Note that 0-width text render groups are valid and used for empty lines.
Note also that, for optimisation reasons, text render groups will also be
created for spaces. This maximises cache hits when calling measureTextDims.
A text render group that represents a range of existing text. Contains all neccessary information to position that piece of text.
For characters that override width, the text range should have a length of 1 and will not be merged with other text render groups, else, it is a hint containing the pre-measured size, for optimisation reasons, and may be merged with other text render groups. Width-overidding groups where the text range length is greater than 1 will have the length of each individual character as an interpolation of the total length, where each character has equal width, which is cheap, but innacurate; this is the reason why it is preferred to have length 1 text range for width-overriding groups although you may still want this for specific reasons (such as trailing space removal). Width-overriding groups are also only meant to be used for whitespaces and will therefore not be painted.
Note that 0-width text render groups are valid and used for empty lines.
Note also that, for optimisation reasons, text render groups will also be created for spaces. This maximises cache hits when calling measureTextDims.