4#include <qqmlregistration.h>
5#include "qml_material/export.hpp"
10class QML_MATERIAL_API SwipeToDismissState :
public QObject {
13 Q_PROPERTY(qreal distance READ distance WRITE setDistance NOTIFY configurationChanged FINAL)
14 Q_PROPERTY(
bool startToEndEnabled READ startToEndEnabled WRITE setStartToEndEnabled NOTIFY
15 configurationChanged FINAL)
16 Q_PROPERTY(
bool endToStartEnabled READ endToStartEnabled WRITE setEndToStartEnabled NOTIFY
17 configurationChanged FINAL)
18 Q_PROPERTY(qreal positionalThreshold READ positionalThreshold WRITE setPositionalThreshold
19 NOTIFY configurationChanged FINAL)
20 Q_PROPERTY(qreal velocityThreshold READ velocityThreshold WRITE setVelocityThreshold NOTIFY
21 configurationChanged FINAL)
22 Q_PROPERTY(qreal offset READ offset NOTIFY motionChanged FINAL)
23 Q_PROPERTY(qreal progress READ progress NOTIFY motionChanged FINAL)
24 Q_PROPERTY(Value targetValue READ targetValue NOTIFY motionChanged FINAL)
25 Q_PROPERTY(Value settledValue READ settledValue NOTIFY motionChanged FINAL)
26 Q_PROPERTY(Value dismissDirection READ dismissDirection NOTIFY motionChanged FINAL)
27 Q_PROPERTY(
bool dragging READ dragging NOTIFY motionChanged FINAL)
28 Q_PROPERTY(
bool settling READ settling NOTIFY motionChanged FINAL)
37 explicit SwipeToDismissState(QObject* parent =
nullptr);
38 qreal distance()
const {
return m_distance; }
39 bool startToEndEnabled()
const {
return m_startToEnd; }
40 bool endToStartEnabled()
const {
return m_endToStart; }
41 qreal positionalThreshold()
const {
return m_positionalThreshold; }
42 qreal velocityThreshold()
const {
return m_velocityThreshold; }
43 qreal offset()
const {
return m_offset; }
44 qreal progress()
const;
45 Value targetValue()
const {
return m_target; }
46 Value settledValue()
const {
return m_settled; }
47 Value dismissDirection()
const;
48 bool dragging()
const {
return m_dragging; }
49 bool settling()
const {
return m_settling; }
50 void setDistance(qreal);
51 void setStartToEndEnabled(
bool);
52 void setEndToStartEnabled(
bool);
53 void setPositionalThreshold(qreal);
54 void setVelocityThreshold(qreal);
55 Q_INVOKABLE
void dismiss(Value);
56 Q_INVOKABLE
void reset();
57 Q_INVOKABLE
void snapTo(Value);
58 Q_INVOKABLE
bool begin(qreal presentedOffset);
59 Q_INVOKABLE
void dragBy(qreal delta);
60 Q_INVOKABLE
void release(qreal velocity);
61 Q_INVOKABLE
void cancel();
62 Q_INVOKABLE
void complete(quint32 revision);
63 Q_SIGNAL
void configurationChanged();
64 Q_SIGNAL
void motionChanged();
65 Q_SIGNAL
void transitionRequested(quint32 revision, qreal offset,
bool animate);
66 Q_SIGNAL
void dismissed(Value direction);
69 bool allowed(Value)
const;
70 qreal position(Value)
const;
71 qreal bounded(qreal)
const;
72 Value releaseTarget(qreal velocity)
const;
73 void request(Value,
bool animate);
74 void anchorsChanged();
76 qreal m_positionalThreshold = 56;
77 qreal m_velocityThreshold = 125;
79 Value m_target = Settled;
80 Value m_settled = Settled;
81 bool m_startToEnd =
true;
82 bool m_endToStart =
true;
83 bool m_dragging =
false;
84 bool m_settling =
false;
85 quint32 m_revision = 0;