Feature: Line-break support for text
This commit is contained in:
parent
165b3dd215
commit
f13b30d606
19
src/text.c
19
src/text.c
@ -293,6 +293,7 @@ void DrawTextEx(SpriteFont spriteFont, const char *text, Vector2 position, int f
|
||||
{
|
||||
int length = strlen(text);
|
||||
int offsetX = 0;
|
||||
int offsetY = 0; // Line break!
|
||||
float scaleFactor;
|
||||
unsigned char letter;
|
||||
|
||||
@ -323,11 +324,23 @@ void DrawTextEx(SpriteFont spriteFont, const char *text, Vector2 position, int f
|
||||
rec = spriteFont.charRecs[letter - FONT_FIRST_CHAR + 64];
|
||||
i++;
|
||||
}
|
||||
else rec = spriteFont.charRecs[(int)text[i] - FONT_FIRST_CHAR];
|
||||
else
|
||||
{
|
||||
if ((unsigned char)text[i] == '\n')
|
||||
{
|
||||
offsetY += ((spriteFont.size + spriteFont.size/2)*scaleFactor);
|
||||
offsetX = 0;
|
||||
rec.x = -1;
|
||||
}
|
||||
else rec = spriteFont.charRecs[(int)text[i] - FONT_FIRST_CHAR];
|
||||
}
|
||||
|
||||
DrawTexturePro(spriteFont.texture, rec, (Rectangle){ position.x + offsetX, position.y, rec.width*scaleFactor, rec.height*scaleFactor} , (Vector2){ 0, 0 }, 0.0f, tint);
|
||||
if (rec.x > 0)
|
||||
{
|
||||
DrawTexturePro(spriteFont.texture, rec, (Rectangle){ position.x + offsetX, position.y + offsetY, rec.width*scaleFactor, rec.height*scaleFactor} , (Vector2){ 0, 0 }, 0.0f, tint);
|
||||
|
||||
offsetX += (rec.width*scaleFactor + spacing);
|
||||
offsetX += (rec.width*scaleFactor + spacing);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user