Warning: That file was not part of the compilation database. It may have many parsing errors.

1/****************************************************************************
2**
3** Copyright (C) 2017 The Qt Company Ltd.
4** Contact: https://www.qt.io/licensing/
5**
6** This file is part of the documentation of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:FDL$
9** Commercial License Usage
10** Licensees holding valid commercial Qt licenses may use this file in
11** accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The Qt Company. For licensing terms
14** and conditions see https://www.qt.io/terms-conditions. For further
15** information use the contact form at https://www.qt.io/contact-us.
16**
17** GNU Free Documentation License Usage
18** Alternatively, this file may be used under the terms of the GNU Free
19** Documentation License version 1.3 as published by the Free Software
20** Foundation and appearing in the file included in the packaging of
21** this file. Please review the following information to ensure
22** the GNU Free Documentation License version 1.3 requirements
23** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
24** $QT_END_LICENSE$
25**
26****************************************************************************/
27
28/*!
29\page qtquick-cppextensionpoints.html
30\title C++ Extension Points Provided By Qt Quick
31\brief Description of the C++ extension points provided by the Qt Quick module
32
33All QML applications can be extended from C++ in order to use additional
34functionality implemented in C++ code or to provide a C++ based QML plugin.
35This topic of extending QML from C++ is covered in the \l {Integrating QML and C++}
36documentation.
37
38Additionally, the Qt Quick module provides several extension and integration points for C++
39developers, specific to this module. In particular, it allows C++ developers to create and register custom
40QQuickItem-derived types which can be rendered by Qt Quick. It also provides
41several scene graph-related classes which allow developers to define their own
42rendering primitives.
43
44\target user-defined-qquickitem-derived-types
45\section1 User-Defined QQuickItem-Derived Types
46
47While the Qt Quick module already provides a rich library of visual item types
48for use in a QML application, some developers may wish to define their own
49item-derived types in C++ and expose them to the QML type system. The easiest
50way to do this is to subclass QQuickItem, which is the base type
51for all visual types in the Qt Quick module. See the QQuickItem documentation
52for more details.
53
54\target scene-graph-related-classes
55\section1 Scene Graph-Related Classes
56
57Qt Quick 2 makes use of a dedicated scene graph based on OpenGL ES 2.0 or OpenGL 2.0
58for its rendering. Using a scene graph for graphics rather than the traditional imperative
59painting systems (QPainter and similar), means the scene to be rendered can be retained
60between frames and the complete set of primitives to render is known before rendering
61starts. This opens up for a number of optimizations, such as batching the OpenGL draw calls
62to minimize state changes or discarding obscured primitives.
63
64The \l {Qt Quick C++ Classes}{Qt Quick C++ API} provides various classes to
65enable custom nodes to be created in C++.
66
67See the \l {Qt Quick Scene Graph} documentation for details.
68
69\target pixmap-and-threaded-image-support
70\section1 Pixmap and Threaded Image Support
71
72While the QML engine allows QML application to load images from filesystem or
73network resources, some applications may require the additional option of
74loading images from C++ based processes. This can be implemented through the
75QQuickImageProvider class, which provides support for pixmap loading and
76threaded image requests for QML applications. Any QML application that
77requests an image through the special "image:" URL scheme will be directed
78to an appropriate image provider to load the image.
79
80For more information, see the QQuickImageProvider documentation.
81
82*/
83

Warning: That file was not part of the compilation database. It may have many parsing errors.