| 1024 | } |
| 1025 | |
| 1026 | void PlotViewWidget::onZoomRectUpdateOffsetAndZoom(QRectF zoomRect, double additionalZoomFactor) |
| 1027 | { |
| 1028 | const auto newZoom = this->zoomFactor * additionalZoomFactor; |
| 1029 | if (newZoom < ZOOMINGLIMIT.min || newZoom > ZOOMINGLIMIT.max) |
| 1030 | return; |
| 1031 | |
| 1032 | const auto plotRectBottomLeft = this->plotRect.bottomLeft(); |
| 1033 | auto moveOrigin = |
| 1034 | QPoint(plotRectBottomLeft.x() + fadeBoxThickness, plotRectBottomLeft.y() - fadeBoxThickness); |
| 1035 | |
| 1036 | const auto zoomRectCenterOffset = zoomRect.center() - moveOrigin; |
| 1037 | auto newMoveOffset = |
| 1038 | ((this->moveOffset - zoomRectCenterOffset) * additionalZoomFactor + this->plotRect.center()) |
| 1039 | .toPoint(); |
| 1040 | this->setZoomFactor(newZoom); |
| 1041 | this->setMoveOffset(newMoveOffset); |
| 1042 | |
| 1043 | DEBUG_PLOT("MoveAndZoomableView::mouseReleaseEvent end zoom box - zoomRectCenterOffset " |
| 1044 | << zoomRectCenterOffset << " newMoveOffset " << newMoveOffset); |
| 1045 | } |
| 1046 | |
| 1047 | std::optional<Range<double>> PlotViewWidget::getVisibleRange(const Axis axis) const |
| 1048 | { |
no test coverage detected