summaryrefslogtreecommitdiffhomepage
path: root/src/rtext.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/rtext.c')
-rw-r--r--src/rtext.c37
1 files changed, 19 insertions, 18 deletions
diff --git a/src/rtext.c b/src/rtext.c
index da93af7e..e8493778 100644
--- a/src/rtext.c
+++ b/src/rtext.c
@@ -725,24 +725,7 @@ Image GenImageFontAtlas(const GlyphInfo *chars, Rectangle **charRecs, int glyphC
// NOTE: Using simple packaging, one char after another
for (int i = 0; i < glyphCount; i++)
{
- // Copy pixel data from fc.data to atlas
- for (int y = 0; y < chars[i].image.height; y++)
- {
- for (int x = 0; x < chars[i].image.width; x++)
- {
- ((unsigned char *)atlas.data)[(offsetY + y)*atlas.width + (offsetX + x)] = ((unsigned char *)chars[i].image.data)[y*chars[i].image.width + x];
- }
- }
-
- // Fill chars rectangles in atlas info
- recs[i].x = (float)offsetX;
- recs[i].y = (float)offsetY;
- recs[i].width = (float)chars[i].image.width;
- recs[i].height = (float)chars[i].image.height;
-
- // Move atlas position X for next character drawing
- offsetX += (chars[i].image.width + 2*padding);
-
+ // Check remaining space for glyph
if (offsetX >= (atlas.width - chars[i].image.width - 2*padding))
{
offsetX = padding;
@@ -766,6 +749,24 @@ Image GenImageFontAtlas(const GlyphInfo *chars, Rectangle **charRecs, int glyphC
break;
}
}
+
+ // Copy pixel data from fc.data to atlas
+ for (int y = 0; y < chars[i].image.height; y++)
+ {
+ for (int x = 0; x < chars[i].image.width; x++)
+ {
+ ((unsigned char *)atlas.data)[(offsetY + y)*atlas.width + (offsetX + x)] = ((unsigned char *)chars[i].image.data)[y*chars[i].image.width + x];
+ }
+ }
+
+ // Fill chars rectangles in atlas info
+ recs[i].x = (float)offsetX;
+ recs[i].y = (float)offsetY;
+ recs[i].width = (float)chars[i].image.width;
+ recs[i].height = (float)chars[i].image.height;
+
+ // Move atlas position X for next character drawing
+ offsetX += (chars[i].image.width + 2*padding);
}
}
else if (packMethod == 1) // Use Skyline rect packing algorithm (stb_pack_rect)