本文整理汇总了C++中QScreen::primaryOrientation方法的典型用法代码示例。如果您正苦于以下问题:C++ QScreen::primaryOrientation方法的具体用法?C++ QScreen::primaryOrientation怎么用?C++ QScreen::primaryOrientation使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QScreen
的用法示例。
在下文中一共展示了QScreen::primaryOrientation方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setWindowState
void QWaylandWindow::setWindowState(Qt::WindowState state)
{
if (state == Qt::WindowFullScreen || state == Qt::WindowMaximized) {
QScreen *screen = window()->screen();
QRect geometry = screen->mapBetween(window()->windowOrientation(), screen->primaryOrientation(), screen->geometry());
setGeometry(geometry);
QWindowSystemInterface::handleGeometryChange(window(), geometry);
}
}
示例2: surface_set_buffer_transform
void Surface::surface_set_buffer_transform(Resource *resource, int32_t orientation)
{
Q_UNUSED(resource);
QScreen *screen = QGuiApplication::primaryScreen();
bool isPortrait = screen->primaryOrientation() == Qt::PortraitOrientation;
Qt::ScreenOrientation oldOrientation = m_contentOrientation;
switch (orientation) {
case WL_OUTPUT_TRANSFORM_90:
m_contentOrientation = isPortrait ? Qt::InvertedLandscapeOrientation : Qt::PortraitOrientation;
break;
case WL_OUTPUT_TRANSFORM_180:
m_contentOrientation = isPortrait ? Qt::InvertedPortraitOrientation : Qt::InvertedLandscapeOrientation;
break;
case WL_OUTPUT_TRANSFORM_270:
m_contentOrientation = isPortrait ? Qt::LandscapeOrientation : Qt::InvertedPortraitOrientation;
break;
default:
m_contentOrientation = Qt::PrimaryOrientation;
}
if (m_contentOrientation != oldOrientation)
emit waylandSurface()->contentOrientationChanged();
}
示例3: eventFilter
bool ReticleHandler::eventFilter(QObject *, QEvent *event)
{
static bool show = true;
switch (event->type()) {
case QEvent::TouchBegin:
show = true;
break;
case QEvent::TouchUpdate:
show = false;
break;
case QEvent::TouchCancel:
show = false;
break;
case QEvent::TouchEnd:
{
if (show) {
QTouchEvent *touchEvent = static_cast<QTouchEvent *>(event);
const QTouchEvent::TouchPoint &touchPoint = touchEvent->touchPoints().first();
QPointF fpoint = touchPoint.pos();
int x = static_cast<int>(fpoint.x());
int y = static_cast<int>(fpoint.y());
QScreen *primaryScreen = QGuiApplication::primaryScreen();
QTransform lOrientationTranform = primaryScreen->transformBetween(primaryScreen->orientation(), primaryScreen->primaryOrientation(), primaryScreen->geometry()).inverted();
emit reticleEvent(lOrientationTranform.map(QPoint(x,y)));
};
show = false;
}
break;
}
return false;
}