mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Make non-formspec modal menus respect gui scale (#7850)
This commit is contained in:
parent
8ba64e43fe
commit
9519d57017
8 changed files with 106 additions and 99 deletions
|
@ -76,91 +76,90 @@ void GUIPasswordChange::regenerateGui(v2u32 screensize)
|
|||
/*
|
||||
Calculate new sizes and positions
|
||||
*/
|
||||
core::rect<s32> rect(
|
||||
screensize.X/2 - 580/2,
|
||||
screensize.Y/2 - 300/2,
|
||||
screensize.X/2 + 580/2,
|
||||
screensize.Y/2 + 300/2
|
||||
const float s = m_gui_scale;
|
||||
DesiredRect = core::rect<s32>(
|
||||
screensize.X / 2 - 580 * s / 2,
|
||||
screensize.Y / 2 - 300 * s / 2,
|
||||
screensize.X / 2 + 580 * s / 2,
|
||||
screensize.Y / 2 + 300 * s / 2
|
||||
);
|
||||
|
||||
DesiredRect = rect;
|
||||
recalculateAbsolutePosition(false);
|
||||
|
||||
v2s32 size = rect.getSize();
|
||||
v2s32 topleft_client(40, 0);
|
||||
v2s32 size = DesiredRect.getSize();
|
||||
v2s32 topleft_client(40 * s, 0);
|
||||
|
||||
const wchar_t *text;
|
||||
|
||||
/*
|
||||
Add stuff
|
||||
*/
|
||||
s32 ypos = 50;
|
||||
s32 ypos = 50 * s;
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 150, 20);
|
||||
rect += topleft_client + v2s32(25, ypos + 6);
|
||||
core::rect<s32> rect(0, 0, 150 * s, 20 * s);
|
||||
rect += topleft_client + v2s32(25 * s, ypos + 6 * s);
|
||||
text = wgettext("Old Password");
|
||||
Environment->addStaticText(text, rect, false, true, this, -1);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 230, 30);
|
||||
rect += topleft_client + v2s32(160, ypos);
|
||||
core::rect<s32> rect(0, 0, 230 * s, 30 * s);
|
||||
rect += topleft_client + v2s32(160 * s, ypos);
|
||||
gui::IGUIEditBox *e = Environment->addEditBox(
|
||||
m_oldpass.c_str(), rect, true, this, ID_oldPassword);
|
||||
Environment->setFocus(e);
|
||||
e->setPasswordBox(true);
|
||||
}
|
||||
ypos += 50;
|
||||
ypos += 50 * s;
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 150, 20);
|
||||
rect += topleft_client + v2s32(25, ypos + 6);
|
||||
core::rect<s32> rect(0, 0, 150 * s, 20 * s);
|
||||
rect += topleft_client + v2s32(25 * s, ypos + 6 * s);
|
||||
text = wgettext("New Password");
|
||||
Environment->addStaticText(text, rect, false, true, this, -1);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 230, 30);
|
||||
rect += topleft_client + v2s32(160, ypos);
|
||||
core::rect<s32> rect(0, 0, 230 * s, 30 * s);
|
||||
rect += topleft_client + v2s32(160 * s, ypos);
|
||||
gui::IGUIEditBox *e = Environment->addEditBox(
|
||||
m_newpass.c_str(), rect, true, this, ID_newPassword1);
|
||||
e->setPasswordBox(true);
|
||||
}
|
||||
ypos += 50;
|
||||
ypos += 50 * s;
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 150, 20);
|
||||
rect += topleft_client + v2s32(25, ypos + 6);
|
||||
core::rect<s32> rect(0, 0, 150 * s, 20 * s);
|
||||
rect += topleft_client + v2s32(25 * s, ypos + 6 * s);
|
||||
text = wgettext("Confirm Password");
|
||||
Environment->addStaticText(text, rect, false, true, this, -1);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 230, 30);
|
||||
rect += topleft_client + v2s32(160, ypos);
|
||||
core::rect<s32> rect(0, 0, 230 * s, 30 * s);
|
||||
rect += topleft_client + v2s32(160 * s, ypos);
|
||||
gui::IGUIEditBox *e = Environment->addEditBox(
|
||||
m_newpass_confirm.c_str(), rect, true, this, ID_newPassword2);
|
||||
e->setPasswordBox(true);
|
||||
}
|
||||
|
||||
ypos += 50;
|
||||
ypos += 50 * s;
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 100, 30);
|
||||
rect = rect + v2s32(size.X / 4 + 56, ypos);
|
||||
core::rect<s32> rect(0, 0, 100 * s, 30 * s);
|
||||
rect = rect + v2s32(size.X / 4 + 56 * s, ypos);
|
||||
text = wgettext("Change");
|
||||
Environment->addButton(rect, this, ID_change, text);
|
||||
delete[] text;
|
||||
}
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 100, 30);
|
||||
rect = rect + v2s32(size.X / 4 + 185, ypos);
|
||||
core::rect<s32> rect(0, 0, 100 * s, 30 * s);
|
||||
rect = rect + v2s32(size.X / 4 + 185 * s, ypos);
|
||||
text = wgettext("Cancel");
|
||||
Environment->addButton(rect, this, ID_cancel, text);
|
||||
delete[] text;
|
||||
}
|
||||
|
||||
ypos += 50;
|
||||
ypos += 50 * s;
|
||||
{
|
||||
core::rect<s32> rect(0, 0, 300, 20);
|
||||
rect += topleft_client + v2s32(35, ypos);
|
||||
core::rect<s32> rect(0, 0, 300 * s, 20 * s);
|
||||
rect += topleft_client + v2s32(35 * s, ypos);
|
||||
text = wgettext("Passwords do not match!");
|
||||
IGUIElement *e =
|
||||
Environment->addStaticText(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue