Compile easing curve example with -Weverything
As a consequence, also had to add some suppressions: -Wno-padded (this warning should almost never be responded to) -Wno-c++98-compat (we want to use c++17 features) -Wno-weak-vtables (IMO not worth fixing for an example) Change-Id: I28ae4456c0221ad2370879a691f6343affff138b Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io> (cherry picked from commit 1e790fb4dbd82c9a4e668c630e21a27eb23d3a37) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
6c22f88112
commit
81bb1a90e3
@ -42,7 +42,7 @@ Window::Window(QWidget *parent)
|
|||||||
startAnimation();
|
startAnimation();
|
||||||
}
|
}
|
||||||
|
|
||||||
QEasingCurve createEasingCurve(QEasingCurve::Type curveType)
|
static QEasingCurve createEasingCurve(QEasingCurve::Type curveType)
|
||||||
{
|
{
|
||||||
QEasingCurve curve(curveType);
|
QEasingCurve curve(curveType);
|
||||||
|
|
||||||
@ -72,12 +72,12 @@ void Window::createCurveIcons()
|
|||||||
// Skip QEasingCurve::Custom
|
// Skip QEasingCurve::Custom
|
||||||
for (int i = 0; i < QEasingCurve::NCurveTypes - 1; ++i) {
|
for (int i = 0; i < QEasingCurve::NCurveTypes - 1; ++i) {
|
||||||
painter.fillRect(QRect(QPoint(0, 0), m_iconSize), brush);
|
painter.fillRect(QRect(QPoint(0, 0), m_iconSize), brush);
|
||||||
QEasingCurve curve = createEasingCurve((QEasingCurve::Type) i);
|
QEasingCurve curve = createEasingCurve(static_cast<QEasingCurve::Type>(i));
|
||||||
painter.setPen(QColor(0, 0, 255, 64));
|
painter.setPen(QColor(0, 0, 255, 64));
|
||||||
qreal xAxis = m_iconSize.height()/1.5;
|
qreal xAxis = m_iconSize.height()/1.5;
|
||||||
qreal yAxis = m_iconSize.width()/3;
|
qreal yAxis = m_iconSize.width()/3;
|
||||||
painter.drawLine(0, xAxis, m_iconSize.width(), xAxis);
|
painter.drawLine(QLineF(0, xAxis, m_iconSize.width(), xAxis));
|
||||||
painter.drawLine(yAxis, 0, yAxis, m_iconSize.height());
|
painter.drawLine(QLineF(yAxis, 0, yAxis, m_iconSize.height()));
|
||||||
|
|
||||||
qreal curveScale = m_iconSize.height()/2;
|
qreal curveScale = m_iconSize.height()/2;
|
||||||
|
|
||||||
@ -85,18 +85,18 @@ void Window::createCurveIcons()
|
|||||||
|
|
||||||
// start point
|
// start point
|
||||||
painter.setBrush(Qt::red);
|
painter.setBrush(Qt::red);
|
||||||
QPoint start(yAxis, xAxis - curveScale * curve.valueForProgress(0));
|
QPoint start(qRound(yAxis), qRound(xAxis - curveScale * curve.valueForProgress(0)));
|
||||||
painter.drawRect(start.x() - 1, start.y() - 1, 3, 3);
|
painter.drawRect(start.x() - 1, start.y() - 1, 3, 3);
|
||||||
|
|
||||||
// end point
|
// end point
|
||||||
painter.setBrush(Qt::blue);
|
painter.setBrush(Qt::blue);
|
||||||
QPoint end(yAxis + curveScale, xAxis - curveScale * curve.valueForProgress(1));
|
QPoint end(qRound(yAxis + curveScale), qRound(xAxis - curveScale * curve.valueForProgress(1)));
|
||||||
painter.drawRect(end.x() - 1, end.y() - 1, 3, 3);
|
painter.drawRect(end.x() - 1, end.y() - 1, 3, 3);
|
||||||
|
|
||||||
QPainterPath curvePath;
|
QPainterPath curvePath;
|
||||||
curvePath.moveTo(start);
|
curvePath.moveTo(start);
|
||||||
for (qreal t = 0; t <= 1.0; t+=1.0/curveScale) {
|
for (qreal t = 0; t <= 1.0; t+=1.0/curveScale) {
|
||||||
QPoint to;
|
QPointF to;
|
||||||
to.setX(yAxis + curveScale * t);
|
to.setX(yAxis + curveScale * t);
|
||||||
to.setY(xAxis - curveScale * curve.valueForProgress(t));
|
to.setY(xAxis - curveScale * curve.valueForProgress(t));
|
||||||
curvePath.lineTo(to);
|
curvePath.lineTo(to);
|
||||||
@ -122,7 +122,7 @@ void Window::startAnimation()
|
|||||||
|
|
||||||
void Window::curveChanged(int row)
|
void Window::curveChanged(int row)
|
||||||
{
|
{
|
||||||
QEasingCurve::Type curveType = (QEasingCurve::Type)row;
|
QEasingCurve::Type curveType = static_cast<QEasingCurve::Type>(row);
|
||||||
m_anim->setEasingCurve(createEasingCurve(curveType));
|
m_anim->setEasingCurve(createEasingCurve(curveType));
|
||||||
m_anim->setCurrentTime(0);
|
m_anim->setCurrentTime(0);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user