Launcher: Fix checkboxes in settings menu not being aligned when not using Arial font (Thanks 123DMWM)

This commit is contained in:
UnknownShadow200 2022-04-03 12:26:21 +10:00
parent aa90b53168
commit 76dcdf6e5a
4 changed files with 17 additions and 12 deletions

View File

@ -30,7 +30,7 @@ static int xBorder, xBorder2, xBorder3, xBorder4;
static int yBorder, yBorder2, yBorder3, yBorder4;
static int xInputOffset, yInputOffset;
void LBackend_CalcOffsets(void) {
void LBackend_Init(void) {
xBorder = Display_ScaleX(1); xBorder2 = xBorder * 2; xBorder3 = xBorder * 3; xBorder4 = xBorder * 4;
yBorder = Display_ScaleY(1); yBorder2 = yBorder * 2; yBorder3 = yBorder * 3; yBorder4 = yBorder * 4;
@ -54,6 +54,8 @@ static void DrawBoxBounds(BitmapCol col, int x, int y, int width, int height) {
}
void LBackend_WidgetRepositioned(struct LWidget* w) { }
void LBackend_SetScreen(struct LScreen* s) { }
void LBackend_CloseScreen(struct LScreen* s) { }
/*########################################################################################################################*

View File

@ -5,6 +5,7 @@
Copyright 2014-2021 ClassiCube | Licensed under BSD-3
*/
struct Bitmap;
struct LScreen;
struct LWidget;
struct LButton;
struct LCheckbox;
@ -13,8 +14,10 @@ struct LLabel;
struct LLine;
struct LSlider;
void LBackend_CalcOffsets(void);
void LBackend_Init(void);
void LBackend_WidgetRepositioned(struct LWidget* w);
void LBackend_SetScreen(struct LScreen* s);
void LBackend_CloseScreen(struct LScreen* s);
void LBackend_InitButton(struct LButton* w, int width, int height);
void LBackend_UpdateButton(struct LButton* w);

View File

@ -1610,12 +1610,8 @@ static void SettingsScreen_Layout(struct LScreen* s_) {
LWidget_SetLocation(&s->lblColours, ANCHOR_CENTRE_MIN, ANCHOR_CENTRE, -70, -20);
LWidget_SetLocation(&s->sep, ANCHOR_CENTRE, ANCHOR_CENTRE, 0, 15);
#if defined CC_BUILD_MOBILE
LWidget_SetLocation(&s->cbExtra, ANCHOR_CENTRE, ANCHOR_CENTRE, -100, 44);
#else
LWidget_SetLocation(&s->cbExtra, ANCHOR_CENTRE, ANCHOR_CENTRE, -58, 44);
#endif
LWidget_SetLocation(&s->cbEmpty, ANCHOR_CENTRE, ANCHOR_CENTRE, -63, 84);
LWidget_SetLocation(&s->cbExtra, ANCHOR_CENTRE_MIN, ANCHOR_CENTRE, -190, 44);
LWidget_SetLocation(&s->cbEmpty, ANCHOR_CENTRE_MIN, ANCHOR_CENTRE, -190, 84);
LWidget_SetLocation(&s->btnBack, ANCHOR_CENTRE, ANCHOR_CENTRE, 0, 170);
}

View File

@ -43,7 +43,10 @@ static struct Bitmap dirtBmp, stoneBmp;
static void CloseActiveScreen(void) {
Window_CloseKeyboard();
if (activeScreen) activeScreen->Free(activeScreen);
if (!activeScreen) return;
activeScreen->Free(activeScreen);
LBackend_CloseScreen(activeScreen);
}
void Launcher_SetScreen(struct LScreen* screen) {
@ -59,6 +62,7 @@ void Launcher_SetScreen(struct LScreen* screen) {
screen->MouseMove(screen, i);
}
LBackend_SetScreen(screen);
Launcher_Redraw();
}
@ -290,7 +294,7 @@ void Launcher_Run(void) {
Window_SetTitle(&title);
Window_Show();
LWidget_CalcOffsets();
LBackend_CalcOffsets();
LBackend_Init();
#ifdef CC_BUILD_WIN
/* clean leftover exe from updating */