243
245
, m_session(session)
244
246
, m_firstFrameDrawn(false)
248
, m_orientation(Qt::PortraitOrientation)
246
249
, m_textureProvider(nullptr)
247
250
, m_lastTouchEvent(nullptr)
349
352
return static_cast<MirSurfaceItem::State>(m_surface->state());
355
Qt::ScreenOrientation MirSurfaceItem::orientation() const
357
return m_orientation;
360
void MirSurfaceItem::setOrientation(const Qt::ScreenOrientation orientation)
362
qCDebug(QTMIR_SURFACES) << "MirSurfaceItem::setOrientation - orientation=" << orientation;
364
if (m_orientation == orientation)
367
MirOrientation mirOrientation;
368
Qt::ScreenOrientation nativeOrientation = QGuiApplication::primaryScreen()->nativeOrientation();
369
const bool landscapeNativeOrientation = (nativeOrientation == Qt::LandscapeOrientation);
371
Qt::ScreenOrientation requestedOrientation = orientation;
372
if (orientation == Qt::PrimaryOrientation) { // means orientation equals native orientation, set it as such
373
requestedOrientation = nativeOrientation;
376
switch(requestedOrientation) {
377
case Qt::PortraitOrientation:
378
mirOrientation = (landscapeNativeOrientation) ? mir_orientation_right : mir_orientation_normal;
380
case Qt::LandscapeOrientation:
381
mirOrientation = (landscapeNativeOrientation) ? mir_orientation_normal : mir_orientation_left;
383
case Qt::InvertedPortraitOrientation:
384
mirOrientation = (landscapeNativeOrientation) ? mir_orientation_left : mir_orientation_inverted;
386
case Qt::InvertedLandscapeOrientation:
387
mirOrientation = (landscapeNativeOrientation) ? mir_orientation_inverted : mir_orientation_right;
390
qWarning("Unrecognized Qt::ScreenOrientation!");
394
m_surface->set_orientation(mirOrientation);
396
m_orientation = orientation;
397
Q_EMIT orientationChanged();
352
400
QString MirSurfaceItem::name() const
354
402
//FIXME - how to listen to change in this property?