MCPcopy Create free account
hub / github.com/IENT/YUView / onZoomRectUpdateOffsetAndZoom

Method onZoomRectUpdateOffsetAndZoom

YUViewLib/src/ui/views/PlotViewWidget.cpp:1026–1045  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1024}
1025
1026void 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
1047std::optional<Range<double>> PlotViewWidget::getVisibleRange(const Axis axis) const
1048{

Callers 1

mouseReleaseEventMethod · 0.45

Calls 2

setZoomFactorMethod · 0.95
setMoveOffsetMethod · 0.95

Tested by

no test coverage detected