本文整理汇总了C++中QWaylandSurface::windowType方法的典型用法代码示例。如果您正苦于以下问题:C++ QWaylandSurface::windowType方法的具体用法?C++ QWaylandSurface::windowType怎么用?C++ QWaylandSurface::windowType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QWaylandSurface
的用法示例。
在下文中一共展示了QWaylandSurface::windowType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: surfaceMapped
void QtWaylandMotorcarCompositor::surfaceMapped()
{
QWaylandSurface *surface = qobject_cast<QWaylandSurface *>(sender());
std::cout << "mapped surface: " << surface << std::endl;
QPoint pos;
//if (!m_surfaces.contains(surface)) {
//surface->setPos(QPoint(0, 0));
if (surface->hasShellSurface()) {
motorcar::WaylandSurface::SurfaceType surfaceType;
int type = static_cast<int>(surface->windowType());
float popupZOffset = 0.05;
if(type == QWaylandSurface::WindowType::Toplevel) {
surfaceType = motorcar::WaylandSurface::SurfaceType::TOPLEVEL;
} else if(type == QWaylandSurface::WindowType::Popup) {
surfaceType = motorcar::WaylandSurface::SurfaceType::POPUP;
} else if(type == QWaylandSurface::WindowType::Transient) {
surfaceType = motorcar::WaylandSurface::SurfaceType::TRANSIENT;
} else {
surfaceType = motorcar::WaylandSurface::SurfaceType::NA;
}
QtWaylandMotorcarSurface *motorsurface = this->getMotorcarSurface(surface);
if(motorsurface == NULL) {
//if it is not present for some weird reason just go ahead and create it for good measure
std::cout << "Warning: qwaylandsurface was mapped but motorcar surface does not exist yet, creating now" <<std::endl;
// surfaceCreated(surface);
// surfaceNode = this->getSurfaceNode(surface);
motorsurface = new QtWaylandMotorcarSurface(surface, this, motorcar::WaylandSurface::SurfaceType::NA);
m_surfaceMap.insert(std::pair<QWaylandSurface *, QtWaylandMotorcarSurface *>(surface, motorsurface));
}
// if((motorsurface->type() == motorcar::WaylandSurface::SurfaceType::CUBOID ||
// motorsurface->type() == motorcar::WaylandSurface::SurfaceType::PORTAL)
// && surfaceType == motorcar::WaylandSurface::SurfaceType::TOPLEVEL){
// std::cout << "Warning: ignoring request to remap a 3D surface to a top level surface " <<std::endl;
// }else{
this->scene()->windowManager()->mapSurface(motorsurface, surfaceType);
// }
//defaultInputDevice()->setKeyboardFocus(surface);
}
//m_renderScheduler.start(0);
}