Files
Renderive/YSGraphic_Core/plottable/Audio_Frequent.cpp
T
2026-07-23 18:14:44 +08:00

76 lines
3.0 KiB
C++

#include "Audio_Frequent_p.h"
#include "../Axis/Time_Axis.h"
namespace YSG {
using AudioFrequent_Binding = Renderable_Binding<Audio_Frequent, Audio_Frequent_Private, Audio_Frequent_Render_State, Audio_Frequent_Input_Data>;
Audio_Frequent::Audio_Frequent() {
AudioFrequent_Binding::init(this, "AudioFrequent");
}
Audio_Frequent_Private* Audio_Frequent::d() {
return AudioFrequent_Binding::d(this);
}
Render_Data* Audio_Frequent::create_render_data() {
return AudioFrequent_Binding::create_render_data();
}
Render_State* Audio_Frequent::create_render_state() {
return AudioFrequent_Binding::create_render_state();
}
Input_Data* Audio_Frequent::create_input_data() {
return AudioFrequent_Binding::create_input_data();
}
int Audio_Frequent::time_point_size(SRC src) {
return d()->state_value(&Audio_Frequent_Render_State::time_point_size, src);
}
void Audio_Frequent::set_time_point_size(int value) {
d()->set_state_value(&Audio_Frequent_Render_State::time_point_size, value);
}
Time_Axis* Audio_Frequent::time_axis(SRC src) {
return d()->state_value(&Audio_Frequent_Render_State::time_axis, src);
}
void Audio_Frequent::set_time_axis(Time_Axis* value) {
d()->set_state_value(&Audio_Frequent_Render_State::time_axis, value);
}
Axis* Audio_Frequent::value_axis(SRC src) {
return d()->state_value(&Audio_Frequent_Render_State::value_axis, src);
}
void Audio_Frequent::set_value_axis(Axis* value) {
d()->set_state_value(&Audio_Frequent_Render_State::value_axis, value);
}
Range Audio_Frequent::key_range(SRC src) {
return d()->state_value(&Audio_Frequent_Render_State::key_range, src);
}
void Audio_Frequent::set_key_range(Range value) {
d()->set_state_value(&Audio_Frequent_Render_State::key_range, std::move(value));
}
QColor Audio_Frequent::color(SRC src) {
return d()->state_value(&Audio_Frequent_Render_State::color, src);
}
void Audio_Frequent::set_color(QColor value) {
d()->set_state_value(&Audio_Frequent_Render_State::color, std::move(value));
}
Audio_Frequent::Builder::Builder(Time_Axis* time_axis, Axis* value_axis) {
ASSERT(time_axis->mPlot != nullptr, "AudioFrequent build error! time_axis->mPlot == nullptr");
ASSERT(time_axis->mPlot == value_axis->mPlot, "AudioFrequent build error! time_axis->mPlot != value_axis->mPlot");
plot = time_axis->mPlot;
this->time_axis = time_axis;
this->value_axis = value_axis;
}
Audio_Frequent* Audio_Frequent::Builder::build() {
auto ret = new Audio_Frequent();
ret->init(plot, layerName);
Audio_Frequent_Private* pd = ret->d();
Audio_Frequent_Render_State* sc = reinterpret_cast<Audio_Frequent_Render_State*>(pd->state(State_Edit));
PROP_R(int, time_point_size)
PROP_R(TimeAxis *, time_axis)
PROP_R(Axis *, value_axis)
PROP_R(Range, key_range)
PROP_R(QColor, color)
return ret;
}
void Audio_Frequent::give_data(int tick, double data) {
Q_UNUSED(tick)
if (!ok()) return;
Render_Input_Lease<Audio_Frequent_Private, Audio_Frequent_Input_Data> input(d());
input->mDataList.push_front(data);
}
}