Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qquickshape.cpp File Reference

(31d652d73b20f43b492ba8c306f932ca6fc3a0c1)

#include "qquickshape_p.h"
#include "qquickshape_p_p.h"
#include "qquickshapegenericrenderer_p.h"
#include "qquickshapesoftwarerenderer_p.h"
#include "qquickshapecurverenderer_p.h"
#include <private/qsgplaintexture_p.h>
#include <private/qquicksvgparser_p.h>
#include <QtGui/private/qdrawhelper_p.h>
#include <QOpenGLFunctions>
#include <QLoggingCategory>
#include <rhi/qrhi.h>
#include "moc_qquickshape_p.cpp"
+ Include dependency graph for qquickshape.cpp:

Go to the source code of this file.

Functions

static void initResources ()
 
QT_BEGIN_NAMESPACE void QQuickShapes_initializeModule ()
 \qmlmodule QtQuick.Shapes 1.
 
static void vpe_append (QQmlListProperty< QObject > *property, QObject *obj)
 
static void vpe_clear (QQmlListProperty< QObject > *property)
 

Function Documentation

◆ initResources()

static void initResources ( )
static

Definition at line 16 of file qquickshape.cpp.

References Q_INIT_RESOURCE.

Referenced by QQuickShapesModule::defineModule().

+ Here is the caller graph for this function:

◆ QQuickShapes_initializeModule()

QT_BEGIN_NAMESPACE void QQuickShapes_initializeModule ( )

\qmlmodule QtQuick.Shapes 1.

\QtMinorVersion \title Qt Quick Shapes QML Types

Provides QML types for drawing stroked and filled shapes.

To use the types in this module, import the module with the following line:

\qml import QtQuick.Shapes \endqml

Qt Quick Shapes provides tools for drawing arbitrary shapes in a Qt Quick scene. \l{Shape}{Shapes} can be constructed from basic building blocks like \l{PathLine}{lines} and \l{PathCubic}{curves} that define sub-shapes. The sub-shapes can then be filled with solid colors or gradients, and an outline stroke can be defined.

Qt Quick Shapes also supports higher level path element types, such as \l{PathText}{text} and \l{PathSvg}{SVG path descriptions}. The currently supported element types is: PathMove, PathLine, PathQuad, PathCubic, PathArc, PathText and PathSvg.

Qt Quick Shapes triangulates the shapes and renders the corresponding triangles on the GPU. Therefore, altering the control points of elements will lead to re-triangulation of the affected paths, at some performance cost. In addition, curves are flattened before they are rendered, so applying a very high scale to the shape may show artifacts where it is visible that the curves are represented by a sequence of smaller, straight lines.

Note
By default, Qt Quick Shapes relies on multi-sampling for anti-aliasing. This can be enabled for the entire application or window using the corresponding settings in QSurfaceFormat. It can also be enabled for only the shape, by setting its \l{Item::layer.enabled}{layer.enabled} property to true and then adjusting the \l{Item::layer.samples}{layer.samples} property. In the latter case, multi-sampling will not be applied to the entire scene, but the shape will be rendered via an intermediate off-screen buffer. Alternatively, the \l{QtQuick.Shapes::Shape::preferredRendererType}{preferredRendererType} property can be set to {Shape.CurveRenderer}. This has anti-aliasing built in and generally renders the shapes at a higher quality, but at some additional performance cost.

For further information, the \l{Qt Quick Examples - Shapes}{Shapes example} shows how to implement different types of shapes, fills and strokes, and the \l{Weather Forecast Example} shows examples of different ways shapes might be useful in a user interface.

Definition at line 69 of file qquickshape.cpp.

References QQuickShapesModule::defineModule().

Referenced by QmlShapesPlugin::QmlShapesPlugin().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vpe_append()

static void vpe_append ( QQmlListProperty< QObject > * property,
QObject * obj )
static

Definition at line 1082 of file qquickshape.cpp.

References QObject::connect(), d, QQuickItemPrivate::data_append(), QQuickShapePrivate::get(), item, property, SIGNAL, and SLOT.

+ Here is the call graph for this function:

◆ vpe_clear()

static void vpe_clear ( QQmlListProperty< QObject > * property)
static

Definition at line 1098 of file qquickshape.cpp.

References d, QQuickItemPrivate::data_clear(), QObject::disconnect(), QQuickShapePrivate::get(), item, property, SIGNAL, and SLOT.

+ Here is the call graph for this function: