Always make sure emulator is not off-screen when resizing

This commit is contained in:
Cacodemon345
2025-03-26 02:08:12 +06:00
parent 556aca0b4e
commit ce820df1d1
3 changed files with 48 additions and 0 deletions

View File

@@ -798,6 +798,30 @@ MainWindow::closeEvent(QCloseEvent *event)
event->accept();
}
void
MainWindow::resizeEvent(QResizeEvent *event)
{
//qDebug() << pos().x() + event->size().width();
//qDebug() << pos().y() + event->size().height();
if (vid_resize == 1)
return;
int newX = pos().x();
int newY = pos().y();
if (((frameGeometry().x() + event->size().width() + 1) > util::screenOfWidget(this)->availableGeometry().right())) {
//move(util::screenOfWidget(this)->availableGeometry().right() - size().width() - 1, pos().y());
newX = util::screenOfWidget(this)->availableGeometry().right() - frameGeometry().width() - 1;
if (newX < 1) newX = 1;
}
if (((frameGeometry().y() + event->size().height() + 1) > util::screenOfWidget(this)->availableGeometry().bottom())) {
newY = util::screenOfWidget(this)->availableGeometry().bottom() - frameGeometry().height() - 1;
if (newY < 1) newY = 1;
}
move(newX, newY);
}
void
MainWindow::initRendererMonitorSlot(int monitor_index)
{