策略抽离

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
@@ -17,7 +17,7 @@ std::shared_ptr<Selection_Rectangle_Overlay> Selection_Rectangle_Overlay::Builde
auto ret = renderive::make_shared<Selection_Rectangle_Overlay>();
ret->init(parent);
Selection_Rectangle_Overlay_Private* pd = ret->d();
Selection_Rectangle_Overlay_Render_State* sc = reinterpret_cast<Selection_Rectangle_Overlay_Render_State*>(pd->state(State_Edit));
Selection_Rectangle_Overlay_Render_State* sc = reinterpret_cast<Selection_Rectangle_Overlay_Render_State*>(pd->edit_state());
sc->horizontal_axis = domain_axis;
sc->vertical_axis = value_axis;
sc->label_font = font;
@@ -35,16 +35,16 @@ void Selection_Rectangle_Overlay::set_vertical_axis(std::shared_ptr<Abs_Axis> ax
edit->vertical_axis = std::weak_ptr<Abs_Axis>(axis);
}
Font Selection_Rectangle_Overlay::label_font() {
return d()->state_data(State_Edit)->label_font;
return d()->edit_state()->label_font;
}
Pen Selection_Rectangle_Overlay::label_pen() {
return d()->state_data(State_Edit)->label_pen;
return d()->edit_state()->label_pen;
}
Brush Selection_Rectangle_Overlay::selection_brush() {
return d()->state_data(State_Edit)->selection_brush;
return d()->edit_state()->selection_brush;
}
Pen Selection_Rectangle_Overlay::selection_border_pen() {
return d()->state_data(State_Edit)->selection_border_pen;
return d()->edit_state()->selection_border_pen;
}
void Selection_Rectangle_Overlay::set_label_font(const Font& font) {
Render_Edit_Lease<Selection_Rectangle_Overlay_Private, Selection_Rectangle_Overlay_Render_State> edit(d());
@@ -63,7 +63,7 @@ void Selection_Rectangle_Overlay::set_selection_border_pen(const Pen& pen) {
edit->selection_border_pen = pen.color.a != 0 ? pen : Pen{.style = Line_Style::None};
}
std::vector<RectF> Selection_Rectangle_Overlay::selected_regions() {
return d()->state_data(State_Edit)->rects;
return d()->edit_state()->rects;
}
void Selection_Rectangle_Overlay::clear_selected_regions() {
Render_Edit_Lease<Selection_Rectangle_Overlay_Private, Selection_Rectangle_Overlay_Render_State> edit(d());