Геометрия экрана, транспонированная под Weston с преобразованием fbdev = 90 в Qt 5.9

У меня есть встроенное устройство, где я использую Qt 5.9 и Weston. Вестон должен использовать бэкэнд fbdev (причины выходят за рамки) и потребности

transform=90

в его разделе вывода, в противном случае экран поворачивается. Он работает нормально, но я не могу получить более качественный размер экрана в Qt. Для запуска моего приложения в полноэкранном режиме в Qt 5.8 я использовал:

auto geometry = QGuiApplication::screens().first()->geometry();
view.setGeometry(geometry);

и это было нормально. С Qt 5.9 экран сообщает о его транспонированном размере, поэтому мне придется использовать

auto geometry = QGuiApplication::screens().first()->geometry();
geometry = geometry.transposed();
view.setGeometry(geometry);

Это снова работает нормально, но приложение больше не является переносимым. Я использую его и на других платформах, все работают без корректной работы без транспонирования.

Глядя в журнал Weston, я вижу

fbdev output 480×854 px

что соответствует тому, что я сейчас получаю в Qt. Но как правильно обнаружить вращение, вызванное transform=90?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]