mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
Added a font 'leading' parameter for multiline text layouts
This commit is contained in:
parent
1a22a3fafb
commit
06da4f2daf
4 changed files with 12 additions and 8 deletions
|
|
@ -274,7 +274,7 @@ void Graphics::drawSingleLineText (const String& text, const int startX, const i
|
|||
|
||||
void Graphics::drawMultiLineText (const String& text, const int startX,
|
||||
const int baselineY, const int maximumLineWidth,
|
||||
Justification justification) const
|
||||
Justification justification, const float leading) const
|
||||
{
|
||||
if (text.isNotEmpty()
|
||||
&& startX < context.getClipBounds().getRight())
|
||||
|
|
@ -282,7 +282,7 @@ void Graphics::drawMultiLineText (const String& text, const int startX,
|
|||
GlyphArrangement arr;
|
||||
arr.addJustifiedText (context.getFont(), text,
|
||||
(float) startX, (float) baselineY, (float) maximumLineWidth,
|
||||
justification);
|
||||
justification, leading);
|
||||
arr.draw (*this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -139,14 +139,16 @@ public:
|
|||
|
||||
This will break the text onto a new line where there's a new-line or
|
||||
carriage-return character, or at a word-boundary when the text becomes wider
|
||||
than the size specified by the maximumLineWidth parameter.
|
||||
than the size specified by the maximumLineWidth parameter. New-lines
|
||||
will be vertically separated by the specified leading.
|
||||
|
||||
@see setFont, drawSingleLineText, drawFittedText, GlyphArrangement::addJustifiedText
|
||||
*/
|
||||
void drawMultiLineText (const String& text,
|
||||
int startX, int baselineY,
|
||||
int maximumLineWidth,
|
||||
Justification justification = Justification::left) const;
|
||||
Justification justification = Justification::left,
|
||||
float leading = 0.0f) const;
|
||||
|
||||
/** Draws a line of text within a specified rectangle.
|
||||
|
||||
|
|
|
|||
|
|
@ -256,7 +256,8 @@ int GlyphArrangement::insertEllipsis (const Font& font, float maxXPos, int start
|
|||
|
||||
void GlyphArrangement::addJustifiedText (const Font& font, const String& text,
|
||||
float x, float y, float maxLineWidth,
|
||||
Justification horizontalLayout)
|
||||
Justification horizontalLayout,
|
||||
float leading)
|
||||
{
|
||||
auto lineStartIndex = glyphs.size();
|
||||
addLineOfText (font, text, x, y);
|
||||
|
|
@ -331,7 +332,7 @@ void GlyphArrangement::addJustifiedText (const Font& font, const String& text,
|
|||
|
||||
lineStartIndex = i;
|
||||
|
||||
y += font.getHeight();
|
||||
y += font.getHeight() + leading;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -194,13 +194,14 @@ public:
|
|||
between x and (x + maxLineWidth).
|
||||
|
||||
The y coordinate is the position of the baseline of the first line of text - subsequent
|
||||
lines will be placed below it, separated by a distance of font.getHeight().
|
||||
lines will be placed below it, separated by a distance of font.getHeight() + leading.
|
||||
*/
|
||||
void addJustifiedText (const Font& font,
|
||||
const String& text,
|
||||
float x, float y,
|
||||
float maxLineWidth,
|
||||
Justification horizontalLayout);
|
||||
Justification horizontalLayout,
|
||||
float leading = 0.0f);
|
||||
|
||||
/** Tries to fit some text within a given space.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue