本文整理汇总了C++中QWaylandSurface::surfaceItem方法的典型用法代码示例。如果您正苦于以下问题:C++ QWaylandSurface::surfaceItem方法的具体用法?C++ QWaylandSurface::surfaceItem怎么用?C++ QWaylandSurface::surfaceItem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QWaylandSurface
的用法示例。
在下文中一共展示了QWaylandSurface::surfaceItem方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: surfaceMapped
void LipstickCompositor::surfaceMapped()
{
QWaylandSurface *surface = qobject_cast<QWaylandSurface *>(sender());
//Ignore surface if it's not a window surface
if (!surface->hasShellSurface())
return;
QVariantMap properties = surface->windowProperties();
QString category = properties.value("CATEGORY").toString();
if (surface->surfaceItem())
return;
// The surface was mapped for the first time
int id = m_nextWindowId++;
LipstickCompositorWindow *item = new LipstickCompositorWindow(id, category, surface, contentItem());
item->setSize(surface->size());
QObject::connect(item, SIGNAL(destroyed(QObject*)), this, SLOT(windowDestroyed()));
m_totalWindowCount++;
m_mappedSurfaces.insert(id, item);
item->setTouchEventsEnabled(true);
emit windowCountChanged();
emit windowAdded(item);
windowAdded(id);
emit availableWinIdsChanged();
}
示例2: windowPropertyChanged
void LipstickCompositor::windowPropertyChanged(const QString &property)
{
QWaylandSurface *surface = qobject_cast<QWaylandSurface *>(sender());
if (debug())
qDebug() << "Window properties changed:" << surface << surface->windowProperties();
if (property == QLatin1String("MOUSE_REGION")) {
LipstickCompositorWindow *window = static_cast<LipstickCompositorWindow *>(surface->surfaceItem());
if (window)
window->refreshMouseRegion();
} else if (property == QLatin1String("GRABBED_KEYS")) {
LipstickCompositorWindow *window = static_cast<LipstickCompositorWindow *>(surface->surfaceItem());
if (window)
window->refreshGrabbedKeys();
}
}
示例3: surfaceSizeChanged
void LipstickCompositor::surfaceSizeChanged()
{
QWaylandSurface *surface = qobject_cast<QWaylandSurface *>(sender());
LipstickCompositorWindow *window = static_cast<LipstickCompositorWindow *>(surface->surfaceItem());
if (window)
window->setSize(surface->size());
}
示例4: surfaceLowered
void LipstickCompositor::surfaceLowered()
{
QWaylandSurface *surface = qobject_cast<QWaylandSurface *>(sender());
LipstickCompositorWindow *window = static_cast<LipstickCompositorWindow *>(surface->surfaceItem());
if (window) {
emit windowLowered(window);
}
}
示例5: surfaceUnmapped
void SystemCompositor::surfaceUnmapped()
{
// Set to 0 the current surface if it was unmapped
QWaylandSurface *surface = qobject_cast<QWaylandSurface *>(sender());
if (surface == m_currentSurface)
m_currentSurface = 0;
// Announce this window was destroyed
QQuickItem *item = surface->surfaceItem();
emit windowDestroyed(QVariant::fromValue(item));
}
示例6: surfaceDestroyed
void SystemCompositor::surfaceDestroyed(QObject *object)
{
// Set to 0 the current surface if it was destroyed
QWaylandSurface *surface = static_cast<QWaylandSurface *>(object);
if (surface == m_currentSurface)
m_currentSurface = 0;
// Announce this window was destroyed
QQuickItem *item = surface->surfaceItem();
if (item)
emit windowDestroyed(QVariant::fromValue(item));
}
示例7: surfaceTitleChanged
void LipstickCompositor::surfaceTitleChanged()
{
QWaylandSurface *surface = qobject_cast<QWaylandSurface *>(sender());
LipstickCompositorWindow *window = static_cast<LipstickCompositorWindow *>(surface->surfaceItem());
if (window) {
emit window->titleChanged();
int windowId = window->windowId();
for (int ii = 0; ii < m_windowModels.count(); ++ii)
m_windowModels.at(ii)->titleChanged(windowId);
}
}
示例8: screensaver_set_surface
void ScreenSaver::screensaver_set_surface(Resource *resource,
struct ::wl_resource *output_resource,
struct ::wl_resource *surface_resource)
{
Q_UNUSED(resource);
Q_UNUSED(output_resource);
QWaylandSurface *surface =
QtWayland::Surface::fromResource(surface_resource)->waylandSurface();
// TODO: As soon as QtCompositor handles outputs we need to center on output
QWaylandSurfaceItem *item = surface->surfaceItem();
if (item)
item->setZ(100000);
Q_EMIT m_compositor->fadeIn();
}
示例9: surfaceMapped
void SystemCompositor::surfaceMapped()
{
QWaylandSurface *surface = qobject_cast<QWaylandSurface *>(sender());
//A surface without a shell surface is not a window
if (!surface->hasShellSurface())
return;
QWaylandSurfaceItem *item = surface->surfaceItem();
// Create a QWaylandSurfaceItem from the surface
if (!item) {
item = new QWaylandSurfaceItem(surface, rootObject());
item->setClientRenderingEnabled(true);
item->setTouchEventsEnabled(true);
}
// Surface items gain focus right after they were mapped
item->takeFocus();
// Announce a window was added
emit windowAdded(QVariant::fromValue(static_cast<QQuickItem *>(item)));
}