From af1e32426c50694c0e4c1c292aa5eeee3b38c7bc Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Mon, 17 Mar 2014 10:35:35 +0100 Subject: Add public and QPA APIs for adapting existing OpenGL contexts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For now only xcb on GLX is supported. Other platforms will follow later. Add also some missing documentation for the platform OpenGL context factory functions. [ChangeLog] QOpenGLContext is now able to adopt existing native contexts. Task-number: QTBUG-37552 Change-Id: I5dd959f102df178f646b2df5989203b5dc6de376 Reviewed-by: Jørgen Lind --- src/platformheaders/doc/src/qtplatformheaders.qdoc | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 src/platformheaders/doc/src/qtplatformheaders.qdoc (limited to 'src/platformheaders/doc/src') diff --git a/src/platformheaders/doc/src/qtplatformheaders.qdoc b/src/platformheaders/doc/src/qtplatformheaders.qdoc new file mode 100644 index 0000000000..4ed740d296 --- /dev/null +++ b/src/platformheaders/doc/src/qtplatformheaders.qdoc @@ -0,0 +1,68 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** 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 Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: http://www.gnu.org/copyleft/fdl.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \module QtPlatformHeaders + \title Qt Platform Headers C++ Classes + \ingroup modules + + \brief The Qt Platform Headers module offers header-only inline classes that + encapsulate platform-specific information that is tied to a given runtime + configuration of a platform plugin. +*/ + +/*! + \page qtplatformheaders-index.html + \title Qt Platform Headers + + \brief The Qt Platform Headers module offers header-only inline classes that + encapsulate platform-specific information that is tied to a given runtime + configuration of a platform plugin. + + Some applications may need to interface Qt with other frameworks. This often + means using graphics contexts or other types of native handles created by + one framework with another. For example, on some platforms, QOpenGLContext + offers the ability to wrap an existing native OpenGL context, instead of + creating a new one. This existing native context can be created by some + other third-party code. + + The type of such native handles is highly platform specific and in some + cases the platform plugin will need more information to adopt a handle, just + the handle in itself will not be sufficient. Therefore the public API + consists of functions taking or returning a QVariant that contains a + platform-specific value type. See for example + QOpenGLContext::setNativeHandle() and QOpenGLContext::nativeHandle(). When + running on Linux/X11, using the xcb platform plugin and the GLX windowing + system interface, the variant contains a QGLXNativeContext. On other + platforms a different class will be used. These classes are all placed in + the Qt Platform Headers module. + + \note Similar to the other QPA APIs, there are no binary compatibility + guarantees for these classes, meaning that an application using these + classes is only guaranteed to work with the Qt version it was developed + against. Unlike QPA however, source compatibility is guaranteed. + */ -- cgit v1.2.3