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 yBorder, yBorder2, yBorder3, yBorder4;
static int xInputOffset, yInputOffset; 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; 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; 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_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 Copyright 2014-2021 ClassiCube | Licensed under BSD-3
*/ */
struct Bitmap; struct Bitmap;
struct LScreen;
struct LWidget; struct LWidget;
struct LButton; struct LButton;
struct LCheckbox; struct LCheckbox;
@ -13,8 +14,10 @@ struct LLabel;
struct LLine; struct LLine;
struct LSlider; struct LSlider;
void LBackend_CalcOffsets(void); void LBackend_Init(void);
void LBackend_WidgetRepositioned(struct LWidget* w); 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_InitButton(struct LButton* w, int width, int height);
void LBackend_UpdateButton(struct LButton* w); void LBackend_UpdateButton(struct LButton* w);

View File

@ -1609,15 +1609,11 @@ static void SettingsScreen_Layout(struct LScreen* s_) {
LWidget_SetLocation(&s->btnColours, ANCHOR_CENTRE, ANCHOR_CENTRE, -135, -20); LWidget_SetLocation(&s->btnColours, ANCHOR_CENTRE, ANCHOR_CENTRE, -135, -20);
LWidget_SetLocation(&s->lblColours, ANCHOR_CENTRE_MIN, ANCHOR_CENTRE, -70, -20); LWidget_SetLocation(&s->lblColours, ANCHOR_CENTRE_MIN, ANCHOR_CENTRE, -70, -20);
LWidget_SetLocation(&s->sep, ANCHOR_CENTRE, ANCHOR_CENTRE, 0, 15); LWidget_SetLocation(&s->sep, ANCHOR_CENTRE, ANCHOR_CENTRE, 0, 15);
#if defined CC_BUILD_MOBILE LWidget_SetLocation(&s->cbExtra, ANCHOR_CENTRE_MIN, ANCHOR_CENTRE, -190, 44);
LWidget_SetLocation(&s->cbExtra, ANCHOR_CENTRE, ANCHOR_CENTRE, -100, 44); LWidget_SetLocation(&s->cbEmpty, ANCHOR_CENTRE_MIN, ANCHOR_CENTRE, -190, 84);
#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->btnBack, ANCHOR_CENTRE, ANCHOR_CENTRE, 0, 170); LWidget_SetLocation(&s->btnBack, ANCHOR_CENTRE, ANCHOR_CENTRE, 0, 170);
} }
void SettingsScreen_SetActive(void) { void SettingsScreen_SetActive(void) {

View File

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