改造一些
This commit is contained in:
@@ -160,18 +160,26 @@ struct Web_Plot_Session::Impl {
|
||||
const int spectrum_height = std::max(1, available_height * 43 / 100);
|
||||
const int waterfall_y = top + spectrum_height + gap;
|
||||
const int waterfall_height = std::max(1, viewport.height - waterfall_y - bottom);
|
||||
spectrum_frequency_axis->set_x(left);
|
||||
spectrum_frequency_axis->set_y(top + spectrum_height);
|
||||
spectrum_frequency_axis->set_pixel_length(static_cast<std::size_t>(content_width));
|
||||
spectrum_power_axis->set_x(left);
|
||||
spectrum_power_axis->set_y(top);
|
||||
spectrum_power_axis->set_pixel_length(static_cast<std::size_t>(spectrum_height));
|
||||
waterfall_frequency_axis->set_x(left);
|
||||
waterfall_frequency_axis->set_y(waterfall_y + waterfall_height);
|
||||
waterfall_frequency_axis->set_pixel_length(static_cast<std::size_t>(content_width));
|
||||
waterfall_time_axis->set_x(left);
|
||||
waterfall_time_axis->set_y(waterfall_y);
|
||||
waterfall_time_axis->set_pixel_length(static_cast<std::size_t>(waterfall_height));
|
||||
spectrum_frequency_axis->update([&](Axis_Properties& state) {
|
||||
state.x = left;
|
||||
state.y = top + spectrum_height;
|
||||
state.pixel_length = static_cast<std::size_t>(content_width);
|
||||
});
|
||||
spectrum_power_axis->update([&](Axis_Properties& state) {
|
||||
state.x = left;
|
||||
state.y = top;
|
||||
state.pixel_length = static_cast<std::size_t>(spectrum_height);
|
||||
});
|
||||
waterfall_frequency_axis->update([&](Axis_Properties& state) {
|
||||
state.x = left;
|
||||
state.y = waterfall_y + waterfall_height;
|
||||
state.pixel_length = static_cast<std::size_t>(content_width);
|
||||
});
|
||||
waterfall_time_axis->update([&](auto& state) {
|
||||
state.x = left;
|
||||
state.y = waterfall_y;
|
||||
state.pixel_length = static_cast<std::size_t>(waterfall_height);
|
||||
});
|
||||
}
|
||||
void update_model() {
|
||||
constexpr int sample_count = 768;
|
||||
@@ -214,10 +222,10 @@ struct Web_Plot_Session::Impl {
|
||||
}
|
||||
void set_center_frequency(double megahertz) {
|
||||
const double center = megahertz * 1'000'000.0;
|
||||
const double bandwidth = spectrum_frequency_axis->coord_range().size();
|
||||
const double bandwidth = spectrum_frequency_axis->get<&Axis_Properties::coordinates>().size();
|
||||
const Range range{center - bandwidth * 0.5, center + bandwidth * 0.5};
|
||||
spectrum_frequency_axis->set_coord_range(range);
|
||||
waterfall_frequency_axis->set_coord_range(range);
|
||||
spectrum_frequency_axis->set<&Axis_Properties::coordinates>(range);
|
||||
waterfall_frequency_axis->set<&Axis_Properties::coordinates>(range);
|
||||
spectrum->set<&Spectrum::Properties::frequency_range>(range);
|
||||
spectrum->set<&Spectrum::Properties::center_frequency>(center);
|
||||
spectrum->set<&Spectrum::Properties::sweep_frequency_range>(Range{
|
||||
@@ -230,8 +238,8 @@ struct Web_Plot_Session::Impl {
|
||||
const double center = spectrum->get<&Spectrum::Properties::center_frequency>();
|
||||
const double bandwidth = kilohertz * 1000.0;
|
||||
const Range range{center - bandwidth * 0.5, center + bandwidth * 0.5};
|
||||
spectrum_frequency_axis->set_coord_range(range);
|
||||
waterfall_frequency_axis->set_coord_range(range);
|
||||
spectrum_frequency_axis->set<&Axis_Properties::coordinates>(range);
|
||||
waterfall_frequency_axis->set<&Axis_Properties::coordinates>(range);
|
||||
spectrum->set<&Spectrum::Properties::frequency_range>(range);
|
||||
spectrum->set<&Spectrum::Properties::sweep_frequency_range>(Range{
|
||||
center - bandwidth * 0.125,
|
||||
|
||||
Reference in New Issue
Block a user