Files
Renderive/YSGraphic_Core/Axis/Axis.cpp
T
2026-07-23 18:11:07 +08:00

52 lines
1.6 KiB
C++

#include "Axis_p.h"
namespace YSG {
using Axis_Binding = Renderable_Binding<Axis, Axis_Private, Axis_Render_State, Axis_Input_Data>;
Axis::Axis() {
Axis_Binding::init(this, "Axis");
}
Axis_Private* Axis::d() {
return Axis_Binding::d(this);
}
Render_Data* Axis::create_render_data() {
return Axis_Binding::create_render_data();
}
Render_State* Axis::create_render_state() {
return Axis_Binding::create_render_state();
}
Input_Data* Axis::create_input_data() {
return Axis_Binding::create_input_data();
}
int Axis::number_precision(SRC src) {
return d()->state_value(&Axis_Render_State::number_precision, src);
}
void Axis::set_number_precision(int value) {
d()->set_state_value(&Axis_Render_State::number_precision, value);
}
double Axis::coord_start(SRC src) {
return d()->state_value(&Axis_Render_State::coord_start, src);
}
void Axis::set_coord_start(double value) {
d()->set_state_value(&Axis_Render_State::coord_start, value);
}
double Axis::coord_length(SRC src) {
return d()->state_value(&Axis_Render_State::coord_length, src);
}
void Axis::set_coord_length(double value) {
d()->set_state_value(&Axis_Render_State::coord_length, value);
}
void Axis::set_coord_range(Range range) {
Render_Edit_Lease<Axis_Private, Axis_Render_State> edit(d());
edit->coord_start = range.lower;
edit->coord_length = range.upper - range.lower;
}
Axis::Builder::Builder(Plot* plot, Qt::Orientation orientation) {
this->plot = plot;
this->orientation = orientation;
}
Axis* Axis::Builder::build() {
Axis* ret = new Axis();
Axis::BuilderT<Axis::Builder>::set(ret);
return ret;
}
}