aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRay <raysan5@gmail.com>2019-02-04 09:57:02 +0100
committerRay <raysan5@gmail.com>2019-02-04 09:57:02 +0100
commit5755c5e310e6d77cd280a91d5a99a4f10a4c8ab3 (patch)
tree9eee6d274e28692cb3d87cde7476fefcdb8e2017 /src
parent01ace743d0aaaf9c96cc0f24bec1a2f7f8a1c38b (diff)
downloadraylib-5755c5e310e6d77cd280a91d5a99a4f10a4c8ab3.tar.gz
raylib-5755c5e310e6d77cd280a91d5a99a4f10a4c8ab3.zip
Review DrawTextRecEx() formatting
Diffstat (limited to 'src')
-rw-r--r--src/raylib.h2
-rw-r--r--src/text.c39
2 files changed, 22 insertions, 19 deletions
diff --git a/src/raylib.h b/src/raylib.h
index e2b5b788..55ecbcd5 100644
--- a/src/raylib.h
+++ b/src/raylib.h
@@ -1135,7 +1135,7 @@ RLAPI void DrawText(const char *text, int posX, int posY, int fontSize, Color co
RLAPI void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint); // Draw text using font and additional parameters
RLAPI void DrawTextRec(Font font, const char *text, Rectangle rec, float fontSize, float spacing, bool wordWrap, Color tint); // Draw text using font inside rectangle limits
RLAPI void DrawTextRecEx(Font font, const char *text, Rectangle rec, float fontSize, float spacing, bool wordWrap, Color tint,
- int selectStart, int selectLength, Color selectText, Color selectBG); // Draw text using font inside rectangle limits with support for text selection
+ int selectStart, int selectLength, Color selectText, Color selectBack); // Draw text using font inside rectangle limits with support for text selection
// Text misc. functions
RLAPI int MeasureText(const char *text, int fontSize); // Measure string width for default font
diff --git a/src/text.c b/src/text.c
index 98b4ecc0..491ba504 100644
--- a/src/text.c
+++ b/src/text.c
@@ -787,7 +787,7 @@ void DrawTextRec(Font font, const char *text, Rectangle rec, float fontSize, flo
// Draw text using font inside rectangle limits with support for text selection
void DrawTextRecEx(Font font, const char *text, Rectangle rec, float fontSize, float spacing, bool wordWrap, Color tint,
- int selectStart, int selectLength, Color selectText, Color selectBG)
+ int selectStart, int selectLength, Color selectText, Color selectBack)
{
int length = strlen(text);
int textOffsetX = 0; // Offset between characters
@@ -800,7 +800,7 @@ void DrawTextRecEx(Font font, const char *text, Rectangle rec, float fontSize, f
scaleFactor = fontSize/font.baseSize;
enum { MEASURE_STATE = 0, DRAW_STATE = 1 };
- int state = wordWrap?MEASURE_STATE:DRAW_STATE;
+ int state = wordWrap? MEASURE_STATE : DRAW_STATE;
int startLine = -1; // Index where to begin drawing (where a line begins)
int endLine = -1; // Index where to stop drawing (where a line ends)
@@ -828,8 +828,8 @@ void DrawTextRecEx(Font font, const char *text, Rectangle rec, float fontSize, f
else index = GetGlyphIndex(font, (unsigned char)text[i]);
glyphWidth = (font.chars[index].advanceX == 0)?
- (int)(font.chars[index].rec.width*scaleFactor + spacing):
- (int)(font.chars[index].advanceX*scaleFactor + spacing);
+ (int)(font.chars[index].rec.width*scaleFactor + spacing):
+ (int)(font.chars[index].advanceX*scaleFactor + spacing);
}
// NOTE: When wordWrap is ON we first measure how much of the text we can draw
@@ -842,26 +842,27 @@ void DrawTextRecEx(Font font, const char *text, Rectangle rec, float fontSize, f
// the container.
if (state == MEASURE_STATE)
{
- if((letter == ' ') || (letter == '\t') || (letter == '\n')) endLine = i;
+ if ((letter == ' ') || (letter == '\t') || (letter == '\n')) endLine = i;
- if(textOffsetX + glyphWidth + 1 >= rec.width)
+ if ((textOffsetX + glyphWidth + 1) >= rec.width)
{
endLine = (endLine < 1) ? i : endLine;
- if(i == endLine) endLine -= 1;
- if(startLine + 1 == endLine ) endLine = i - 1;
+ if (i == endLine) endLine -= 1;
+ if ((startLine + 1) == endLine) endLine = i - 1;
state = !state;
}
- else if(i + 1 == length)
+ else if ((i + 1) == length)
{
endLine = i;
state = !state;
}
- else if(letter == '\n')
+ else if (letter == '\n')
{
state = !state;
}
- if(state == DRAW_STATE) {
+ if (state == DRAW_STATE)
+ {
textOffsetX = 0;
i = startLine;
glyphWidth = 0;
@@ -872,14 +873,16 @@ void DrawTextRecEx(Font font, const char *text, Rectangle rec, float fontSize, f
{
if (letter == '\n')
{
- if(!wordWrap){
+ if (!wordWrap)
+ {
textOffsetY += (int)((font.baseSize + font.baseSize/2)*scaleFactor);
textOffsetX = 0;
}
}
else
{
- if(!wordWrap && textOffsetX + glyphWidth + 1 >= rec.width) {
+ if (!wordWrap && ((textOffsetX + glyphWidth + 1) >= rec.width))
+ {
textOffsetY += (int)((font.baseSize + font.baseSize/2)*scaleFactor);
textOffsetX = 0;
}
@@ -888,10 +891,10 @@ void DrawTextRecEx(Font font, const char *text, Rectangle rec, float fontSize, f
//draw selected
bool isGlyphSelected = false;
- if(selectStart >= 0 && i >= selectStart && i < selectStart + selectLength) {
- Rectangle strec = {rec.x + textOffsetX-1, rec.y + textOffsetY,
- glyphWidth,(font.baseSize + font.baseSize/4)*scaleFactor};
- DrawRectangleRec(strec, selectBG);
+ if ((selectStart >= 0) && (i >= selectStart) && (i < (selectStart + selectLength)))
+ {
+ Rectangle strec = {rec.x + textOffsetX-1, rec.y + textOffsetY, glyphWidth, (font.baseSize + font.baseSize/4)*scaleFactor };
+ DrawRectangleRec(strec, selectBack);
isGlyphSelected = true;
}
@@ -907,7 +910,7 @@ void DrawTextRecEx(Font font, const char *text, Rectangle rec, float fontSize, f
}
}
- if (wordWrap && i == endLine)
+ if (wordWrap && (i == endLine))
{
textOffsetY += (int)((font.baseSize + font.baseSize/2)*scaleFactor);
textOffsetX = 0;