Loading...
Searching...
No Matches
EasingCurve Class Reference

The EasingCurve class. More...

`#include <plugins/Utils/easingcurve.h>`

## Signals

void | typeChanged ()
void | periodChanged ()
void | progressChanged ()

## Public Member Functions

| EasingCurve (QObject *parent=0)
QEasingCurve::Type | type () const
void | setType (const QEasingCurve::Type type)
qreal | period () const
void | setPeriod (qreal period)
qreal | progress () const
void | setProgress (qreal progress)
qreal | value () const

## Properties

QEasingCurve::Type | type
qreal | period
qreal | progress
qreal | value

## Detailed Description

The EasingCurve class.

This class exposes the QEasingCurve C++ API to QML. This is useful for user interactive animations. While the QML Animation types all require a "from", "to" and "duration", this one is based on "period" and "progress". So you can control the position of the animation by changing the progress, also going back and forward in the aimation. Depending on the type of the easing curve, value will return the transformed progress.

Definition at line 36 of file easingcurve.h.

## Constructor & Destructor Documentation

## EasingCurve()

EasingCurve::EasingCurve | ( | QObject * | parent = 0 | ) |

Definition at line 22 of file easingcurve.cpp.

:
QObject(parent),
m_progress(0),
m_value(0)
{
}

## Member Function Documentation

## period()

qreal EasingCurve::period | ( |  | ) | const

Definition at line 45 of file easingcurve.cpp.

{
return m_easingCurve.period();
}

## progress()

qreal EasingCurve::progress | ( |  | ) | const

Definition at line 56 of file easingcurve.cpp.

{
return m_progress;
}

## setPeriod()

void EasingCurve::setPeriod | ( | qreal | period | ) |

Definition at line 50 of file easingcurve.cpp.

{
m_easingCurve.setPeriod(period);
Q_EMIT periodChanged();
}

## setProgress()

void EasingCurve::setProgress | ( | qreal | progress | ) |

Definition at line 61 of file easingcurve.cpp.

{
if (m_progress != progress) {
m_progress = progress;
m_value = m_easingCurve.valueForProgress(m_progress);
Q_EMIT progressChanged();
}
}

## setType()

void EasingCurve::setType | ( | const QEasingCurve::Type | type | ) |

Definition at line 35 of file easingcurve.cpp.

{
// FIXME: Working around bug https://bugreports.qt-project.org/browse/QTBUG-38686 here
QEasingCurve newCurve;
newCurve.setType(type);
newCurve.setPeriod(m_easingCurve.period());
m_easingCurve = newCurve;
Q_EMIT typeChanged();
}

## type()

QEasingCurve::Type EasingCurve::type | ( |  | ) | const

Definition at line 30 of file easingcurve.cpp.

{
return m_easingCurve.type();
}

## value()

qreal EasingCurve::value | ( |  | ) | const

Definition at line 70 of file easingcurve.cpp.

{
return m_value;
}

## Property Documentation

## period

qreal EasingCurve::period

read write

Definition at line 40 of file easingcurve.h.

## progress

qreal EasingCurve::progress

read write

Definition at line 41 of file easingcurve.h.

## type

QEasingCurve::Type EasingCurve::type

read write

Definition at line 39 of file easingcurve.h.

## value

qreal EasingCurve::value

read

Definition at line 42 of file easingcurve.h.

The documentation for this class was generated from the following files:

- plugins/Utils/easingcurve.h
- plugins/Utils/easingcurve.cpp