![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
#include <qsgcurvestrokenode_p.h>
Public Types | |
enum class | TriangleFlag { None = 0 , Line = 1 << 0 } |
Public Types inherited from QSGNode | |
enum | NodeType { BasicNodeType , GeometryNodeType , TransformNodeType , ClipNodeType , OpacityNodeType , RootNodeType , RenderNodeType } |
Can be used to figure out the type of node. More... | |
enum | Flag { OwnedByParent = 0x0001 , UsePreprocess = 0x0002 , OwnsGeometry = 0x00010000 , OwnsMaterial = 0x00020000 , OwnsOpaqueMaterial = 0x00040000 , IsVisitableNode = 0x01000000 } |
The QSGNode::Flag enum describes flags on the QSGNode. More... | |
enum | DirtyStateBit { DirtySubtreeBlocked = 0x0080 , DirtyMatrix = 0x0100 , DirtyNodeAdded = 0x0400 , DirtyNodeRemoved = 0x0800 , DirtyGeometry = 0x1000 , DirtyMaterial = 0x2000 , DirtyOpacity = 0x4000 , DirtyForceUpdate = 0x8000 , DirtyUsePreprocess = UsePreprocess , DirtyPropagationMask } |
Used in QSGNode::markDirty() to indicate how the scene graph has changed. More... |
Public Member Functions | |
QSGCurveStrokeNode () | |
void | setColor (QColor col) override |
QColor | color () const |
void | setCosmeticStroke (bool c) |
void | setStrokeWidth (float width) |
float | strokeWidth () const |
void | appendTriangle (const std::array< QVector2D, 3 > &vtx, const std::array< QVector2D, 3 > &ctl, const std::array< QVector2D, 3 > &normal, const std::array< float, 3 > &extrusions=defaultExtrusions()) |
Append a triangle with vtx corners within which the fragment shader will draw the visible part of a quadratic curve from ctl[0] to ctl[2] with control point ctl[1] (AKA a quadratic Bézier curve with 3 control points). | |
void | appendTriangle (const std::array< QVector2D, 3 > &vtx, const std::array< QVector2D, 2 > &ctl, const std::array< QVector2D, 3 > &normal, const std::array< float, 3 > &extrusions=defaultExtrusions()) |
Append a triangle with vtx corners within which the fragment shader will draw the visible part of a line from ctl[0] to ctl[2]. | |
void | cookGeometry () override |
QVector< quint32 > | uncookedIndexes () const |
float | debug () const |
void | setDebug (float newDebug) |
void | setLocalScale (float scale) |
float | localScale () const |
Public Member Functions inherited from QSGGeometryNode | |
QSGGeometryNode () | |
Creates a new geometry node without geometry and material. | |
~QSGGeometryNode () override | |
Deletes this geometry node. | |
void | setMaterial (QSGMaterial *material) |
Sets the material of this geometry node to material. | |
QSGMaterial * | material () const |
Returns the material of the QSGGeometryNode. | |
void | setOpaqueMaterial (QSGMaterial *material) |
Sets the opaque material of this geometry to material. | |
QSGMaterial * | opaqueMaterial () const |
Returns the opaque material of the QSGGeometryNode. | |
QSGMaterial * | activeMaterial () const |
Returns the material which should currently be used for geometry node. | |
void | setRenderOrder (int order) |
Sets the render order of this node to be order. | |
int | renderOrder () const |
Returns the render order of this geometry node. | |
void | setInheritedOpacity (qreal opacity) |
Sets the inherited opacity of this geometry to opacity. | |
qreal | inheritedOpacity () const |
Set during rendering to specify the inherited opacity for that rendering pass. | |
Public Member Functions inherited from QSGBasicGeometryNode | |
~QSGBasicGeometryNode () override | |
Deletes this QSGBasicGeometryNode. | |
void | setGeometry (QSGGeometry *geometry) |
Sets the geometry of this node to geometry. | |
const QSGGeometry * | geometry () const |
Returns this node's geometry. | |
QSGGeometry * | geometry () |
Returns this node's geometry. | |
const QMatrix4x4 * | matrix () const |
Will be set during rendering to contain transformation of the geometry for that rendering pass. | |
const QSGClipNode * | clipList () const |
Will be set during rendering to contain the clip of the geometry for that rendering pass. | |
void | setRendererMatrix (const QMatrix4x4 *m) |
void | setRendererClipList (const QSGClipNode *c) |
Public Member Functions inherited from QSGNode | |
QSGNode () | |
Constructs a new node. | |
virtual | ~QSGNode () |
Destroys the node. | |
QSGNode * | parent () const |
Returns the parent node of this node. | |
void | removeChildNode (QSGNode *node) |
Removes node from this node's list of children. | |
void | removeAllChildNodes () |
Removes all child nodes from this node's list of children. | |
void | prependChildNode (QSGNode *node) |
Prepends node to this node's the list of children. | |
void | appendChildNode (QSGNode *node) |
Appends node to this node's list of children. | |
void | insertChildNodeBefore (QSGNode *node, QSGNode *before) |
Inserts node to this node's list of children before the node specified with before. | |
void | insertChildNodeAfter (QSGNode *node, QSGNode *after) |
Inserts node to this node's list of children after the node specified with after. | |
void | reparentChildNodesTo (QSGNode *newParent) |
int | childCount () const |
Returns the number of child nodes. | |
QSGNode * | childAtIndex (int i) const |
Returns the child at index i. | |
QSGNode * | firstChild () const |
Returns the first child of this node. | |
QSGNode * | lastChild () const |
Returns the last child of this node. | |
QSGNode * | nextSibling () const |
Returns the node after this in the parent's list of children. | |
QSGNode * | previousSibling () const |
Returns the node before this in the parent's list of children. | |
NodeType | type () const |
Returns the type of this node. | |
QT_DEPRECATED void | clearDirty () |
void | markDirty (DirtyState bits) |
Notifies all connected renderers that the node has dirty bits. | |
QT_DEPRECATED DirtyState | dirtyState () const |
virtual bool | isSubtreeBlocked () const |
Returns whether this node and its subtree is available for use. | |
Flags | flags () const |
Returns the set of flags for this node. | |
void | setFlag (Flag, bool=true) |
Sets the flag f on this node if enabled is true; otherwise clears the flag. | |
void | setFlags (Flags, bool=true) |
Sets the flags f on this node if enabled is true; otherwise clears the flags. | |
virtual void | preprocess () |
Override this function to do processing on the node before it is rendered. |
Static Public Member Functions | |
static constexpr std::array< float, 3 > | defaultExtrusions () |
static const QSGGeometry::AttributeSet & | attributes () |
static bool | expandingStrokeEnabled () |
Protected Attributes | |
QScopedPointer< QSGCurveStrokeMaterial > | m_material |
QVector< StrokeVertex > | m_uncookedVertexes |
QVector< quint32 > | m_uncookedIndexes |
Protected Attributes inherited from QSGNode | |
QScopedPointer< QSGNodePrivate > | d_ptr |
Additional Inherited Members | |
Public Attributes inherited from QSGCurveAbstractNode | |
bool | isDebugNode = false |
Protected Member Functions inherited from QSGGeometryNode | |
QSGGeometryNode (QSGGeometryNodePrivate &dd) | |
Protected Member Functions inherited from QSGBasicGeometryNode | |
QSGBasicGeometryNode (NodeType type) | |
Creates a new basic geometry node of type type. | |
QSGBasicGeometryNode (QSGBasicGeometryNodePrivate &dd, NodeType type) | |
Protected Member Functions inherited from QSGNode | |
QSGNode (NodeType type) | |
Constructs a new node with the given node type. | |
QSGNode (QSGNodePrivate &dd, NodeType type) | |
Constructs a new node with the given node type. |
Definition at line 26 of file qsgcurvestrokenode_p.h.
|
strong |
Enumerator | |
---|---|
None | |
Line |
Definition at line 61 of file qsgcurvestrokenode_p.h.
QT_BEGIN_NAMESPACE QSGCurveStrokeNode::QSGCurveStrokeNode | ( | ) |
Definition at line 9 of file qsgcurvestrokenode.cpp.
void QSGCurveStrokeNode::appendTriangle | ( | const std::array< QVector2D, 3 > & | vtx, |
const std::array< QVector2D, 2 > & | ctl, | ||
const std::array< QVector2D, 3 > & | normal, | ||
const std::array< float, 3 > & | extrusions = defaultExtrusions() ) |
Append a triangle with vtx corners within which the fragment shader will draw the visible part of a line from ctl[0] to ctl[2].
The normal vectors are used in the vertex shader to expand the triangle according to its stroke width: therefore, it's ok for the triangle to be degenerate, and get expanded to size in the vertex shader. Normals are usually unit vectors, but it's also ok for some to have larger magnitudes, to handle the case when miter corners need to be extended proportionally farther as stroke width increases.
Definition at line 73 of file qsgcurvestrokenode.cpp.
void QSGCurveStrokeNode::appendTriangle | ( | const std::array< QVector2D, 3 > & | vtx, |
const std::array< QVector2D, 3 > & | ctl, | ||
const std::array< QVector2D, 3 > & | normal, | ||
const std::array< float, 3 > & | extrusions = defaultExtrusions() ) |
Append a triangle with vtx corners within which the fragment shader will draw the visible part of a quadratic curve from ctl[0] to ctl[2] with control point ctl[1] (AKA a quadratic Bézier curve with 3 control points).
The normal vectors are used in the vertex shader to expand the triangle according to its stroke width: therefore, it's ok for the triangle to be degenerate, and get expanded to size in the vertex shader. Normals are usually unit vectors, but it's also ok for some to have larger magnitudes, to handle the case when miter corners need to be extended proportionally farther as stroke width increases.
Definition at line 46 of file qsgcurvestrokenode.cpp.
|
static |
Definition at line 124 of file qsgcurvestrokenode.cpp.
|
inline |
Definition at line 37 of file qsgcurvestrokenode_p.h.
|
overridevirtual |
Implements QSGCurveAbstractNode.
Definition at line 96 of file qsgcurvestrokenode.cpp.
|
inline |
Definition at line 89 of file qsgcurvestrokenode_p.h.
|
inlinestaticconstexpr |
Definition at line 67 of file qsgcurvestrokenode_p.h.
|
static |
Definition at line 138 of file qsgcurvestrokenode.cpp.
|
inline |
Definition at line 104 of file qsgcurvestrokenode_p.h.
Implements QSGCurveAbstractNode.
Definition at line 31 of file qsgcurvestrokenode_p.h.
|
inline |
Definition at line 42 of file qsgcurvestrokenode_p.h.
|
inline |
Definition at line 94 of file qsgcurvestrokenode_p.h.
|
inline |
Definition at line 99 of file qsgcurvestrokenode_p.h.
|
inline |
Definition at line 48 of file qsgcurvestrokenode_p.h.
|
inline |
Definition at line 54 of file qsgcurvestrokenode_p.h.
Definition at line 84 of file qsgcurvestrokenode_p.h.
|
protected |
Definition at line 133 of file qsgcurvestrokenode_p.h.
Definition at line 136 of file qsgcurvestrokenode_p.h.
|
protected |
Definition at line 135 of file qsgcurvestrokenode_p.h.