summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorraysan5 <[email protected]>2020-11-15 12:39:59 +0100
committerraysan5 <[email protected]>2020-11-15 12:39:59 +0100
commit55dc8171f8d883acd442e129b426e603bfecf16a (patch)
treeccc7c3ecff1390dad1ad39e5db2a8c6355b4cbe7 /src
parentc222e231f06c9e6ca4b7d2c9ca708e450ce76d5f (diff)
downloadraylib-55dc8171f8d883acd442e129b426e603bfecf16a.tar.gz
raylib-55dc8171f8d883acd442e129b426e603bfecf16a.zip
[text] Consider characters padding -WIP- #1432
Diffstat (limited to 'src')
-rw-r--r--src/raylib.h1
-rw-r--r--src/text.c12
2 files changed, 12 insertions, 1 deletions
diff --git a/src/raylib.h b/src/raylib.h
index 7bed20c8..7d938389 100644
--- a/src/raylib.h
+++ b/src/raylib.h
@@ -277,6 +277,7 @@ typedef struct CharInfo {
typedef struct Font {
int baseSize; // Base size (default chars height)
int charsCount; // Number of characters
+ //int charsPadding; // Padding around the chars
Texture2D texture; // Characters texture atlas
Rectangle *recs; // Characters rectangles in texture
CharInfo *chars; // Characters info data
diff --git a/src/text.c b/src/text.c
index bcbf2937..70eff91e 100644
--- a/src/text.c
+++ b/src/text.c
@@ -302,6 +302,9 @@ Font LoadFont(const char *fileName)
#ifndef FONT_TTF_DEFAULT_FIRST_CHAR
#define FONT_TTF_DEFAULT_FIRST_CHAR 32 // TTF font generation default first char for image sprite font (32-Space)
#endif
+#ifndef FONT_TTF_DEFAULT_CHARS_PADDING
+ #define FONT_TTF_DEFAULT_CHARS_PADDING 4 // TTF font generation default chars padding
+#endif
Font font = { 0 };
@@ -492,7 +495,9 @@ Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int
if (font.chars != NULL)
{
- Image atlas = GenImageFontAtlas(font.chars, &font.recs, font.charsCount, font.baseSize, 2, 0);
+ font.charsPadding = FONT_TTF_DEFAULT_CHARS_PADDING;
+
+ Image atlas = GenImageFontAtlas(font.chars, &font.recs, font.charsCount, font.baseSize, FONT_TTF_DEFAULT_CHARS_PADDING, 0);
font.texture = LoadTextureFromImage(atlas);
// Update chars[i].image to use alpha, required to be used on ImageDrawText()
@@ -876,6 +881,11 @@ void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, f
font.recs[index].width*scaleFactor,
font.recs[index].height*scaleFactor };
+ // TODO: Consider chars padding
+ // NOTE: It could be required for outline/glow shader effects
+ //Rectangle charRec = { font.recs[index].x - (float)font.charsPadding, font.recs[index].y - (float)font.charsPadding,
+ // font.recs[index].width + 2.0f*font.charsPadding, font.recs[index].height + 2.0f*font.charsPadding };
+
DrawTexturePro(font.texture, font.recs[index], rec, (Vector2){ 0, 0 }, 0.0f, tint);
}