#include "Audio_Frequent_p.h" #include "../Axis/Time_Axis.h" namespace YSG { using AudioFrequent_Binding = Renderable_Binding; 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(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 input(d()); input->mDataList.push_front(data); } }