Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qsgcurveprocessor_p.h
Go to the documentation of this file.
1
// Copyright (C) 2023 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#
ifndef
QSGCURVEPROCESSOR_P_H
6
#
define
QSGCURVEPROCESSOR_P_H
7
8
//
9
// W A R N I N G
10
// -------------
11
//
12
// This file is not part of the Qt API. It exists purely as an
13
// implementation detail. This header file may change from version to
14
// version without notice, or even be removed.
15
//
16
// We mean it.
17
//
18
19
#
include
<
QtQuick
/
qtquickexports
.
h
>
20
#
include
<
QtQuick
/
private
/
qquadpath_p
.
h
>
21
#
include
"qsgcurvestrokenode_p.h"
22
23
#
include
<
QtCore
/
qloggingcategory
.
h
>
24
25
QT_BEGIN_NAMESPACE
26
27
Q_DECLARE_LOGGING_CATEGORY(lcSGCurveProcessor);
28
29
class
Q_QUICK_EXPORT
QSGCurveProcessor
30
{
31
public
:
32
typedef
std::function<QVector3D(QVector2D)> uvForPointCallback;
33
typedef
std::function<
void
(
const
std::array<QVector2D, 3> &,
34
const
std::array<QVector2D, 3> &,
35
uvForPointCallback)> addTriangleCallback;
36
typedef
std::function<
void
(
const
std::array<QVector2D, 3> &,
// vertex coordinates
37
const
std::array<QVector2D, 3> &,
// start, control, end
38
const
std::array<QVector2D, 3> &,
// normals
39
const
std::array<
float
, 3> &,
// extrusions
40
QSGCurveStrokeNode::TriangleFlags)> addStrokeTriangleCallback;
41
42
static
void
processFill(
const
QQuadPath &path,
43
Qt::FillRule fillRule,
44
addTriangleCallback addTriangle);
45
static
void
processStroke(
const
QQuadPath &strokePath,
46
float
miterLimit,
47
float
penWidth,
48
bool
cosmetic,
49
Qt::PenJoinStyle joinStyle,
50
Qt::PenCapStyle capStyle,
51
addStrokeTriangleCallback addTriangle,
52
int
subdivisions = 3);
53
static
bool
solveOverlaps(QQuadPath &path);
54
static
QList<std::pair<
int
,
int
>> findOverlappingCandidates(
const
QQuadPath &path);
55
static
bool
removeNestedSubpaths(QQuadPath &path);
56
static
bool
solveIntersections(QQuadPath &path,
bool
removeNestedPaths =
true
);
57
};
58
59
QT_END_NAMESPACE
60
61
#
endif
// QSGCURVEPROCESSOR_P_H
QSGCurveGlyphAtlas
Definition
qsgcurveglyphatlas_p.h:29
QSGCurveProcessor
Definition
qsgcurveprocessor_p.h:30
QSGCurveStrokeMaterialShader
Definition
qsgcurvestrokenode_p_p.h:30
QSGCurveStrokeMaterial
Definition
qsgcurvestrokenode_p_p.h:65
QSGCurveStrokeNode
\inmodule QtQuick
Definition
qsgcurvestrokenode_p.h:30
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qtdeclarative
src
quick
scenegraph
qsgcurveprocessor_p.h
Generated on
for Qt by
1.18.0