5#include <private/qtquickglobal_p.h>
11#include <QtQuick/qtquickglobal.h>
12#include <QtGui/qcolor.h>
13#include <QtCore/qobject.h>
14#include <QtCore/qsize.h>
15#include <QtCore/qvector.h>
16#include <QtCore/qbytearray.h>
17#include <QtQml/qqml.h>
19#ifndef QQUICKSHADEREFFECTMESH_P_H
20#define QQUICKSHADEREFFECTMESH_P_H
35Q_QUICK_EXPORT
const char *qtPositionAttributeName();
45 QML_NAMED_ELEMENT(ShaderEffectMesh)
46 QML_ADDED_IN_VERSION(2, 0)
47 QML_UNCREATABLE(
"Cannot create instance of abstract class ShaderEffectMesh.")
50 QQuickShaderEffectMesh(QObject *parent =
nullptr);
51 virtual bool validateAttributes(
const QVector<QByteArray> &attributes,
int *posIndex) = 0;
53 virtual QSGGeometry *updateGeometry(QSGGeometry *geometry,
int attrCount,
int posIndex,
54 const QRectF &srcRect,
const QRectF &rect) = 0;
56 virtual QString log()
const {
return QString(); }
60 void geometryChanged();
63 QQuickShaderEffectMesh(QObjectPrivate &dd, QObject *parent =
nullptr);
69 Q_PROPERTY(QSize resolution READ resolution WRITE setResolution NOTIFY resolutionChanged)
70 QML_NAMED_ELEMENT(GridMesh)
71 QML_ADDED_IN_VERSION(2, 0)
73 QQuickGridMesh(QObject *parent =
nullptr);
74 bool validateAttributes(
const QVector<QByteArray> &attributes,
int *posIndex) override;
75 QSGGeometry *updateGeometry(QSGGeometry *geometry,
int attrCount,
int posIndex,
76 const QRectF &srcRect,
const QRectF &rect) override;
77 QString log()
const override {
return m_log; }
79 void setResolution(
const QSize &res);
80 QSize resolution()
const;
83 void resolutionChanged();
95 Q_PROPERTY(QQuickScaleGrid *border READ border CONSTANT)
106 bool validateAttributes(
const QVector<QByteArray> &attributes,
int *posIndex)
override;
107 QSGGeometry *
updateGeometry(QSGGeometry *geometry,
int attrCount,
int posIndex,
108 const QRectF &srcRect,
const QRectF &rect)
override;
110 QQuickScaleGrid *
border()
const;
116 void setSize(
const QSize &size);
130 QQuickScaleGrid *m_border;
139 c.getRgbF(&r, &g, &b, &a);
140 return QColor::fromRgbF(r * a, g * a, b * a, a);
TileMode verticalTileMode() const
void setSize(const QSize &size)
QQuickScaleGrid * border() const
void setVerticalTileMode(TileMode)
bool validateAttributes(const QVector< QByteArray > &attributes, int *posIndex) override
void verticalTileModeChanged()
void horizontalTileModeChanged()
TileMode horizontalTileMode() const
\qmlproperty enumeration QtQuick::BorderImageMesh::horizontalTileMode \qmlproperty enumeration QtQuic...
QSGGeometry * updateGeometry(QSGGeometry *geometry, int attrCount, int posIndex, const QRectF &srcRect, const QRectF &rect) override
void setHorizontalTileMode(TileMode)
static const char qt_texcoord_attribute_name[]
const char * qtTexCoordAttributeName()
static QT_BEGIN_NAMESPACE const char qt_position_attribute_name[]
const char * qtPositionAttributeName()
QT_REQUIRE_CONFIG(quick_shadereffect)
QColor qt_premultiply_color(const QColor &c)