예제 #1
0
QPlatformCursor *QEglFSKmsEglDeviceIntegration::createCursor(QPlatformScreen *screen) const
{
#if QT_CONFIG(opengl)
    if (screenConfig()->separateScreens())
        return  new QEglFSCursor(screen);
#endif
    return nullptr;
}
예제 #2
0
QPlatformScreen *QEglFSKmsEglDevice::createScreen(const QKmsOutput &output)
{
    QEglFSKmsScreen *screen = new QEglFSKmsEglDeviceScreen(this, output);
#if QT_CONFIG(opengl)
    if (!m_globalCursor && !screenConfig()->separateScreens()) {
        qCDebug(qLcEglfsKmsDebug, "Creating new global mouse cursor");
        m_globalCursor = new QEglFSCursor(screen);
    }
#endif
    return screen;
}
예제 #3
0
QKmsDevice *QEglFSKmsEglDeviceIntegration::createDevice()
{
    if (Q_UNLIKELY(!query_egl_device()))
        qFatal("Could not set up EGL device!");

    const char *deviceName = m_funcs->query_device_string(m_egl_device, EGL_DRM_DEVICE_FILE_EXT);
    if (Q_UNLIKELY(!deviceName))
        qFatal("Failed to query device name from EGLDevice");

    return new QEglFSKmsEglDevice(this, screenConfig(), deviceName);
}