ui: auto scaling on resolution below 1920 x 1080 (#22842)

* ui: resizable on PC by mouse drag

* Revert "ui: resizable on PC by mouse drag"

This reverts commit 56aa8254a2.

* ui: auto scaling on resolution below 1920 x 1080

special case when on PC and screen resolution is exactly 1920 x 1080,
we don't use fixed-sized window to account for taskbar/menubar area

* Update qt_window.cc

set maximum window size

* keep SCALE

Co-authored-by: Willem Melching <willem.melching@gmail.com>
pull/22869/head
kernyan 2021-11-11 07:25:12 -05:00 committed by GitHub
parent bdaea086f8
commit 983cc14174
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 5 deletions

View File

@ -1,11 +1,16 @@
#include "selfdrive/ui/qt/qt_window.h"
void setMainWindow(QWidget *w) {
const bool wide = (QGuiApplication::primaryScreen()->size().width() >= WIDE_WIDTH) ^
(getenv("INVERT_WIDTH") != NULL);
const float scale = util::getenv("SCALE", 1.0f);
w->setFixedSize(QSize(wide ? WIDE_WIDTH : 1920, 1080) * scale);
const QSize sz = QGuiApplication::primaryScreen()->size();
if (Hardware::PC() && sz.width() <= 1920 && sz.height() <= 1080 && getenv("SCALE") == nullptr) {
w->setMinimumSize(QSize(640, 480)); // allow resize smaller than fullscreen
w->setMaximumSize(QSize(2160, 1080));
w->resize(sz);
} else {
const float scale = util::getenv("SCALE", 1.0f);
const bool wide = (sz.width() >= WIDE_WIDTH) ^ (getenv("INVERT_WIDTH") != NULL);
w->setFixedSize(QSize(wide ? WIDE_WIDTH : 1920, 1080) * scale);
}
w->show();
#ifdef QCOM2