策略抽离

This commit is contained in:
2026-08-02 14:20:27 +08:00
parent 6d000f43b4
commit 2df8959ed6
87 changed files with 2454 additions and 1390 deletions
+5 -5
View File
@@ -174,7 +174,7 @@ std::shared_ptr<Spectrum> Spectrum::Builder::build() {
auto ret = renderive::make_shared<Spectrum>();
ret->init(parent);
Spectrum_Private* pd = ret->d();
Spectrum_Render_State* sc = reinterpret_cast<Spectrum_Render_State*>(pd->state(State_Edit));
Spectrum_Render_State* sc = reinterpret_cast<Spectrum_Render_State*>(pd->edit_state());
PROP_R(std::weak_ptr<Frequency_Axis>, frequency_axis)
PROP_R(std::weak_ptr<Axis>, power_axis);
PROP_R(int, frequency_point_size);
@@ -424,7 +424,7 @@ void Spectrum_Private::draw_label_items(Canvas& canvas, Spectrum_Render_State* s
canvas.restore();
}
}
void Spectrum_Private::draw(Canvas& canvas, const Plot_Render_Snapshot&) {
void Spectrum_Private::draw(Canvas& canvas, const Render_Frame_Snapshot&) {
auto s = render_state();
draw_power_curve(canvas, s, cur_powers, s->cur_pen, s->current_brush);
draw_spectrum(canvas, s);
@@ -562,7 +562,7 @@ void Spectrum::clear_custom_markers() {
edit->marker_list.clear();
}
double Spectrum::marker_frequency(int mark_index) {
auto render_state = d()->state_data(State_Edit);
auto render_state = d()->edit_state();
if (mark_index < 0 || mark_index >= (int)render_state->marker_list.size())
return -1;
return render_state->marker_list[mark_index].frequency;
@@ -579,11 +579,11 @@ void Spectrum::set_current_marker_frequency(double frequency) {
edit->set_cur_frequency(frequency);
}
int Spectrum::selectable_line_marker_count() {
auto render_state = d()->state_data(State_Edit);
auto render_state = d()->edit_state();
return (int)render_state->marker_list.size();
}
int Spectrum::selected_marker_index() {
auto render_state = d()->state_data(State_Edit);
auto render_state = d()->edit_state();
return render_state->cur_select_index;
}
void Spectrum::set_selected_marker_index(int marker_index) {