Files
Renderive/YSGraphic_Core/plottable/AudioFrequent.h
T
2026-06-16 13:33:27 +08:00

46 lines
1.1 KiB
C++

#pragma once
#include "../Axis/AbsAxis.h"
#include "../GlobalTypes.h"
#include <QTime>
namespace YSG {
class TimeAxis;
struct AudioFrequentPrivate;
class LIB_DECL AudioFrequent : public RenderAble {
public:
Q_Ptr2(AudioFrequent)
void giveData(int tick, double data);
PROP(int, timePointSize)
PROP(TimeAxis*, timeAxis)
PROP(Axis*, valueAxis)
PROP(Range, keyRange)
PROP(QColor, color)
struct Builder;
};
struct AudioFrequent_Prop {
int timePointSize = 100;
TimeAxis *timeAxis;
Axis *valueAxis{};
Range keyRange = {0, 20};
QColor color = Qt::yellow;
};
struct LIB_DECL AudioFrequent::Builder : AudioFrequent_Prop {
PROP_B(int, timePointSize)
PROP_B(TimeAxis*, timeAxis)
PROP_B(Axis*, valueAxis)
PROP_B(Range, keyRange)
PROP_B(QColor, color)
SETTER(QString, layerName, "plottable")
Builder(TimeAxis* timeAxis, Axis* valueAxis);
AudioFrequent* build();
protected:
Axis* valueAxis;
TimeAxis* timeAxis{};
Plot *plot{};
};
}