Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qquickmaterialripple_p.h
Go to the documentation of this file.
1// Copyright (C) 2021 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
4#ifndef QQUICKMATERIALRIPPLE_P_H
5#define QQUICKMATERIALRIPPLE_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtQuick/qquickitem.h>
19#include <QtGui/qcolor.h>
20#include <QtCore/private/qglobal_p.h>
21
23
25{
29 Q_PROPERTY(bool pressed READ isPressed WRITE setPressed FINAL)
30 Q_PROPERTY(bool active READ isActive WRITE setActive FINAL)
33 QML_NAMED_ELEMENT(Ripple)
35
36public:
38
41
43 void setClipRadius(qreal radius);
44
45 bool isActive() const;
46 void setActive(bool active);
47
48 bool isPressed() const;
49 void setPressed(bool pressed);
50
53
54 Trigger trigger() const;
56
57 QPointF anchorPoint() const;
58
59 QQuickItem *anchor() const;
61
62 qreal diameter() const;
63
64protected:
65 void itemChange(ItemChange change, const ItemChangeData &data) override;
66 QSGNode *updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) override;
67 void timerEvent(QTimerEvent *event) override;
68
69 void prepareWave();
70 void enterWave();
71 void exitWave();
72
73private:
74 bool m_active = false;
75 bool m_pressed = false;
76 int m_waves = 0;
77 int m_enterDelay = 0;
78 Trigger m_trigger = Press;
79 qreal m_clipRadius = 0.0;
80 QColor m_color;
81 QQuickItem *m_anchor = nullptr;
82};
83
85
86#endif // QQUICKMATERIALRIPPLE_P_H
The QColor class provides colors based on RGB, HSV or CMYK values.
Definition qcolor.h:31
\inmodule QtCore\reentrant
Definition qpoint.h:217
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
Definition qquickitem.h:63
qreal y const
Definition qquickitem.h:347
QQuickItem * parent
\qmlproperty Item QtQuick::Item::parent This property holds the visual parent of the item.
Definition qquickitem.h:67
ItemChange
Used in conjunction with QQuickItem::itemChange() to notify the item about certain types of changes.
Definition qquickitem.h:144
void setPressed(bool pressed)
QSGNode * updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) override
Called on the render thread when it is time to sync the state of the item with the scene graph.
void setClipRadius(qreal radius)
void setAnchor(QQuickItem *anchor)
void itemChange(ItemChange change, const ItemChangeData &data) override
Called when change occurs for this item.
void setColor(const QColor &color)
void setTrigger(Trigger trigger)
void timerEvent(QTimerEvent *event) override
This event handler can be reimplemented in a subclass to receive timer events for the object.
\group qtquick-scenegraph-nodes \title Qt Quick Scene Graph Node classes
Definition qsgnode.h:37
\inmodule QtCore
Definition qcoreevent.h:366
Combined button and popup list for selecting options.
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLuint color
[2]
struct _cl_event * event
#define QML_NAMED_ELEMENT(NAME)
#define QML_ADDED_IN_VERSION(MAJOR, MINOR)
#define Q_ENUM(x)
#define Q_PROPERTY(...)
#define Q_OBJECT
double qreal
Definition qtypes.h:187