diff options
Diffstat (limited to 'src/quick/items/qquickopenglinfo.cpp')
-rw-r--r-- | src/quick/items/qquickopenglinfo.cpp | 204 |
1 files changed, 0 insertions, 204 deletions
diff --git a/src/quick/items/qquickopenglinfo.cpp b/src/quick/items/qquickopenglinfo.cpp deleted file mode 100644 index 3e634725f4..0000000000 --- a/src/quick/items/qquickopenglinfo.cpp +++ /dev/null @@ -1,204 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 BlackBerry Ltd. -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtQuick module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qquickopenglinfo_p.h" -#include "qopenglcontext.h" -#include "qquickwindow.h" -#include "qquickitem.h" - -QT_BEGIN_NAMESPACE - -/*! - \qmltype OpenGLInfo - \instantiates QQuickOpenGLInfo - \inqmlmodule QtQuick - \ingroup qtquick-effects - \since 5.4 - \brief Provides information about the used OpenGL version. - - The OpenGLInfo attached type provides information about the OpenGL - version being used to render the surface of the attachee item. - - If the attachee item is not currently associated with any graphical - surface, the properties are set to the values of the default surface - format. When it becomes associated with a surface, all properties - will update. - - \deprecated - - \warning This type is deprecated. Use GraphicsInfo instead. - - \sa ShaderEffect - */ -QQuickOpenGLInfo::QQuickOpenGLInfo(QQuickItem *item) - : QObject(item) - , m_window(nullptr) - , m_majorVersion(2) - , m_minorVersion(0) - , m_profile(NoProfile) - , m_renderableType(Unspecified) -{ - connect(item, SIGNAL(windowChanged(QQuickWindow*)), this, SLOT(setWindow(QQuickWindow*))); - setWindow(item->window()); -} - -/*! - \qmlproperty int QtQuick::OpenGLInfo::majorVersion - - This property holds the major OpenGL version. - - The default version is \c 2.0. - - \sa minorVersion, profile - */ -int QQuickOpenGLInfo::majorVersion() const -{ - return m_majorVersion; -} - -/*! - \qmlproperty int QtQuick::OpenGLInfo::minorVersion - - This property holds the minor OpenGL version. - - The default version is \c 2.0. - - \sa majorVersion, profile - */ -int QQuickOpenGLInfo::minorVersion() const -{ - return m_minorVersion; -} - -/*! - \qmlproperty enumeration QtQuick::OpenGLInfo::profile - - This property holds the configured OpenGL context profile. - - The possible values are: - \list - \li OpenGLInfo.NoProfile (default) - OpenGL version is lower than 3.2. - \li OpenGLInfo.CoreProfile - Functionality deprecated in OpenGL version 3.0 is not available. - \li OpenGLInfo.CompatibilityProfile - Functionality from earlier OpenGL versions is available. - \endlist - - Reusable QML components will typically use this property in bindings in order to - choose between core and non core profile compatible shader sources. - - \sa majorVersion, minorVersion - */ -QQuickOpenGLInfo::ContextProfile QQuickOpenGLInfo::profile() const -{ - return m_profile; -} - -/*! - \qmlproperty enumeration QtQuick::OpenGLInfo::renderableType - - This property holds the renderable type. - - The possible values are: - \list - \li OpenGLInfo.Unspecified (default) - Unspecified rendering method - \li OpenGLInfo.OpenGL - Desktop OpenGL rendering - \li OpenGLInfo.OpenGLES - OpenGL ES rendering - \endlist - */ -QQuickOpenGLInfo::RenderableType QQuickOpenGLInfo::renderableType() const -{ - return m_renderableType; -} - -QQuickOpenGLInfo *QQuickOpenGLInfo::qmlAttachedProperties(QObject *object) -{ - if (QQuickItem *item = qobject_cast<QQuickItem *>(object)) - return new QQuickOpenGLInfo(item); - return nullptr; -} - -void QQuickOpenGLInfo::updateFormat() -{ - QOpenGLContext *context = nullptr; - if (m_window) - context = m_window->openglContext(); - QSurfaceFormat format = context ? context->format() : QSurfaceFormat::defaultFormat(); - - if (m_majorVersion != format.majorVersion()) { - m_majorVersion = format.majorVersion(); - emit majorVersionChanged(); - } - - if (m_minorVersion != format.minorVersion()) { - m_minorVersion = format.minorVersion(); - emit minorVersionChanged(); - } - - ContextProfile profile = static_cast<ContextProfile>(format.profile()); - if (m_profile != profile) { - m_profile = profile; - emit profileChanged(); - } - - RenderableType renderableType = static_cast<RenderableType>(format.renderableType()); - if (m_renderableType != renderableType) { - m_renderableType = renderableType; - emit renderableTypeChanged(); - } -} - -void QQuickOpenGLInfo::setWindow(QQuickWindow *window) -{ - if (m_window != window) { - if (m_window) { - disconnect(m_window, SIGNAL(sceneGraphInitialized()), this, SLOT(updateFormat())); - disconnect(m_window, SIGNAL(sceneGraphInvalidated()), this, SLOT(updateFormat())); - } - if (window) { - connect(window, SIGNAL(sceneGraphInitialized()), this, SLOT(updateFormat())); - connect(window, SIGNAL(sceneGraphInvalidated()), this, SLOT(updateFormat())); - } - m_window = window; - } - updateFormat(); -} - -QT_END_NAMESPACE - -#include "moc_qquickopenglinfo_p.cpp" |