Revision control

Copy as Markdown

// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
// Qt-Security score:significant reason:default
#ifndef QQUICKRECTANGLE_P_H
#define QQUICKRECTANGLE_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists purely as an
// implementation detail. This header file may change from version to
// version without notice, or even be removed.
//
// We mean it.
//
#include "qquickitem.h"
#include <QtGui/qbrush.h>
#include <private/qtquickglobal_p.h>
QT_BEGIN_NAMESPACE
class Q_QUICK_EXPORT QQuickPen : public QObject
{
Q_OBJECT
Q_PROPERTY(qreal width READ width WRITE setWidth NOTIFY widthChanged FINAL)
Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged FINAL)
Q_PROPERTY(bool pixelAligned READ pixelAligned WRITE setPixelAligned NOTIFY pixelAlignedChanged FINAL)
QML_ANONYMOUS
QML_ADDED_IN_VERSION(2, 0)
public:
QQuickPen(QObject *parent=nullptr);
qreal width() const;
void setWidth(qreal w);
QColor color() const;
void setColor(const QColor &c);
bool pixelAligned() const;
void setPixelAligned(bool aligned);
bool isValid() const;
Q_SIGNALS:
void widthChanged();
void colorChanged();
void pixelAlignedChanged();
private:
qreal m_width;
QColor m_color;
bool m_aligned : 1;
bool m_valid : 1;
};
class Q_QUICK_EXPORT QQuickGradientStop : public QObject
{
Q_OBJECT
Q_PROPERTY(qreal position READ position WRITE setPosition)
Q_PROPERTY(QColor color READ color WRITE setColor)
QML_NAMED_ELEMENT(GradientStop)
QML_ADDED_IN_VERSION(2, 0)
public:
QQuickGradientStop(QObject *parent=nullptr);
qreal position() const;
void setPosition(qreal position);
QColor color() const;
void setColor(const QColor &color);
private:
void updateGradient();
private:
qreal m_position = 0.0;
QColor m_color;
};
class Q_QUICK_EXPORT QQuickGradient : public QObject
{
Q_OBJECT
Q_PROPERTY(QQmlListProperty<QQuickGradientStop> stops READ stops)
Q_PROPERTY(Orientation orientation READ orientation WRITE setOrientation NOTIFY orientationChanged REVISION(2, 12))
Q_CLASSINFO("DefaultProperty", "stops")
QML_NAMED_ELEMENT(Gradient)
QML_ADDED_IN_VERSION(2, 0)
QML_EXTENDED_NAMESPACE(QGradient)
public:
QQuickGradient(QObject *parent=nullptr);
~QQuickGradient() override;
enum Orientation { Vertical = Qt::Vertical,
Horizontal = Qt::Horizontal };
Q_ENUM(Orientation)
QQmlListProperty<QQuickGradientStop> stops();
Orientation orientation() const { return m_orientation; }
void setOrientation(Orientation orientation);
QGradientStops gradientStops() const;
Q_SIGNALS:
void updated();
void orientationChanged();
private:
void doUpdate();
private:
QList<QQuickGradientStop *> m_stops;
Orientation m_orientation = Vertical;
friend class QQuickRectangle;
friend class QQuickGradientStop;
};
class QQuickRectanglePrivate;
class Q_QUICK_EXPORT QQuickRectangle : public QQuickItem
{
Q_OBJECT
Q_PROPERTY(QColor color READ color WRITE setColor RESET resetColor NOTIFY colorChanged)
Q_PROPERTY(QJSValue gradient READ gradient WRITE setGradient RESET resetGradient)
Q_PROPERTY(QQuickPen * border READ border CONSTANT)
Q_PROPERTY(qreal radius READ radius WRITE setRadius NOTIFY radiusChanged)
Q_PROPERTY(qreal topLeftRadius READ topLeftRadius WRITE setTopLeftRadius NOTIFY topLeftRadiusChanged RESET resetTopLeftRadius REVISION(6, 7) FINAL)
Q_PROPERTY(qreal topRightRadius READ topRightRadius WRITE setTopRightRadius NOTIFY topRightRadiusChanged RESET resetTopRightRadius REVISION(6, 7) FINAL)
Q_PROPERTY(qreal bottomLeftRadius READ bottomLeftRadius WRITE setBottomLeftRadius NOTIFY bottomLeftRadiusChanged RESET resetBottomLeftRadius REVISION(6, 7) FINAL)
Q_PROPERTY(qreal bottomRightRadius READ bottomRightRadius WRITE setBottomRightRadius NOTIFY bottomRightRadiusChanged RESET resetBottomRightRadius REVISION(6, 7) FINAL)
QML_NAMED_ELEMENT(Rectangle)
QML_ADDED_IN_VERSION(2, 0)
public:
QQuickRectangle(QQuickItem *parent=nullptr);
QColor color() const;
void setColor(const QColor &);
void resetColor();
QQuickPen *border();
QJSValue gradient() const;
void setGradient(const QJSValue &gradient);
void resetGradient();
qreal radius() const;
void setRadius(qreal radius);
qreal topLeftRadius() const;
void setTopLeftRadius(qreal radius);
void resetTopLeftRadius();
qreal topRightRadius() const;
void setTopRightRadius(qreal radius);
void resetTopRightRadius();
qreal bottomLeftRadius() const;
void setBottomLeftRadius(qreal radius);
void resetBottomLeftRadius();
qreal bottomRightRadius() const;
void setBottomRightRadius(qreal radius);
void resetBottomRightRadius();
Q_SIGNALS:
void colorChanged();
void radiusChanged();
Q_REVISION(6, 7) void topLeftRadiusChanged();
Q_REVISION(6, 7) void topRightRadiusChanged();
Q_REVISION(6, 7) void bottomLeftRadiusChanged();
Q_REVISION(6, 7) void bottomRightRadiusChanged();
protected:
QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *) override;
private Q_SLOTS:
void doUpdate();
private:
Q_DISABLE_COPY(QQuickRectangle)
Q_DECLARE_PRIVATE(QQuickRectangle)
};
QT_END_NAMESPACE
#endif // QQUICKRECTANGLE_P_H