This change moves the snippets to the modularized directories.
Change-Id: Ifcf22fa3f234681f851d1e7eed5fe44e2e223ffd
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
--- /dev/null
+include(../../../doc/global/qt-cpp-ignore.qdocconf)
+
+project = QtOpenGL
+description = Qt OpenGL Reference Documentation
+url = http://qt-project.org/doc/qt-5.0/qtopengl
+version = 5.0.0
+
+sourceencoding = UTF-8
+outputencoding = UTF-8
+naturallanguage = en_US
+qhp.projects = QtOpenGL
+
+qhp.QtOpenGL.file = qtopengl.qhp
+qhp.QtOpenGL.namespace = org.qt-project.qtopengl.500
+qhp.QtOpenGL.virtualFolder = qdoc
+qhp.QtOpenGL.indexTitle = Qt OpenGL Reference Documentation
+qhp.QtOpenGL.indexRoot =
+
+qhp.QtOpenGL.filterAttributes = qtopengl 5.0.0 qtrefdoc
+qhp.QtOpenGL.customFilters.Qt.name = QtOpenGL 5.0.0
+qhp.QtOpenGL.customFilters.Qt.filterAttributes = qtopengl 5.0.0
+qhp.QtOpenGL.subprojects = classes overviews examples
+qhp.QtOpenGL.subprojects.classes.title = Classes
+qhp.QtOpenGL.subprojects.classes.indexTitle = Qt OpenGL's Classes
+qhp.QtOpenGL.subprojects.classes.selectors = class fake:headerfile
+qhp.QtOpenGL.subprojects.classes.sortPages = true
+qhp.QtOpenGL.subprojects.overviews.title = Overviews
+qhp.QtOpenGL.subprojects.overviews.indexTitle = All Overviews and HOWTOs
+qhp.QtOpenGL.subprojects.overviews.selectors = fake:page,group,module
+qhp.QtOpenGL.subprojects.examples.title = Qt OpenGL Examples
+qhp.QtOpenGL.subprojects.examples.indexTitle = Qt OpenGL Examples
+qhp.QtOpenGL.subprojects.examples.selectors = fake:example
+
+dita.metadata.default.author = Qt Project
+dita.metadata.default.permissions = all
+dita.metadata.default.publisher = Qt Project
+dita.metadata.default.copyryear = 2012
+dita.metadata.default.copyrholder = Nokia
+dita.metadata.default.audience = programmer
+
+sources.fileextensions = "*.c++ *.cc *.cpp *.cxx *.mm *.qml *.qdoc"
+headers.fileextensions = "*.ch *.h *.h++ *.hh *.hpp *.hxx"
+
+examples.fileextensions = "*.cpp *.h *.js *.xq *.svg *.xml *.ui *.qhp *.qhcp *.qml *.css"
+examples.imageextensions = "*.png"
+
+outputdir = ../../../doc/qtopengl
+tagfile = ../../../doc/qtopengl/qtopengl.tags
+
+HTML.generatemacrefs = "true"
+HTML.nobreadcrumbs = "true"
+
+HTML.templatedir = .
+
+HTML.stylesheets = ../../../doc/global/style/offline.css
+
+HTML.headerstyles = \
+ " <link rel=\"stylesheet\" type=\"text/css\" href=\"style/offline.css\" />\n"
+
+HTML.endheader = \
+ "</head>\n" \
+
+defines = Q_QDOC \
+ QT_.*_SUPPORT \
+ QT_.*_LIB \
+ QT_COMPAT \
+ QT_KEYPAD_NAVIGATION \
+ QT_NO_EGL \
+ Q_WS_.* \
+ Q_OS_.* \
+ Q_BYTE_ORDER \
+ QT_DEPRECATED \
+ QT_DEPRECATED_* \
+ Q_NO_USING_KEYWORD \
+ __cplusplus \
+ Q_COMPILER_INITIALIZER_LISTS
+
+versionsym = QT_VERSION_STR
+
+codeindent = 1
+
+depends += qtcore qtgui qtwidgets
+
+headerdirs += ..
+
+sourcedirs += ..
+
+exampledirs += ../../../examples \
+ ../ \
+ snippets
+
+imagedirs += images
--- /dev/null
+/****************************************************************************
+**
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+#include <QtOpenGL>
+//! [0]
--- /dev/null
+/****************************************************************************
+**
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#! [1]
+QT += opengl
+#! [1]
--- /dev/null
+/****************************************************************************
+**
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** 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.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \module QtOpenGL
+ \title QtOpenGL Module
+ \ingroup modules
+ \ingroup technology-apis
+
+ \brief The QtOpenGL module offers classes that make it easy to
+ use OpenGL in Qt applications.
+
+ OpenGL is a standard API for rendering 3D graphics. OpenGL only
+ deals with 3D rendering and provides little or no support for GUI
+ programming issues. The user interface for an OpenGL application
+ must be created with another toolkit, such as Motif on the X
+ platform, Microsoft Foundation Classes (MFC) under Windows, or Qt
+ on both platforms.
+
+ \note OpenGL is a trademark of Silicon Graphics, Inc. in
+ the United States and other countries.
+
+ The Qt OpenGL module makes it easy to use OpenGL in Qt applications.
+ It provides an OpenGL widget class that can be used just like any
+ other Qt widget, except that it opens an OpenGL display buffer where
+ you can use the OpenGL API to render the contents.
+
+ To include the definitions of the module's classes, use the
+ following directive:
+
+ \snippet code/doc_src_qtopengl.cpp 0
+
+ To link against the module, add this line to your \l qmake \c
+ .pro file:
+
+ \snippet code/doc_src_qtopengl.pro 1
+
+ The Qt OpenGL module is implemented as a platform-independent Qt/C++
+ wrapper around the platform-dependent GLX (version 1.3 or later),
+ WGL, or AGL C APIs. Although the basic functionality provided is very
+ similar to Mark Kilgard's GLUT library, applications using the Qt
+ OpenGL module can take advantage of the whole Qt API for
+ non-OpenGL-specific GUI functionality.
+*/
+
+
There are different ways to define the display characteristics of
a rendering context. One is to create a QGLFormat and make it the
default for the entire application:
- \snippet doc/src/snippets/code/src_opengl_qgl.cpp 0
+ \snippet code/src_opengl_qgl.cpp 0
Or you can specify the desired format when creating an object of
your QGLWidget subclass:
- \snippet doc/src/snippets/code/src_opengl_qgl.cpp 1
+ \snippet code/src_opengl_qgl.cpp 1
After the widget has been created, you can find out which of the
requested features the system was able to provide:
- \snippet doc/src/snippets/code/src_opengl_qgl.cpp 2
+ \snippet code/src_opengl_qgl.cpp 2
\legalese
OpenGL is a trademark of Silicon Graphics, Inc. in the
This constructor makes it easy to specify a certain desired format
in classes derived from QGLWidget, for example:
- \snippet doc/src/snippets/code/src_opengl_qgl.cpp 3
+ \snippet code/src_opengl_qgl.cpp 3
Note that there are QGL::FormatOption values to turn format settings
both on and off, e.g. QGL::DepthBuffer and QGL::NoDepthBuffer,
Sets a new default QGLFormat for the application to \a f. For
example, to set single buffering as the default instead of double
buffering, your main() might contain code like this:
- \snippet doc/src/snippets/code/src_opengl_qgl.cpp 4
+ \snippet code/src_opengl_qgl.cpp 4
\sa defaultFormat()
*/
For example, to get a double buffered overlay context (if
available), use code like this:
- \snippet doc/src/snippets/code/src_opengl_qgl.cpp 5
+ \snippet code/src_opengl_qgl.cpp 5
As usual, you can find out after widget creation whether the
underlying OpenGL system was able to provide the requested
specification:
- \snippet doc/src/snippets/code/src_opengl_qgl.cpp 6
+ \snippet code/src_opengl_qgl.cpp 6
\sa defaultOverlayFormat()
*/
Call create() to create a new GL context that tries to match the
new format.
- \snippet doc/src/snippets/code/src_opengl_qgl.cpp 7
+ \snippet code/src_opengl_qgl.cpp 7
\sa format(), reset(), create()
*/
Here is a rough outline of how a QGLWidget subclass might look:
- \snippet doc/src/snippets/code/src_opengl_qgl.cpp 8
+ \snippet code/src_opengl_qgl.cpp 8
If you need to trigger a repaint from places other than paintGL()
(a typical example is when using \link QTimer timers\endlink to
optimization.
Example of use:
- \snippet doc/src/snippets/code/src_opengl_qglcolormap.cpp 0
+ \snippet code/src_opengl_qglcolormap.cpp 0
\sa QGLWidget::setColormap(), QGLWidget::colormap()
*/
Example:
- \snippet doc/src/snippets/code/src_opengl_qglpixelbuffer.cpp 0
+ \snippet code/src_opengl_qglpixelbuffer.cpp 0
\warning This function uses the \c {render_texture} extension,
which is currently not supported under X11. An alternative that
Example:
- \snippet doc/src/snippets/code/src_opengl_qglpixelbuffer.cpp 1
+ \snippet code/src_opengl_qglpixelbuffer.cpp 1
An alternative on Windows and Mac OS X systems that support the
\c render_texture extension is to use bindToDynamicTexture() to
program is activated in the current QGLContext by calling
QGLShaderProgram::bind():
- \snippet doc/src/snippets/code/src_opengl_qglshaderprogram.cpp 0
+ \snippet code/src_opengl_qglshaderprogram.cpp 0
\section1 Writing portable shaders
\section1 Simple shader example
- \snippet doc/src/snippets/code/src_opengl_qglshaderprogram.cpp 1
+ \snippet code/src_opengl_qglshaderprogram.cpp 1
With the above shader program active, we can draw a green triangle
as follows:
- \snippet doc/src/snippets/code/src_opengl_qglshaderprogram.cpp 2
+ \snippet code/src_opengl_qglshaderprogram.cpp 2
\section1 Binary shaders and programs