diff options
| author | raysan5 <[email protected]> | 2020-11-15 12:39:59 +0100 |
|---|---|---|
| committer | raysan5 <[email protected]> | 2020-11-15 12:39:59 +0100 |
| commit | 55dc8171f8d883acd442e129b426e603bfecf16a (patch) | |
| tree | ccc7c3ecff1390dad1ad39e5db2a8c6355b4cbe7 | |
| parent | c222e231f06c9e6ca4b7d2c9ca708e450ce76d5f (diff) | |
| download | raylib-55dc8171f8d883acd442e129b426e603bfecf16a.tar.gz raylib-55dc8171f8d883acd442e129b426e603bfecf16a.zip | |
[text] Consider characters padding -WIP- #1432
| -rw-r--r-- | src/raylib.h | 1 | ||||
| -rw-r--r-- | src/text.c | 12 |
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 @@ -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); } |
