From 23f9194b2771e5ae2488a36a242fc22de67b400c Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Mon, 7 Dec 2020 20:37:51 +1100 Subject: [PATCH] Disable the padding at end of bitmapped drawn text by default --- src/Drawer2D.c | 3 +-- src/Drawer2D.h | 2 +- src/Menus.c | 2 +- src/Screens.c | 8 ++++---- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/Drawer2D.c b/src/Drawer2D.c index 880e4e504..d6e7eb238 100644 --- a/src/Drawer2D.c +++ b/src/Drawer2D.c @@ -543,9 +543,8 @@ static int MeasureBitmappedWidth(const struct DrawTextArgs* args) { width += Drawer2D_Width(point, c) + xPadding; } - /* TODO: this should be always done? */ /* Remove padding at end */ - if (width && (args->font->flags & FONT_FLAGS_NOPADDING)) width -= xPadding; + if (width && !(args->font->flags & FONT_FLAGS_PADDING)) width -= xPadding; if (args->useShadow) { width += Drawer2D_ShadowOffset(point); } return width; diff --git a/src/Drawer2D.h b/src/Drawer2D.h index 7b867e3de..e87f041a9 100644 --- a/src/Drawer2D.h +++ b/src/Drawer2D.h @@ -7,7 +7,7 @@ Copyright 2014-2020 ClassiCube | Licensed under BSD-3 */ -enum FONT_FLAGS { FONT_FLAGS_NONE = 0x00, FONT_FLAGS_BOLD = 0x01, FONT_FLAGS_UNDERLINE = 0x02, FONT_FLAGS_NOPADDING = 0x04 }; +enum FONT_FLAGS { FONT_FLAGS_NONE = 0x00, FONT_FLAGS_BOLD = 0x01, FONT_FLAGS_UNDERLINE = 0x02, FONT_FLAGS_PADDING = 0x04 }; struct FontDesc { void* handle; cc_uint16 size, flags; int height; }; struct DrawTextArgs { cc_string text; struct FontDesc* font; cc_bool useShadow; }; struct Texture; diff --git a/src/Menus.c b/src/Menus.c index 6acc133a2..fedf251ce 100644 --- a/src/Menus.c +++ b/src/Menus.c @@ -3181,7 +3181,7 @@ static void TexIdsOverlay_ContextRecreated(void* screen) { struct FontDesc textFont, titleFont; Screen_CreateVb(screen); - Drawer2D_MakeFont(&textFont, 8, FONT_FLAGS_NONE); + Drawer2D_MakeFont(&textFont, 8, FONT_FLAGS_PADDING); Font_SetPadding(&textFont, 1); TextAtlas_Make(&s->idAtlas, &chars, &textFont, &prefix); Font_Free(&textFont); diff --git a/src/Screens.c b/src/Screens.c index dd35df9b3..1030f0766 100644 --- a/src/Screens.c +++ b/src/Screens.c @@ -192,7 +192,7 @@ static void HUDScreen_ContextRecreated(void* screen) { struct TextWidget* line1 = &s->line1; struct TextWidget* line2 = &s->line2; - Drawer2D_MakeFont(&s->font, 16, FONT_FLAGS_NONE); + Drawer2D_MakeFont(&s->font, 16, FONT_FLAGS_PADDING); Font_SetPadding(&s->font, 2); HotbarWidget_SetFont(&s->hotbar, &s->font); @@ -643,7 +643,7 @@ static void TabListOverlay_ContextRecreated(void* screen) { int size, id; size = Drawer2D_BitmappedText ? 16 : 11; - Drawer2D_MakeFont(&s->font, size, FONT_FLAGS_NONE); + Drawer2D_MakeFont(&s->font, size, FONT_FLAGS_PADDING); s->namesCount = 0; TextWidget_SetConst(&s->title, "Connected players:", &s->font); @@ -802,7 +802,7 @@ static cc_bool ChatScreen_ChatUpdateFont(struct ChatScreen* s) { /* TODO: Add function for this, don't use Display_ScaleY (Drawer2D_SameFontSize ??) */ if (Display_ScaleY(size) == s->chatFont.size) return false; ChatScreen_FreeChatFonts(s); - Drawer2D_MakeFont(&s->chatFont, size, FONT_FLAGS_NONE); + Drawer2D_MakeFont(&s->chatFont, size, FONT_FLAGS_PADDING); size = (int)(16 * Gui_GetChatScale()); Math_Clamp(size, 8, 60); @@ -2040,7 +2040,7 @@ static void TouchScreen_ContextRecreated(void* screen) { const struct TouchButtonDesc* desc; int i; Screen_CreateVb(screen); - Drawer2D_MakeFont(&s->font, 16, FONT_FLAGS_BOLD | FONT_FLAGS_NOPADDING); + Drawer2D_MakeFont(&s->font, 16, FONT_FLAGS_BOLD); for (i = 0; i < s->numOnscreen; i++) { desc = s->onscreenDescs[i];