4#ifndef QQUICKSHADEREFFECT_P_P_H
5#define QQUICKSHADEREFFECT_P_P_H
18#include <private/qtquickglobal_p.h>
22#include <private/qquickshadereffect_p.h>
23#include <private/qquickitem_p.h>
24#include <private/qquickshadereffectmesh_p.h>
29class EffectSlotMapper;
90 bool updateShader(Shader shaderType,
const QUrl &fileUrl);
91 void updateShaderVars(Shader shaderType);
92 void disconnectSignals(Shader shaderType);
93 void clearMappers(Shader shaderType);
94 std::optional<int> findMappedShaderVariableId(
const QByteArray &
name)
const;
95 std::optional<int> findMappedShaderVariableId(
const QByteArray &
name, Shader shaderType)
const;
96 bool sourceIsUnique(
QQuickItem *
source, Shader typeToSkip,
int indexToSkip)
const;
98 bool inDestructor =
false;
100 QSize m_meshResolution;
106 bool m_supportsAtlasTextures;
109 bool m_fragNeedsUpdate;
111 bool m_vertNeedsUpdate;
114 QSGShaderEffectNode::DirtyShaderFlags m_dirty;
115 QSet<int> m_dirtyConstants[NShader];
116 QSet<int> m_dirtyTextures[NShader];
119 QVector<QtPrivate::EffectSlotMapper *> m_mappers[NShader];
121 QHash<QQuickItem *, QMetaObject::Connection> m_destroyedConnections;
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
ItemChange
Used in conjunction with QQuickItem::itemChange() to notify the item about certain types of changes.
QUrl vertexShader() const
void maybeUpdateShaders()
void updatePolish() override
QQuickShaderEffectPrivate()
QQuickShaderEffect::CullMode cullMode() const
void setVertexShader(const QUrl &fileUrl)
QUrl fragmentShader() const
void propertyChanged(int mappedId)
void shaderCodePrepared(bool ok, QSGGuiThreadShaderEffectManager::ShaderInfo::Type typeHint, const QUrl &loadUrl, QSGGuiThreadShaderEffectManager::ShaderInfo *result)
void handleComponentComplete()
void markGeometryDirtyAndUpdate()
~QQuickShaderEffectPrivate()
void setBlending(bool enable)
void handleEvent(QEvent *)
bool supportsAtlasTextures() const
QSGNode * handleUpdatePaintNode(QSGNode *, QQuickItem::UpdatePaintNodeData *)
void setMesh(const QVariant &mesh)
void setSupportsAtlasTextures(bool supports)
bool updateUniformValue(const QByteArray &name, const QVariant &value, QSGShaderEffectNode *node)
QQuickShaderEffect::Status status() const
void setFragmentShader(const QUrl &fileUrl)
void setCullMode(QQuickShaderEffect::CullMode face)
void handleGeometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
void sourceDestroyed(QObject *object)
void markGeometryDirtyAndUpdateIfSupportsAtlas()
void handleItemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value)
\inmodule QtCore\reentrant
\group qtquick-scenegraph-nodes \title Qt Quick Scene Graph Node classes
\macro QT_RESTRICTED_CAST_FROM_ASCII
Combined button and popup list for selecting options.
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLsizei GLsizei GLchar * source
#define QT_REQUIRE_CONFIG(feature)
\qmltype MapCircle \instantiates QDeclarativeCircleMapItem \inqmlmodule QtLocation