EGLFS и ротация приложения QT5 под Linux
От имени моего коллеги я хотел бы спросить, можно ли повернуть все окно приложения QT5 (QT 5.6.1-1). Мы используем EGLFS в качестве бэкэнда на платформе Sitara TI AM335X, работающей с кадровым буфером Linux.
Текущая ситуация такова: у нас есть приложение, которое обычно поворачивается на 90 градусов с точки зрения конечного пользователя. В качестве временного решения мой коллега (разработчик этого приложения) вращает каждый элемент в этом окне, чтобы добиться надлежащего визуального эффекта. К сожалению, это вращение занимает много времени процессора.
У меня вопрос - можно ли повернуть все окно по часовой стрелке? Я имею в виду, возможно ли сделать это на уровне EGLFS или QT5, не поворачивая каждый элемент в окне?
Я пытался поменять xy размеры экрана (800x480), но безуспешно. Я также изучил исходные тексты драйверов ядра Linux и не вижу возможности повернуть весь экран. Я думал о создании какого-то другого буфера в памяти, из которого я мог бы копировать данные с вращением в целевую память, но я не уверен, что это хорошая идея.
Есть идеи?
2 ответа
Установить QT_QPA_EGLFS_ROTATION
переменная среды для 90
или же -90
, Смотрите документацию.
Вращение на платформе EGLFS было связано с ошибкой QTBUG-39959 до версии 5.7.x, поэтому переменная вращения игнорировалась.
Ошибка исправлена с версии 5.8.