C++ / fmt (pull_request) Failing after 5s
C++ / build (pull_request) Failing after 11s
C++ / clang-tidy (pull_request) Failing after 10s
JS/TS / fmt (pull_request) Successful in 12s
JS/TS / lint (pull_request) Successful in 10s
Python / static (pull_request) Failing after 27s
Rust / build (pull_request) Successful in 54s
Python / verify (pull_request) Failing after 1m26s
Rust / fmt (pull_request) Successful in 46s
Rust / clippy (pull_request) Successful in 1m6s
36 lines
765 B
C++
36 lines
765 B
C++
#pragma once
|
|
|
|
#include <QCanvasPainterItemRenderer>
|
|
#include <QColor>
|
|
#include "wavyline.hpp"
|
|
|
|
namespace ZShell::controls {
|
|
|
|
class WavyLineRenderer final : public QCanvasPainterItemRenderer {
|
|
public:
|
|
void synchronizeData(QCanvasPainterItem* item) override;
|
|
void paint(QCanvasPainter* painter) override;
|
|
|
|
private:
|
|
void paintLinear(QCanvasPainter* painter);
|
|
void paintArc(QCanvasPainter* painter);
|
|
|
|
int m_lineWidth;
|
|
qreal m_amplitudeMultiplier;
|
|
int m_frequency;
|
|
qreal m_startX;
|
|
qreal m_fullLength;
|
|
QColor m_color;
|
|
qreal m_waveProgress;
|
|
WavyLine::PathType m_pathType;
|
|
qreal m_startAngle;
|
|
qreal m_fullAngle;
|
|
qreal m_radius;
|
|
qreal m_value;
|
|
qreal m_dpr = 1.0;
|
|
qint64 m_lineWidthDev = 4;
|
|
qint64 m_amplitudeDev = 0;
|
|
};
|
|
|
|
} // namespace ZShell::controls
|